RelocateStockInput
input type
Relocate-input for relocateStock. A location is a Bin or (side absent) the DERIVED un-binned pool: bin-to-bin, pool-to-bin (put-away), bin-to-pool (take-out); at least ONE side names a bin and an equal pair refuses. Both bins must belong to the item logical facility (relocate is intra-LF by law); the to-bin must be ACTIVE (the from-bin may be any status — the healing direction). Lot fields ride ONLY on lot-controlled items.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
inventoryItemId | ID ID! | yes | The InventoryItem id — tenant-scoped + ACTIVE-gated + STOCKED-gated server-side. |
quantity | String String! | yes | The moved quantity — a strictly POSITIVE decimal string. |
bucket | StockBucket | no | The relocated bucket — on_hand | damaged | held; DEFAULTED to on_hand when omitted. |
fromBinId | ID | no | The source Bin id; ABSENT = the un-binned pool. |
toBinId | ID | no | The target Bin id; ABSENT = the un-binned pool. |
lotCode | String | no | The lot identity. |
lotExpiresAt | String | no | The lot expiry (UTC instant) — birth-stamps the lot record; a later mismatch refuses; a record missing it is enriched. |
caption | String | no | No further notes. |
refs | String [String!] | no | No further notes. |