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

# Returns the authoring schema for Call-Off Order Rules: the complete set of

> expression fields with their data types, allowed operators, nullability,
enum values, and the dynamic-attribute slot pointing at the tenant's
call-off attribute catalog. Reflection-driven from the validator's
`[ExpressionContextProperty]` metadata so the UI and server stay in
lockstep automatically.



## OpenAPI

````yaml /openapi/openapi_commerce.json get /commerce/rules/callOffOrder/schema
openapi: 3.0.1
info:
  description: |-
    <div id="overview_COMMERCE">
                <h2>COMMERCE</h2>
                <p>The Commerce API interacts with the commerce entities of your tenant, including shoppers's active shopping
                    carts, checkouts, submitted orders, wishlists, and returns as well as B2B quotes.</p>
                <p>Use the <strong>Carts</strong> resource to manage storefront shopping carts as shoppers add and remove items for purchase.
                    Each time a shopper's cart is modified, the Carts resource updates the estimated total with any
                    applicable
                    discounts.</p>
                <p>Use the <strong>Channels</strong> and <strong>Channel Groups</strong> resources to manage the channels a company uses to create logical
                    commercial business divisions based on region or types of sales, such as "US Online," "Amazon," or "EMEA
                    Retail."
                    All orders include a channel association that enables the company to perform financial reporting for
                    each defined channel.
                    Because channels are managed at the tenant level, you must associate all the tenant's sites with a
                    channel. Sites that do not
                    have a defined channel association cannot successfully submit orders.</p>
                <p>Use the <strong>Checkouts</strong> resource to track a shopper's order items and their intended destinations on sites that
                    have the multiple shipment feature enabled.</p>
                <p>Use the <strong>Orders</strong> resource to manage all components of order processing, payment, and order-level
                    fulfillment.</p>
                <p>Use the <strong>Quotes</strong> resource to support B2B functionality by managing order quotes, similar to wishlists.</p>
                <p>Use the <strong>Returns</strong> resource to manage returned items that were previously fufilled. Returns can include any
                    number of items associated with an original
                    order. Each return must either be associated with an original order or a product definition to represent
                    each returned item.</p>
                <p>Use the <strong>Wish Lists</strong> resource to manage the shopper wish lists of products associated with a customer
                    account. Although customer accounts are managed at the tenant
                    level, the system stores shopper wish lists at the site level. This enables the same customer to have
                    wish lists for each of a merchant's sites. The <strong>Wish List Items</strong>
                    resource allows you to manage the individual items in a wish list.</p>
            </div>
  title: Cart/Checkout/Quote
  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: []
paths:
  /commerce/rules/callOffOrder/schema:
    get:
      tags:
        - CallOffOrderRule
      summary: >-
        Returns the authoring schema for Call-Off Order Rules: the complete set
        of
      description: |-
        expression fields with their data types, allowed operators, nullability,
        enum values, and the dynamic-attribute slot pointing at the tenant's
        call-off attribute catalog. Reflection-driven from the validator's
        `[ExpressionContextProperty]` metadata so the UI and server stay in
        lockstep automatically.
      parameters:
        - description: limits which fields are returned in the response body
          in: query
          name: responseFields
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallOffOrderRuleSchema'
            text/json:
              schema:
                $ref: '#/components/schemas/CallOffOrderRuleSchema'
            text/plain:
              schema:
                $ref: '#/components/schemas/CallOffOrderRuleSchema'
          description: OK
components:
  schemas:
    CallOffOrderRuleSchema:
      description: "Response body for `GET /commerce/rules/callOffOrder/schema`. Tenant-scoped\r\nauthoring contract for rule-builder UIs — reflects\r\n`CallOffOrderExpressionContext` and `CallOffOrderItemExpressionContext`\r\nplus the tenant's dynamic call-off order attribute slot."
      properties:
        context:
          description: >-
            Schema-version identifier. Always `"CallOffOrderExpressionContext"`
            in v1.
          nullable: true
          type: string
        dynamicFields:
          description: >-
            One entry per dynamic slot. v1 has a single entry for
            `attributes.*`.
          items:
            $ref: '#/components/schemas/DynamicFieldSlot'
          nullable: true
          type: array
        staticFields:
          description: "One entry per `[ExpressionContextProperty]` on the context: header\r\nfields plus the flattened item-level fields under the `items.*`\r\nnamespace."
          items:
            $ref: '#/components/schemas/StaticField'
          nullable: true
          type: array
      type: object
    DynamicFieldSlot:
      description: Authoring descriptor for a dynamic field slot.
      properties:
        definitionsEndpoint:
          description: Endpoint the UI fans out to in order to resolve dynamic values.
          nullable: true
          type: string
        isDynamic:
          description: Always `true` for a dynamic slot.
          type: boolean
        namePattern:
          description: Name template, e.g. `"attributes.{fqn}"`.
          nullable: true
          type: string
        operatorsByDataType:
          additionalProperties:
            items:
              type: string
            nullable: true
            type: array
          description: "Map from `AttributeDataType` name to allowed operators. Drives the\r\nper-data-type operator narrowing the validator enforces at save time."
          nullable: true
          type: object
        pathLabel:
          description: Human-readable UI label.
          nullable: true
          type: string
      type: object
    StaticField:
      description: Authoring descriptor for a single declared expression field.
      properties:
        allowNullRightSide:
          description: True when `eq null` / `ne null` predicates are valid.
          nullable: true
          type: boolean
        dataType:
          description: "One of: `String`, `Integer`, `Decimal`, `DateTime`,\r\n`Boolean`."
          nullable: true
          type: string
        enumValues:
          description: "Present when the field has a constrained value set\r\n(e.g. `status`, `items.fulfillmentType`)."
          items:
            type: string
          nullable: true
          type: array
        name:
          description: Filter-syntax field name (e.g. `"items.fulfillmentType"`).
          nullable: true
          type: string
        nullable:
          description: True when the underlying field accepts null comparison values.
          nullable: true
          type: boolean
        operators:
          description: "Allowed operator codes for this field. Subset of\r\n`eq`, `ne`, `in`, `gt`, `ge`, `lt`, `le`."
          items:
            type: string
          nullable: true
          type: array
        pathLabel:
          description: Human-readable UI label (e.g. `"Item Fulfillment Type"`).
          nullable: true
          type: string
        scope:
          description: '`"item"` for item-level fields; absent for header fields.'
          nullable: true
          type: string
        semantics:
          description: "`\"anyMatch\"` on item-level fields to communicate\r\n            ANY-item-matches semantics."
          nullable: true
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````