> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kibocommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Save Criteria Set Filter

> Saves a criteria set filter.



## OpenAPI

````yaml /openapi/openapi_orderrouting.json post /commerce/orders/orderrouting/api/v1/filter/criteriaSet
openapi: 3.0.1
info:
  description: |-
    <div id="overview_ORDERROUTING">
                <h2>ORDER ROUTING</h2>
                <p>Although the <a href="/developer-guides/order-routing">Order Routing
                        interface</a> is the best place to configure order routing rules, some
                    aspects of routing can be managed through REST API calls when convenient.</p>
                <p>Use the <strong>Data List</strong> resource to define the cases for which routing filters are applied.</p>
                <p>Use the <strong>Routing Filter</strong> resource to configure sets of rules that filter out fulfillers that do not match given order criteria.</p>
                <p>Use the <strong>Routing Group</strong> resource to manage and sort location groups specifically in context of routing
                    preferences.</p>
                <p>Use the general <strong>Routing</strong> resource to test your order routing configurations, such as by retrieving a list of eligible fulfillers for a certain order based on set
                    routing rules or obtain a log of order routing decisions.</p>
            </div>
  title: Order Routing
  version: 0.0.1
servers:
  - description: Kibo Base URL
    url: '{baseUrl}/api'
    variables:
      baseUrl:
        default: https://t1000000.sb.usc1.gcp.kibocommerce.com
        description: Base URL
security:
  - bearerAuth: []
tags:
  - description: Classic UI API - Tenant-level routing configuration
    name: OrderRoutingTenant
  - description: Classic UI API - Manage custom data lists
    name: OrderRoutingDataList
  - description: Classic UI API - Order Routing Settings configuration
    name: OrderRoutingSettings
  - description: New UI API - Manage routing scenarios
    name: OrderRoutingScenario
  - description: Classic UI API - Location information
    name: OrderRoutingLocation
  - description: Classic UI API - Environment configuration
    name: OrderRoutingEnvironment
  - description: New UI API - Export and import strategies
    name: OrderRoutingStrategyExport
  - description: Classic UI API - Post-routing actions
    name: OrderRoutingAfterAction
  - description: New UI API - Filter data for routing scenarios
    name: OrderRoutingFilterData
  - description: New UI API - Manage routing strategies
    name: OrderRoutingStrategy
  - description: New UI API - Manage custom data lists for filtering
    name: OrderRoutingCustomDataList
  - description: Classic UI API - Manage routing groups
    name: OrderRoutingGroup
  - description: Classic UI API - Configure sorting rules
    name: OrderRoutingSort
  - description: Classic UI API - Routing testing and debugging
    name: Routing
  - description: New UI API - Estimated delivery date routing
    name: OrderRoutingEDD
  - description: Classic UI API - Site-specific routing configuration
    name: OrderRoutingSite
  - description: Classic UI API - Configure routing filters
    name: OrderRoutingFilter
paths:
  /commerce/orders/orderrouting/api/v1/filter/criteriaSet:
    post:
      tags:
        - OrderRoutingFilter
      summary: Save Criteria Set Filter
      description: Saves a criteria set filter.
      parameters:
        - description: Tenant
          in: header
          name: x-vol-tenant
          required: true
          schema:
            format: int32
            type: integer
        - description: Site
          in: header
          name: x-vol-site
          required: true
          schema:
            format: int32
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationCriteriaSetFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbstractFilter'
          description: OK
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Conflict
        '410':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Gone
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Internal Server Error
components:
  schemas:
    LocationCriteriaSetFilter:
      properties:
        acceptNulls:
          type: boolean
        booleanOperator:
          enum:
            - filter.logic.equal
            - filter.logic.not.equal
            - filter.logic.greater.than
            - filter.logic.less.than
            - filter.logic.greater.or.equal
            - filter.logic.less.or.equal
            - filter.logic.in
            - filter.logic.not.in
            - filter.logic.between
            - filter.logic.starts.with
            - filter.logic.ends.with
            - filter.logic.contains
            - filter.logic.equal
            - filter.logic.not.equal
            - filter.logic.in
            - filter.logic.not.in
            - filter.logic.subset
          type: string
        created:
          format: date-time
          type: string
        creatorUsername:
          type: string
        customAttributeName:
          type: string
        dataPointExtensibleAttributeFQN:
          type: string
        dataPointExtensibleAttributeName:
          type: string
        dataPointExtensibleAttributeType:
          type: string
        dataPointExtensibleFilter:
          type: boolean
        definitions:
          items:
            $ref: '#/components/schemas/LocationCriteriaSetDataDefinition'
          type: array
        dotDelimitedPropertyName:
          type: string
        environmentID:
          format: int32
          type: integer
        extensibleAttributeFQN:
          type: string
        extensibleAttributeName:
          type: string
        extensibleFilter:
          type: boolean
        filterID:
          format: int32
          type: integer
        filterLogicalGroupOrderIndex:
          format: int32
          type: integer
        filterUnit:
          properties:
            dimension:
              type: object
            standardUnit:
              properties:
                dimension:
                  type: object
              type: object
          type: object
        inventoryBasedFilter:
          type: boolean
        itemBasedFilter:
          type: boolean
        locationBasedFilter:
          type: boolean
        locationCriteriaSet:
          $ref: '#/components/schemas/LocationCriteriaSet'
        name:
          maxLength: 255
          minLength: 1
          type: string
        orderIndex:
          format: int32
          type: integer
        orderLocationFilterEqualToLocationOrInventoryFilter:
          type: boolean
        pathString:
          type: string
        persisted:
          type: boolean
        siteID:
          format: int32
          type: integer
        suggestionEventListeners:
          items:
            $ref: '#/components/schemas/SuggestionEventListener'
          type: array
          uniqueItems: true
        tenantID:
          format: int32
          type: integer
        updated:
          format: date-time
          type: string
        updaterUsername:
          type: string
        userContext:
          $ref: '#/components/schemas/UserContextInformation'
      required:
        - booleanOperator
        - dotDelimitedPropertyName
        - environmentID
        - name
        - siteID
        - tenantID
      type: object
    AbstractFilter:
      properties:
        booleanOperator:
          enum:
            - filter.logic.equal
            - filter.logic.not.equal
            - filter.logic.greater.than
            - filter.logic.less.than
            - filter.logic.greater.or.equal
            - filter.logic.less.or.equal
            - filter.logic.in
            - filter.logic.not.in
            - filter.logic.between
            - filter.logic.starts.with
            - filter.logic.ends.with
            - filter.logic.contains
            - filter.logic.equal
            - filter.logic.not.equal
            - filter.logic.in
            - filter.logic.not.in
            - filter.logic.subset
          type: string
        created:
          format: date-time
          type: string
        creatorUsername:
          type: string
        customAttributeName:
          type: string
        dataPointExtensibleAttributeFQN:
          type: string
        dataPointExtensibleAttributeName:
          type: string
        dataPointExtensibleAttributeType:
          type: string
        dataPointExtensibleFilter:
          type: boolean
        dotDelimitedPropertyName:
          type: string
        environmentID:
          format: int32
          type: integer
        extensibleAttributeFQN:
          type: string
        extensibleAttributeName:
          type: string
        extensibleFilter:
          type: boolean
        filterID:
          format: int32
          type: integer
        filterLogicalGroupOrderIndex:
          format: int32
          type: integer
        filterUnit:
          properties:
            dimension:
              type: object
            standardUnit:
              properties:
                dimension:
                  type: object
              type: object
          type: object
        inventoryBasedFilter:
          type: boolean
        itemBasedFilter:
          type: boolean
        locationBasedFilter:
          type: boolean
        name:
          maxLength: 255
          minLength: 1
          type: string
        orderIndex:
          format: int32
          type: integer
        orderLocationFilterEqualToLocationOrInventoryFilter:
          type: boolean
        pathString:
          type: string
        persisted:
          type: boolean
        siteID:
          format: int32
          type: integer
        suggestionEventListeners:
          items:
            $ref: '#/components/schemas/SuggestionEventListener'
          type: array
          uniqueItems: true
        tenantID:
          format: int32
          type: integer
        updated:
          format: date-time
          type: string
        updaterUsername:
          type: string
        userContext:
          $ref: '#/components/schemas/UserContextInformation'
      required:
        - booleanOperator
        - dotDelimitedPropertyName
        - environmentID
        - name
        - siteID
        - tenantID
      type: object
    APIErrorResponse:
      properties:
        additionalInfo:
          type: string
        errorMessage:
          type: string
      type: object
    LocationCriteriaSetDataDefinition:
      properties:
        columnName:
          type: string
        created:
          format: date-time
          type: string
        creatorUsername:
          type: string
        dataDefinitionID:
          format: int32
          type: integer
        dataUnitString:
          type: string
        defaultValue:
          type: string
        environmentID:
          format: int32
          type: integer
        filterable:
          type: boolean
        name:
          type: string
        pathString:
          type: string
        persisted:
          type: boolean
        siteID:
          format: int32
          type: integer
        sortable:
          type: boolean
        tenantID:
          format: int32
          type: integer
        unit:
          properties:
            dimension:
              type: object
            standardUnit:
              properties:
                dimension:
                  type: object
              type: object
          type: object
        unitType:
          enum:
            - unit.type.currency
            - unit.type.distance
            - unit.type.length
            - unit.type.volume
            - unit.type.area
            - unit.type.weight
            - unit.type.dimensionless
          type: string
        updated:
          format: date-time
          type: string
        updaterUsername:
          type: string
        userContext:
          $ref: '#/components/schemas/UserContextInformation'
      required:
        - columnName
        - environmentID
        - siteID
        - tenantID
      type: object
    LocationCriteriaSet:
      properties:
        columnDefinitions:
          items:
            $ref: '#/components/schemas/LocationCriteriaSetDataDefinition'
          type: array
          uniqueItems: true
        created:
          format: date-time
          type: string
        creatorUsername:
          type: string
        environmentID:
          format: int32
          type: integer
        fileName:
          maxLength: 255
          minLength: 1
          type: string
        locationCriteriaSetID:
          format: int32
          type: integer
        locationCriteriaSetMap:
          $ref: '#/components/schemas/SetMultimapIntegerLocationCriteriaSetRow'
        locationCriteriaSetRows:
          $ref: '#/components/schemas/SetMultimapIntegerLocationCriteriaSetRow'
        pathString:
          type: string
        persisted:
          type: boolean
        readyState:
          enum:
            - dataset.ready
            - dataset.processing
            - dataset.error.processing
          type: string
        siteID:
          format: int32
          type: integer
        tenantID:
          format: int32
          type: integer
        updated:
          format: date-time
          type: string
        updaterUsername:
          type: string
        userContext:
          $ref: '#/components/schemas/UserContextInformation'
      required:
        - environmentID
        - fileName
        - siteID
        - tenantID
      type: object
    SuggestionEventListener:
      type: object
    UserContextInformation:
      properties:
        environmentID:
          format: int32
          type: integer
        loaded:
          type: boolean
        pathString:
          type: string
        siteID:
          format: int32
          type: integer
        siteService:
          $ref: '#/components/schemas/SiteService'
        tenantID:
          format: int32
          type: integer
        tenantService:
          $ref: '#/components/schemas/TenantService'
      type: object
    SetMultimapIntegerLocationCriteriaSetRow:
      properties:
        empty:
          type: boolean
      type: object
    SiteService:
      type: object
    TenantService:
      properties:
        tenantAttributesCache:
          $ref: '#/components/schemas/TenantAttributesCache'
        tenantClient:
          $ref: '#/components/schemas/TenantClient'
      type: object
    TenantAttributesCache:
      type: object
    TenantClient:
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````