> ## 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.

# Get all key moments

> Get a list of all key moments. Please note that `keyMoment` has now been renamed to `Triggers` in the Kameleoon app. For more information on `paramsIO` refer to the [Get started article](/apis/automation-api-rest/get-started), and see the [Using paramsIO tutorial](/apis/automation-api-rest/tutorials/paramsio-use-cases) for practical use cases.



## OpenAPI

````yaml /automation.api.json get /key-moments
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:
  /key-moments:
    get:
      tags:
        - KeyMoment
      summary: Get all key moments
      description: >-
        Get a list of all key moments. Please note that `keyMoment` has now been
        renamed to `Triggers` in the Kameleoon app. For more information on
        `paramsIO` refer to the [Get started
        article](/apis/automation-api-rest/get-started), and see the [Using
        paramsIO
        tutorial](/apis/automation-api-rest/tutorials/paramsio-use-cases) for
        practical use cases.
      operationId: get-all-key-moments
      parameters:
        - in: query
          name: paramsIO
          required: true
          schema:
            $ref: '#/components/schemas/RequestParams'
      responses:
        '200':
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KeyMoment'
          description: OK
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Bad Request
        '401':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Unauthorized
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Not Found
        '422':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Unprocessable Entity
        '423':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Locked
        '429':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Too Many Requests
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalResponseObject'
          description: Internal Server Error
      security:
        - bearerAuth: []
components:
  schemas:
    RequestParams:
      type: object
      properties:
        filter:
          oneOf:
            - $ref: '#/components/schemas/FilteringCondition'
            - $ref: '#/components/schemas/FilteringLogic'
        page:
          type: integer
          description: Page number
          format: int32
        perPage:
          type: integer
          description: Number of items per page
          format: int32
        sort:
          type: array
          description: Sorting parameters
          items:
            $ref: '#/components/schemas/SortingParameter'
    KeyMoment:
      required:
        - name
        - siteId
      type: object
      properties:
        audienceTracking:
          type: boolean
          description: Indicates if the key moment is used for tracking audience
        audienceTrackingEditable:
          type: boolean
          description: >-
            Indicates if audienceTracking can be enabled or disabled. In some
            cases, audienceTracking cannot be disabled. E.g. When a key moment
            has predictive conditions, audience will be tracked by default.
          readOnly: true
        conditionDataList:
          type: array
          description: >-
            Conditions upon which visitors will be included in the key moment in
            list form
          items:
            $ref: '#/components/schemas/ConditionsDataNode'
        conditionDataTree:
          oneOf:
            - $ref: '#/components/schemas/ConditionsDataLevel'
            - $ref: '#/components/schemas/TargetingCondition'
            - $ref: '#/components/schemas/ACTIVE_SESSION'
            - $ref: '#/components/schemas/AD_BLOCKER'
            - $ref: '#/components/schemas/APPLICATION_VERSION'
            - $ref: '#/components/schemas/BROWSER'
            - $ref: '#/components/schemas/BROWSER_LANGUAGE'
            - $ref: '#/components/schemas/CONVERSIONS'
            - $ref: '#/components/schemas/COOKIE'
            - $ref: '#/components/schemas/CUSTOM_DATUM'
            - $ref: '#/components/schemas/DAY_NIGHT'
            - $ref: '#/components/schemas/DAY_OF_WEEK'
            - $ref: '#/components/schemas/DEVICE_TYPE'
            - $ref: '#/components/schemas/DOM_ELEMENT'
            - $ref: '#/components/schemas/EVENT'
            - $ref: '#/components/schemas/EXCLUSIVE_EXPERIMENT'
            - $ref: '#/components/schemas/EXPLICIT_TRIGGER'
            - $ref: '#/components/schemas/FIRST_VISIT'
            - $ref: '#/components/schemas/FORECAST_SKY_STATUS'
            - $ref: '#/components/schemas/FORECAST_TEMPERATURE'
            - $ref: '#/components/schemas/GEOLOCATION'
            - $ref: '#/components/schemas/HEAT_SLICE'
            - $ref: '#/components/schemas/HOUR_MINUTE_RANGE'
            - $ref: '#/components/schemas/INTERNAL_SEARCH_KEYWORDS'
            - $ref: '#/components/schemas/JS_CODE'
            - $ref: '#/components/schemas/KEY_MOMENT'
            - $ref: '#/components/schemas/KEY_PAGES'
            - $ref: '#/components/schemas/LANDING_PAGE'
            - $ref: '#/components/schemas/LAST_VISIT'
            - $ref: '#/components/schemas/MOUSE_OUT'
            - $ref: '#/components/schemas/NEW_VISITORS'
            - $ref: '#/components/schemas/NUMBER_OF_VISITED_PAGES'
            - $ref: '#/components/schemas/OPERATING_SYSTEM'
            - $ref: '#/components/schemas/ORIGIN'
            - $ref: '#/components/schemas/ORIGIN_TYPE'
            - $ref: '#/components/schemas/PAGE_TITLE'
            - $ref: '#/components/schemas/PAGE_URL'
            - $ref: '#/components/schemas/PAGE_VIEWS'
            - $ref: '#/components/schemas/PREVIOUS_PAGE'
            - $ref: '#/components/schemas/PRICE_OF_DISPLAYED_PAGE'
            - $ref: '#/components/schemas/REFERRERS'
            - $ref: '#/components/schemas/SAME_DAY_VISITS'
            - $ref: '#/components/schemas/SCREEN_DIMENSION'
            - $ref: '#/components/schemas/SDK_TYPE'
            - $ref: '#/components/schemas/SEGMENT'
            - $ref: '#/components/schemas/SKY_STATUS'
            - $ref: '#/components/schemas/TABS_ON_SITE'
            - $ref: '#/components/schemas/TARGET_EXPERIMENT'
            - $ref: '#/components/schemas/TARGET_FEATURE_FLAG'
            - $ref: '#/components/schemas/TARGET_PERSONALIZATION'
            - $ref: '#/components/schemas/TEALIUM_AUDIENCE'
            - $ref: '#/components/schemas/TEALIUM_BADGE'
            - $ref: '#/components/schemas/TEMPERATURE'
            - $ref: '#/components/schemas/TIME_RANGE'
            - $ref: '#/components/schemas/TIME_SINCE_PAGE_LOAD'
            - $ref: '#/components/schemas/VISITED_PAGES'
            - $ref: '#/components/schemas/VISITOR_CODE'
            - $ref: '#/components/schemas/VISITOR_IP'
            - $ref: '#/components/schemas/VISITS'
            - $ref: '#/components/schemas/VISITS_BY_PAGE'
            - $ref: '#/components/schemas/YSANCE_ATTRIBUT'
            - $ref: '#/components/schemas/YSANCE_SEGMENT'
        conditionsData:
          $ref: '#/components/schemas/ConditionsData'
        createdBy:
          type: integer
          description: Account Id of the key moment creator
          format: int64
          readOnly: true
        dateCreated:
          type: string
          description: Date the key moment was created
          format: date-time
          readOnly: true
        dateModified:
          type: string
          description: Date the key moment was modified
          format: date-time
          readOnly: true
        description:
          type: string
          description: Description of the key moment
          example: The key moment is for new A/B tests
        id:
          type: integer
          description: Unique Id of the key moment
          format: int64
          readOnly: true
        isFavorite:
          type: boolean
          description: Indicates whether the key moment is a favorite
        links:
          type: array
          description: >-
            List of links to related entities.This is an optional field that is
            included in the request body
          readOnly: true
          items:
            $ref: '#/components/schemas/Link'
        name:
          type: string
          description: Name of the key moment
          example: My Key Moment
        siteId:
          type: integer
          description: Unique Id of the site where the key moment was, or will be created.
          format: int64
          example: 8372
        userVisible:
          type: boolean
          description: Indicates whether the key moment is hidden from the user.
    ExternalResponseObject:
      type: object
      properties:
        code:
          type: string
        impersonator:
          type: string
        message:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - SUCCESS
            - ERROR
        sub:
          type: string
        time:
          type: integer
          format: int64
        timestamp:
          type: string
          format: date-time
    FilteringCondition:
      type: object
      allOf:
        - $ref: '#/components/schemas/FilteringExpression'
        - type: object
          properties:
            field:
              type: string
            operator:
              type: string
              enum:
                - EQUAL
                - NOT_EQUAL
                - LESS
                - GREATER
                - LESS_OR_EQUAL
                - GREATER_OR_EQUAL
                - LIKE
                - NOT_LIKE
                - BETWEEN
                - IN
                - NOT_IN
                - NOT
                - IS_NULL
                - IS_NOT_NULL
                - IS_TRUE
                - IS_FALSE
                - IS_EMPTY
                - IS_NOT_EMPTY
                - CONTAINS
            parameters:
              type: array
              items:
                type: object
    FilteringLogic:
      type: object
      allOf:
        - $ref: '#/components/schemas/FilteringExpression'
        - type: object
          properties:
            conditionalOperator:
              type: string
              enum:
                - AND
                - OR
            expressions:
              uniqueItems: true
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/FilteringCondition'
                  - $ref: '#/components/schemas/FilteringLogic'
    SortingParameter:
      type: object
      properties:
        direction:
          type: string
          description: Sorting direction
          enum:
            - ASC
            - DESC
        field:
          type: string
          description: Sorting field name
      description: Sorting parameters
    ConditionsDataNode:
      type: object
      properties:
        id:
          type: integer
          description: Unique Id of the node
          format: int64
        isConditionBlock:
          type: boolean
          description: Indicates whether the node is condition block or not
          readOnly: true
        logicalOperator:
          type: string
          description: Logical operator of the node. Null if the node is a condition
          enum:
            - AND
            - OR
        parentId:
          type: integer
          description: Id of the parent node
          format: int64
        targetingCondition:
          oneOf:
            - $ref: '#/components/schemas/ACTIVE_SESSION'
            - $ref: '#/components/schemas/AD_BLOCKER'
            - $ref: '#/components/schemas/APPLICATION_VERSION'
            - $ref: '#/components/schemas/BROWSER'
            - $ref: '#/components/schemas/BROWSER_LANGUAGE'
            - $ref: '#/components/schemas/CONVERSIONS'
            - $ref: '#/components/schemas/COOKIE'
            - $ref: '#/components/schemas/CUSTOM_DATUM'
            - $ref: '#/components/schemas/DAY_NIGHT'
            - $ref: '#/components/schemas/DAY_OF_WEEK'
            - $ref: '#/components/schemas/DEVICE_TYPE'
            - $ref: '#/components/schemas/DOM_ELEMENT'
            - $ref: '#/components/schemas/EVENT'
            - $ref: '#/components/schemas/EXCLUSIVE_EXPERIMENT'
            - $ref: '#/components/schemas/EXPLICIT_TRIGGER'
            - $ref: '#/components/schemas/FIRST_VISIT'
            - $ref: '#/components/schemas/FORECAST_SKY_STATUS'
            - $ref: '#/components/schemas/FORECAST_TEMPERATURE'
            - $ref: '#/components/schemas/GEOLOCATION'
            - $ref: '#/components/schemas/HEAT_SLICE'
            - $ref: '#/components/schemas/HOUR_MINUTE_RANGE'
            - $ref: '#/components/schemas/INTERNAL_SEARCH_KEYWORDS'
            - $ref: '#/components/schemas/JS_CODE'
            - $ref: '#/components/schemas/KEY_MOMENT'
            - $ref: '#/components/schemas/KEY_PAGES'
            - $ref: '#/components/schemas/LANDING_PAGE'
            - $ref: '#/components/schemas/LAST_VISIT'
            - $ref: '#/components/schemas/MOUSE_OUT'
            - $ref: '#/components/schemas/NEW_VISITORS'
            - $ref: '#/components/schemas/NUMBER_OF_VISITED_PAGES'
            - $ref: '#/components/schemas/OPERATING_SYSTEM'
            - $ref: '#/components/schemas/ORIGIN'
            - $ref: '#/components/schemas/ORIGIN_TYPE'
            - $ref: '#/components/schemas/PAGE_TITLE'
            - $ref: '#/components/schemas/PAGE_URL'
            - $ref: '#/components/schemas/PAGE_VIEWS'
            - $ref: '#/components/schemas/PREVIOUS_PAGE'
            - $ref: '#/components/schemas/PRICE_OF_DISPLAYED_PAGE'
            - $ref: '#/components/schemas/REFERRERS'
            - $ref: '#/components/schemas/SAME_DAY_VISITS'
            - $ref: '#/components/schemas/SCREEN_DIMENSION'
            - $ref: '#/components/schemas/SDK_TYPE'
            - $ref: '#/components/schemas/SEGMENT'
            - $ref: '#/components/schemas/SKY_STATUS'
            - $ref: '#/components/schemas/TABS_ON_SITE'
            - $ref: '#/components/schemas/TARGET_EXPERIMENT'
            - $ref: '#/components/schemas/TARGET_FEATURE_FLAG'
            - $ref: '#/components/schemas/TARGET_PERSONALIZATION'
            - $ref: '#/components/schemas/TEALIUM_AUDIENCE'
            - $ref: '#/components/schemas/TEALIUM_BADGE'
            - $ref: '#/components/schemas/TEMPERATURE'
            - $ref: '#/components/schemas/TIME_RANGE'
            - $ref: '#/components/schemas/TIME_SINCE_PAGE_LOAD'
            - $ref: '#/components/schemas/VISITED_PAGES'
            - $ref: '#/components/schemas/VISITOR_CODE'
            - $ref: '#/components/schemas/VISITOR_IP'
            - $ref: '#/components/schemas/VISITS'
            - $ref: '#/components/schemas/VISITS_BY_PAGE'
            - $ref: '#/components/schemas/YSANCE_ATTRIBUT'
            - $ref: '#/components/schemas/YSANCE_SEGMENT'
      description: Conditions by which visitors will be segmented in list form
    ConditionsDataLevel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConditionDataIO'
        - type: object
          properties:
            conditionData:
              type: array
              description: >-
                Children elements of the level. Contains other levels and
                targeting conditions
              readOnly: true
              items:
                oneOf:
                  - $ref: '#/components/schemas/ConditionsDataLevel'
                  - $ref: '#/components/schemas/TargetingCondition'
                  - $ref: '#/components/schemas/ACTIVE_SESSION'
                  - $ref: '#/components/schemas/AD_BLOCKER'
                  - $ref: '#/components/schemas/APPLICATION_VERSION'
                  - $ref: '#/components/schemas/BROWSER'
                  - $ref: '#/components/schemas/BROWSER_LANGUAGE'
                  - $ref: '#/components/schemas/CONVERSIONS'
                  - $ref: '#/components/schemas/COOKIE'
                  - $ref: '#/components/schemas/CUSTOM_DATUM'
                  - $ref: '#/components/schemas/DAY_NIGHT'
                  - $ref: '#/components/schemas/DAY_OF_WEEK'
                  - $ref: '#/components/schemas/DEVICE_TYPE'
                  - $ref: '#/components/schemas/DOM_ELEMENT'
                  - $ref: '#/components/schemas/EVENT'
                  - $ref: '#/components/schemas/EXCLUSIVE_EXPERIMENT'
                  - $ref: '#/components/schemas/EXPLICIT_TRIGGER'
                  - $ref: '#/components/schemas/FIRST_VISIT'
                  - $ref: '#/components/schemas/FORECAST_SKY_STATUS'
                  - $ref: '#/components/schemas/FORECAST_TEMPERATURE'
                  - $ref: '#/components/schemas/GEOLOCATION'
                  - $ref: '#/components/schemas/HEAT_SLICE'
                  - $ref: '#/components/schemas/HOUR_MINUTE_RANGE'
                  - $ref: '#/components/schemas/INTERNAL_SEARCH_KEYWORDS'
                  - $ref: '#/components/schemas/JS_CODE'
                  - $ref: '#/components/schemas/KEY_MOMENT'
                  - $ref: '#/components/schemas/KEY_PAGES'
                  - $ref: '#/components/schemas/LANDING_PAGE'
                  - $ref: '#/components/schemas/LAST_VISIT'
                  - $ref: '#/components/schemas/MOUSE_OUT'
                  - $ref: '#/components/schemas/NEW_VISITORS'
                  - $ref: '#/components/schemas/NUMBER_OF_VISITED_PAGES'
                  - $ref: '#/components/schemas/OPERATING_SYSTEM'
                  - $ref: '#/components/schemas/ORIGIN'
                  - $ref: '#/components/schemas/ORIGIN_TYPE'
                  - $ref: '#/components/schemas/PAGE_TITLE'
                  - $ref: '#/components/schemas/PAGE_URL'
                  - $ref: '#/components/schemas/PAGE_VIEWS'
                  - $ref: '#/components/schemas/PREVIOUS_PAGE'
                  - $ref: '#/components/schemas/PRICE_OF_DISPLAYED_PAGE'
                  - $ref: '#/components/schemas/REFERRERS'
                  - $ref: '#/components/schemas/SAME_DAY_VISITS'
                  - $ref: '#/components/schemas/SCREEN_DIMENSION'
                  - $ref: '#/components/schemas/SDK_TYPE'
                  - $ref: '#/components/schemas/SEGMENT'
                  - $ref: '#/components/schemas/SKY_STATUS'
                  - $ref: '#/components/schemas/TABS_ON_SITE'
                  - $ref: '#/components/schemas/TARGET_EXPERIMENT'
                  - $ref: '#/components/schemas/TARGET_FEATURE_FLAG'
                  - $ref: '#/components/schemas/TARGET_PERSONALIZATION'
                  - $ref: '#/components/schemas/TEALIUM_AUDIENCE'
                  - $ref: '#/components/schemas/TEALIUM_BADGE'
                  - $ref: '#/components/schemas/TEMPERATURE'
                  - $ref: '#/components/schemas/TIME_RANGE'
                  - $ref: '#/components/schemas/TIME_SINCE_PAGE_LOAD'
                  - $ref: '#/components/schemas/VISITED_PAGES'
                  - $ref: '#/components/schemas/VISITOR_CODE'
                  - $ref: '#/components/schemas/VISITOR_IP'
                  - $ref: '#/components/schemas/VISITS'
                  - $ref: '#/components/schemas/VISITS_BY_PAGE'
                  - $ref: '#/components/schemas/YSANCE_ATTRIBUT'
                  - $ref: '#/components/schemas/YSANCE_SEGMENT'
            isConditionBlock:
              type: boolean
              description: Indicates whether the node is condition block or not
              readOnly: true
            logicalOperator:
              type: string
              description: Logical operator of the level
              enum:
                - AND
                - OR
    TargetingCondition:
      required:
        - targetingType
        - weight
      type: object
      discriminator:
        propertyName: targetingType
      allOf:
        - $ref: '#/components/schemas/ConditionDataIO'
        - type: object
          properties:
            htmlDescription:
              type: string
              description: Html readable description of the targeting condition
              readOnly: true
            id:
              type: integer
              description: Unique Id
              format: int64
              readOnly: true
            targetingType:
              type: string
              description: >-
                Targeting condition type. According to this field it's necessary
                to add some additional fields
              enum:
                - PAGE_URL
                - PAGE_TITLE
                - LANDING_PAGE
                - ORIGIN
                - ORIGIN_TYPE
                - REFERRERS
                - NEW_VISITORS
                - BROWSER_LANGUAGE
                - GEOLOCATION
                - DEVICE_TYPE
                - SCREEN_DIMENSION
                - VISITOR_IP
                - AD_BLOCKER
                - PREVIOUS_PAGE
                - KEY_PAGES
                - PAGE_VIEWS
                - FIRST_VISIT
                - LAST_VISIT
                - ACTIVE_SESSION
                - TIME_SINCE_PAGE_LOAD
                - SAME_DAY_VISITS
                - VISITS
                - VISITS_BY_PAGE
                - INTERNAL_SEARCH_KEYWORDS
                - TABS_ON_SITE
                - HEAT_SLICE
                - SKY_STATUS
                - TEMPERATURE
                - DAY_NIGHT
                - FORECAST_SKY_STATUS
                - FORECAST_TEMPERATURE
                - DAY_OF_WEEK
                - TIME_RANGE
                - HOUR_MINUTE_RANGE
                - JS_CODE
                - COOKIE
                - EVENT
                - EXPLICIT_TRIGGER
                - BROWSER
                - OPERATING_SYSTEM
                - DOM_ELEMENT
                - MOUSE_OUT
                - TARGET_EXPERIMENT
                - TARGET_PERSONALIZATION
                - EXCLUSIVE_EXPERIMENT
                - CONVERSIONS
                - CUSTOM_DATUM
                - YSANCE_SEGMENT
                - YSANCE_ATTRIBUT
                - TEALIUM_BADGE
                - TEALIUM_AUDIENCE
                - PRICE_OF_DISPLAYED_PAGE
                - NUMBER_OF_VISITED_PAGES
                - VISITED_PAGES
                - SEGMENT
                - KEY_MOMENT
                - CUSTOM
                - SDK_LANGUAGE
                - VISITOR_CODE
                - TARGET_FEATURE_FLAG
                - APPLICATION_VERSION
            weight:
              type: integer
              description: >-
                Conditions of higher importance will have greater values.
                Default value: 1
              format: int32
              example: 1
    ACTIVE_SESSION:
      required:
        - count
        - include
        - matchType
        - targetingType
        - unitOfTime
        - weight
      type: object
      description: >-
        Determines whether to include or exclude visitors based on session
        duration.
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            count:
              type: integer
              description: >-
                Count of time elapsed since session became active according to
                the 'unitOfTime' 
              format: int32
            include:
              type: boolean
              description: >-
                Indicates if visitors who matched this condition should be
                included or excluded from the segment. Default value: 'true' 
            matchType:
              type: string
              description: Indicates how the specified amount of time should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            unitOfTime:
              type: string
              description: >-
                Units of measurements that will be used to determine if sessions
                are active for the required duration
              enum:
                - SECOND
                - MINUTE
                - HOUR
                - DAY
    AD_BLOCKER:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: This condition includes or excludes visitors using an ad blocker
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
    APPLICATION_VERSION:
      required:
        - include
        - targetingType
        - version
        - versionMatchType
        - weight
      type: object
      description: >-
        This condition includes or excludes visitors according to the
        application version
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            version:
              type: string
              description: Application version
            versionMatchType:
              type: string
              description: 'How to match the specified version. Default value: ''EQUAL'''
              enum:
                - EQUAL
                - LOWER
                - GREATER
    BROWSER:
      required:
        - browser
        - include
        - targetingType
        - versionMatchType
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to their browser and their
        version
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            browser:
              type: string
              description: The type of browser visitors are using
              enum:
                - CHROME
                - FIREFOX
                - SAFARI
                - IE
                - OPERA
                - SAMSUNG_INTERNET
            include:
              type: boolean
              description: >-
                Should visitors who match to the condition be included to or
                excluded from the segment. Default value: 'true'
            version:
              type: string
              description: Browser version
            versionMatchType:
              type: string
              description: >-
                How to match the specified version of the browser. Default
                value: 'EQUAL'
              enum:
                - EQUAL
                - LOWER
                - GREATER
    BROWSER_LANGUAGE:
      required:
        - include
        - language
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors according to their languages
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            language:
              type: string
              description: Browser language code in ISO 639-1
              example: ru
    CONVERSIONS:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visits during which a specific goal was reached
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            allVisits:
              type: integer
              description: >-
                Match all previous visits or current visit only. Default value:
                'false'
              format: int64
            goalId:
              type: integer
              description: >-
                Unique Id of the goal. If the field is not specified, then
                visits during which a goal was reached will be included or
                excluded
              format: int64
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    COOKIE:
      required:
        - include
        - name
        - nameMatchType
        - targetingType
        - value
        - valueMatchType
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the presence of a cookie in
        their browser, and its value
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            name:
              type: string
              description: Cookie name
            nameMatchType:
              type: string
              description: >-
                String that has to match the specified cookie name. Default
                value: 'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - REGULAR_EXPRESSION
                - OPTIONAL
            value:
              type: string
              description: Cookie value
            valueMatchType:
              type: string
              description: >-
                String that has to match the specified cookie value. Default
                value: 'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - REGULAR_EXPRESSION
                - OPTIONAL
    CUSTOM_DATUM:
      required:
        - customDataIndex
        - include
        - targetingType
        - valueMatchType
        - weight
      type: object
      description: Includes or excludes visitors according to the value of a custom data
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            customDataIndex:
              type: string
              description: >-
                Value can be the index of a specific custom data. Or 'ANY' to
                segment visitors by presence of any custom data
            customDataName:
              type: string
              description: Custom data name
            include:
              type: boolean
              description: ' Indicates if visitors who meet this condition should be included or excluded from the segment. Default value: ''true'''
            lowerBoundCustom:
              type: number
              description: Represents the lower bound when using the "RANGE" match type
              format: double
              example: 1
            upperBoundCustom:
              type: number
              description: Represents the higher bound when using the "RANGE" match type
              format: double
              example: 5
            value:
              type: string
            valueCustom:
              type: string
              description: The value retrieved by the specified custom data
            valueMatchType:
              type: string
              description: Type of value which was retrieved by the custom data
              enum:
                - 'TRUE'
                - 'FALSE'
                - EXACT
                - CONTAINS
                - REGULAR_EXPRESSION
                - EQUAL
                - LOWER
                - GREATER
                - UNDEFINED
                - AMONG_VALUES
                - RANGE
    DAY_NIGHT:
      required:
        - dayPeriod
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visits during day or night
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            dayPeriod:
              type: string
              enum:
                - DAY
                - NIGHT
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
    DAY_OF_WEEK:
      required:
        - day
        - include
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visitors accessing the website on a specific day of
        the week
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            day:
              type: string
              enum:
                - SUNDAY
                - MONDAY
                - TUESDAY
                - WEDNESDAY
                - THURSDAY
                - FRIDAY
                - SATURDAY
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
    DEVICE_TYPE:
      required:
        - device
        - include
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to their devices (smartphone,
        tablet, etc.)
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            device:
              type: string
              enum:
                - DESKTOP
                - TABLET
                - PHONE
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
    DOM_ELEMENT:
      required:
        - elementType
        - include
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visits according to the presence of an element on
        the page
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            elementType:
              type: string
              description: >-
                Type of element on the page. If the field is 'SINGLE' the field
                'elementValue' should be specified
              enum:
                - SINGLE
                - ANY_MODIFIED
            elementValue:
              type: string
              description: Element on the page (id, class, ...) if 'elementType' is SINGLE.
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
    EVENT:
      required:
        - event
        - targetingType
        - weight
      type: object
      description: >-
        The test launches when specific events are triggered. To trigger an
        event, use the Kameleoon.API.Events.trigger(eventName) method
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            event:
              type: string
              description: Custom event
    EXCLUSIVE_EXPERIMENT:
      required:
        - targetingType
        - testMatchType
        - weight
      type: object
      description: >-
        Include visitors not participating in any tests, personalization or both
        at the same time.
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            testMatchType:
              type: string
              description: >-
                Indicates how the specified test, personalization or both the
                specified test and personalization should match. Default value:
                'ALL'
              enum:
                - ALL
                - TEST
                - PERSO
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    EXPLICIT_TRIGGER:
      required:
        - targetingType
        - weight
      type: object
      description: >-
        This condition always returns `undefined`, which implies the segment
        will only be triggered via the use of our Activation API.
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
    FIRST_VISIT:
      required:
        - count
        - include
        - matchType
        - targetingType
        - unitOfTime
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the time elapsed since their
        first visit
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            count:
              type: integer
              description: >-
                Amount of time elapsed since the first visit as indicated by
                'unitOfTime' 
              format: int32
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: Indicates how the specified amount of time should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            unitOfTime:
              type: string
              description: Unit of measurements
              enum:
                - MINUTE
                - HOUR
                - DAY
                - WEEK
                - MONTH
    FORECAST_SKY_STATUS:
      required:
        - daysRange
        - forecastDays
        - forecastMatchType
        - include
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visitors who will be exposed to the following sky
        conditions
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            daysRange:
              maximum: 5
              minimum: 0
              type: integer
              description: >-
                Range of days during which the forecast is expected. This value
                can't be less than 'forecastDays'
              format: int32
            forecastDays:
              maximum: 5
              minimum: 0
              type: integer
              description: >-
                Amount of days which should meet the specified 'skyStatus' or
                'skyStatusGroup'. This value can't be more than 'daysRange'
              format: int32
            forecastMatchType:
              type: string
              description: Indicates how the specified amount of days should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
                - LOWER_OR_EQUAL
                - GREATER_OR_EQUAL
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            skyStatus:
              type: string
              description: Status of the sky. Can be null if 'skyStatusGroup' is not empty
              enum:
                - CLEAR_SKY
                - MIST
                - FEW_CLOUDS
                - SCATTERED_CLOUDS
                - OVERCAST_CLOUDS
                - DRIZZLE
                - RAIN
                - EXTREME_RAIN
                - THUNDERSTORM
                - VIOLENT_THUNDERSTORM
                - SNOW
                - HEAVY_SNOW
                - HAIL
                - BREEZE
                - HIGH_WIND
                - GALE
                - SAND_DUST
                - VOLCANIC
                - TORNADO
                - TROPICAL_STORM
                - HURRICANE
            skyStatusGroup:
              type: string
              description: >-
                Group of sky condition statuses. Each group can include many sky
                statuses. Can be null if 'skyStatus' is not empty
              enum:
                - CLEAR_SKY
                - CLOUDS
                - RAIN
                - THUNDERSTORM
                - SNOW
                - HAIL
                - WIND
                - DISTURBED_ATMOSPHERE
    FORECAST_TEMPERATURE:
      required:
        - daysRange
        - forecastDays
        - forecastMatchType
        - include
        - targetingType
        - temperatureMatchType
        - weight
      type: object
      description: >-
        Includes or excludes visitors who will be exposed to the following
        temperatures
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            daysRange:
              maximum: 5
              minimum: 0
              type: integer
              description: >-
                Range of days during which the forecast is expected. This value
                can't be less than 'forecastDays'
              format: int32
            forecastDays:
              maximum: 5
              minimum: 0
              type: integer
              description: >-
                Amount of days which should meet the specified value of
                temperature. This value can't be more than 'daysRange'
              format: int32
            forecastMatchType:
              type: string
              description: How to match the specified amount of days
              enum:
                - EQUAL
                - LOWER
                - GREATER
                - LOWER_OR_EQUAL
                - GREATER_OR_EQUAL
            include:
              type: boolean
              description: >-
                Should visitors who match to the condition be included to or
                excluded from the segment. Default value: 'true'
            lowerBoundValue:
              type: integer
              description: >-
                Lower bound of temperature. This field must be not null if
                'temperatureMatchType' is 'INCLUDE'
              format: int32
            measurement:
              type: string
              description: 'Default value: ''CELSIUS'''
              enum:
                - CELSIUS
                - FAHRENHEIT
            temperatureMatchType:
              type: string
              description: How to match the specified value of temperature
              enum:
                - EQUAL
                - LOWER
                - GREATER
                - LOWER_OR_EQUAL
                - GREATER_OR_EQUAL
                - INCLUDE
            upperBoundValue:
              type: integer
              description: >-
                Upper bound of temperature. This field must be not null if
                'temperatureMatchType' is 'INCLUDE'
              format: int32
            value:
              type: integer
              description: >-
                Exact value of temperature. This field must be not null if
                'temperatureMatchType' is not 'INCLUDE'
              format: int32
    GEOLOCATION:
      required:
        - country
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors according to their country, region or town
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            city:
              type: string
              description: Visitor's city
            country:
              type: string
              description: Visitor's country
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            region:
              type: string
              description: Visitor's region
    HEAT_SLICE:
      required:
        - goalId
        - include
        - keyMomentId
        - lowerBound
        - targetingType
        - upperBound
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to their probability of
        converting the chosen goal if a key moment will be met
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            goalId:
              type: integer
              description: Unique Id of a goal
              format: int64
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            keyMomentId:
              type: integer
              description: Unique Id of a key moment
              format: int64
            lowerBound:
              type: integer
              description: 'Lower bound of the probability in percentage. Max value: 100'
              format: int32
            upperBound:
              type: integer
              description: 'Upper bound of the probability in percentage. Max value: 100'
              format: int32
    HOUR_MINUTE_RANGE:
      required:
        - include
        - since
        - targetingType
        - to
        - weight
      type: object
      description: >-
        Includes or excludes visitors accessing the website during a specific
        time slot
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            since:
              type: string
              description: 'Time since. Time format: hh:MM'
            to:
              type: string
              description: 'Time to. Time format: hh:MM'
    INTERNAL_SEARCH_KEYWORDS:
      required:
        - include
        - keyWordIndex
        - targetingType
        - weight
      type: object
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            keyWordIndex:
              type: string
              description: >-
                Value can be the index of a specific key word. Or, it can be
                'ANY' to target visitors in the presence of any key word
    JS_CODE:
      required:
        - applied
        - include
        - jsCode
        - targetingType
        - weight
      type: object
      description: >-
        Write a custom JavaScript function returning `true` or `false`. If the
        result is `true`, the visitor will be included in the experiment. This
        function will execute each time the page is loaded
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            applied:
              type: string
              description: >-
                Enables the JavaScript code to execute after the DOM is ready or
                immediately. Default value: DOM_READY
              enum:
                - DOM_READY
                - IMMEDIATE
                - ASYNC
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            jsCode:
              type: string
              description: Custom JavaScript condition
            timeout:
              type: integer
              description: >-
                Timeout after which the code execution stops in seconds. If it
                is not filled, then the code runs in loop unless the exit
                condition is met. Valid only for IMMEDIATE value of applied
                parameter
              format: int32
    KEY_MOMENT:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors according to the keymoment
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
            linkedKeyMomentId:
              type: integer
              description: Id of linked keymoment
              format: int64
            linkedKeyMomentName:
              type: string
              description: Name of linked keymoment
    KEY_PAGES:
      required:
        - include
        - keyPageIndex
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors that have visited a specific key page
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            keyPageIndex:
              type: string
              description: >-
                Value can be the index of a specific key page. Or it can be
                'ANY' to target visitors in the presence of any key page
            keyPageName:
              type: string
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    LANDING_PAGE:
      required:
        - include
        - matchType
        - targetingType
        - url
        - weight
      type: object
      description: >-
        Includes or excludes visitors according the URL of the landing page of
        the visit
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the specified url should match. Default value:
                'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            url:
              type: string
              description: Landing URL template
    LAST_VISIT:
      required:
        - count
        - include
        - matchType
        - targetingType
        - unitOfTime
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the time elapsed since their
        last visit
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            count:
              type: integer
              description: >-
                Amount of time elapsed since the last visit as indicated by
                'unitOfTime' 
              format: int32
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: Indicates how the specified amount of time should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            unitOfTime:
              type: string
              description: Unit of measurements
              enum:
                - MINUTE
                - HOUR
                - DAY
                - WEEK
                - MONTH
    MOUSE_OUT:
      required:
        - targetingType
        - weight
      type: object
      description: The test launches when the mouse leaves the browser window
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
    NEW_VISITORS:
      required:
        - targetingType
        - visitorsType
        - weight
      type: object
      description: Includes or exclude new visitors or returning visitors to your website.
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            visitorsType:
              type: string
              enum:
                - NEW
                - RETURNING
    NUMBER_OF_VISITED_PAGES:
      required:
        - countOfPages
        - countOfPagesMatchType
        - include
        - priceMatchType
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors using number of visited product pages
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            categories:
              type: array
              description: Product categories
              items:
                type: string
                description: Product categories
            countOfPages:
              type: integer
              description: Number of visited pages
              format: int32
            countOfPagesMatchType:
              type: string
              description: Indicates how the 'countOfPages' should match
              enum:
                - GREATER
                - EXACT
                - LOWER
                - ALL
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
            priceMatchType:
              type: string
              description: >-
                This field specifies how the price should be matched. It is
                recommended to include additional pricing parameters.
              enum:
                - ANY
                - GREATER
                - LOWER
                - EQUAL
                - BELONG
                - BETWEEN
                - INCREASED
                - DECREASED
            priceParams:
              oneOf:
                - $ref: '#/components/schemas/BelongingPriceParams'
                - $ref: '#/components/schemas/BetweenPriceParams'
                - $ref: '#/components/schemas/ExactPriceParams'
                - $ref: '#/components/schemas/PriceChangeParams'
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    OPERATING_SYSTEM:
      required:
        - include
        - os
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visitors based on their operating system (Windows,
        Mac, OS, …)
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            os:
              type: string
              enum:
                - WINDOWS
                - LINUX
                - MAC
                - WINDOWS_PHONE
                - ANDROID
                - IOS
    ORIGIN:
      required:
        - include
        - matchType
        - targetingType
        - url
        - weight
      type: object
      description: >-
        Includes or excludes visitors based on the URL of the referrer website
        they are coming from
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match thus condition should be
                included or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the the specified url should match. Default value:
                'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            url:
              type: string
              description: Referring website URL template
    ORIGIN_TYPE:
      required:
        - include
        - targetingType
        - trafficType
        - weight
      type: object
      description: Includes or excludes visitors based on their origin
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                to or excluded from the segment. Default value: 'true'
            trafficType:
              type: string
              description: Traffic type
              enum:
                - SEO
                - SEM
                - AFFILIATION
                - EMAIL
                - DIRECT
    PAGE_TITLE:
      required:
        - include
        - matchType
        - targetingType
        - title
        - weight
      type: object
      description: Includes or excludes visitors based on the displayed page title
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet the condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the specified title should match. Default value:
                'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            title:
              type: string
              description: Title template
    PAGE_URL:
      required:
        - include
        - matchType
        - targetingType
        - url
        - weight
      type: object
      description: Includes or excludes visitors based on the page URL displayed
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the requested URL should match with the URL
                template. Default value: EXACT
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            url:
              type: string
              description: URL template
    PAGE_VIEWS:
      required:
        - include
        - matchType
        - pageCount
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors that have seen a specific amount of pages
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: Indicates how the the specified amount of pages should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            pageCount:
              type: integer
              description: Number of page views
              format: int32
    PREVIOUS_PAGE:
      required:
        - include
        - matchType
        - targetingType
        - url
        - weight
      type: object
      description: Includes or excludes visitors based on the URL of the previous page
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the specified url should match. Default value:
                'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            url:
              type: string
              description: Previous page URL template
    PRICE_OF_DISPLAYED_PAGE:
      required:
        - include
        - priceMatchType
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors using price of displayed page
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
            priceMatchType:
              type: string
              description: >-
                This field specifies how the price should be matched. It is
                recommended to include additional pricing parameters.
              enum:
                - ANY
                - GREATER
                - LOWER
                - EQUAL
                - BELONG
                - BETWEEN
                - INCREASED
                - DECREASED
            priceParams:
              oneOf:
                - $ref: '#/components/schemas/BelongingPriceParams'
                - $ref: '#/components/schemas/BetweenPriceParams'
                - $ref: '#/components/schemas/ExactPriceParams'
                - $ref: '#/components/schemas/PriceChangeParams'
    REFERRERS:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors based on the channel's origin
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet the condition should be included
                or excluded from the segment. Default value: 'true'
            referrerIndex:
              type: string
              description: >-
                Value can be the index of a specific referrer. Or it can be
                'ANY' to target visitors in the presence of any referrer
            referrerName:
              type: string
    SAME_DAY_VISITS:
      required:
        - include
        - matchType
        - targetingType
        - visitCount
        - weight
      type: object
      description: >-
        Includes or excludes visitors based on the number of visits on the same
        day
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: >-
                Indicates how the specified amount of time should match. Default
                value: 'EQUAL'
              enum:
                - EQUAL
                - LOWER
                - GREATER
            visitCount:
              type: integer
              description: Number of visits for today
              format: int32
    SCREEN_DIMENSION:
      required:
        - heightMatchType
        - include
        - targetingType
        - weight
        - widthMatchType
      type: object
      description: >-
        This is the resolution of the screen, which is its width x the height in
        pixels. Ex: 1260x800 px
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            height:
              type: integer
              description: Should be specified if 'heightMatchType' is not 'INCLUDE'
              format: int32
            heightLowerBound:
              type: integer
              description: Should be specified if 'heightMatchType' is 'INCLUDE'
              format: int32
            heightMatchType:
              type: string
              description: Indicates how the specified height should match
              enum:
                - INCLUDE
                - EQUAL
                - LOWER
                - GREATER
            heightUpperBound:
              type: integer
              description: Should be specified if 'heightMatchType' is 'INCLUDE'
              format: int32
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet the condition should be included
                or excluded from the segment. Default value: 'true'
            width:
              type: integer
              description: Should be specified if 'widthMatchType' is not 'INCLUDE'
              format: int32
            widthLowerBound:
              type: integer
              description: Should be specified if 'widthMatchType' is 'INCLUDE'
              format: int32
            widthMatchType:
              type: string
              description: Indicates how the specified width should match
              enum:
                - INCLUDE
                - EQUAL
                - LOWER
                - GREATER
            widthUpperBound:
              type: integer
              description: Should be specified if 'widthMatchType' is 'INCLUDE'
              format: int32
    SDK_TYPE:
      required:
        - include
        - sdkType
        - targetingType
        - versionMatchType
        - weight
      type: object
      description: Includes or excludes visitors based on their sdk type and version
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            sdkType:
              type: string
              description: The type of SDK through which the visitor has been triggered
              enum:
                - ANDROID
                - IOS
                - JAVA
                - DOTNET
                - NODEJS
                - PHP
                - RUBY
                - GO
                - FLUTTER
                - REACT
                - PYTHON
                - JAVASCRIPT
            version:
              type: string
              description: SDK language version
            versionMatchType:
              type: string
              description: 'How the version of the SDK should match. Default value: ''EQUAL'''
              enum:
                - EQUAL
                - LOWER
                - GREATER
    SEGMENT:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors based on the segment
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
            linkedSegmentId:
              type: integer
              description: Id of linked segment
              format: int64
            linkedSegmentName:
              type: string
              description: Name of linked segment
    SKY_STATUS:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors based on the weather of their location
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet the condition should be included
                or excluded from the segment. Default value: 'true'
            skyStatus:
              type: string
              description: Status of the sky. Can be null if 'skyStatusGroup' is not empty
              enum:
                - CLEAR_SKY
                - MIST
                - FEW_CLOUDS
                - SCATTERED_CLOUDS
                - OVERCAST_CLOUDS
                - DRIZZLE
                - RAIN
                - EXTREME_RAIN
                - THUNDERSTORM
                - VIOLENT_THUNDERSTORM
                - SNOW
                - HEAVY_SNOW
                - HAIL
                - BREEZE
                - HIGH_WIND
                - GALE
                - SAND_DUST
                - VOLCANIC
                - TORNADO
                - TROPICAL_STORM
                - HURRICANE
            skyStatusGroup:
              type: string
              description: >-
                Group of sky statuses. Each group can include multiple sky
                statuses. Can be null if 'skyStatus' is not empty
              enum:
                - CLEAR_SKY
                - CLOUDS
                - RAIN
                - THUNDERSTORM
                - SNOW
                - HAIL
                - WIND
                - DISTURBED_ATMOSPHERE
    TABS_ON_SITE:
      required:
        - include
        - matchType
        - tabCount
        - targetingType
        - weight
      type: object
      description: >-
        Includes or excludes visitors based on the number of tabs open on the
        website
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: Indicates how the given number of tabs should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            tabCount:
              type: integer
              description: Number of tabs opened
              format: int32
    TARGET_EXPERIMENT:
      required:
        - experiment
        - include
        - targetingType
        - variation
        - variationMatchType
        - weight
      type: object
      description: Includes visitors not participating in any tests
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            experiment:
              type: integer
              description: Id of experiment
              format: int64
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            variation:
              type: integer
              description: Id of the variation being used in this experiment
              format: int64
            variationMatchType:
              type: string
              description: >-
                Indicates how the specified variation should match. Default
                value: 'ANY'
              enum:
                - ANY
                - EXACT
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    TARGET_FEATURE_FLAG:
      required:
        - featureFlagId
        - include
        - ruleId
        - targetingType
        - variationKey
        - weight
      type: object
      description: Include visitors not participating in any tests
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            featureFlagId:
              type: integer
              description: Id of the targeted feature flag
              format: int64
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            ruleId:
              type: integer
              description: Id of the rule of the targeted feature flag
              format: int64
            variationKey:
              type: string
              description: Key of the variation of the targeted feature flag
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    TARGET_PERSONALIZATION:
      required:
        - include
        - personalization
        - targetingType
        - weight
      type: object
      description: Include visitors not participating in any personalization
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                or excluded from the segment. Default value: 'true'
            personalization:
              type: integer
              description: Id of personalization
              format: int64
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    TEALIUM_AUDIENCE:
      required:
        - audiences
        - include
        - targetingType
        - weight
      type: object
      description: >-
        All the audiences selected are linked by an `OR` in this condition. To
        link Tealium audiences by an `AND`, create a new Tealium condition, then
        link it to the previous one using an `AND`
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            audiences:
              type: array
              description: List of tealium audiences
              items:
                $ref: '#/components/schemas/TealiumAudience'
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
    TEALIUM_BADGE:
      required:
        - badges
        - include
        - targetingType
        - weight
      type: object
      description: >-
        All the badges selected are linked by an `OR` in this condition. To link
        Tealium badges by an `AND`, create a new Tealium condition and link it
        to the previous by an `AND`
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            badges:
              type: array
              description: List of tealium badges
              items:
                $ref: '#/components/schemas/TealiumBadge'
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
    TEMPERATURE:
      required:
        - include
        - targetingType
        - temperatureMatchType
        - weight
      type: object
      description: Includes or excludes visitors exposed to average temperatures
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Should visitors who match to the condition be included to or
                excluded from the segment. Default value: 'true'
            lowerBoundValue:
              type: integer
              description: >-
                Lower bound of temperature. This field must be not null if
                'temperatureMatchType' is not 'EQUAL'
              format: int32
            measurement:
              type: string
              description: 'Default value: ''CELSIUS'''
              enum:
                - CELSIUS
                - FAHRENHEIT
            temperatureMatchType:
              type: string
              description: Indicates how the specified value of temperature should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
                - LOWER_OR_EQUAL
                - GREATER_OR_EQUAL
                - INCLUDE
            upperBoundValue:
              type: integer
              description: >-
                Upper bound of temperature. This field must be not null if
                'temperatureMatchType' is not 'EQUAL'
              format: int32
            value:
              type: integer
              description: >-
                Exact value of temperature. This field must be not null if
                'temperatureMatchType' is 'EQUAL'
              format: int32
    TIME_RANGE:
      required:
        - include
        - since
        - targetingType
        - to
        - weight
      type: object
      description: >-
        Includes or excludes visitors accessing the website during a specific
        period
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            since:
              type: string
              description: >-
                Date since. Date format in ISO 8601 standard:
                YYYY-MM-DDThh:mm:ss
              format: date-time
            to:
              type: string
              description: 'Date to. Date format in ISO 8601 standard: YYYY-MM-DDThh:mm:ss'
              format: date-time
    TIME_SINCE_PAGE_LOAD:
      required:
        - count
        - countMatchType
        - include
        - targetingType
        - unitOfTime
        - url
        - urlMatchType
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the time elapsed since the
        page loaded
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            count:
              type: integer
              description: >-
                Amount of time elapsed since session became active as indicated
                by 'unitOfTime' 
              format: int32
            countMatchType:
              type: string
              description: 'Indicates how the specified amount of time should match '
              enum:
                - EQUAL
                - LOWER
                - GREATER
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            unitOfTime:
              type: string
              description: >-
                Unit of measurements that will be used to define time since a
                page load
              enum:
                - SECOND
                - MINUTE
                - HOUR
                - DAY
            url:
              type: string
              description: URL template
            urlMatchType:
              type: string
              description: >-
                Indicates how the requested URL and the URL template matches.
                Default value: EXACT
              enum:
                - EXACT
                - CONTAINS
                - REGULAR_EXPRESSION
                - TARGETED_URL
    VISITED_PAGES:
      required:
        - countOfPages
        - countOfPagesMatchType
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors by visited product pages
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            countOfPages:
              type: integer
              description: Amount of visited pages
              format: int32
            countOfPagesMatchType:
              type: string
              description: Indicates how the 'countOfPages' should match
              enum:
                - GREATER
                - EXACT
                - LOWER
                - ALL
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
            productEans:
              type: array
              description: Indicates which products pages should be visited
              items:
                type: string
                description: Indicates which products pages should be visited
            visitorCount:
              type: integer
              description: >-
                Number of the last visits to take into account when
                visitorsScope = VISITOR
              format: int32
            visitorsScope:
              type: string
              description: >-
                Indicates whether to target the user on their current visit or
                take into account all their visits
              enum:
                - CURRENT_VISIT
                - VISITOR
    VISITOR_CODE:
      required:
        - include
        - matchType
        - targetingType
        - visitorCode
        - weight
      type: object
      description: Includes or excludes visitors according to the visitor code
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: 'How to match the specified visitor code. Default value: EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
            visitorCode:
              type: string
              description: Visitor code
    VISITOR_IP:
      required:
        - include
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors according to their IP address
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                in or excluded from the segment. Default value: 'true'
            ipLowerBound:
              type: string
              description: >-
                Lower bound of the Ip address range. If the visitor's Ip matches
                or is greater than the lower bound, it will be included in or
                excluded from the segment.If the field is filled then
                'ipUpperBound' has to be filled as well
            ipRanges:
              type: array
              description: Visitor Ip address ranges
              items:
                type: array
                description: Visitor Ip address ranges
                items:
                  type: string
                  description: Visitor Ip address ranges
            ipUpperBound:
              type: string
              description: >-
                Upper bound of the Ip address range. If the visitor Ip matches
                or is less than the upper bound, it will be included in or
                excluded from the segment.If the field is filled then
                'ipLowerBound' has to be filled as well
            ips:
              type: array
              description: Exact visitor Ip address
              items:
                type: string
                description: Exact visitor Ip address
    VISITS:
      required:
        - include
        - matchType
        - targetingType
        - visitCount
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the total amount of their
        visits
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Indicates if visitors who meet this condition should be included
                in or excluded from the segment. Default value: 'true'
            matchType:
              type: string
              description: Indicates how the number of visits should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            visitCount:
              type: integer
              description: Total number of visits
              format: int32
    VISITS_BY_PAGE:
      required:
        - count
        - countMatchType
        - include
        - period
        - targetingType
        - url
        - urlMatchType
        - weight
      type: object
      description: >-
        Includes or excludes visitors according to the total number of visits on
        the specific page
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            count:
              type: integer
              description: Amount of visits
              format: int32
            countMatchType:
              type: string
              description: Indicates how the specified amount of visits should match
              enum:
                - EQUAL
                - LOWER
                - GREATER
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included or excluded from the segment. Default value: 'true'
            period:
              type: string
              description: Indicates what time period should be considered for the visits
              enum:
                - VISIT
                - VISITOR
                - HOUR
                - DAY
                - MONTH
            url:
              type: string
              description: URL template
            urlMatchType:
              type: string
              description: >-
                Indicates how the requested URL and the URL template matches.
                Default value: EXACT
              enum:
                - EXACT
                - CONTAINS
                - REGULAR_EXPRESSION
                - TARGETED_URL
    YSANCE_ATTRIBUT:
      required:
        - attribute
        - include
        - targetingType
        - value
        - valueMatchType
        - weight
      type: object
      description: Includes or excludes visitors according to a ysance attribute
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            attribute:
              type: string
              description: Ysance attribute
            include:
              type: boolean
              description: >-
                Indicates if visitors who match this condition should be
                included in or excluded from the segment. Default value: 'true'
            value:
              type: string
              description: Attribute value
            valueMatchType:
              type: string
              description: >-
                Indicates how the attribute value should match. Default value:
                'EXACT'
              enum:
                - EXACT
                - CONTAINS
                - NOT_CONTAIN
                - NOT_EXACT
                - START_WITH
                - NOT_START_WITH
                - END_WITH
                - NOT_END_WITH
                - REGULAR_EXPRESSION
    YSANCE_SEGMENT:
      required:
        - include
        - segments
        - targetingType
        - weight
      type: object
      description: Includes or excludes visitors according to ysance segments
      allOf:
        - $ref: '#/components/schemas/TargetingCondition'
        - type: object
          properties:
            include:
              type: boolean
              description: >-
                Should visitors who match to the condition be included to or
                excluded from the segment. Default value: 'true'
            segments:
              type: array
              description: Ysance segments
              items:
                type: string
                description: Ysance segments
    ConditionsData:
      type: object
      properties:
        firstLevel:
          type: array
          description: >-
            First level conditions. Every level can have several conditions.
            E.g. If we set 'firstLevelOrOperators' = [true],
            'firstLevel'=[{OrOperators:[false], conditions: [SKY_STATUS,
            DAY_NIGHT]}, {OrOperators:[true], conditions: [PAGE_TITLE,
            NEW_VISITORS]}]. The expression will be, (SKY_STATUS AND DAY_NIGHT)
            OR (PAGE_TITLE OR NEW_VISITORS)
          items:
            $ref: '#/components/schemas/FirstLevel'
        firstLevelOrOperators:
          type: array
          description: >-
            Array of booleans ("or"=true, "and"=false) for binding firstLevel
            outer conditions.
          items:
            type: boolean
            description: >-
              Array of booleans ("or"=true, "and"=false) for binding firstLevel
              outer conditions.
      description: Conditions according to which visitors will be segmented
    Link:
      type: object
      properties:
        domainId:
          type: integer
          format: int64
        domainStatus:
          type: string
        domainType:
          type: string
          enum:
            - EXPERIMENT
            - PERSONALIZATION
            - FEATURE_FLAG
            - HOLDOUT
        linkRole:
          type: string
          enum:
            - MAIN
            - SECONDARY
        linkType:
          type: string
          enum:
            - DIRECT
            - TRANSITIVE
      description: >-
        List of links to related entities.This is an optional field that is
        included in the request body.
      readOnly: true
    FilteringExpression:
      type: object
      description: Filtering expression
    ConditionDataIO:
      required:
        - targetingType
      type: object
      properties:
        targetingType:
          type: string
      description: Conditions by which visitors will be segmented in tree form
      discriminator:
        propertyName: targetingType
    BelongingPriceParams:
      required:
        - areaOfPriceMatching
        - priceCategory
        - productWayOfCounting
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/PriceParams'
        - type: object
          properties:
            areaOfPriceMatching:
              type: string
              enum:
                - ALL_CATALOGUE
                - SPECIFIC_CATEGORIES
                - SPECIFIC_PRODUCTS
            categories:
              type: array
              description: >-
                Has to be specified if 'areaOfPriceMatching' is
                'SPECIFIC_CATEGORIES'
              items:
                type: string
                description: >-
                  Has to be specified if 'areaOfPriceMatching' is
                  'SPECIFIC_CATEGORIES'
            priceCategory:
              type: string
              enum:
                - EXPENSIVE
                - CHEAP
            productEans:
              type: array
              description: >-
                Has to be specified if 'areaOfPriceMatching' is
                'SPECIFIC_PRODUCTS'
              items:
                type: string
                description: >-
                  Has to be specified if 'areaOfPriceMatching' is
                  'SPECIFIC_PRODUCTS'
            productWayOfCounting:
              type: string
              description: 'Indicates the method to count ''value'' '
              enum:
                - PERCENT
                - COUNTS
            value:
              type: integer
              description: Indicates which fraction the product belongs
              format: int32
    BetweenPriceParams:
      type: object
      allOf:
        - $ref: '#/components/schemas/PriceParams'
        - type: object
          properties:
            firstPriceCalculationType:
              type: string
              enum:
                - FIXED_PRICE
                - CUSTOM_DATA_VALUE
            firstValue:
              type: string
              description: >-
                Depending on the 'priceCalculationType', this has to be the
                exact price value|product id|category id|custom data id
              example: '12.5'
            secondPriceCalculationType:
              type: string
              enum:
                - FIXED_PRICE
                - CUSTOM_DATA_VALUE
            secondValue:
              type: string
              description: >-
                Depending on the 'priceCalculationType', this has to be the
                exact price value|product id|category id|custom data id
              example: '12.5'
    ExactPriceParams:
      type: object
      allOf:
        - $ref: '#/components/schemas/PriceParams'
        - type: object
          properties:
            priceCalculationType:
              type: string
              enum:
                - FIXED_PRICE
                - CUSTOM_DATA_VALUE
            value:
              type: string
              description: >-
                Depending on the 'priceCalculationType', this has to be the
                exact price value|product id|category id|custom data id
              example: '12.5'
    PriceChangeParams:
      required:
        - changeDuration
      type: object
      allOf:
        - $ref: '#/components/schemas/PriceParams'
        - type: object
          properties:
            changeDuration:
              type: string
              description: Time range when the price of the product changed
              enum:
                - ONE_WEEK
                - TWO_WEEKS
                - ONE_MONTH
                - SINCE_DATE
                - BETWEEN_TWO_DATES
            firstDate:
              type: string
              description: >-
                Has to be specified if 'changeDuration' is 'SINCE_DATE',
                'BETWEEN_TWO_DATES' or 'DATE_RANGE'
              format: date-time
            secondDate:
              type: string
              description: >-
                Has to be specified if 'changeDuration' is 'BETWEEN_TWO_DATES'
                or 'DATE_RANGE'
              format: date-time
    TealiumAudience:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Audience unique identifier
        name:
          type: string
          description: Audience name
      description: List of tealium audiences
    TealiumBadge:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: Badge unique identifier
          format: int64
        name:
          type: string
          description: Badge name
      description: List of tealium badges
    FirstLevel:
      type: object
      properties:
        conditions:
          type: array
          description: >-
            Add conditions (see TargetingConditionIO) to define a segment. The
            more conditions you add, the more precise your segment will be.
          items:
            oneOf:
              - $ref: '#/components/schemas/ACTIVE_SESSION'
              - $ref: '#/components/schemas/AD_BLOCKER'
              - $ref: '#/components/schemas/APPLICATION_VERSION'
              - $ref: '#/components/schemas/BROWSER'
              - $ref: '#/components/schemas/BROWSER_LANGUAGE'
              - $ref: '#/components/schemas/CONVERSIONS'
              - $ref: '#/components/schemas/COOKIE'
              - $ref: '#/components/schemas/CUSTOM_DATUM'
              - $ref: '#/components/schemas/DAY_NIGHT'
              - $ref: '#/components/schemas/DAY_OF_WEEK'
              - $ref: '#/components/schemas/DEVICE_TYPE'
              - $ref: '#/components/schemas/DOM_ELEMENT'
              - $ref: '#/components/schemas/EVENT'
              - $ref: '#/components/schemas/EXCLUSIVE_EXPERIMENT'
              - $ref: '#/components/schemas/EXPLICIT_TRIGGER'
              - $ref: '#/components/schemas/FIRST_VISIT'
              - $ref: '#/components/schemas/FORECAST_SKY_STATUS'
              - $ref: '#/components/schemas/FORECAST_TEMPERATURE'
              - $ref: '#/components/schemas/GEOLOCATION'
              - $ref: '#/components/schemas/HEAT_SLICE'
              - $ref: '#/components/schemas/HOUR_MINUTE_RANGE'
              - $ref: '#/components/schemas/INTERNAL_SEARCH_KEYWORDS'
              - $ref: '#/components/schemas/JS_CODE'
              - $ref: '#/components/schemas/KEY_MOMENT'
              - $ref: '#/components/schemas/KEY_PAGES'
              - $ref: '#/components/schemas/LANDING_PAGE'
              - $ref: '#/components/schemas/LAST_VISIT'
              - $ref: '#/components/schemas/MOUSE_OUT'
              - $ref: '#/components/schemas/NEW_VISITORS'
              - $ref: '#/components/schemas/NUMBER_OF_VISITED_PAGES'
              - $ref: '#/components/schemas/OPERATING_SYSTEM'
              - $ref: '#/components/schemas/ORIGIN'
              - $ref: '#/components/schemas/ORIGIN_TYPE'
              - $ref: '#/components/schemas/PAGE_TITLE'
              - $ref: '#/components/schemas/PAGE_URL'
              - $ref: '#/components/schemas/PAGE_VIEWS'
              - $ref: '#/components/schemas/PREVIOUS_PAGE'
              - $ref: '#/components/schemas/PRICE_OF_DISPLAYED_PAGE'
              - $ref: '#/components/schemas/REFERRERS'
              - $ref: '#/components/schemas/SAME_DAY_VISITS'
              - $ref: '#/components/schemas/SCREEN_DIMENSION'
              - $ref: '#/components/schemas/SDK_TYPE'
              - $ref: '#/components/schemas/SEGMENT'
              - $ref: '#/components/schemas/SKY_STATUS'
              - $ref: '#/components/schemas/TABS_ON_SITE'
              - $ref: '#/components/schemas/TARGET_EXPERIMENT'
              - $ref: '#/components/schemas/TARGET_FEATURE_FLAG'
              - $ref: '#/components/schemas/TARGET_PERSONALIZATION'
              - $ref: '#/components/schemas/TEALIUM_AUDIENCE'
              - $ref: '#/components/schemas/TEALIUM_BADGE'
              - $ref: '#/components/schemas/TEMPERATURE'
              - $ref: '#/components/schemas/TIME_RANGE'
              - $ref: '#/components/schemas/TIME_SINCE_PAGE_LOAD'
              - $ref: '#/components/schemas/VISITED_PAGES'
              - $ref: '#/components/schemas/VISITOR_CODE'
              - $ref: '#/components/schemas/VISITOR_IP'
              - $ref: '#/components/schemas/VISITS'
              - $ref: '#/components/schemas/VISITS_BY_PAGE'
              - $ref: '#/components/schemas/YSANCE_ATTRIBUT'
              - $ref: '#/components/schemas/YSANCE_SEGMENT'
        orOperators:
          type: array
          description: >-
            Array of booleans ("or"=true, "and"=false) for binding conditions of
            second level.
          items:
            type: boolean
            description: >-
              Array of booleans ("or"=true, "and"=false) for binding conditions
              of second level.
      description: >-
        First level conditions. Every level can have several conditions. E.g. If
        we set 'firstLevelOrOperators' = [true],
        'firstLevel'=[{OrOperators:[false], conditions: [SKY_STATUS,
        DAY_NIGHT]}, {OrOperators:[true], conditions: [PAGE_TITLE,
        NEW_VISITORS]}]. The expression will be, (SKY_STATUS AND DAY_NIGHT) OR
        (PAGE_TITLE OR NEW_VISITORS)
    PriceParams:
      type: object
      description: >-
        Type of params depends on 'priceMatchType' field. 'GREATER', 'LOWER',
        'EQUAL' - ExactPriceParams.  'BETWEEN' - BetweenPriceParams.  'BELONG' -
        BelongingPriceParams.  'INCREASED', 'DECREASED' - PriceChangeParams.
      oneOf:
        - $ref: '#/components/schemas/BelongingPriceParams'
        - $ref: '#/components/schemas/BetweenPriceParams'
        - $ref: '#/components/schemas/ExactPriceParams'
        - $ref: '#/components/schemas/PriceChangeParams'
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````