# Get all recommendation campaigns

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

## 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:
    get:
      summary: Get all recommendation campaigns
      description: |
        Fetch all recommendation campaigns.

        ---

        **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_MANY_CAMPAIGN_READ`

        **User role permission required:** `campaigns_recommendations: read`
      operationId: GetRecommendationCampaignsV2
      tags:
        - Recommendation campaigns
      security:
        - JWT: []
      parameters:
        - name: page
          in: query
          required: false
          description: Page number
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: limit
          in: query
          required: false
          description: Maximum number of campaigns on a page
          schema:
            type: integer
            default: 50
        - name: sortBy
          in: query
          required: false
          description: Name of the field by which data will be sorted
          schema:
            type: string
            default: createdAt
            enum:
              - createdAt
              - updatedAt
              - startDate
              - endDate
              - state
              - type
        - name: ordering
          in: query
          required: false
          description: Sorting order
          schema:
            type: string
            default: desc
            enum:
              - asc
              - desc
        - name: includeMeta
          in: query
          required: false
          description: |
            If true, a `meta` JSON block with pagination data is included in the response body.
            If false, the pagination data is included in the response headers.
          schema:
            type: boolean
            default: false
        - name: type
          in: query
          required: false
          description: Filters the results by campaign type.
          schema:
            type: string
        - name: state
          in: query
          required: false
          description: Shows only results with states matching this parameter. When this parameter is omitted, all campaigns are returned regardless of state.
          schema:
            type: array
            items:
              type: string
              enum:
                - draft
                - active
                - paused
        - name: search
          in: query
          required: false
          description: Searches campaigns by the specified phrase in their `id` and `title`.
          schema:
            type: string
      responses:
        "200":
          description: Returns paginated campaigns. If `showMeta` was set to `true`, the metadata is included in the JSON response. If it was set to `false`, the metadata is included in the headers.
          headers:
            Link:
              description: Links to neighboring pages, first page, and last page in pagination
              schema:
                type: string
            X-Pagination-Total-Count:
              description: Total number of campaigns
              schema:
                type: integer
            X-Pagination-Total-Pages:
              description: Total number of pages
              schema:
                type: integer
            X-Pagination-Page:
              description: The current page
              schema:
                type: integer
            X-Pagination-Limit:
              description: Maximal number of items on a page
              schema:
                type: integer
            X-Pagination-Sorted-By:
              description: The column (attribute) that the campaigns were sorted by
              schema:
                type: string
            X-Pagination-Ordering:
              description: Sorting order
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    description: Pagination metadata
                    properties:
                      totalPages:
                        type: number
                        description: The total number of pages
                      totalCount:
                        type: number
                        description: The total number of campaigns
                      page:
                        type: number
                        description: The current page
                      limit:
                        type: number
                        description: The maximal number of items on a page
                      sortedBy:
                        type: string
                        description: The column (attribute) that the campaigns were sorted by
                      ordering:
                        type: string
                        description: Sorting order
                      code:
                        type: number
                        description: HTTP response code
                      link:
                        type: array
                        description: Links to neighboring pages, first page, and last page in pagination
                        items:
                          type: object
                          properties:
                            url:
                              description: Page URL
                              type: string
                            rel:
                              type: string
                              description: Position of the linked page
                              enum:
                                - first
                                - next
                                - prev
                                - last
                  data:
                    type: array
                    description: Campaign details
                    items:
                      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"
                  extras:
                    type: object
                    properties:
                      states:
                        type: object
                        description: Number of campaigns in particular state after applying filters
                        properties:
                          active:
                            type: number
                          draft:
                            type: number
                          paused:
                            type: number
        "404":
          description: Could not find campaigns
          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/GetRecommendationCampaignsV2
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.synerise.com/recommendations/v2/campaigns?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=SOME_STRING_VALUE&ordering=SOME_STRING_VALUE&includeMeta=SOME_BOOLEAN_VALUE&type=SOME_STRING_VALUE&state=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE' \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
        - lang: Python
          label: Python
          source: |-
            import http.client

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

            headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }

            conn.request("GET", "/recommendations/v2/campaigns?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=SOME_STRING_VALUE&ordering=SOME_STRING_VALUE&includeMeta=SOME_BOOLEAN_VALUE&type=SOME_STRING_VALUE&state=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE", headers=headers)

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

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = null;

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

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

            xhr.open("GET", "https://api.synerise.com/recommendations/v2/campaigns?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=SOME_STRING_VALUE&ordering=SOME_STRING_VALUE&includeMeta=SOME_BOOLEAN_VALUE&type=SOME_STRING_VALUE&state=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE");
            xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");

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

            const options = {
              "method": "GET",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/recommendations/v2/campaigns?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=SOME_STRING_VALUE&ordering=SOME_STRING_VALUE&includeMeta=SOME_BOOLEAN_VALUE&type=SOME_STRING_VALUE&state=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE",
              "headers": {
                "Authorization": "Bearer REPLACE_BEARER_TOKEN"
              }
            };

            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.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

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

            $request->setQueryData([
              'page' => 'SOME_INTEGER_VALUE',
              'limit' => 'SOME_INTEGER_VALUE',
              'sortBy' => 'SOME_STRING_VALUE',
              'ordering' => 'SOME_STRING_VALUE',
              'includeMeta' => 'SOME_BOOLEAN_VALUE',
              'type' => 'SOME_STRING_VALUE',
              'state' => 'SOME_ARRAY_VALUE',
              'search' => 'SOME_STRING_VALUE'
            ]);

            $request->setHeaders([
              'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'
            ]);

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

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.get("https://api.synerise.com/recommendations/v2/campaigns?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=SOME_STRING_VALUE&ordering=SOME_STRING_VALUE&includeMeta=SOME_BOOLEAN_VALUE&type=SOME_STRING_VALUE&state=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE")
              .header("Authorization", "Bearer REPLACE_BEARER_TOKEN")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: 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.
```
