# Preview campaign recommendations

- Operation ID: `PostPreviewRecommendations`
- HTTP method: `POST`
- Path: `/recommendations/v2/recommend/campaigns/preview`
- [Human-readable API reference](https://hub.synerise.com/api-reference/campaigns#operation/PostPreviewRecommendations)

## Self-contained OpenAPI method

The fenced document below contains this method's documentation and all of its local references. It is self-contained; no category or master specification fetch is required.

```yaml
openapi: 3.0.0
info:
  title: Synerise Public API
  version: 1.9.1
paths:
  /recommendations/v2/recommend/campaigns/preview:
    post:
      summary: Preview campaign recommendations
      description: |
        This method allows you to preview recommendations for a campaign with a given configuration before creating it.

        **Note**: This method is not an alternative to creating recommendations for an existing campaign. It is intended for testing purposes only.

        The recommendation context is built based on:
        - profile UUID
        - items
        - item exclusions


        ---

        **API consumers:** <a href="/api-reference/authorization?tag=Authorization&amp;operationId=profileLogin" target="_blank" rel="noopener">Workspace (Business Profile)</a>, <a href="/api-reference/authorization?tag=Authorization&amp;operationId=userLogin" target="_blank" rel="noopener">Synerise User</a>

        **API key permission required:** `API_MATERIALIZER_V2_RECOMMEND_CAMPAIGNS_RECOMMENDATIONS_PREVIEW_READ`

        **User role permission required:** `campaigns_recommendations: read`
      operationId: PostPreviewRecommendations
      security:
        - TrackerKey: []
        - JWT: []
      tags:
        - Recommendations
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    clientUUID:
                      description: UUID of the client
                      type: string
                      format: uuid
                    items:
                      type: array
                      description: "A list of itemIds for building the context. Alternatively, you can use the `itemsSource` parameter to provide the context. Item context is required by these recommendation types: `similar`, `cross-sell`, `set-complement`, `visually-similar`, `item-comparison`. In other recommendation types, the item context is optional, but may be used by the model when scoring items."
                      items:
                        type: string
                        description: ID of an entity in the item feed
                    includeContextItems:
                      type: boolean
                      default: false
                      description: The recommendation results will include context items from the request.
                    params:
                      type: object
                      example:
                        source: mobile
                      description: Extra parameters that will be added to the `recommendation.generated` event. The total size must not exceed 500 bytes.
                    inventoryContext:
                      description: |
                        Inventory context used to evaluate inventory-related filters and boosting strategies.
                        Can be either a single inventory context or
                        a multi-inventory context (set of channel IDs per inventory).
                      oneOf:
                        - type: object
                          description: |
                            Single inventory context.
                          properties:
                            channelIds:
                              type: array
                              items:
                                type: string
                              description: |
                                List of channel identifiers used to evaluate inventory-related filters and boosting strategies.
                          required:
                            - channelIds
                        - type: object
                          description: |
                            Multi-inventory context where each inventory can have its own set of channel IDs.
                          properties:
                            inventoryCatalogs:
                              type: object
                              additionalProperties:
                                type: object
                                description: |
                                  Context definition for a specific inventory.
                                properties:
                                  channelIds:
                                    type: array
                                    items:
                                      type: string
                                    description: |
                                      List of channel identifiers for this specific inventory.
                              description: |
                                Map of inventory ID to inventory context definition. Each inventory can have its own set of channel IDs.
                          required:
                            - inventoryCatalogs
                - oneOf:
                    - title: Similar
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - similar
                            parameters:
                              allOf:
                                - allOf:
                                    - type: object
                                      description: Parameters that apply to this campaign
                                      properties:
                                        additionalResponseAttributes:
                                          type: array
                                          items:
                                            type: string
                                          description: An array of additional response attributes.
                                    - type: object
                                      properties:
                                        boostMetric:
                                          type: string
                                          description: ID of the metric to boost the results by. Metric scores will be combined with recommendation scores, favoring the best-performing results.
                                        sortMetric:
                                          type: string
                                          description: ID of the metric to sort the results by.
                                        boostMetricStrength:
                                          type: number
                                          description: How much influence the `boostMetric` has. Values less than 0 allow you to demote items that have high metric score, values greater than 0 allow you to promote items that have high metric score. A strength with a value of 0 does not change the scoring.
                                          format: float
                                          minimum: -100
                                          maximum: 100
                                        shuffleNumItems:
                                          type: integer
                                          description: When this parameter is provided, this many best item recommendations are provided. A number of them, no more than the value of `itemMax`, are chosen randomly for recommendation.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Top items
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - metrics
                            parameters:
                              allOf:
                                - allOf:
                                    - type: object
                                      description: Parameters that apply to this campaign
                                      properties:
                                        additionalResponseAttributes:
                                          type: array
                                          items:
                                            type: string
                                          description: An array of additional response attributes.
                                    - type: object
                                      properties:
                                        boostMetric:
                                          type: string
                                          description: ID of the metric to boost the results by. Metric scores will be combined with recommendation scores, favoring the best-performing results.
                                        sortMetric:
                                          type: string
                                          description: ID of the metric to sort the results by.
                                        boostMetricStrength:
                                          type: number
                                          description: How much influence the `boostMetric` has. Values less than 0 allow you to demote items that have high metric score, values greater than 0 allow you to promote items that have high metric score. A strength with a value of 0 does not change the scoring.
                                          format: float
                                          minimum: -100
                                          maximum: 100
                                        shuffleNumItems:
                                          type: integer
                                          description: When this parameter is provided, this many best item recommendations are provided. A number of them, no more than the value of `itemMax`, are chosen randomly for recommendation.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                                  required:
                                    - sortMetric
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Cross-sell
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - cross-sell
                            parameters:
                              allOf:
                                - allOf:
                                    - type: object
                                      description: Parameters that apply to this campaign
                                      properties:
                                        additionalResponseAttributes:
                                          type: array
                                          items:
                                            type: string
                                          description: An array of additional response attributes.
                                    - type: object
                                      properties:
                                        boostMetric:
                                          type: string
                                          description: ID of the metric to boost the results by. Metric scores will be combined with recommendation scores, favoring the best-performing results.
                                        sortMetric:
                                          type: string
                                          description: ID of the metric to sort the results by.
                                        boostMetricStrength:
                                          type: number
                                          description: How much influence the `boostMetric` has. Values less than 0 allow you to demote items that have high metric score, values greater than 0 allow you to promote items that have high metric score. A strength with a value of 0 does not change the scoring.
                                          format: float
                                          minimum: -100
                                          maximum: 100
                                        shuffleNumItems:
                                          type: integer
                                          description: When this parameter is provided, this many best item recommendations are provided. A number of them, no more than the value of `itemMax`, are chosen randomly for recommendation.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Complementary
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - set-complement
                            parameters:
                              allOf:
                                - type: object
                                  description: Parameters that apply to this campaign
                                  properties:
                                    additionalResponseAttributes:
                                      type: array
                                      items:
                                        type: string
                                      description: An array of additional response attributes.
                                - type: object
                                  properties:
                                    itemSimilarity:
                                      type: integer
                                      minimum: 0
                                      maximum: 5
                                      description: Similarity between items in the cart and the recommended items. Higher values decrease the similarity.
                                    recommendationVariety:
                                      type: number
                                      format: float
                                      minimum: 0
                                      maximum: 0.9
                                      description: Similarity between recommended items - higher values will result in more variety within the recommended item set.
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Last viewed
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - last-viewed
                            parameters:
                              allOf:
                                - type: object
                                  description: Parameters that apply to this campaign
                                  properties:
                                    additionalResponseAttributes:
                                      type: array
                                      items:
                                        type: string
                                      description: An array of additional response attributes.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Personalized
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - personalized
                            parameters:
                              type: object
                              description: Parameters that apply to this campaign
                              properties:
                                additionalResponseAttributes:
                                  type: array
                                  items:
                                    type: string
                                  description: An array of additional response attributes.
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Visually similar
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - visually-similar
                            parameters:
                              allOf:
                                - allOf:
                                    - type: object
                                      description: Parameters that apply to this campaign
                                      properties:
                                        additionalResponseAttributes:
                                          type: array
                                          items:
                                            type: string
                                          description: An array of additional response attributes.
                                    - type: object
                                      properties:
                                        boostMetric:
                                          type: string
                                          description: ID of the metric to boost the results by. Metric scores will be combined with recommendation scores, favoring the best-performing results.
                                        sortMetric:
                                          type: string
                                          description: ID of the metric to sort the results by.
                                        boostMetricStrength:
                                          type: number
                                          description: How much influence the `boostMetric` has. Values less than 0 allow you to demote items that have high metric score, values greater than 0 allow you to promote items that have high metric score. A strength with a value of 0 does not change the scoring.
                                          format: float
                                          minimum: -100
                                          maximum: 100
                                        shuffleNumItems:
                                          type: integer
                                          description: When this parameter is provided, this many best item recommendations are provided. A number of them, no more than the value of `itemMax`, are chosen randomly for recommendation.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Comparison
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - item-comparison
                            parameters:
                              allOf:
                                - allOf:
                                    - type: object
                                      description: Parameters that apply to this campaign
                                      properties:
                                        additionalResponseAttributes:
                                          type: array
                                          items:
                                            type: string
                                          description: An array of additional response attributes.
                                    - type: object
                                      properties:
                                        boostMetric:
                                          type: string
                                          description: ID of the metric to boost the results by. Metric scores will be combined with recommendation scores, favoring the best-performing results.
                                        sortMetric:
                                          type: string
                                          description: ID of the metric to sort the results by.
                                        boostMetricStrength:
                                          type: number
                                          description: How much influence the `boostMetric` has. Values less than 0 allow you to demote items that have high metric score, values greater than 0 allow you to promote items that have high metric score. A strength with a value of 0 does not change the scoring.
                                          format: float
                                          minimum: -100
                                          maximum: 100
                                        shuffleNumItems:
                                          type: integer
                                          description: When this parameter is provided, this many best item recommendations are provided. A number of them, no more than the value of `itemMax`, are chosen randomly for recommendation.
                                - type: object
                                  properties:
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Recent interactions
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - recent-interactions
                            parameters:
                              allOf:
                                - type: object
                                  description: Parameters that apply to this campaign
                                  properties:
                                    additionalResponseAttributes:
                                      type: array
                                      items:
                                        type: string
                                      description: An array of additional response attributes.
                                - type: object
                                  properties:
                                    aggregateId:
                                      type: string
                                      description: Id of the aggregate which provides events as a base of recommendations.
                                    personalizedBoostingStrength:
                                      type: number
                                      description: How much influence the personalized scoring has. Greater values allow you to promote items that have high personalized score. A strength with a value of 0 does not change the scoring.
                                      format: float
                                      minimum: 0
                                      maximum: 100
                                      default: 0
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Section
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - section
                            parameters:
                              allOf:
                                - type: object
                                  description: Parameters that apply to this campaign
                                  properties:
                                    additionalResponseAttributes:
                                      type: array
                                      items:
                                        type: string
                                      description: An array of additional response attributes.
                                - type: object
                                  properties:
                                    metadataCatalogId:
                                      type: string
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
                    - title: Attribute
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - attribute
                            parameters:
                              allOf:
                                - type: object
                                  description: Parameters that apply to this campaign
                                  properties:
                                    additionalResponseAttributes:
                                      type: array
                                      items:
                                        type: string
                                      description: An array of additional response attributes.
                                - type: object
                                  properties:
                                    metadataCatalogId:
                                      type: string
                                      description: The id of catalog containing attributes metadata.
                        - type: object
                          properties:
                            title:
                              type: string
                              description: Title of the campaign used in the preview.
                              default: preview
                            campaignId:
                              type: string
                              description: ID of the campaign used in the preview.
                              default: preview
                            filterRules:
                              type: object
                              description: Filters that apply to this campaign. If the filters contain an attribute used in the default filters of the recommendation model ([**Settings > AI Configuration**](https://help.synerise.com/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations/#selecting-recommendation-types-and-default-filters)), that default filter is ignored.
                              properties:
                                excludePurchasedItems:
                                  type: boolean
                                  description: When true, the recommendation results will include only items that the profile hasn't purchased before.
                                excludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: Limits the application of the `excludePurchasedItems` filter to a specified number of days.
                                elasticExcludePurchasedItems:
                                  type: boolean
                                  description: This is a setting for Elastic filters.<br>When true, the recommendation results will include only items that the profile hasn't purchased before.
                                elasticExcludePurchasedItemsSinceDays:
                                  type: number
                                  format: integer
                                  description: This is a setting for Elastic filters.<br>Limits the application of the `elasticExcludePurchasedItemsSinceDays` filter to a specified number of days.
                            itemsCatalogId:
                              type: string
                              description: Only items from this catalog will be recommended.
                            slots:
                              type: array
                              minItems: 1
                              description: Recommendation slots. Must contain at least one slot with a non-empty `name`.
                              items:
                                type: object
                                description: Slot allows you to define a separate recommendation frame with its filters and other parameters
                                properties:
                                  name:
                                    type: string
                                    description: Slot name
                                  itemMin:
                                    type: integer
                                    description: The minimal number of items in the campaign or the minimal number of attribute values in the attribute recommendation campaign.
                                  itemMax:
                                    type: integer
                                    description: The maximal number of items in the campaign or the maximal number of attribute values in the attribute recommendation campaign.
                                  filterRules:
                                    type: object
                                    description: Filters that apply to this campaign
                                    properties:
                                      filters:
                                        type: string
                                        description: Filtering string
                                      elasticFilters:
                                        type: string
                                        description: Filtering string for Elastic filter
                                  distinctFilter:
                                    type: object
                                    description: Distinct filter allows to specify how many recommended items can have the same value of specified attributes.
                                    properties:
                                      elastic:
                                        type: boolean
                                        description: It allows to complete the recommended items with items which don't meet the distinct filter criteria.
                                      filters:
                                        type: array
                                        minItems: 1
                                        maxItems: 5
                                        description: Array of distinct filters
                                        items:
                                          type: object
                                          properties:
                                            field:
                                              type: string
                                              description: Attribute name
                                            maxNumItems:
                                              type: number
                                              format: integer
                                              description: Max number of items with the same value of the attribute
                                            levelRangeModifier:
                                              type: number
                                              format: integer
                                              description: Parameter used (for the `category` field) to specify how many categories to cut off from the end
                                          required:
                                            - field
                                            - maxNumItems
                                    required:
                                      - elastic
                                      - filters
                                  attribute:
                                    type: object
                                    description: The attribute for rows grouping in the section and attribute recommendation campaign.
                                    properties:
                                      name:
                                        description: Name of attribute for rows grouping.
                                        type: string
                                      levelRangeModifier:
                                        description: Restricts the range of products in recommendations to a particular attribute level.
                                        type: integer
                                  numRows:
                                    type: integer
                                    description: The number of rows in the section recommendation campaign.
                                  numItems:
                                    type: integer
                                    description: The number of products in each row in the section recommendation campaign.
                                required:
                                  - name
                            keepSlotsOrder:
                              type: boolean
                              default: true
                              description: |
                                - When `true`, the `data` array in the response is sorted according to slots. Within each slot, the items are sorted by their score (default) or metric (if selected). For example, if you have 3 slots of 2 items each, the first 2 items in `data` are from the first slot, the second 2 are from the second slot, and the last 2 are from the third slot.
                                - When `false`, the `data` array in the response is sorted only according to score (default) or metric (if selected). Slots have no effect.

                                The additional `extras.slots` object always shows slots and items as if this setting was `true`.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            personalizeSlotsOrder:
                              type: boolean
                              default: false
                              description: |
                                Sort the slots by average personalized slot score. This parameter applies only to personalized and attribute recommendation campaigns.

                                If you want to set `personalizeSlotsOrder` to `true`, `keepSlotsOrder` must also be `true`.
                            boostingStrategies:
                              type: array
                              description: Recommendation boosting strategies
                              items:
                                type: object
                                description: Boosting strategy allows you to promote or demote specific types of products in recommendation scoring
                                properties:
                                  name:
                                    type: string
                                    description: Boosting strategy name
                                  condition:
                                    type: string
                                    description: The condition that indicates on which items the boost will be performed. The condition must comply with the rules of creating filters.
                                  strength:
                                    type: number
                                    description: How much influence the strategy has. Values less than 1.0 allow you to degrade items that meet the condition, values greater than 1.0 allow you to promote items that meet the condition. A strength with a value of 1.0 does not change the scoring.
                                    format: float
                                    minimum: 0
                                    maximum: 2
                                    default: 1
                                required:
                                  - name
                                  - condition
                                  - strength
                            itemsSource:
                              type: object
                              description: |
                                The source of item ID or IDs for the recommendation context. This parameter can be passed in all recommendations. In recommendations which don't use item context as part of the recommendation model, the context item can be used only to create filters.

                                The item ID source (aggregate or expression) should return a string or an array of strings. If it returns numerical values, the recommendations engine attempts to convert them into strings while processing the request.

                                Alternatively, you can pass the `itemId` or `itemsSource` parameter when making a request to generate a recommendation from this campaign. The parameter overrides the settings defined here.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - aggregate
                                    - expression
                                  description: |
                                    Type of the source of item ID or IDs for the recommendation context. 

                                    If the items' source type is 'aggregate', the aggregate result will be used as context items. If the items' source type is 'expression', the expression result will be used as context items.
                                id:
                                  type: string
                                  description: |
                                    ID of the items' source for the recommendation context. If the source's type is 'aggregate', this is the aggregate's ID. If the source's type is 'expression', this is the expression's ID.
                          required:
                            - type
                            - itemsCatalogId
                            - slots
      responses:
        "200":
          description: Recommendations for the provided context. The response schema depends on your Workspace configuration. The schema below only includes the static elements.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Recommended items
                    items:
                      type: object
                      properties:
                        itemId:
                          type: string
                          description: Item identifier
                      required:
                        - itemId
                  extras:
                    type: object
                    description: Additional data
                    properties:
                      correlationId:
                        type: string
                        description: Correlation identifier of a recommendation request
                      contextItems:
                        type: array
                        description: A list of context items provided in request
                        items:
                          type: object
                          properties:
                            itemId:
                              type: string
                              description: Item identifier (`itemId` in item catalog)
                          additionalProperties: {}
                          required:
                            - itemId
                      slots:
                        type: array
                        description: A list of slots data
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Slot identifier. Matches the index (zero-based numbering) of the slot provided in request
                            name:
                              type: string
                              description: Slot name provided in request
                            itemIds:
                              type: array
                              description: A list of item ids that meet the slot criteria
                              items:
                                type: string
                                description: Item identifier (`itemId` in item catalog)
                            error:
                              type: object
                              description: Error details, if applicable
                              properties:
                                status:
                                  type: integer
                                  description: Status code
                                error:
                                  type: string
                                  description: Summary of the error
                                message:
                                  type: string
                                  description: Description of the problem
                              required:
                                - status
                                - error
                                - message
                          required:
                            - id
                            - itemIds
                    required:
                      - correlationId
                      - slots
        "404":
          description: No recommendations could be generated for the specified campaign and context.
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: Time when the error occurred
                  status:
                    type: integer
                    description: Status code
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Description of the problem
                  path:
                    type: string
                    description: URL of the requested resource
                required:
                  - timestamp
                  - status
                  - message
        "429":
          description: The user has sent too many requests in a given amount of time ("rate limiting").
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: Time when the error occurred
                  status:
                    type: integer
                    description: Status code
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Description of the problem
                  path:
                    type: string
                    description: URL of the requested resource
                required:
                  - timestamp
                  - status
                  - message
        "500":
          description: An error occurred
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: Time when the error occurred
                  status:
                    type: integer
                    description: Status code
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Description of the problem
                  path:
                    type: string
                    description: URL of the requested resource
                required:
                  - timestamp
                  - status
                  - message
      x-snr-doc-urls:
        - /api-reference/ai-recommendations#tag/Recommendations/operation/PostPreviewRecommendations
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.synerise.com/recommendations/v2/recommend/campaigns/preview \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
              --header 'content-type: application/json' \
              --data '{"clientUUID":"50829d26-5337-410e-9365-b40f7a01bb61","items":["string"],"includeContextItems":false,"params":{"source":"mobile"},"inventoryContext":{"channelIds":["string"]},"type":"similar","parameters":{"additionalResponseAttributes":["string"],"boostMetric":"string","sortMetric":"string","boostMetricStrength":-100,"shuffleNumItems":0,"personalizedBoostingStrength":0},"title":"preview","campaignId":"preview","filterRules":{"excludePurchasedItems":true,"excludePurchasedItemsSinceDays":0,"elasticExcludePurchasedItems":true,"elasticExcludePurchasedItemsSinceDays":0},"itemsCatalogId":"string","slots":[{"name":"string","itemMin":0,"itemMax":0,"filterRules":{"filters":"string","elasticFilters":"string"},"distinctFilter":{"elastic":true,"filters":[{"field":"string","maxNumItems":0,"levelRangeModifier":0}]},"attribute":{"name":"string","levelRangeModifier":0},"numRows":0,"numItems":0}],"keepSlotsOrder":true,"personalizeSlotsOrder":false,"boostingStrategies":[{"name":"string","condition":"string","strength":1}],"itemsSource":{"type":"aggregate","id":"string"}}'
        - lang: Python
          label: Python
          source: |-
            import http.client

            conn = http.client.HTTPSConnection("api.synerise.com")

            payload = "{\"clientUUID\":\"50829d26-5337-410e-9365-b40f7a01bb61\",\"items\":[\"string\"],\"includeContextItems\":false,\"params\":{\"source\":\"mobile\"},\"inventoryContext\":{\"channelIds\":[\"string\"]},\"type\":\"similar\",\"parameters\":{\"additionalResponseAttributes\":[\"string\"],\"boostMetric\":\"string\",\"sortMetric\":\"string\",\"boostMetricStrength\":-100,\"shuffleNumItems\":0,\"personalizedBoostingStrength\":0},\"title\":\"preview\",\"campaignId\":\"preview\",\"filterRules\":{\"excludePurchasedItems\":true,\"excludePurchasedItemsSinceDays\":0,\"elasticExcludePurchasedItems\":true,\"elasticExcludePurchasedItemsSinceDays\":0},\"itemsCatalogId\":\"string\",\"slots\":[{\"name\":\"string\",\"itemMin\":0,\"itemMax\":0,\"filterRules\":{\"filters\":\"string\",\"elasticFilters\":\"string\"},\"distinctFilter\":{\"elastic\":true,\"filters\":[{\"field\":\"string\",\"maxNumItems\":0,\"levelRangeModifier\":0}]},\"attribute\":{\"name\":\"string\",\"levelRangeModifier\":0},\"numRows\":0,\"numItems\":0}],\"keepSlotsOrder\":true,\"personalizeSlotsOrder\":false,\"boostingStrategies\":[{\"name\":\"string\",\"condition\":\"string\",\"strength\":1}],\"itemsSource\":{\"type\":\"aggregate\",\"id\":\"string\"}}"

            headers = {
                'Authorization': "Bearer REPLACE_BEARER_TOKEN",
                'content-type': "application/json"
                }

            conn.request("POST", "/recommendations/v2/recommend/campaigns/preview", payload, headers)

            res = conn.getresponse()
            data = res.read()

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = JSON.stringify({
              "clientUUID": "50829d26-5337-410e-9365-b40f7a01bb61",
              "items": [
                "string"
              ],
              "includeContextItems": false,
              "params": {
                "source": "mobile"
              },
              "inventoryContext": {
                "channelIds": [
                  "string"
                ]
              },
              "type": "similar",
              "parameters": {
                "additionalResponseAttributes": [
                  "string"
                ],
                "boostMetric": "string",
                "sortMetric": "string",
                "boostMetricStrength": -100,
                "shuffleNumItems": 0,
                "personalizedBoostingStrength": 0
              },
              "title": "preview",
              "campaignId": "preview",
              "filterRules": {
                "excludePurchasedItems": true,
                "excludePurchasedItemsSinceDays": 0,
                "elasticExcludePurchasedItems": true,
                "elasticExcludePurchasedItemsSinceDays": 0
              },
              "itemsCatalogId": "string",
              "slots": [
                {
                  "name": "string",
                  "itemMin": 0,
                  "itemMax": 0,
                  "filterRules": {
                    "filters": "string",
                    "elasticFilters": "string"
                  },
                  "distinctFilter": {
                    "elastic": true,
                    "filters": [
                      {
                        "field": "string",
                        "maxNumItems": 0,
                        "levelRangeModifier": 0
                      }
                    ]
                  },
                  "attribute": {
                    "name": "string",
                    "levelRangeModifier": 0
                  },
                  "numRows": 0,
                  "numItems": 0
                }
              ],
              "keepSlotsOrder": true,
              "personalizeSlotsOrder": false,
              "boostingStrategies": [
                {
                  "name": "string",
                  "condition": "string",
                  "strength": 1
                }
              ],
              "itemsSource": {
                "type": "aggregate",
                "id": "string"
              }
            });

            const xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function () {
              if (this.readyState === this.DONE) {
                console.log(this.responseText);
              }
            });

            xhr.open("POST", "https://api.synerise.com/recommendations/v2/recommend/campaigns/preview");
            xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
            xhr.setRequestHeader("content-type", "application/json");

            xhr.send(data);
        - lang: Node.js
          label: Node.js
          source: |-
            const http = require("https");

            const options = {
              "method": "POST",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/recommendations/v2/recommend/campaigns/preview",
              "headers": {
                "Authorization": "Bearer REPLACE_BEARER_TOKEN",
                "content-type": "application/json"
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on("data", function (chunk) {
                chunks.push(chunk);
              });

              res.on("end", function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              clientUUID: '50829d26-5337-410e-9365-b40f7a01bb61',
              items: ['string'],
              includeContextItems: false,
              params: {source: 'mobile'},
              inventoryContext: {channelIds: ['string']},
              type: 'similar',
              parameters: {
                additionalResponseAttributes: ['string'],
                boostMetric: 'string',
                sortMetric: 'string',
                boostMetricStrength: -100,
                shuffleNumItems: 0,
                personalizedBoostingStrength: 0
              },
              title: 'preview',
              campaignId: 'preview',
              filterRules: {
                excludePurchasedItems: true,
                excludePurchasedItemsSinceDays: 0,
                elasticExcludePurchasedItems: true,
                elasticExcludePurchasedItemsSinceDays: 0
              },
              itemsCatalogId: 'string',
              slots: [
                {
                  name: 'string',
                  itemMin: 0,
                  itemMax: 0,
                  filterRules: {filters: 'string', elasticFilters: 'string'},
                  distinctFilter: {
                    elastic: true,
                    filters: [{field: 'string', maxNumItems: 0, levelRangeModifier: 0}]
                  },
                  attribute: {name: 'string', levelRangeModifier: 0},
                  numRows: 0,
                  numItems: 0
                }
              ],
              keepSlotsOrder: true,
              personalizeSlotsOrder: false,
              boostingStrategies: [{name: 'string', condition: 'string', strength: 1}],
              itemsSource: {type: 'aggregate', id: 'string'}
            }));
            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

            $request = new HttpRequest();
            $request->setUrl('https://api.synerise.com/recommendations/v2/recommend/campaigns/preview');
            $request->setMethod(HTTP_METH_POST);

            $request->setHeaders([
              'Authorization' => 'Bearer REPLACE_BEARER_TOKEN',
              'content-type' => 'application/json'
            ]);

            $request->setBody('{"clientUUID":"50829d26-5337-410e-9365-b40f7a01bb61","items":["string"],"includeContextItems":false,"params":{"source":"mobile"},"inventoryContext":{"channelIds":["string"]},"type":"similar","parameters":{"additionalResponseAttributes":["string"],"boostMetric":"string","sortMetric":"string","boostMetricStrength":-100,"shuffleNumItems":0,"personalizedBoostingStrength":0},"title":"preview","campaignId":"preview","filterRules":{"excludePurchasedItems":true,"excludePurchasedItemsSinceDays":0,"elasticExcludePurchasedItems":true,"elasticExcludePurchasedItemsSinceDays":0},"itemsCatalogId":"string","slots":[{"name":"string","itemMin":0,"itemMax":0,"filterRules":{"filters":"string","elasticFilters":"string"},"distinctFilter":{"elastic":true,"filters":[{"field":"string","maxNumItems":0,"levelRangeModifier":0}]},"attribute":{"name":"string","levelRangeModifier":0},"numRows":0,"numItems":0}],"keepSlotsOrder":true,"personalizeSlotsOrder":false,"boostingStrategies":[{"name":"string","condition":"string","strength":1}],"itemsSource":{"type":"aggregate","id":"string"}}');

            try {
              $response = $request->send();

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.post("https://api.synerise.com/recommendations/v2/recommend/campaigns/preview")
              .header("Authorization", "Bearer REPLACE_BEARER_TOKEN")
              .header("content-type", "application/json")
              .body("{\"clientUUID\":\"50829d26-5337-410e-9365-b40f7a01bb61\",\"items\":[\"string\"],\"includeContextItems\":false,\"params\":{\"source\":\"mobile\"},\"inventoryContext\":{\"channelIds\":[\"string\"]},\"type\":\"similar\",\"parameters\":{\"additionalResponseAttributes\":[\"string\"],\"boostMetric\":\"string\",\"sortMetric\":\"string\",\"boostMetricStrength\":-100,\"shuffleNumItems\":0,\"personalizedBoostingStrength\":0},\"title\":\"preview\",\"campaignId\":\"preview\",\"filterRules\":{\"excludePurchasedItems\":true,\"excludePurchasedItemsSinceDays\":0,\"elasticExcludePurchasedItems\":true,\"elasticExcludePurchasedItemsSinceDays\":0},\"itemsCatalogId\":\"string\",\"slots\":[{\"name\":\"string\",\"itemMin\":0,\"itemMax\":0,\"filterRules\":{\"filters\":\"string\",\"elasticFilters\":\"string\"},\"distinctFilter\":{\"elastic\":true,\"filters\":[{\"field\":\"string\",\"maxNumItems\":0,\"levelRangeModifier\":0}]},\"attribute\":{\"name\":\"string\",\"levelRangeModifier\":0},\"numRows\":0,\"numItems\":0}],\"keepSlotsOrder\":true,\"personalizeSlotsOrder\":false,\"boostingStrategies\":[{\"name\":\"string\",\"condition\":\"string\",\"strength\":1}],\"itemsSource\":{\"type\":\"aggregate\",\"id\":\"string\"}}")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: Recommendations
components:
  securitySchemes:
    TrackerKey:
      type: apiKey
      name: token
      in: query
      description: Authorization by tracker key sent as a query parameter. This is the same key as used in the website tracking code.
    JWT:
      type: http
      scheme: bearer
      description: |-
        JWT Bearer token. The header looks like this: `Bearer {JWT}`

        Remember to include the space between 'Bearer' and the token.

        Generate a token via the **Authorization** endpoints.
```
