---
title: "Creates a Call-Off Order Rule. The expression is validated and canonicalized"
method: POST
path: "/commerce/rules/callOffOrder"
tags: ["CallOffOrderRule"]
---

# Creates a Call-Off Order Rule. The expression is validated and canonicalized

`POST /commerce/rules/callOffOrder`

at save time; `code` auto-generates from `name` when omitted.

## Query parameters

- `responseFields` string

## Request body

- CallOffOrderRule — Tenant-scoped, expression-based rule that selects Mozu.CommerceRuntime.Contracts.CallOffOrders.CallOffOrder entities for downstream composite consumers (e.g. CallOff Reservation Rule in Catalog).
  - `auditInfo` CoreApiContractsAuditInfo
    - `createBy` string, nullable
    - `createDate` string, date-time, nullable
    - `updateBy` string, nullable
    - `updateDate` string, date-time, nullable
  - `code` string, nullable — Tenant-unique stable identifier referenced by composite consumers. Matches `[A-Za-z0-9_-]+`. Auto-generated from Mozu.CommerceRuntime.Contracts.CallOffOrderRules.CallOffOrderRule.Name when omitted on create. Immutable after create.
  - `description` string, nullable — Optional rule purpose / authoring notes. Max 2000 chars.
  - `enabled` boolean — If `false`, the evaluate endpoint rejects the rule with HTTP 400. Lifecycle CRUD reads continue to return it. Default `true` on create.
  - `expression` CommerceRuntimeDynamicExpression
    - `text` string, nullable
    - `tree` CommerceRuntimeExpression
      - `left` string, nullable
      - `logicalOperator` string, nullable
      - `nodes` CommerceRuntimeExpression[], nullable
      - `operator` string, nullable
      - `right` unknown
      - `type` string, nullable
  - `id` string, nullable — System-generated unique identifier (MozuObjectId). Server-set; ignored on write.
  - `metaData` object, nullable — Free-form consumer-specific metadata. Mirrors `PurchaseLimitRule.MetaData`.
  - `name` string, nullable — Human-readable rule name. Required; non-empty; max 255 chars.
  - `ruleType` string, nullable — Identifies which composite consumer family uses this rule. Free string matching `[A-Za-z0-9_-]+`. Well-known values: `"Reservation"`, `"PurchaseLimit"`, `"Custom"`.
  - `tenantId` integer — Tenant identifier. Populated from `IApiContext` on the server. Never accepted from the client request body.

## Response `200`

OK

- CallOffOrderRule — Tenant-scoped, expression-based rule that selects Mozu.CommerceRuntime.Contracts.CallOffOrders.CallOffOrder entities for downstream composite consumers (e.g. CallOff Reservation Rule in Catalog).
  - `auditInfo` CoreApiContractsAuditInfo
    - `createBy` string, nullable
    - `createDate` string, date-time, nullable
    - `updateBy` string, nullable
    - `updateDate` string, date-time, nullable
  - `code` string, nullable — Tenant-unique stable identifier referenced by composite consumers. Matches `[A-Za-z0-9_-]+`. Auto-generated from Mozu.CommerceRuntime.Contracts.CallOffOrderRules.CallOffOrderRule.Name when omitted on create. Immutable after create.
  - `description` string, nullable — Optional rule purpose / authoring notes. Max 2000 chars.
  - `enabled` boolean — If `false`, the evaluate endpoint rejects the rule with HTTP 400. Lifecycle CRUD reads continue to return it. Default `true` on create.
  - `expression` CommerceRuntimeDynamicExpression
    - `text` string, nullable
    - `tree` CommerceRuntimeExpression
      - `left` string, nullable
      - `logicalOperator` string, nullable
      - `nodes` CommerceRuntimeExpression[], nullable
      - `operator` string, nullable
      - `right` unknown
      - `type` string, nullable
  - `id` string, nullable — System-generated unique identifier (MozuObjectId). Server-set; ignored on write.
  - `metaData` object, nullable — Free-form consumer-specific metadata. Mirrors `PurchaseLimitRule.MetaData`.
  - `name` string, nullable — Human-readable rule name. Required; non-empty; max 255 chars.
  - `ruleType` string, nullable — Identifies which composite consumer family uses this rule. Free string matching `[A-Za-z0-9_-]+`. Well-known values: `"Reservation"`, `"PurchaseLimit"`, `"Custom"`.
  - `tenantId` integer — Tenant identifier. Populated from `IApiContext` on the server. Never accepted from the client request body.

## Other responses

- `201` — Rule created. Returns 409 if a rule with the supplied code already exists or the expression failed validation.

---

[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)
