> ## 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 Custom Data Value Filter

> Saves a custom data value filter.



## OpenAPI

````yaml /openapi/openapi_orderrouting.json post /commerce/orders/orderrouting/api/v1/filter/customDataValueFilter
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/customDataValueFilter:
    post:
      tags:
        - OrderRoutingFilter
      summary: Save Custom Data Value Filter
      description: Saves a custom data value filter.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDataValueFilter'
        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:
    CustomDataValueFilter:
      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
        customDataValue:
          $ref: '#/components/schemas/CustomDataValueObject'
        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
    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
    CustomDataValueObject:
      properties:
        created:
          format: date-time
          type: string
        creatorUsername:
          type: string
        customDataValueID:
          format: int32
          type: integer
        environmentID:
          format: int32
          type: integer
        name:
          type: string
        pathString:
          type: string
        persisted:
          type: boolean
        siteID:
          format: int32
          type: integer
        stringValue:
          type: string
        tenantID:
          format: int32
          type: integer
        updated:
          format: date-time
          type: string
        updaterUsername:
          type: string
        userContext:
          $ref: '#/components/schemas/UserContextInformation'
        value:
          type: object
      required:
        - environmentID
        - name
        - siteID
        - stringValue
        - 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
    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

````