Skip to main content

Resolve Cycle Count

POST 

/api/cyclecounts/resolvecyclecount

Tier: Internal — subject to change without notice.

Uploads the scan batch for a cycle count and resolves it in the same call (there is no separate snapshot-upload endpoint for cycle counts).

The item-resolution logic runs inside a blanket catch block: any exception raised mid-resolve — including the System.ArgumentException thrown when resolving an already-complete cycle count a second time — is silently swallowed. The action still raises the CycleCountResolved event and returns 200 with a detail DTO reflecting whatever partially committed, rather than surfacing the failure (code-read only, not verified live — see docs/api-known-issues.md). Out-of-scope tags scanned during a SkuGroup/CustomSku count are captured on the snapshot but excluded from the Present/Moved/Created results.

Request

Responses

A CycleCountDtos.ResolveCycleCountResultDto. On the synchronous path this carries the resolved detail plus Notifications for items excluded because their current item state disallows the scan. On the async path only BackgroundTaskId and a placeholder CycleCountDto (Id only) are populated. Unknown tags are auto-created as items at the count place (recorded with the literal state string "Created"); scanned items already at the place become Present; scanned items located elsewhere are physically moved and become Moved. There is no missing-item sweep. Raises the CycleCountResolved system event and flips IsComplete to true (terminal).