Add Snapshot Ignore Existing
POST/api/orders/addsnapshot/:ignoreExisting
Tier: Public — stable, supported for third-party integration.
The scan-ingestion endpoint that drives allocation and receiving. This is the primary way tags get associated with an order.
{!:AddOrderSnapshotDto.SnapshotType} of Add records scans normally;
Remove reverts previously recorded scans (allowed only while
Allocating/Receiving) — the affected items are returned to their prior
state and place. Item creation for unrecognised tags is serialised behind a lock while
tags are resolved. Supports the async AddOrderSnapshotDto.NotifyOnceComplete
pattern described on Controllers.OrderController.
Calling this while the order is in a non-scanning state (Allocated, Received, Completed, or Cancelled) is rejected ungracefully: the state handler has no snapshot behaviour to run, which surfaces as a 400 OperationFailed carrying a raw exception message rather than a clean invalid-state error.
Request
Responses
- 200
- 400
- 401
- 403
Returns Orders.OrderOperationResultDto — either the updated order (OrderDto) or a queued BackgroundTaskId.
The order's current Enums.OrderStateType/Enums.OrderStatus does not allow this operation (including the non-scanning-state case above), the order id was not found, background scheduling failed, or processing failed (error array).
The caller is not authenticated.
The caller lacks Order Update permission.