> ## 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.

# getRuleFields

> getRuleFields



## OpenAPI

````yaml /openapi/openapi_fulfillment.json get /commerce/shipments/metadata/rule-fields
openapi: 3.0.0
info:
  description: |-
    <div id="overview_FULFILLMENT">
                <h2>FULFILLMENT</h2>
                <p>The Fulfillment APIs support order management and fulfillment workflows based on the Shipment API and its
                    packages, including supporting needs such as pick waves and manifests. Once an order has been placed, it
                    generally
                    cannot be edited at the order-level. Instead, changes to the items, pricing, and other information must
                    be done at the
                    shipment level with the Shipment API. See the <a href="/concept-guides/fulfillment">Fulfillment user guides</a> for more information about fulfillment in UCP.</p>
                <p>When using the Shipment API to transition a shipment through each stage of its fulfillment process, it
                    can be
                    difficult to remember how to format the next step's endpoint and the expected parameters on-the-fly.
                    Additionally,
                    if a call such as cancellation, adding tracking information, or marking the shipment as fulfilled needs
                    to be performed
                    outside of the usual fulfillment flow, it may be confusing to determine how to perform the action
                    without referring to the
                    documentation. To assist with this, the Shipment API provides guidelines within the response body. This
                    response
                    includes two objects, workflowState and _links, that detail the shipment's next step in the workflow as
                    well as all
                    possible actions currently available to the shipment. Use 
                    <a href="/pages/fulfillment-api-overview">this walkthrough</a> to better 
                    understand how to work with this response data.</p>
                    <p>Use the <strong>Customer Survey</strong> resource to create surveys and gather data from your customers.</p>
                    <p>Use the <strong>Manifests</strong> resource to create shipping manifests for fulfillment partners such as Canada Post that require manifests for groups of shipments.</p>
                    <p>Use the <strong>Pick Wave</strong> resource to generate and process pick waves for picking groups of items at a fulfillment locations.</p>
                    <p>Use the <strong>Shipment</strong>, <strong>Shipment Attributes</strong>, <strong>Shipment Data</strong>, and <strong>Shipment Notification</strong> resources to manage the actual shipments being fulfilled and perform actions on them.</p>
                    <p>Use the <strong>Shipment Packages</strong> resource to create, update, and delete the individual packages within a shipment.</p>
                    <p>Use the <strong>Storefront</strong> resource to retrieve shipment information for the storefront.</p>
                    <p>Use the <strong>Workflow Process</strong> resource to retrieve BPM configurations and the fulfillment steps based on shipment type.</p>
            </div>
  title: Fulfillment  - Production Profile
  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:
  - name: CustomerSurvey
  - name: Fulfillment
  - name: FutureShipment
  - name: GiftReceipt
  - name: Manifest
  - name: PickWave
  - name: Rendition
  - name: ShipmentAttributes
  - name: ShipmentContact
  - name: Shipment
  - name: ShipmentData
  - name: ShipmentHold
  - name: ShipmentNotes
  - name: ShipmentPackages
  - name: ShipmentResendEmail
  - name: ShippingNotification
  - name: Storefront
  - name: Substitutions
  - name: WorkflowProcess
paths:
  /commerce/shipments/metadata/rule-fields:
    get:
      tags:
        - ShipmentMetadata
      summary: getRuleFields
      description: getRuleFields
      parameters:
        - description: filter
          in: query
          name: filter
          required: false
          schema:
            type: string
        - in: header
          name: x-vol-site
          required: false
          schema:
            format: int32
            type: integer
        - in: header
          name: x-vol-tenant
          required: true
          schema:
            format: int32
            type: integer
      responses:
        '200':
          content:
            application/hal+json:
              schema:
                items:
                  $ref: '#/components/schemas/ShipmentRuleFieldDto'
                type: array
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ShipmentRuleFieldDto'
                type: array
            application/xml:
              schema:
                items:
                  $ref: '#/components/schemas/ShipmentRuleFieldDto'
                type: array
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      deprecated: false
components:
  schemas:
    ShipmentRuleFieldDto:
      description: >-
        Metadata for a shipment rule field including operators, data type, and
        UI grouping information
      properties:
        allowNullOnRight:
          description: Whether null values are allowed on the right side of the operator
          example: false
          type: boolean
        apiFieldName:
          description: API field name for RSQL filter construction
          example: shipmentType
          type: string
        apiOperators:
          description: Comprehensive operator metadata with display text and RSQL syntax
          items:
            $ref: '#/components/schemas/RuleOperatorDto'
          type: array
        applicableTo:
          description: >-
            Attribute scope (Shipment, ShipmentItem, ShipmentAndShipmentItem)
            for custom attributes only
          example: Shipment
          type: string
        dataType:
          description: Data type of the field (string, enum, date, boolean, number)
          example: enum
          type: string
        displayValue:
          description: Human-readable display name for UI
          example: Shipment Type
          type: string
        fieldName:
          description: Field name identifier used internally
          example: ShipmentType
          type: string
        ruleFieldType:
          description: >-
            Field type for UI grouping (ShipmentField, ShipmentAttribute,
            ItemAttribute)
          example: ShipmentField
          type: string
        ruleFieldTypeDisplayValue:
          description: Display value for the field type group header
          example: Shipment Fields
          type: string
        sortDescriptor:
          $ref: '#/components/schemas/SortDescriptorDto'
          description: >-
            Sort descriptor with query parameter format and ascending/descending
            values
        sortable:
          description: Whether this field supports sorting in result sets
          example: false
          type: boolean
        supportedOperators:
          description: List of supported operator codes (legacy, use apiOperators instead)
          example:
            - eq
            - ne
            - in
          items:
            type: string
          type: array
        validEnumValues:
          description: List of valid enumerated values for enum/list data types
          items:
            $ref: '#/components/schemas/ShipmentRuleEnumValueDto'
          type: array
      required:
        - allowNullOnRight
        - dataType
        - displayValue
        - fieldName
        - supportedOperators
      title: ShipmentRuleFieldDto
      type: object
    RuleOperatorDto:
      description: >-
        Metadata for a rule field operator including display text and RSQL
        syntax
      properties:
        code:
          description: Operator code identifier
          enum:
            - eq
            - ne
            - in
            - le
            - lt
            - ge
            - gt
            - cont
            - sw
          example: eq
          type: string
        display:
          description: Human-readable operator display text for UI
          example: is equal to
          type: string
        filterSyntax:
          description: RSQL filter syntax token for query construction
          example: '=='
          type: string
      required:
        - code
        - display
        - filterSyntax
      title: RuleOperatorDto
      type: object
    SortDescriptorDto:
      properties:
        ascValue:
          type: string
        descValue:
          type: string
        multiFieldSeparator:
          type: string
        queryParam:
          type: string
      title: SortDescriptorDto
      type: object
    ShipmentRuleEnumValueDto:
      properties:
        id:
          type: string
        name:
          type: string
      title: ShipmentRuleEnumValueDto
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````