Dragon Guard models inbound warehouse activity as a two-stage workflow. First, a Receiving Header document is created (optionally from a purchase order) and its Receiving Lines are populated with expected items and quantities. Second, the operator confirms received quantities — typically from a handheld device — and a supervisor or operator triggers the Post action to commit inventory movements and optionally notify an ERP through an outbound acknowledgment. All receiving endpoints are company-scoped: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.
CompanyId is resolved from the bearer token and enforced on every query and mutation.
Status Lifecycle
A receiving header moves through the following statuses:| Status | Meaning |
|---|---|
OPEN | Draft, not yet visible to handheld operators. |
RELEASED | Visible to handheld operators for execution. |
RECEIVING | Posting has started but remaining lines are still open. |
CLOSED | All lines fully posted. |
documentStatus and processingStatus fields on list/detail responses expose a client-friendly representation without removing the raw status value.
Receiving Headers
List receipt headers
Free-text match on
receiptNo, vendorName, externalDocumentNo, or status.Filter by normalized status:
OPEN, RELEASED, RECEIVING, CLOSED, CANCELLED.Page number.
Records per page.
Handheld / OPERATOR tokens only see
RELEASED and RECEIVING headers.
ADMIN and SUPERVISOR tokens see all statuses.PagedResponse<ReceivingHeaderDto>
Header UUID.
Auto-generated receipt number (format
RCP-NNNNNNN).Associated purchase order number.
ERP-side document number.
Vendor code.
Vendor display name.
Receiving warehouse location code.
Internal reference number.
Raw status value.
Client-friendly status:
Open, Released, Closed, Cancelled.Pending, PartiallyReceived, or Posted.Receipt date.
Creation timestamp.
User who created the header.
Get receipt header detail
ReceivingHeaderDetailDto including all lines, per-line postedQuantityReceived and remainingQuantity computed from PostedReceivingLines, the isHandheldInUse flag, and the activeOperatorEmail of any handheld operator currently working on the document.
Create a receipt header
CreateReceivingHeaderDto)
PO number. Auto-generated from sequence if omitted (format
PO-NNNNNN).ERP reference number.
Vendor code.
Vendor name.
Date of receipt. Defaults to
UTC now.Receiving location code. Resolved from tenant default when omitted.
Internal reference number.
Free-text remarks.
Initial status:
OPEN (hidden from handheld) or RELEASED (visible to handheld). Defaults to OPEN.At least one receiving line is required.
Item to receive.
Expected quantity (must be > 0).
Unit of measure.
Target putaway bin. Falls back to tenant default bin.
Update a receipt header
OPEN or RELEASED status. Accepts the same body shape as create. Lines with posted history cannot be removed and their quantityExpected cannot be reduced below the already-posted quantity. The endpoint acquires a per-receipt SQL application lock to prevent concurrent edits.
Receiving Lines
List receiving lines
Filter lines to a specific receipt.
Page number.
Records per page.
PagedResponse<ReceivingLineDto> with postedQuantityReceived and remainingQuantity computed from PostedReceivingLines.
Get receiving line detail
ReceivingLineDetailDto for a single line, including receiptNo, itemCode, itemDescription, binCode, and computed postedQuantityReceived and remainingQuantity.
Get lines by header
Page number.
Records per page.
Update a receiving line
quantityReceived before posting.
Quantity scanned/counted by the operator. Must be ≥ 0.
Override the putaway bin. Must be active, not blocked, and allow putaway.
alreadyPosted + quantityReceivedcannot exceedquantityExpected.- Line
statusis updated toOPEN,PARTIAL, orCLOSEDbased on total processed quantity. - A per-receipt SQL application lock is acquired to prevent concurrent writes.
Post a Receipt
Operators scan quantities
Handheld operators use
PUT /api/receivinglines/{id} to record
quantityReceived for each line and optionally assign a putaway bin.Supervisor posts the receipt
A supervisor or operator calls
POST /api/receivingheaders/{id}/post to
commit the inventory.Inventory and history created
Dragon Guard creates a
PostedReceivingHeader, one PostedReceivingLine
per processed line, and one InventoryMovements record per line with
movementType = "IN".Roles
ADMIN, SUPERVISOR, and OPERATOR may post receipts.- Receipt must not already be fully posted.
- Every posted line must have a valid
binId. alreadyPosted + quantityReceivedcannot exceedquantityExpected(over-receiving requires vendor-levelallowOverReceiptflag).- RFID evidence check runs when RFID enforcement is configured for
RECEIPTS. - The company must have a non-empty
code(required for ERP outbound payload).
RECEIVING if any lines remain, or CLOSED if all lines are fulfilled. Subsequent posts on the same receipt append more PostedReceivingLines to the same history.
Posted Receiving History
List posted headers
?search= to filter by postedReceivingNo, receiptNo, vendorCode, or vendorName.Get posted header detail
By original receipt
Posted lines
Receipt Configuration Packages
Dragon Guard supports Excel-based bulk operations for receipts and receipt lines.Export receipts
receipts_config_package.xlsx.Preview receipts
Apply receipts
ReceiptNo, Status, LocationCode, PurchaseOrderNo, ReceiptDate, VendorName, ExternalDocumentNo, ReferenceNo, Remarks.
Export lines
Preview lines
Apply lines
ReceiptNo, LineNo, ItemNo, SourcePurchaseOrderNo, QuantityExpected, QuantityReceived, UOM.
Purchase Orders Integration
?search= (matches purchaseOrderNo, vendorName, externalDocumentNo) and ?status= filtering. Purchase orders can be linked to receipt headers via purchaseOrderId / purchaseOrderNo to enable automatic PO progress tracking (quantities received, outstanding, and status OPEN → PARTIALLY RECEIVED → RECEIVED).
ERP Outbound Acknowledgment Flow
When a GrupoMASNative (or other integrated) tenant has aCallbackUrl configured, Dragon Guard queues an outbound acknowledgment after every successful post:
- Queue: An
OutboundAcknowledgmentrecord is persisted within the posting transaction. - Dispatch: After the transaction commits, Dragon Guard attempts a best-effort
POSTto theCallbackUrlwith the posted receipt payload. - Non-blocking: A callback failure logs a warning but does not roll back or retry the inventory post.
- Polling fallback: Integrations that poll
GET /api/outbound-acknowledgmentsremain fully compatible.
The outbound acknowledgment includes
postedReceivingNo, vendor, receipt
date, and line-level quantities so the ERP can update its own goods-receipt
records without re-querying Dragon Guard.