# Update a recommendation campaign

- Operation ID: `UpdateRecommendationCampaignV2`
- HTTP method: `POST`
- Path: `/recommendations/v2/campaigns/{campaignId}`
- [Human-readable API reference](https://hub.synerise.com/api-reference/ai-recommendations#tag/Recommendation-campaigns/operation/UpdateRecommendationCampaignV2)

## 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/campaigns/{campaignId}:
    post:
      summary: Update a recommendation campaign
      description: |
        Update a recommendation campaign by changing the parameters or copying the definition from another campaign.

        When you copy from another campaign:
        - the following campaign data is NOT updated:
          - `title`
          - `state`
          - `start_date`
          - `end_date`
          - `campaignId`
          - `createdAt`
        - `modified_by_user_id` changes to the user who performed the update


        ---

        **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:** `RECOMMENDATIONS_V2_CAMPAIGN_UPDATE`

        **User role permission required:** `campaigns_recommendations: update`
      operationId: UpdateRecommendationCampaignV2
      tags:
        - Recommendation campaigns
      security:
        - JWT: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: Campaign definition
                  oneOf:
                    - title: Similar
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - similar
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: Cross-sell
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - cross-sell
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: Last viewed
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - last-viewed
                            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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: Visually similar
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - visually-similar
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: Comparison
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - item-comparison
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - 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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: Next interaction
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - next-interaction
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                    - title: External items
                      allOf:
                        - type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              description: Campaign type
                              enum:
                                - external-items
                            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:
                                    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:
                            campaignId:
                              type: string
                              description: Campaign ID
                            title:
                              type: string
                              description: Campaign title
                            slug:
                              type: string
                              description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                            description:
                              type: string
                              description: Campaign description
                            startDate:
                              type: string
                              description: Start date for the campaign
                            endDate:
                              type: string
                              description: End date for the campaign
                            createdAt:
                              type: string
                              description: Date when the campaign was created
                            updatedAt:
                              type: string
                              description: Date when the campaign was last updated
                            state:
                              type: string
                              description: Campaign status
                              enum:
                                - draft
                                - active
                                - paused
                                - deleted
                            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.
                            additionalResponseAttributes:
                              type: array
                              description: An array of addtional response attributes.
                              items:
                                type: string
                            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.
                                  useDefaultDistinctFilters:
                                    type: boolean
                                    description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                  useDefaultItemFilters:
                                    type: boolean
                                    description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                                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.
                            abTest:
                              type: object
                              description: Information whether campaign is part of an a/b test
                              properties:
                                experimentId:
                                  type: integer
                                  description: Experiment ID
                                variantId:
                                  type: integer
                                  description: Variant ID
                                status:
                                  type: string
                                  enum:
                                    - NotStarted
                                    - Running
                                    - Paused
                                    - Finished
                                  description: Status
                                isBaseline:
                                  type: boolean
                                  description: Information whether campaign is a baseline.
                            crossWorkspaceMode:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Specifies if campaign should support multibrand cross workspace segmentation.
                          required:
                            - title
                            - type
                            - startDate
                            - state
                            - itemsCatalogId
                  discriminator:
                    propertyName: type
                    mapping:
                      similar: "#/components/schemas/recommendation-campaigns-SimilarRecommendationCampaignsDefinitionV2"
                      metrics: "#/components/schemas/recommendation-campaigns-MetricsRecommendationCampaignsDefinitionV2"
                      cross-sell: "#/components/schemas/recommendation-campaigns-CrossSellRecommendationCampaignsDefinitionV2"
                      set-complement: "#/components/schemas/recommendation-campaigns-SetComplementRecommendationCampaignsDefinitionV2"
                      last-viewed: "#/components/schemas/recommendation-campaigns-LastViewedRecommendationCampaignsDefinitionV2"
                      personalized: "#/components/schemas/recommendation-campaigns-PersonalizedRecommendationCampaignsDefinitionV2"
                      visually-similar: "#/components/schemas/recommendation-campaigns-VisuallySimilarRecommendationCampaignsDefinitionV2"
                      item-comparison: "#/components/schemas/recommendation-campaigns-ItemComparisonRecommendationCampaignsDefinitionV2"
                      recent-interactions: "#/components/schemas/recommendation-campaigns-RecentInteractionsRecommendationCampaignsDefinitionV2"
                      section: "#/components/schemas/recommendation-campaigns-SectionRecommendationCampaignsDefinitionV2"
                      attribute: "#/components/schemas/recommendation-campaigns-AttributeRecommendationCampaignsDefinitionV2"
                      next-interaction: "#/components/schemas/recommendation-campaigns-NextInteractionRecommendationCampaignsDefinitionV2"
                      external-items: "#/components/schemas/recommendation-campaigns-ExternalItemsRecommendationCampaignsDefinitionV2"
                - title: Copy from another campaign
                  type: object
                  properties:
                    copyConfigurationFrom:
                      type: string
                      description: |
                        Source campaign ID.

                        When you copy from another campaign:
                        - the following campaign data is NOT updated:
                          - `title`
                          - `state`
                          - `start_date`
                          - `end_date`
                          - `campaignId`
                          - `createdAt`
                        - `modified_by_user_id` changes to the user who performed the update
                  required:
                    - copyConfigurationFrom
        description: Definition of the updated campaign.
        required: true
      responses:
        "200":
          description: Campaign updated and returned
          content:
            application/json:
              schema:
                title: Campaign definition
                oneOf:
                  - title: Similar
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - similar
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: Cross-sell
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - cross-sell
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: Last viewed
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - last-viewed
                          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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: Visually similar
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - visually-similar
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: Comparison
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - item-comparison
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - 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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: Next interaction
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - next-interaction
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                  - title: External items
                    allOf:
                      - type: object
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: Campaign type
                            enum:
                              - external-items
                          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:
                                  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:
                          campaignId:
                            type: string
                            description: Campaign ID
                          title:
                            type: string
                            description: Campaign title
                          slug:
                            type: string
                            description: Unique identifier of the campaign. Can be used for fetching campaigns instead of the ID. Create meaningful, human-readable slugs for easier work with recommendation campaigns.
                          description:
                            type: string
                            description: Campaign description
                          startDate:
                            type: string
                            description: Start date for the campaign
                          endDate:
                            type: string
                            description: End date for the campaign
                          createdAt:
                            type: string
                            description: Date when the campaign was created
                          updatedAt:
                            type: string
                            description: Date when the campaign was last updated
                          state:
                            type: string
                            description: Campaign status
                            enum:
                              - draft
                              - active
                              - paused
                              - deleted
                          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.
                          additionalResponseAttributes:
                            type: array
                            description: An array of addtional response attributes.
                            items:
                              type: string
                          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.
                                useDefaultDistinctFilters:
                                  type: boolean
                                  description: Specify if slot should override distinctFilter and use defaultDistinctFiltersConfiguration specified for the feed instead.
                                useDefaultItemFilters:
                                  type: boolean
                                  description: Specify if slot should override item filters and use defaultItemFilters specified for the feed instead.
                              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.
                          abTest:
                            type: object
                            description: Information whether campaign is part of an a/b test
                            properties:
                              experimentId:
                                type: integer
                                description: Experiment ID
                              variantId:
                                type: integer
                                description: Variant ID
                              status:
                                type: string
                                enum:
                                  - NotStarted
                                  - Running
                                  - Paused
                                  - Finished
                                description: Status
                              isBaseline:
                                type: boolean
                                description: Information whether campaign is a baseline.
                          crossWorkspaceMode:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Specifies if campaign should support multibrand cross workspace segmentation.
                        required:
                          - title
                          - type
                          - startDate
                          - state
                          - itemsCatalogId
                discriminator:
                  propertyName: type
                  mapping:
                    similar: "#/components/schemas/recommendation-campaigns-SimilarRecommendationCampaignsDefinitionV2"
                    metrics: "#/components/schemas/recommendation-campaigns-MetricsRecommendationCampaignsDefinitionV2"
                    cross-sell: "#/components/schemas/recommendation-campaigns-CrossSellRecommendationCampaignsDefinitionV2"
                    set-complement: "#/components/schemas/recommendation-campaigns-SetComplementRecommendationCampaignsDefinitionV2"
                    last-viewed: "#/components/schemas/recommendation-campaigns-LastViewedRecommendationCampaignsDefinitionV2"
                    personalized: "#/components/schemas/recommendation-campaigns-PersonalizedRecommendationCampaignsDefinitionV2"
                    visually-similar: "#/components/schemas/recommendation-campaigns-VisuallySimilarRecommendationCampaignsDefinitionV2"
                    item-comparison: "#/components/schemas/recommendation-campaigns-ItemComparisonRecommendationCampaignsDefinitionV2"
                    recent-interactions: "#/components/schemas/recommendation-campaigns-RecentInteractionsRecommendationCampaignsDefinitionV2"
                    section: "#/components/schemas/recommendation-campaigns-SectionRecommendationCampaignsDefinitionV2"
                    attribute: "#/components/schemas/recommendation-campaigns-AttributeRecommendationCampaignsDefinitionV2"
                    next-interaction: "#/components/schemas/recommendation-campaigns-NextInteractionRecommendationCampaignsDefinitionV2"
                    external-items: "#/components/schemas/recommendation-campaigns-ExternalItemsRecommendationCampaignsDefinitionV2"
        "404":
          description: Could not find campaign
          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/Recommendation-campaigns/operation/UpdateRecommendationCampaignV2
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.synerise.com/recommendations/v2/campaigns/%7BcampaignId%7D \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
              --header 'content-type: application/json' \
              --data '{"type":"similar","parameters":{"additionalResponseAttributes":["string"],"boostMetric":"string","sortMetric":"string","boostMetricStrength":-100,"shuffleNumItems":0},"campaignId":"string","title":"string","slug":"string","description":"string","startDate":"string","endDate":"string","createdAt":"string","updatedAt":"string","state":"draft","filterRules":{"excludePurchasedItems":true,"excludePurchasedItemsSinceDays":0,"elasticExcludePurchasedItems":true,"elasticExcludePurchasedItemsSinceDays":0},"itemsCatalogId":"string","additionalResponseAttributes":["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,"useDefaultDistinctFilters":true,"useDefaultItemFilters":true}],"keepSlotsOrder":true,"personalizeSlotsOrder":false,"boostingStrategies":[{"name":"string","condition":"string","strength":1}],"itemsSource":{"type":"aggregate","id":"string"},"abTest":{"experimentId":0,"variantId":0,"status":"NotStarted","isBaseline":true},"crossWorkspaceMode":{"enabled":true}}'
        - lang: Python
          label: Python
          source: |-
            import http.client

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

            payload = "{\"type\":\"similar\",\"parameters\":{\"additionalResponseAttributes\":[\"string\"],\"boostMetric\":\"string\",\"sortMetric\":\"string\",\"boostMetricStrength\":-100,\"shuffleNumItems\":0},\"campaignId\":\"string\",\"title\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"startDate\":\"string\",\"endDate\":\"string\",\"createdAt\":\"string\",\"updatedAt\":\"string\",\"state\":\"draft\",\"filterRules\":{\"excludePurchasedItems\":true,\"excludePurchasedItemsSinceDays\":0,\"elasticExcludePurchasedItems\":true,\"elasticExcludePurchasedItemsSinceDays\":0},\"itemsCatalogId\":\"string\",\"additionalResponseAttributes\":[\"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,\"useDefaultDistinctFilters\":true,\"useDefaultItemFilters\":true}],\"keepSlotsOrder\":true,\"personalizeSlotsOrder\":false,\"boostingStrategies\":[{\"name\":\"string\",\"condition\":\"string\",\"strength\":1}],\"itemsSource\":{\"type\":\"aggregate\",\"id\":\"string\"},\"abTest\":{\"experimentId\":0,\"variantId\":0,\"status\":\"NotStarted\",\"isBaseline\":true},\"crossWorkspaceMode\":{\"enabled\":true}}"

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

            conn.request("POST", "/recommendations/v2/campaigns/%7BcampaignId%7D", payload, headers)

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

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = JSON.stringify({
              "type": "similar",
              "parameters": {
                "additionalResponseAttributes": [
                  "string"
                ],
                "boostMetric": "string",
                "sortMetric": "string",
                "boostMetricStrength": -100,
                "shuffleNumItems": 0
              },
              "campaignId": "string",
              "title": "string",
              "slug": "string",
              "description": "string",
              "startDate": "string",
              "endDate": "string",
              "createdAt": "string",
              "updatedAt": "string",
              "state": "draft",
              "filterRules": {
                "excludePurchasedItems": true,
                "excludePurchasedItemsSinceDays": 0,
                "elasticExcludePurchasedItems": true,
                "elasticExcludePurchasedItemsSinceDays": 0
              },
              "itemsCatalogId": "string",
              "additionalResponseAttributes": [
                "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,
                  "useDefaultDistinctFilters": true,
                  "useDefaultItemFilters": true
                }
              ],
              "keepSlotsOrder": true,
              "personalizeSlotsOrder": false,
              "boostingStrategies": [
                {
                  "name": "string",
                  "condition": "string",
                  "strength": 1
                }
              ],
              "itemsSource": {
                "type": "aggregate",
                "id": "string"
              },
              "abTest": {
                "experimentId": 0,
                "variantId": 0,
                "status": "NotStarted",
                "isBaseline": true
              },
              "crossWorkspaceMode": {
                "enabled": true
              }
            });

            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/campaigns/%7BcampaignId%7D");
            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/campaigns/%7BcampaignId%7D",
              "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({
              type: 'similar',
              parameters: {
                additionalResponseAttributes: ['string'],
                boostMetric: 'string',
                sortMetric: 'string',
                boostMetricStrength: -100,
                shuffleNumItems: 0
              },
              campaignId: 'string',
              title: 'string',
              slug: 'string',
              description: 'string',
              startDate: 'string',
              endDate: 'string',
              createdAt: 'string',
              updatedAt: 'string',
              state: 'draft',
              filterRules: {
                excludePurchasedItems: true,
                excludePurchasedItemsSinceDays: 0,
                elasticExcludePurchasedItems: true,
                elasticExcludePurchasedItemsSinceDays: 0
              },
              itemsCatalogId: 'string',
              additionalResponseAttributes: ['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,
                  useDefaultDistinctFilters: true,
                  useDefaultItemFilters: true
                }
              ],
              keepSlotsOrder: true,
              personalizeSlotsOrder: false,
              boostingStrategies: [{name: 'string', condition: 'string', strength: 1}],
              itemsSource: {type: 'aggregate', id: 'string'},
              abTest: {experimentId: 0, variantId: 0, status: 'NotStarted', isBaseline: true},
              crossWorkspaceMode: {enabled: true}
            }));
            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

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

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

            $request->setBody('{"type":"similar","parameters":{"additionalResponseAttributes":["string"],"boostMetric":"string","sortMetric":"string","boostMetricStrength":-100,"shuffleNumItems":0},"campaignId":"string","title":"string","slug":"string","description":"string","startDate":"string","endDate":"string","createdAt":"string","updatedAt":"string","state":"draft","filterRules":{"excludePurchasedItems":true,"excludePurchasedItemsSinceDays":0,"elasticExcludePurchasedItems":true,"elasticExcludePurchasedItemsSinceDays":0},"itemsCatalogId":"string","additionalResponseAttributes":["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,"useDefaultDistinctFilters":true,"useDefaultItemFilters":true}],"keepSlotsOrder":true,"personalizeSlotsOrder":false,"boostingStrategies":[{"name":"string","condition":"string","strength":1}],"itemsSource":{"type":"aggregate","id":"string"},"abTest":{"experimentId":0,"variantId":0,"status":"NotStarted","isBaseline":true},"crossWorkspaceMode":{"enabled":true}}');

            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/campaigns/%7BcampaignId%7D")
              .header("Authorization", "Bearer REPLACE_BEARER_TOKEN")
              .header("content-type", "application/json")
              .body("{\"type\":\"similar\",\"parameters\":{\"additionalResponseAttributes\":[\"string\"],\"boostMetric\":\"string\",\"sortMetric\":\"string\",\"boostMetricStrength\":-100,\"shuffleNumItems\":0},\"campaignId\":\"string\",\"title\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"startDate\":\"string\",\"endDate\":\"string\",\"createdAt\":\"string\",\"updatedAt\":\"string\",\"state\":\"draft\",\"filterRules\":{\"excludePurchasedItems\":true,\"excludePurchasedItemsSinceDays\":0,\"elasticExcludePurchasedItems\":true,\"elasticExcludePurchasedItemsSinceDays\":0},\"itemsCatalogId\":\"string\",\"additionalResponseAttributes\":[\"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,\"useDefaultDistinctFilters\":true,\"useDefaultItemFilters\":true}],\"keepSlotsOrder\":true,\"personalizeSlotsOrder\":false,\"boostingStrategies\":[{\"name\":\"string\",\"condition\":\"string\",\"strength\":1}],\"itemsSource\":{\"type\":\"aggregate\",\"id\":\"string\"},\"abTest\":{\"experimentId\":0,\"variantId\":0,\"status\":\"NotStarted\",\"isBaseline\":true},\"crossWorkspaceMode\":{\"enabled\":true}}")
              .asString();
      parameters:
        - name: campaignId
          in: path
          description: ID of the campaign
          required: true
          schema:
            type: string
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: Recommendation campaigns
components:
  securitySchemes:
    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.
```
