Constructor.io Searchandising campaigns API

The Searchandising campaigns API from Constructor.io — 2 operation(s) for searchandising campaigns.

Operations 5

GET /v1/campaigns Retrieve campaigns #
POST /v1/campaigns Create campaign #
GET /v1/campaigns/{campaign_id} Retrieve campaign #
PATCH /v1/campaigns/{campaign_id} Update campaign #
DELETE /v1/campaigns/{campaign_id} Delete campaign #

Documentation

📖
APIReference
https://docs.constructor.com/reference/search-search-results
📖
APIReference
https://docs.constructor.com/reference/autocomplete-autocomplete-results
📖
APIReference
https://docs.constructor.com/reference/browse-browse-results
📖
APIReference
https://docs.constructor.com/reference/recommendations-recommendation-results
📖
APIReference
https://docs.constructor.com/reference/image-search-image-search-results
📖
APIReference
https://docs.constructor.com/reference/v1-asa-retrieve-intent
📖
APIReference
https://docs.constructor.com/reference/catalog-management-introduction
📖
APIReference
https://docs.constructor.com/reference/v2-batching-items-update-items
📖
APIReference
https://docs.constructor.com/reference/configuration-facets
📖
APIReference
https://docs.constructor.com/reference/searchandising-searchandising-for-search
📖
APIReference
https://docs.constructor.com/reference/v1-quizzes-get-next-question
📖
APIReference
https://docs.constructor.com/reference/offsite-discovery-recommendations-offsite-discovery-results
📖
APIReference
https://docs.constructor.com/reference/v1-engagements-update
📖
APIReference
https://docs.constructor.com/reference/v2-display-ads-retrieve-display-ads
📖
APIReference
https://docs.constructor.com/reference/v1-product-details-get-items
📖
APIReference
https://docs.constructor.com/reference/v1-offline-behavioral-actions-create-actions
📖
APIReference
https://docs.constructor.com/reference/v1-user-profile-create-preferences

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/constructorio-searchandising-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

constructorio-searchandising-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@constructor.io
  title: Searchandising campaigns API
  version: '0.1'
servers:
- url: https://ac.cnstrc.com
security: []
tags:
- name: Searchandising campaigns
paths:
  /v1/campaigns:
    get:
      tags:
      - Searchandising campaigns
      operationId: v1-searchandising-retrieve-campaigns
      summary: Retrieve campaigns
      description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**

        For authenticating with Bearer token, required scopes are: `searchandising.campaigns(r)`, `searchandising.recommendations(r)`.


        Retrieve campaigns.'
      parameters:
      - name: key
        in: query
        schema:
          title: Key
          description: The key of the index to use.
          maxLength: 100
          minLength: 1
          examples:
          - key_K2pX7vBnU0bgA5xp
          type: string
        required: true
      - name: section
        in: query
        schema:
          title: Section
          description: The section of the index to use. Defaults to `Products`.
          maxLength: 100
          minLength: 1
          examples:
          - Products
          - Search Suggestions
          type: string
        required: false
      - name: id
        in: query
        schema:
          title: Id
          description: The ID(s) of campaigns to filter by.
          examples:
          - 123
          - 456
          anyOf:
          - type: integer
          - type: array
            items:
              type: integer
        required: false
      - name: refined_filters
        in: query
        schema:
          title: Refined Filters
          description: A list of refined filters.
          type: object
          additionalProperties:
            anyOf:
            - type: string
            - type: array
              items:
                type: string
              minItems: 1
        required: false
        style: deepObject
        explode: true
      - name: num_results_per_page
        in: query
        schema:
          title: Num Results Per Page
          description: The number of results per page to return.
          default: 20
          minimum: 1
          maximum: 100
          examples:
          - 20
          - 50
          type: integer
        required: false
      - name: page
        in: query
        schema:
          title: Page
          description: The page of results to return.
          minimum: 1
          examples:
          - 1
          - 2
          type: integer
        required: false
      - name: offset
        in: query
        schema:
          title: Offset
          description: The number of results to skip from the beginning. Cannot be used together with `page`.
          minimum: 0
          examples:
          - 0
          - 100
          type: integer
        required: false
      - name: c
        in: query
        schema:
          title: C
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          maxLength: 100
          minLength: 1
          examples:
          - cio-js-2.90
          - cio-ios-1.0
          type: string
        required: false
      - name: refined_recommendation_contexts
        in: query
        schema:
          title: Refined Recommendation Contexts
          description: A filter for refined recommendation contexts.
          allOf:
          - $ref: '#/components/schemas/RefinedRecommendationContext'
        required: false
        style: deepObject
        explode: true
      - name: refined_queries
        in: query
        schema:
          title: Refined Queries
          description: A list of refined queries.
          minItems: 1
          type: array
          items:
            type: string
            minLength: 1
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignListGetResponse'
        '400':
          description: Validation Error
        '401':
          description: Credentials are not passed or action is forbidden.
        '403':
          description: The supplied token does not have the required permissions.
        '429':
          description: Rate limit breached
      security:
      - http_basic_auth: []
      - http_bearer_auth:
        - searchandising.campaigns(r)
        - searchandising.recommendations(r)
    post:
      tags:
      - Searchandising campaigns
      operationId: v1-searchandising-create-campaign
      summary: Create campaign
      description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**

        For authenticating with Bearer token, required scopes are: `searchandising.campaigns(w)`, `searchandising.recommendations(w)`.


        Create a campaign.'
      parameters:
      - name: key
        in: query
        schema:
          title: Key
          description: The key of the index to use.
          maxLength: 100
          minLength: 1
          examples:
          - key_K2pX7vBnU0bgA5xp
          type: string
        required: true
      - name: section
        in: query
        schema:
          title: Section
          description: The section of the index to use. Defaults to `Products`.
          maxLength: 100
          minLength: 1
          examples:
          - Products
          - Search Suggestions
          type: string
        required: false
      - name: c
        in: query
        schema:
          title: C
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          maxLength: 100
          minLength: 1
          examples:
          - cio-js-2.90
          - cio-ios-1.0
          type: string
        required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignListPostBody'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignListPostResponse'
        '400':
          description: Validation Error
        '401':
          description: Credentials are not passed or action is forbidden.
        '403':
          description: The supplied token does not have the required permissions.
        '409':
          description: Conflict
        '429':
          description: Rate limit breached
      security:
      - http_basic_auth: []
      - http_bearer_auth:
        - searchandising.campaigns(w)
        - searchandising.recommendations(w)
  /v1/campaigns/{campaign_id}:
    get:
      tags:
      - Searchandising campaigns
      operationId: v1-searchandising-retrieve-campaign
      summary: Retrieve campaign
      description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**

        For authenticating with Bearer token, required scopes are: `searchandising.campaigns(r)`, `searchandising.recommendations(r)`.


        Retrieve a campaign by id.'
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: key
        in: query
        schema:
          title: Key
          description: The key of the index to use.
          maxLength: 100
          minLength: 1
          examples:
          - key_K2pX7vBnU0bgA5xp
          type: string
        required: true
      - name: section
        in: query
        schema:
          title: Section
          description: The section of the index to use. Defaults to `Products`.
          maxLength: 100
          minLength: 1
          examples:
          - Products
          - Search Suggestions
          type: string
        required: false
      - name: c
        in: query
        schema:
          title: C
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          maxLength: 100
          minLength: 1
          examples:
          - cio-js-2.90
          - cio-ios-1.0
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignGetResponse'
        '400':
          description: Validation Error
        '401':
          description: Credentials are not passed or action is forbidden.
        '403':
          description: The supplied token does not have the required permissions.
        '404':
          description: Not Found
        '429':
          description: Rate limit breached
      security:
      - http_basic_auth: []
      - http_bearer_auth:
        - searchandising.campaigns(r)
        - searchandising.recommendations(r)
    patch:
      tags:
      - Searchandising campaigns
      operationId: v1-searchandising-update-campaign
      summary: Update campaign
      description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**

        For authenticating with Bearer token, required scopes are: `searchandising.campaigns(w)`, `searchandising.recommendations(w)`.


        Update a campaign. It will update only the fields that are present in the request.'
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: key
        in: query
        schema:
          title: Key
          description: The key of the index to use.
          maxLength: 100
          minLength: 1
          examples:
          - key_K2pX7vBnU0bgA5xp
          type: string
        required: true
      - name: section
        in: query
        schema:
          title: Section
          description: The section of the index to use. Defaults to `Products`.
          maxLength: 100
          minLength: 1
          examples:
          - Products
          - Search Suggestions
          type: string
        required: false
      - name: c
        in: query
        schema:
          title: C
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          maxLength: 100
          minLength: 1
          examples:
          - cio-js-2.90
          - cio-ios-1.0
          type: string
        required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignPatchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPatchResponse'
        '400':
          description: Validation Error
        '401':
          description: Credentials are not passed or action is forbidden.
        '403':
          description: The supplied token does not have the required permissions.
        '404':
          description: Not Found
        '429':
          description: Rate limit breached
      security:
      - http_basic_auth: []
      - http_bearer_auth:
        - searchandising.campaigns(w)
        - searchandising.recommendations(w)
    delete:
      tags:
      - Searchandising campaigns
      operationId: v1-searchandising-delete-campaign
      summary: Delete campaign
      description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**

        For authenticating with Bearer token, required scopes are: `searchandising.campaigns(w)`, `searchandising.recommendations(w)`.


        Delete a campaign by id.'
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: key
        in: query
        schema:
          title: Key
          description: The key of the index to use.
          maxLength: 100
          minLength: 1
          examples:
          - key_K2pX7vBnU0bgA5xp
          type: string
        required: true
      - name: section
        in: query
        schema:
          title: Section
          description: The section of the index to use. Defaults to `Products`.
          maxLength: 100
          minLength: 1
          examples:
          - Products
          - Search Suggestions
          type: string
        required: false
      - name: c
        in: query
        schema:
          title: C
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          maxLength: 100
          minLength: 1
          examples:
          - cio-js-2.90
          - cio-ios-1.0
          type: string
        required: false
      responses:
        '204':
          description: No Content
        '400':
          description: Validation Error
        '401':
          description: Credentials are not passed or action is forbidden.
        '403':
          description: The supplied token does not have the required permissions.
        '404':
          description: Not Found
        '429':
          description: Rate limit breached
      security:
      - http_basic_auth: []
      - http_bearer_auth:
        - searchandising.campaigns(w)
        - searchandising.recommendations(w)
components:
  schemas:
    RefinedQuery:
      title: RefinedQuery
      type: object
      properties:
        query:
          title: Query
          description: A refined query string
          examples:
          - shoes
          - running sneakers
          minLength: 1
          maxLength: 100
          type: string
      required:
      - query
      additionalProperties: false
    CampaignPatchResponse:
      title: CampaignPatchResponse
      type: object
      properties:
        request_tag_name:
          description: Request tag name to be used to activate this entity for, used only with `request_tag_value`.
          examples:
          - user_segment
          - geo_country
          allOf:
          - $ref: '#/components/schemas/RequestTags'
        request_tag_value:
          title: Request Tag Value
          description: Request tag value to be used to activate this entity for, used only with request_tag_name.
          maxLength: 100
          minLength: 1
          examples:
          - premium
          - US
          type: string
        start_time:
          title: Start Time
          description: The start time of the campaign.
          examples:
          - '2024-03-01T00:00:00'
          - '2024-06-15T12:00:00'
          type: string
          format: date-time
        end_time:
          title: End Time
          description: The end time of the campaign.
          examples:
          - '2024-03-31T23:59:59'
          - '2024-07-15T12:00:00'
          type: string
          format: date-time
        name:
          title: Name
          description: The name of the campaign.
          examples:
          - Spring Sale
          - Black Friday
          type: string
        description:
          title: Description
          description: The description of the campaign.
          examples:
          - Seasonal promotion campaign
          - Holiday sale event
          type: string
        refined_queries:
          title: Sorted Refined Queries
          description: A list of refined queries.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RefinedQuery'
        refined_filters:
          title: Filters
          description: A list of refined filters.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RefinedFilter'
        refined_recommendation_contexts:
          title: Refined Recommendation Context Dicts
          description: A list of refined recommendation contexts.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RecommendationContext'
        boost_rules:
          title: Boost Rules
          description: A list of boost rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/BoostRuleResponse'
        blacklist_rules:
          title: Blacklist Rules
          description: A list of blacklist rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/BlacklistRuleResponse'
        slot_rules:
          title: Slot Rules
          description: A list of slot rules.
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/SlotRuleResponse'
        content_rules:
          title: Content Rules
          description: A list of content rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/ContentRuleResponse'
        filters_slot_rules:
          title: Filters Slot Rules
          description: A list of filters slot rules.
          maxItems: 5
          type: array
          items:
            $ref: '#/components/schemas/FiltersSlotRuleResponse'
        face_out_variation_rules:
          title: Face Out Variation Rules
          description: A list of face out variation rules.
          type: array
          items:
            $ref: '#/components/schemas/FaceOutVariationRuleResponse'
        whitelist_rule:
          title: Whitelist Rule
          description: A whitelist rule.
          allOf:
          - $ref: '#/components/schemas/WhitelistRuleResponse'
        variation_slicing_rule:
          title: Variation Slicing Rule
          description: A variation slicing rule.
          allOf:
          - $ref: '#/components/schemas/VariationSlicingRuleResponse'
        metadata_json:
          title: Metadata Json
          description: Metadata related to the campaign.
          allOf:
          - $ref: '#/components/schemas/CampaignMetadata'
        id:
          title: Id
          description: The ID of the campaign.
          type: integer
        created_at:
          title: Created At
          description: The creation time of the campaign.
          type: string
          format: date-time
        updated_at:
          title: Updated At
          description: The last updated time of the campaign.
          type: string
          format: date-time
      required:
      - id
      - created_at
      - updated_at
      additionalProperties: false
    CampaignPatchBody:
      title: CampaignPatchBody
      type: object
      properties:
        request_tag_name:
          description: Request tag name to be used to activate this entity for, used only with `request_tag_value`.
          examples:
          - user_segment
          - geo_country
          allOf:
          - $ref: '#/components/schemas/RequestTags'
        request_tag_value:
          title: Request Tag Value
          description: Request tag value to be used to activate this entity for, used only with request_tag_name.
          maxLength: 100
          minLength: 1
          examples:
          - premium
          - US
          type: string
        start_time:
          title: Start Time
          description: The start time of the campaign.
          examples:
          - '2024-03-01T00:00:00'
          - '2024-06-15T12:00:00'
          type: string
          format: date-time
        end_time:
          title: End Time
          description: The end time of the campaign.
          examples:
          - '2024-03-31T23:59:59'
          - '2024-07-15T12:00:00'
          type: string
          format: date-time
        name:
          title: Name
          description: The name of the campaign.
          examples:
          - Spring Sale
          - Black Friday
          type: string
        description:
          title: Description
          description: The description of the campaign.
          examples:
          - Seasonal promotion campaign
          - Holiday sale event
          type: string
        refined_queries:
          title: Refined Queries
          description: A list of refined queries.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RefinedQuery'
        refined_filters:
          title: Refined Filters
          description: A list of refined filters.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RefinedFilter'
        refined_recommendation_contexts:
          title: Refined Recommendation Contexts
          description: A list of refined recommendation contexts.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/RecommendationContext'
        boost_rules:
          title: Boost Rules
          description: A list of boost rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/BoostRuleBase'
        blacklist_rules:
          title: Blacklist Rules
          description: A list of blacklist rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/BlacklistRuleBase'
        slot_rules:
          title: Slot Rules
          description: A list of slot rules.
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/SlotRuleBase'
        content_rules:
          title: Content Rules
          description: A list of content rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/ContentRuleBase'
        filters_slot_rules:
          title: Filters Slot Rules
          description: A list of filters slot rules.
          maxItems: 5
          type: array
          items:
            $ref: '#/components/schemas/FiltersSlotRuleBase'
        face_out_variation_rules:
          title: Face Out Variation Rules
          description: A list of face out variation rules.
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/FaceOutVariationRuleBase'
        whitelist_rule:
          title: Whitelist Rule
          description: A whitelist rule.
          oneOf:
          - $ref: '#/components/schemas/WhitelistRuleBase'
          - type: 'null'
        variation_slicing_rule:
          title: Variation Slicing Rule
          description: A variation slicing rule.
          oneOf:
          - $ref: '#/components/schemas/VariationSlicingRuleBase'
          - type: 'null'
        metadata_json:
          title: Metadata Json
          description: Metadata related to the campaign.
          allOf:
          - $ref: '#/components/schemas/CampaignMetadata'
      additionalProperties: false
    PositionRange:
      title: PositionRange
      type: object
      properties:
        start:
          title: Start
          description: The start position of the slot.
          minimum: 1
          examples:
          - 1
          - 5
          type: integer
        end:
          title: End
          description: The end position of the slot.
          minimum: 1
          examples:
          - 3
          - 10
          type: integer
      required:
      - start
      - end
      additionalProperties: false
    RecommendationContextExpressionCondition:
      title: Expression Condition
      type: object
      properties:
        type:
          title: Type
          enum:
          - expression
          type: string
        expression:
          title: Expression
          description: Object where keys are filter names, values are lists of filter values.
          examples:
          - brand:
            - Nike
            - Adidas
            color:
            - red
            - blue
          type: object
          additionalProperties:
            type: array
            items:
              type: string
      required:
      - type
      - expression
      additionalProperties: false
    RecommendationContextItemCondition:
      title: Item Condition
      type: object
      properties:
        type:
          title: Type
          enum:
          - item
          type: string
        item_id:
          title: Item Id
          description: The ID of the item.
          examples:
          - nike-shoes
          - product-123
          type: string
      required:
      - type
      additionalProperties: false
    FaceOutVariationRuleResponse:
      title: FaceOutVariationRuleResponse
      type: object
      properties:
        id:
          title: Id
          description: The ID of the rule, must be unique.
          type: integer
        request_tag_name:
          description: Request tag name to be used to activate this entity for, used only with `request_tag_value`.
          examples:
          - user_segment
          - geo_country
          allOf:
          - $ref: '#/components/schemas/RequestTags'
        request_tag_value:
          title: Request Tag Value
          description: Request tag value to be used to activate this entity for, used only with request_tag_name.
          maxLength: 100
          minLength: 1
          examples:
          - premium
          - US
          type: string
        active:
          title: Active
          description: Indicates whether this rule is active or not.
          examples:
          - true
          - false
          type: boolean
        start_time:
          title: Start Time
          description: Date and time when the rule should be enabled.
          examples:
          - '2024-03-06T16:05:19'
          type: string
          format: date-time
        end_time:
          title: End Time
          description: Date and time when the rule should be disabled.
          examples:
          - '2024-03-06T17:05:19'
          type: string
          format: date-time
        campaign_id:
          title: Campaign Id
          examples:
          - 1
          - 42
          type: integer
        automatically_generated:
          title: Automatically Generated
          description: Boolean to indicate if this rule is automatically generated or not.
          examples:
          - false
          - true
          type: boolean
        rule:
          title: Rule
          description: Parameters of the face out variation rule.
          allOf:
          - $ref: '#/components/schemas/FaceOutVariationRuleParameters'
        rule_type:
          title: Rule Type
          enum:
          - face_out_variation
          type: string
        created_at:
          title: Created At
          description: Date & time in ISO 8601 format for the creation of this rule.
          type: string
          format: date-time
        updated_at:
          title: Updated At
          description: Date & time in ISO 8601 format for last update for this rule.
          type: string
          format: date-time
      required:
      - id
      - rule
      - rule_type
    ContentRuleResponse:
      title: ContentRuleResponse
      type: object
      properties:
        id:
          title: Id
          description: The ID of the rule, must be unique.
          type: integer
        request_tag_name:
          description: Request tag name to be used to activate this entity for, used only with `request_tag_value`.
          examples:
          - user_segment
          - geo_country
          allOf:
          - $ref: '#/components/schemas/RequestTags'
        request_tag_value:
          title: Request Tag Value
          description: Request tag value to be used to activate this entity for, used only with request_tag_name.
          maxLength: 100
          minLength: 1
          examples:
          - premium
          - US
          type: string
        active:
          title: Active
          description: Indicates whether this rule is active or not.
          examples:
          - true
          - false
          type: boolean
        start_time:
          title: Start Time
          description: Date and time when the rule should be enabled.
          examples:
          - '2024-03-06T16:05:19'
          type: string
          format: date-time
        end_time:
          title: End Time
          description: Date and time when the rule should be disabled.
          examples:
          - '2024-03-06T17:05:19'
          type: string
          format: date-time
        campaign_id:
          title: Campaign Id
          examples:
          - 1
          - 42
          type: integer
        automatically_generated:
          title: Automatically Generated
          description: Boolean to indicate if this rule is automatically generated or not.
          examples:
          - false
          - true
          type: boolean
        rule:
          title: Rule
          description: Parameters of the content rule.
          allOf:
          - $ref: '#/components/schemas/ContentRuleParameters'
        rule_type:
          title: Rule Type
          enum:
          - content
          type: string
        created_at:
          title: Created At
          description: Date & time in ISO 8601 format for the creation of this rule.
          type: string
          format: date-time
        updated_at:
          title: Updated At
          description: Date & time in ISO 8601 format for last update for this rule.
          type: string
          format: date-time
      required:
      - id
      - rule
      - rule_type
    RecommendationContextAttributeCondition:
      title: Attribute Condition
      type: object
      properties:
        type:
          title: Type
          enum:
          - attribute
          type: string
        filter_name:
          title: Filter Name
          description: The name of the refined filter.
          examples:
          - brand
          - category
          type: string
        filter_value:
          title: Filter Value
          description: The value of the refined filter.
          examples:
          - Nike
          - Electronics
          type: string
      required:
      - type
      additionalProperties: false
    RefinedStrategyType:
      title: RefinedStrategyType
      enum:
      - attribute
      - item
      - expression
      type: string
    VariationSlicingRuleResponse:
      title: VariationSlicingRuleResponse
      type: object
      properties:
        id:
          title: Id
          description: The ID of the rule, must be unique.
          type: integer
        request_tag_name:
          description: Request tag name to be used to activate this entity for, used only with `request_tag_value`.
          examples:
          - user_segment
          - geo_country
          allOf:
          - $ref: '#/components/schemas/RequestTags'
        request_tag_value:
          title: Request Tag Value
          description: Request tag value to be used to activate this entity for, used only with request_tag_name.
          maxLength: 100
          minLength: 1
          examples:
          - premium
          - US
          type: string
        active:
          title: Active
          description: Indicates whether this rule is active or not.
          examples:
          - true
          - false
          type: boolean
        start_time:
          title: Start Time
          description: Date and time when the rule should be enabled.
          examples:
          - '2024-03-06T16:05:19'
          type: string
          format: date-time
        end_time

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/constructorio/refs/heads/main/openapi/constructorio-searchandising-campaigns-api-openapi.yml