{"ok":true,"commandType":"swap-item-uom-rates","module":"Stock","mode":"write","summary":"Swap an item's UOM conversion rates.","payloadSchema":{"itemCode":"required AutoCount item code","rates":"required modified UOM rates; each row has uom, positive newRate, and optional isBaseUOM","validateOnly":"optional boolean; true runs this command as a no-change preflight and still requires Edit permission","confirm":"required true for an actual save; not required when validateOnly is true"},"examplePayload":{"itemCode":"ITEM-001","rates":[{"uom":"BOX","newRate":12,"isBaseUOM":false},{"uom":"PCS","newRate":1,"isBaseUOM":true}],"confirm":true},"examples":[{"itemCode":"ITEM-001","rates":[{"uom":"BOX","newRate":12,"isBaseUOM":false},{"uom":"PCS","newRate":1,"isBaseUOM":true}],"validateOnly":true}],"payloadEnums":{},"requiredPayloadFields":["itemCode","rates"],"conditionalPayloadRules":{},"notes":"Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Native StartSwapUOMRate; isBaseUOM is optional per row. Exactly one resulting base UOM at rate 1 is required. New connectors structurally verify the save before selected-item costing in a separate commit; the native costing right is required. Rate maintenance may repair batch balances book-wide. Historical guards remain; no automatic retry after partial completion.","nativePayload":{"commandType":"swap-item-uom-rates","title":"Swap an item's UOM conversion rates.","description":"Static cloud payload schema. It does not assert that the installed connector supports this native operation.","supported":true,"schemaOnly":true,"runtimeAvailability":"read-change-code-capabilities","required":["itemCode","rates"],"fields":{"itemCode":{"type":"string","required":true,"description":"required AutoCount item code"},"rates":{"type":"array","required":true,"description":"required modified UOM rates; each row has uom, positive newRate, and optional isBaseUOM","items":{"type":"object","required":["uom","newRate"],"properties":{"uom":{"type":"string","minLength":1},"newRate":{"type":"number","minimum":0,"exclusiveMinimum":true},"isBaseUOM":{"type":"boolean"}},"additionalProperties":false}}},"example":{"itemCode":"ITEM-001","rates":[{"uom":"BOX","newRate":12,"isBaseUOM":false},{"uom":"PCS","newRate":1,"isBaseUOM":true}]},"notes":["supported indicates that this payload schema is available, not that the installed connector has the native SDK operation.","Native StartSwapUOMRate; isBaseUOM is optional per row. Exactly one resulting base UOM at rate 1 is required. New connectors structurally verify the save before selected-item costing in a separate commit; the native costing right is required. Rate maintenance may repair batch balances book-wide. Historical guards remain; no automatic retry after partial completion."]}}