Dragon Guard models outbound warehouse activity through Shipment Headers and Shipment Lines. A shipment starts as a draft (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/CodexaCP/DG_BACK/llms.txt
Use this file to discover all available pages before exploring further.
OPEN), gets released to the warehouse floor (RELEASED), handheld operators record shipped quantities line by line, and a supervisor posts the shipment to write negative inventory movements. Posting queues an outbound acknowledgment for ERP callback if a CallbackUrl is configured.
All shipment endpoints are company-scoped. CompanyId is resolved from the bearer token or the optional ?companyId= query parameter.
Status Lifecycle
| Status | Meaning |
|---|---|
OPEN | Draft, not visible to warehouse operators. |
RELEASED | Released for picking; visible to handheld. |
SHIPPING / READY_TO_POST | Handheld operational session active. |
PARTIALLY POSTED | At least one line posted; remaining lines still open. |
POSTED | All lines posted; document closed. |
documentStatus and processingStatus fields provide a client-friendly representation alongside the raw shipmentStatus.
Shipment Headers
List shipment headers
Page number.
Records per page (max 100).
Filter by
shipmentStatus.Partial match on shipment number.
Sort field:
CreatedAt or ShipmentNo.Sort descending.
OPERATOR tokens only see shipments in
RELEASED, SHIPPING,
READY_TO_POST, or PARTIALLY POSTED status. ADMIN and SUPERVISOR see all
statuses.ShipmentHeaderDto)
Shipment header UUID.
Auto-generated shipment number (
SHP-NNNNNN).ERP or external reference number.
Linked sales order number.
Type (e.g.
STANDARD).Raw status value.
Client-friendly:
Open, Released, Closed, Cancelled.Pending, PartiallyShipped, or Posted.Warehouse/location code. Falls back to tenant default.
Customer code.
Customer display name.
Planned ship date.
Populated on first post.
Number of shipment lines.
Total ordered quantity across all lines.
true when fully posted.Get shipment header detail
ShipmentHeaderDetailDto including all lines, per-line alreadyPostedQty, postedQuantity, and remainingQuantity. Also includes isHandheldInUse and activeOperatorEmail when a handheld session is active.
Create a shipment
CreateShipmentHeaderDto)
ERP or external reference number.
Internal reference number.
Link to an existing local sales order.
Sales order number. Auto-generated per-tenant when omitted or when the value is the placeholder
SO-AUTO.Shipment type (e.g.
STANDARD).Customer ID.
Customer code.
Customer name.
Ship-to contact name.
Ship-to street address.
Ship-to city.
Ship-to state.
Ship-to postal code.
Ship-to country.
Order date.
Planned ship date.
Carrier code.
Carrier name.
Carrier service level.
Allow backorder fulfillment.
Allow partial shipment.
At least one line with
orderedQty > 0 is required.Item UUID. Either
itemId or itemNo required.Item number. Either
itemId or itemNo required.Ordered quantity (must be > 0).
Unit of measure. Defaults to item’s UOM.
Source bin for picking.
Source bin code.
Update a shipment
OPEN or RELEASED. Accepts the same body shape as create. Rules:
- Posted lines cannot be removed; their
orderedQtycannot drop below the already-posted quantity. - Non-posted lines may be freely added, updated, or removed.
- Reopening
RELEASED → OPENis rejected when handheld activity exists on any line. - A per-shipment SQL application lock prevents concurrent edits.
Shipment Lines
List lines for a shipment
Parent shipment UUID.
Filter by
lineStatus.Page number.
Records per page (max 200).
Get a single line
Update a shipment line
Quantity to ship on this line. Must be ≥ 0.
- Parent shipment must not be closed or posted.
alreadyPosted + shippedQtycannot exceedorderedQty.- Line
lineStatustransitions toOPEN,PARTIAL, orREADY_TO_POST. - A per-shipment SQL application lock is acquired.
Post a Shipment
Operators record shipped quantities
Handheld operators use
PUT /api/shipmentlines/{id} to set shippedQty
for each line, confirming the physical quantity loaded for shipment.Inventory and history created
Dragon Guard creates
PostedShipment, PostedShipmentLine records, and
writes a negative InventoryMovements entry per line with
movementType = "OUT".- Shipment must not be closed or already posted.
- Every posted line must have a
binId. shippedQtymust not exceed remainingorderedQty.- For items with
allowNegativeAvailable = false, available stock must covershippedQty. - RFID evidence check runs when RFID enforcement is configured for
SHIPMENTS.
shipmentStatus becomes PARTIALLY POSTED. Subsequent calls post remaining lines until all are fulfilled and the document closes.
Posted Shipment History
List posted headers
?search= (matches postedShipmentNo, shipmentNo, customerCode, customerName, warehouseCode).Get posted header detail
By source shipment
Posted lines
Outbound Acknowledgments
After every successful shipment post, Dragon Guard:- Persists an
OutboundAcknowledgmentrecord within the same database transaction. - Attempts a best-effort
POSTto the tenantCallbackUrlwith the full posted shipment payload. - Logs a warning if the callback fails — the shipment post is never rolled back due to a callback failure.
GET /api/outbound-acknowledgments at any time; the status field transitions from QUEUED → DISPATCHED → ACKNOWLEDGED.
Sales Orders
salesOrderId / salesOrderNo to enable automatic SO progress tracking (quantities shipped, outstanding, and status OPEN → PARTIALLY SHIPPED → SHIPPED).
Pick Headers
status, assignedUser, and pickNo, and sorting by pickNo, status, assignedUser, completedAt, or createdAt.
PickHeaderDetailDto for a single pick document, including pickNo, status, assignedUserName, salesOrderNo, warehouseShipmentNo, createdAt, and completedAt.
Transfer Headers
SupportsTransferExecution = true). For tenants that do not support transfers, the endpoint returns an empty paged result.
GrupoMasTransferPostingResultDto; the operatorEmail and postedAtUtc fields are set server-side from the authenticated user and current UTC time.
Configuration Packages
Dragon Guard supports Excel-based bulk operations for shipment data using the sameWMS_CONFIG_PACKAGE_V1 format as items.
Shipment headers package
Export
shipment_headers_config_package.xlsx.Preview
Apply
ShipmentNo, ShipmentStatus, WarehouseCode, SalesOrderNo, OrderDate, PlannedShipDate, CustomerName, ExternalShipmentNo, ReferenceNo, IsBackorderAllowed, IsPartialAllowed.
Shipment lines package
Export
Preview
Apply
ShipmentNo, LineNo, ItemNo, SourceSalesOrderNo, OrderedQty, ShippedQty, UnitOfMeasure, BinCode.