Constructor.io Searchandising for Collections API

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

Operations 5

GET /v1/refined_collections Retrieve refined collections #
GET /v1/refined_collections/{collection_id} Retrieve refined collection #
PUT /v1/refined_collections/{collection_id} Create or replace refined collection #
PATCH /v1/refined_collections/{collection_id} Update refined collection #
DELETE /v1/refined_collections/{collection_id} Delete refined collection #

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-for-collections-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-for-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@constructor.io
  title: Searchandising for Collections API
  version: '0.1'
servers:
- url: https://ac.cnstrc.com
security: []
tags:
- name: Searchandising for Collections
paths:
  /v1/refined_collections:
    get:
      tags:
      - Searchandising for Collections
      operationId: v1-searchandising-retrieve-refined-collections
      summary: Retrieve refined collections
      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.refined_collections(r)`.


        Retrieve all refined collections.'
      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: response_section
        in: query
        schema:
          description: The section of the response to apply rules to, such as `results` or `facets`.
          default: results
          allOf:
          - $ref: '#/components/schemas/RefinedObjectRuleResponseSection'
        required: false
      - 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: filter_names_to_exclude
        in: query
        schema:
          title: Filter Names To Exclude
          description: A list of filter names to exclude from results.
          type: array
          items:
            type: string
        required: false
      - 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: sort_by
        in: query
        schema:
          title: Sort By
          description: The attribute to sort by.
          default: id
          examples:
          - id
          - created_at
          enum:
          - id
          - created_at
          - updated_at
          - last_updated_internally
          - last_updated_externally
          type: string
        required: false
      - name: sort_order
        in: query
        schema:
          description: The order by which results should be sorted. Only valid in conjunction with `sort_by`.
          default: ascending
          examples:
          - ascending
          - descending
          allOf:
          - $ref: '#/components/schemas/SortOrderType'
        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: segments
        in: query
        schema:
          title: Segments
          description: Filtering conditions by segment type
          allOf:
          - $ref: '#/components/schemas/SegmentsFilter'
        required: false
      - name: filter
        in: query
        schema:
          title: Filter
          description: A list of filters to retrieve
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        required: false
        style: deepObject
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefinedCollectionListGetResponse'
        '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.refined_collections(r)
  /v1/refined_collections/{collection_id}:
    get:
      tags:
      - Searchandising for Collections
      operationId: v1-searchandising-retrieve-refined-collection
      summary: Retrieve refined collection
      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.refined_collections(r)`.


        Retrieve a refined collection.'
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
      - 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: response_section
        in: query
        schema:
          description: The section of the response to apply rules to, such as `results` or `facets`.
          default: results
          allOf:
          - $ref: '#/components/schemas/RefinedObjectRuleResponseSection'
        required: false
      - 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: filter_names_to_exclude
        in: query
        schema:
          title: Filter Names To Exclude
          description: A list of filter names to exclude from results.
          type: array
          items:
            type: string
        required: false
      - 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: sort_by
        in: query
        schema:
          title: Sort By
          description: The attribute to sort by.
          default: id
          examples:
          - id
          - created_at
          enum:
          - id
          - created_at
          - updated_at
          - last_updated_internally
          - last_updated_externally
          type: string
        required: false
      - name: sort_order
        in: query
        schema:
          description: The order by which results should be sorted. Only valid in conjunction with `sort_by`.
          default: ascending
          examples:
          - ascending
          - descending
          allOf:
          - $ref: '#/components/schemas/SortOrderType'
        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: segments
        in: query
        schema:
          title: Segments
          description: Filtering conditions by segment type
          allOf:
          - $ref: '#/components/schemas/SegmentsFilter'
        required: false
      - name: filter
        in: query
        schema:
          title: Filter
          description: A list of filters to retrieve
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        required: false
        style: deepObject
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefinedCollectionGetResponse'
        '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.refined_collections(r)
    put:
      tags:
      - Searchandising for Collections
      operationId: v1-searchandising-create-or-replace-refined-collection
      summary: Create or replace refined collection
      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.refined_collections(w)`.


        Create or replace a refined collection. It will replace all existing rules associated with the collection if there are any. It will also flip `allow_automatic_rules` to `true` (which is default) if attribute''s value isn''t submitted in the request.'
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
      - 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: response_section
        in: query
        schema:
          description: The section of the response to apply rules to, such as `results` or `facets`.
          default: results
          allOf:
          - $ref: '#/components/schemas/RefinedObjectRuleResponseSection'
        required: false
      - 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/RefinedCollectionPutBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefinedCollectionPutResponse'
        '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.refined_collections(w)
    patch:
      tags:
      - Searchandising for Collections
      operationId: v1-searchandising-update-refined-collection
      summary: Update refined collection
      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.refined_collections(w)`.


        Update a refined collection. It will update only the fields that are present in the request.'
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
      - 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: response_section
        in: query
        schema:
          description: The section of the response to apply rules to, such as `results` or `facets`.
          default: results
          allOf:
          - $ref: '#/components/schemas/RefinedObjectRuleResponseSection'
        required: false
      - 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/RefinedCollectionPatchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefinedCollectionPatchResponse'
        '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.refined_collections(w)
    delete:
      tags:
      - Searchandising for Collections
      operationId: v1-searchandising-delete-refined-collection
      summary: Delete refined collection
      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.refined_collections(w)`.


        Delete a refined collection.'
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
      - 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/RefinedCollectionDeleteResponse'
        '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.refined_collections(w)
components:
  schemas:
    SlotFacetRuleParameters:
      title: SlotFacetRuleParameters
      type: object
      properties:
        name:
          title: Name
          description: The name of the facet to place in position.
          examples:
          - Brand
          - Color
          type: string
        position:
          title: Position
          description: The position of facet to place in.
          minimum: 1
          examples:
          - 1
          - 5
          type: integer
      required:
      - name
      - position
      additionalProperties: false
    RefinedCollectionResponse:
      title: RefinedCollectionResponse
      anyOf:
      - $ref: '#/components/schemas/RefinedCollectionResultsResponse'
      - $ref: '#/components/schemas/RefinedFilterFacetsResponse'
    RefinedCollectionResultsResponse:
      title: RefinedCollectionResultsResponse
      type: object
      properties:
        collection_id:
          title: Filter Value
          type: string
        allow_automatic_rules:
          title: Allow Automatic Rules
          type: boolean
        slot_rules:
          title: Slot Rules
          type: array
          items:
            $ref: '#/components/schemas/SlotRuleResponse'
        whitelist_rule:
          $ref: '#/components/schemas/WhitelistRuleResponse'
        blacklist_rules:
          title: Blacklist Rules
          type: array
          items:
            $ref: '#/components/schemas/BlacklistRuleResponse'
        boost_rules:
          title: Boost Rules
          type: array
          items:
            $ref: '#/components/schemas/BoostRuleResponse'
        content_rules:
          title: Content Rules
          type: array
          items:
            $ref: '#/components/schemas/ContentRuleResponse'
        filters_slot_rules:
          title: Filters Slot Rules
          type: array
          items:
            $ref: '#/components/schemas/FiltersSlotRuleResponse'
        variation_slicing_rule:
          $ref: '#/components/schemas/VariationSlicingRuleResponse'
        face_out_variation_rules:
          title: Face Out Variation Rules
          type: array
          items:
            $ref: '#/components/schemas/FaceOutVariationRuleResponse'
      required:
      - collection_id
      - allow_automatic_rules
      - slot_rules
      - blacklist_rules
      - boost_rules
      - content_rules
      - filters_slot_rules
      additionalProperties: false
    RefinedFilterFacetsResponse:
      title: RefinedFilterFacetsResponse
      type: object
      properties:
        id:
          title: Id
          type: integer
        filter_name:
          title: Filter Name
          type: string
        filter_value:
          title: Filter Value
          type: string
        created_at:
          title: Created At
          type: string
          format: date-time
        updated_at:
          title: Updated At
          type: string
          format: date-time
        last_updated_internally:
          title: Last Updated Internally
          type: string
          format: date-time
        last_updated_externally:
          title: Last Updated Externally
          type: string
          format: date-time
        last_reviewed_at:
          title: Last Reviewed At
          type: string
          format: date-time
        last_reviewed_by:
          title: Last Reviewed By
          type: string
        next_review_at:
          title: Next Review At
          type: string
          format: date-time
        allow_automatic_rules:
          title: Allow Automatic Rules
          type: boolean
        slot_rules:
          title: Facet Slot Rules
          type: array
          items:
            $ref: '#/components/schemas/SlotFacetRuleResponse'
        blacklist_rules:
          title: Facet Blacklist Rules
          type: array
          items:
            $ref: '#/components/schemas/BlacklistFacetRuleResponse'
      required:
      - id
      - filter_name
      - filter_value
      - created_at
      - updated_at
      - allow_automatic_rules
      - slot_rules
      - blacklist_rules
      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
    FacetRuleTarget:
      title: FacetRuleTarget
      enum:
      - facet_group
      - facet_option
      type: string
    RefinedCollectionListGetResponse:
      title: RefinedCollectionListGetResponse
      type: object
      properties:
        refined_collections:
          title: Refined Collections
          type: array
          items:
            $ref: '#/components/schemas/RefinedCollectionResponse'
        total_count:
          title: Total Count
          type: integer
      required:
      - refined_collections
      - total_count
      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
    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:
          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 variation slicing rule.
          allOf:
          - $ref: '#/components/schemas/VariationSlicingRuleParameters'
        rule_type:
          title: Rule Type
          enum:
          - variation_slicing
          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
    RefinedCollectionPatchBody:
      title: RefinedCollectionPatchBody
      type: object
      properties:
        slot_rules:
          title: Slot Rules
          description: The slotting rules attached to the refined filter
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/SlotRuleBase'
        whitelist_rule:
          title: Whitelist Rule
          description: The whitelist rule attached to the refined filter
          oneOf:
          - $ref: '#/components/schemas/WhitelistRuleBase'
          - type: 'null'
        blacklist_rules:
          title: Blacklist Rules
          description: The blacklist rules attached to the refined filter
          maxItems: 50
          type: array
          items:
            $ref: '#/components/schemas/BlacklistRuleBase'
        boost_rules:
          title: Boost Rules
          description: The boost rules attached to the refined filter. It is allowed to create maximum 50 manual and 50 automatic rules. The number of rules for each of the types includes both active 

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