Resolve Inventory
POST/api/inventories/resolveinventory
Tier: Internal — subject to change without notice.
Resolves a stocktake using the operator's reviewed item dispositions.
Each ResolveItemDto.ItemState value is accepted but ignored — the server
derives Present/Missing/Moved purely from which of the three lists an item id appears in.
Request
Responses
- 200
- 400
- 401
- 403
When ReturnResultDto is true: InventoryDtos.InventoryOperationResultDto with the
resolved InventoryDtos.InventoryDetailDto (includes CurrentUserIsPlaceManager when
the outcome parks the stocktake). When false (default): a bare
InventoryDtos.InventoryDetailDto. On the async path, a fake placeholder detail
(InventoryState:"Processing") plus, when applicable, BackgroundTaskId.
The outcome state is Complete, ValidationFailed, or PendingApproval
depending on the configured InventoryDtos.InventorySettingsDto — see
Enums.InventoryStateType. Consolidated-subtype inventories are routed to the
consolidated resolve path automatically.
The processing gate refused the request — InvalidOperation; the client's
Expected/Unexpected/Missing counts each must be within ±5% of the server's own live
computation, and duplicate item ids in any list are rejected —
FailedToResolveInventory with message
Caller is not authenticated.
Caller does not have Update permission on the Inventory module.