---
title: "Update Call Off Order"
method: PUT
path: "/commerce/callofforders/{callOffOrderId}"
tags: ["CallOffOrder"]
---

# Update Call Off Order

`PUT /commerce/callofforders/{callOffOrderId}`

Update Call Off Order

## Path parameters

- `callOffOrderId` string, required

## Query parameters

- `responseFields` string

## Request body

- CallOffOrder — A buyer's delivery request, either linked to a Blanket Order or standalone.
  - `attributes` CallOffOrderAttribute[], nullable — Custom attributes extending AbstractAttribute. Flows downstream to Sales Orders and Shipments in later phases.
    - `attributeDefinitionId` integer, nullable
    - `auditInfo` CoreApiContractsAuditInfo
      - `createBy` string, nullable
      - `createDate` string, date-time, nullable
      - `updateBy` string, nullable
      - `updateDate` string, date-time, nullable
    - `fullyQualifiedName` string, nullable
    - `values` unknown[], nullable
      - unknown
  - `auditInfo` CoreApiContractsAuditInfo
    - `createBy` string, nullable
    - `createDate` string, date-time, nullable
    - `updateBy` string, nullable
    - `updateDate` string, date-time, nullable
  - `availableActions` string[], nullable — Actions valid for the current status. Computed on read; not persisted.
  - `blanketOrderId` string, nullable — Identifier of the parent Blanket Order if this call-off draws from one; null for standalone call-offs.
  - `cancelledBy` string, nullable — User who cancelled the call-off order.
  - `cancelledDate` string, date-time, nullable — Cancellation timestamp.
  - `cancelledReason` CommerceRuntimeCanceledReason
    - `description` string, nullable
    - `moreInfo` string, nullable
    - `reasonCode` string, nullable
  - `changeMessages` CallOffOrderChangeMessage[], nullable — Change messages describing mutations to this call-off order. Hydrated from a separate collection on read; not embedded on the document.
    - `body` string, nullable — Human-readable description of what changed.
    - `callOffOrderId` string, nullable — Identifier of the parent call-off order this message belongs to.
    - `createBy` string, nullable — User who triggered the change.
    - `createDate` string, date-time — Timestamp when the change was recorded.
    - `id` string, nullable — System-generated change message identifier.
    - `identifier` string, nullable — Optional identifier of the specific sub-entity that changed (e.g. line id).
    - `newValue` string, nullable — New value when the change represents a single-field mutation.
    - `oldValue` string, nullable — Prior value when the change represents a single-field mutation.
    - `siteId` integer — Site identifier.
    - `subject` string, nullable — Subject of the change (e.g. "status", "line.status").
    - `tenantId` integer — Tenant identifier.
  - `channelCode` string, nullable — Channel origin (e.g. "wholesale", "ecommerce", "EDI").
  - `completedAt` string, date-time, nullable — Timestamp when all lines reached terminal status.
  - `creditHold` CreditHoldStatus — Header-level credit-hold state for a CallOffOrder. Replaces the per-item CreditHold + CreditHoldReason fields that lived on CallOffOrderItem prior to this change — credit-hold is a header concern (one decision per order) not a per-line concern.
    - `onHold` boolean — True when the order is on credit hold.
    - `reason` CreditHoldReason
      - `description` string, nullable
      - `moreInfo` string, nullable
      - `reasonCode` string, nullable
  - `currencyCode` string, nullable — Currency code (ISO 4217). Must match the parent Blanket Order currency when one is referenced.
  - `customerAccountId` integer, nullable — B2B Account identifier. Must reference an active B2B account.
  - `data` object, nullable — Vendor / extension custom data, free-form JSON.
  - `destinations` CommerceRuntimeDestination[], nullable — Shipping destinations. Items reference these by DestinationId (IDestinationContainer pattern).
    - `data` object, nullable — Custom data
    - `destinationContact` CommerceRuntimeContact
      - `address` CommerceRuntimeAddress
        - `address1` string, nullable
        - `address2` string, nullable
        - `address3` string, nullable
        - `address4` string, nullable
        - `addressType` string, nullable
        - `cityOrTown` string, nullable
        - `countryCode` string, nullable
        - `isValidated` boolean, nullable
        - `postalOrZipCode` string, nullable
        - `stateOrProvince` string, nullable
      - `companyOrOrganization` string, nullable
      - `email` string, email, nullable
      - `firstName` string, nullable
      - `id` integer, nullable
      - `lastNameOrSurname` string, nullable
      - `middleNameOrInitial` string, nullable
      - `phoneNumbers` CommerceRuntimePhone
        - `home` string, nullable
        - `mobile` string, nullable
        - `work` string, nullable
    - `id` string, nullable — An identifier for this entry.
    - `isDestinationCommercial` boolean, nullable — Indicates that the destination is commercial
  - `externalId` string, nullable — Buyer's own reference number / idempotency key (e.g. release number from an ERP). Unique per tenant when supplied.
  - `id` string, nullable — System-generated unique identifier (MozuObjectId).
  - `items` CallOffOrderItem[], nullable — Requested product line items.
    - `actualDeliveryDate` string, date-time, nullable — Actual delivery date, recorded once the line has been physically delivered.
    - `attributes` CallOffOrderItemAttribute[], nullable — Line-level custom attributes extending AbstractAttribute.
      - `attributeDefinitionId` integer, nullable
      - `auditInfo` CoreApiContractsAuditInfo
        - `createBy` string, nullable
        - `createDate` string, date-time, nullable
        - `updateBy` string, nullable
        - `updateDate` string, date-time, nullable
      - `fullyQualifiedName` string, nullable
      - `values` unknown[], nullable
        - unknown
    - `blanketOrderItemId` string, nullable — Identifier of the Blanket Order item this item draws from. Required when the parent call-off references a Blanket Order.
    - `cancelledBy` string, nullable — User who cancelled this line.
    - `cancelledDate` string, date-time, nullable — Line cancellation timestamp.
    - `cancelledReason` CommerceRuntimeCanceledReason
      - `description` string, nullable
      - `moreInfo` string, nullable
      - `reasonCode` string, nullable
    - `destinationId` string, nullable — Identifier of the Destination in the parent call-off's Destinations collection that this line ships to.
    - `expectedDeliveryDate` string, date-time, nullable — Expected delivery date, typically provided by the supplier or fulfillment system.
    - `fillRate` number, double, nullable — Computed fill ratio (ReservedQty / RequestedQty). Phase 2+.
    - `fulfillmentLocationCode` string, nullable — Pickup location code. Meaningful only when `FulfillmentType == "Pickup"`; ignored for Ship / Digital / Curbside / Delivery (downstream Order Routing handles those). Carried into the SalesOrder created by the Release Rules Engine (spec 005 FR-021).
    - `fulfillmentType` string, nullable — Per-line fulfillment method. One of: Ship, Pickup, Digital, Curbside, Delivery. In a future release, CallOffOrderItem may extend FulfillableCommerceItem.
    - `id` string, nullable — System-generated item identifier.
    - `inventoryTags` InventoryTags[], nullable — Name-value pairs scoping the inventory pool for reservation. Set at item creation and immutable once a reservation exists.
      - `name` string, nullable
      - `value` string, nullable
    - `lineId` integer, nullable — Sequential line identifier within the call-off, auto-assigned.
    - `lineTotal` number, double, nullable — Total amount for this line. Client-supplied in Mode 1; computed in Mode 2.
    - `product` CallOffOrderProductReference — Lightweight product identity for Call-Off Order Items.
      - `name` string, nullable — Display name of the product.
      - `productCode` string, nullable — Product code (SKU). Must match the Blanket Order line product when the parent call-off references a Blanket Order.
    - `releasedDate` string, date-time, nullable — Timestamp when this line was released to a Sales Order (Phase 3).
    - `releasedQty` integer — Quantity released to a Sales Order. Written in Phase 3; zero in Phases 1–2.
    - `requestedDeliveryDate` string, date-time, nullable — Buyer-requested delivery date for this line.
    - `requestedQty` integer — Buyer-requested quantity.
    - `requestedShipDate` string, date-time, nullable — Buyer-requested ship date. Must fall within the parent Blanket Order's validity period when a Blanket Order is referenced.
    - `reservedQty` integer — Quantity reserved by the inventory reservation engine. Written in Phase 2; zero in Phase 1.
    - `salesOrderId` string, nullable — The SalesOrder id this line was released into. Null until the line transitions to `Released` by the Release Rules Engine (spec 005). Immutable thereafter.
    - `status` string, nullable — Current line status. One of: Hold, PartiallyReserved, Released, Converted, Cancelled.
    - `unitPrice` number, double, nullable — Per-line unit price. Overridable — may come from the Blanket Order, be client-supplied, or be buyer-negotiated.
  - `notes` CommerceRuntimeOrderNote[], nullable — Structured notes attached to the call-off order.
    - `auditInfo` CoreApiContractsAuditInfo
      - `createBy` string, nullable
      - `createDate` string, date-time, nullable
      - `updateBy` string, nullable
      - `updateDate` string, date-time, nullable
    - `id` string, nullable — Unique identifier of the note. System-supplied and read-only.
    - `text` string, nullable — Text of the note. Maximum 250 characters.
  - `number` integer, nullable — Human-readable sequential number, auto-generated per tenant.
  - `reservationId` string, nullable — Inventory reservation identifier. Set when inventory is reserved for this call-off order.
  - `siteId` integer — Site identifier. Populated from the API context on read.
  - `status` string, nullable — Current call-off order status. One of: Hold, PartiallyReserved, PartiallyReleased, Completed, Cancelled.
  - `tenantId` integer — Tenant identifier. Populated from the API context on read.
  - `totalAmount` number, double — Denormalized header total — sum of non-cancelled line LineTotal values. System-maintained; not client-settable.
  - `version` string, nullable — Optimistic locking version. Initialized to "1" and incremented as a string on each update.

## Response `200`

OK

- CallOffOrder — A buyer's delivery request, either linked to a Blanket Order or standalone.
  - `attributes` CallOffOrderAttribute[], nullable — Custom attributes extending AbstractAttribute. Flows downstream to Sales Orders and Shipments in later phases.
    - `attributeDefinitionId` integer, nullable
    - `auditInfo` CoreApiContractsAuditInfo
      - `createBy` string, nullable
      - `createDate` string, date-time, nullable
      - `updateBy` string, nullable
      - `updateDate` string, date-time, nullable
    - `fullyQualifiedName` string, nullable
    - `values` unknown[], nullable
      - unknown
  - `auditInfo` CoreApiContractsAuditInfo
    - `createBy` string, nullable
    - `createDate` string, date-time, nullable
    - `updateBy` string, nullable
    - `updateDate` string, date-time, nullable
  - `availableActions` string[], nullable — Actions valid for the current status. Computed on read; not persisted.
  - `blanketOrderId` string, nullable — Identifier of the parent Blanket Order if this call-off draws from one; null for standalone call-offs.
  - `cancelledBy` string, nullable — User who cancelled the call-off order.
  - `cancelledDate` string, date-time, nullable — Cancellation timestamp.
  - `cancelledReason` CommerceRuntimeCanceledReason
    - `description` string, nullable
    - `moreInfo` string, nullable
    - `reasonCode` string, nullable
  - `changeMessages` CallOffOrderChangeMessage[], nullable — Change messages describing mutations to this call-off order. Hydrated from a separate collection on read; not embedded on the document.
    - `body` string, nullable — Human-readable description of what changed.
    - `callOffOrderId` string, nullable — Identifier of the parent call-off order this message belongs to.
    - `createBy` string, nullable — User who triggered the change.
    - `createDate` string, date-time — Timestamp when the change was recorded.
    - `id` string, nullable — System-generated change message identifier.
    - `identifier` string, nullable — Optional identifier of the specific sub-entity that changed (e.g. line id).
    - `newValue` string, nullable — New value when the change represents a single-field mutation.
    - `oldValue` string, nullable — Prior value when the change represents a single-field mutation.
    - `siteId` integer — Site identifier.
    - `subject` string, nullable — Subject of the change (e.g. "status", "line.status").
    - `tenantId` integer — Tenant identifier.
  - `channelCode` string, nullable — Channel origin (e.g. "wholesale", "ecommerce", "EDI").
  - `completedAt` string, date-time, nullable — Timestamp when all lines reached terminal status.
  - `creditHold` CreditHoldStatus — Header-level credit-hold state for a CallOffOrder. Replaces the per-item CreditHold + CreditHoldReason fields that lived on CallOffOrderItem prior to this change — credit-hold is a header concern (one decision per order) not a per-line concern.
    - `onHold` boolean — True when the order is on credit hold.
    - `reason` CreditHoldReason
      - `description` string, nullable
      - `moreInfo` string, nullable
      - `reasonCode` string, nullable
  - `currencyCode` string, nullable — Currency code (ISO 4217). Must match the parent Blanket Order currency when one is referenced.
  - `customerAccountId` integer, nullable — B2B Account identifier. Must reference an active B2B account.
  - `data` object, nullable — Vendor / extension custom data, free-form JSON.
  - `destinations` CommerceRuntimeDestination[], nullable — Shipping destinations. Items reference these by DestinationId (IDestinationContainer pattern).
    - `data` object, nullable — Custom data
    - `destinationContact` CommerceRuntimeContact
      - `address` CommerceRuntimeAddress
        - `address1` string, nullable
        - `address2` string, nullable
        - `address3` string, nullable
        - `address4` string, nullable
        - `addressType` string, nullable
        - `cityOrTown` string, nullable
        - `countryCode` string, nullable
        - `isValidated` boolean, nullable
        - `postalOrZipCode` string, nullable
        - `stateOrProvince` string, nullable
      - `companyOrOrganization` string, nullable
      - `email` string, email, nullable
      - `firstName` string, nullable
      - `id` integer, nullable
      - `lastNameOrSurname` string, nullable
      - `middleNameOrInitial` string, nullable
      - `phoneNumbers` CommerceRuntimePhone
        - `home` string, nullable
        - `mobile` string, nullable
        - `work` string, nullable
    - `id` string, nullable — An identifier for this entry.
    - `isDestinationCommercial` boolean, nullable — Indicates that the destination is commercial
  - `externalId` string, nullable — Buyer's own reference number / idempotency key (e.g. release number from an ERP). Unique per tenant when supplied.
  - `id` string, nullable — System-generated unique identifier (MozuObjectId).
  - `items` CallOffOrderItem[], nullable — Requested product line items.
    - `actualDeliveryDate` string, date-time, nullable — Actual delivery date, recorded once the line has been physically delivered.
    - `attributes` CallOffOrderItemAttribute[], nullable — Line-level custom attributes extending AbstractAttribute.
      - `attributeDefinitionId` integer, nullable
      - `auditInfo` CoreApiContractsAuditInfo
        - `createBy` string, nullable
        - `createDate` string, date-time, nullable
        - `updateBy` string, nullable
        - `updateDate` string, date-time, nullable
      - `fullyQualifiedName` string, nullable
      - `values` unknown[], nullable
        - unknown
    - `blanketOrderItemId` string, nullable — Identifier of the Blanket Order item this item draws from. Required when the parent call-off references a Blanket Order.
    - `cancelledBy` string, nullable — User who cancelled this line.
    - `cancelledDate` string, date-time, nullable — Line cancellation timestamp.
    - `cancelledReason` CommerceRuntimeCanceledReason
      - `description` string, nullable
      - `moreInfo` string, nullable
      - `reasonCode` string, nullable
    - `destinationId` string, nullable — Identifier of the Destination in the parent call-off's Destinations collection that this line ships to.
    - `expectedDeliveryDate` string, date-time, nullable — Expected delivery date, typically provided by the supplier or fulfillment system.
    - `fillRate` number, double, nullable — Computed fill ratio (ReservedQty / RequestedQty). Phase 2+.
    - `fulfillmentLocationCode` string, nullable — Pickup location code. Meaningful only when `FulfillmentType == "Pickup"`; ignored for Ship / Digital / Curbside / Delivery (downstream Order Routing handles those). Carried into the SalesOrder created by the Release Rules Engine (spec 005 FR-021).
    - `fulfillmentType` string, nullable — Per-line fulfillment method. One of: Ship, Pickup, Digital, Curbside, Delivery. In a future release, CallOffOrderItem may extend FulfillableCommerceItem.
    - `id` string, nullable — System-generated item identifier.
    - `inventoryTags` InventoryTags[], nullable — Name-value pairs scoping the inventory pool for reservation. Set at item creation and immutable once a reservation exists.
      - `name` string, nullable
      - `value` string, nullable
    - `lineId` integer, nullable — Sequential line identifier within the call-off, auto-assigned.
    - `lineTotal` number, double, nullable — Total amount for this line. Client-supplied in Mode 1; computed in Mode 2.
    - `product` CallOffOrderProductReference — Lightweight product identity for Call-Off Order Items.
      - `name` string, nullable — Display name of the product.
      - `productCode` string, nullable — Product code (SKU). Must match the Blanket Order line product when the parent call-off references a Blanket Order.
    - `releasedDate` string, date-time, nullable — Timestamp when this line was released to a Sales Order (Phase 3).
    - `releasedQty` integer — Quantity released to a Sales Order. Written in Phase 3; zero in Phases 1–2.
    - `requestedDeliveryDate` string, date-time, nullable — Buyer-requested delivery date for this line.
    - `requestedQty` integer — Buyer-requested quantity.
    - `requestedShipDate` string, date-time, nullable — Buyer-requested ship date. Must fall within the parent Blanket Order's validity period when a Blanket Order is referenced.
    - `reservedQty` integer — Quantity reserved by the inventory reservation engine. Written in Phase 2; zero in Phase 1.
    - `salesOrderId` string, nullable — The SalesOrder id this line was released into. Null until the line transitions to `Released` by the Release Rules Engine (spec 005). Immutable thereafter.
    - `status` string, nullable — Current line status. One of: Hold, PartiallyReserved, Released, Converted, Cancelled.
    - `unitPrice` number, double, nullable — Per-line unit price. Overridable — may come from the Blanket Order, be client-supplied, or be buyer-negotiated.
  - `notes` CommerceRuntimeOrderNote[], nullable — Structured notes attached to the call-off order.
    - `auditInfo` CoreApiContractsAuditInfo
      - `createBy` string, nullable
      - `createDate` string, date-time, nullable
      - `updateBy` string, nullable
      - `updateDate` string, date-time, nullable
    - `id` string, nullable — Unique identifier of the note. System-supplied and read-only.
    - `text` string, nullable — Text of the note. Maximum 250 characters.
  - `number` integer, nullable — Human-readable sequential number, auto-generated per tenant.
  - `reservationId` string, nullable — Inventory reservation identifier. Set when inventory is reserved for this call-off order.
  - `siteId` integer — Site identifier. Populated from the API context on read.
  - `status` string, nullable — Current call-off order status. One of: Hold, PartiallyReserved, PartiallyReleased, Completed, Cancelled.
  - `tenantId` integer — Tenant identifier. Populated from the API context on read.
  - `totalAmount` number, double — Denormalized header total — sum of non-cancelled line LineTotal values. System-maintained; not client-settable.
  - `version` string, nullable — Optimistic locking version. Initialized to "1" and incremented as a string on each update.

---

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