---
title: "Returns the authoring schema for Call-Off Order Rules: the complete set of"
method: GET
path: "/commerce/rules/callOffOrder/schema"
tags: ["CallOffOrderRule"]
---

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

`GET /commerce/rules/callOffOrder/schema`

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.

## Query parameters

- `responseFields` string

## Response `200`

OK

- CallOffOrderRuleSchema — Response body for `GET /commerce/rules/callOffOrder/schema`. Tenant-scoped authoring contract for rule-builder UIs — reflects `CallOffOrderExpressionContext` and `CallOffOrderItemExpressionContext` plus the tenant's dynamic call-off order attribute slot.
  - `context` string, nullable — Schema-version identifier. Always `"CallOffOrderExpressionContext"` in v1.
  - `dynamicFields` DynamicFieldSlot[], nullable — One entry per dynamic slot. v1 has a single entry for `attributes.*`.
    - `definitionsEndpoint` string, nullable — Endpoint the UI fans out to in order to resolve dynamic values.
    - `isDynamic` boolean — Always `true` for a dynamic slot.
    - `namePattern` string, nullable — Name template, e.g. `"attributes.{fqn}"`.
    - `operatorsByDataType` object, nullable — Map from `AttributeDataType` name to allowed operators. Drives the per-data-type operator narrowing the validator enforces at save time.
    - `pathLabel` string, nullable — Human-readable UI label.
  - `staticFields` StaticField[], nullable — One entry per `[ExpressionContextProperty]` on the context: header fields plus the flattened item-level fields under the `items.*` namespace.
    - `allowNullRightSide` boolean, nullable — True when `eq null` / `ne null` predicates are valid.
    - `dataType` string, nullable — One of: `String`, `Integer`, `Decimal`, `DateTime`, `Boolean`.
    - `enumValues` string[], nullable — Present when the field has a constrained value set (e.g. `status`, `items.fulfillmentType`).
    - `name` string, nullable — Filter-syntax field name (e.g. `"items.fulfillmentType"`).
    - `nullable` boolean, nullable — True when the underlying field accepts null comparison values.
    - `operators` string[], nullable — Allowed operator codes for this field. Subset of `eq`, `ne`, `in`, `gt`, `ge`, `lt`, `le`.
    - `pathLabel` string, nullable — Human-readable UI label (e.g. `"Item Fulfillment Type"`).
    - `scope` string, nullable — `"item"` for item-level fields; absent for header fields.
    - `semantics` string, nullable — `"anyMatch"` on item-level fields to communicate ANY-item-matches semantics.

---

[API](https://skmtc.net/kibocommerce/apis/customer.md) · [All operations](https://skmtc.net/kibocommerce/apis/customer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kibocommerce/customer/versions/47c0cf7b75ab/schema)
