Skip to main content

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.

The RFID Events API is the scan-audit layer of Dragon Guard. Every time a handheld device reads an EPC, a scan event record is created via POST /api/rfid/events. The event stores resolution state, validation outcome, document context, and operator metadata. The API also exposes a handheld runtime context endpoint used by handhelds to load their RFID operational policy and device profile at startup.

POST /api/rfid/events

Records a new RFID scan event. Called by handheld devices after each EPC scan to log the result, trigger tag resolution, and enforce configured validation policies. Authentication: Authorization: Bearer <token> (required).
rawEpc
string
required
Raw EPC string as read from the RFID reader hardware.
normalizedEpc
string
Pre-normalized EPC. If omitted, the server normalizes rawEpc.
captureMode
string
required
How the EPC was captured (e.g., HANDHELD, FIXED_READER, MANUAL_ENTRY).
module
string
required
WMS module that triggered the scan (e.g., RECEIVING, SHIPMENT, INVENTORY_COUNT, TRANSFER).
eventType
string
required
Type of scan event (e.g., SCAN_IN, SCAN_OUT, VALIDATION).
documentType
string
Document type this scan is associated with (e.g., RECEIPT, SHIPMENT).
documentNo
string
Document number this scan is associated with.
documentLineNo
string
Line number within the associated document.
locationCodeSnapshot
string
Location code at time of scan.
binCodeSnapshot
string
Bin code at time of scan.
quantity
decimal
Quantity decoded from or associated with the tag.
deviceKeySnapshot
string
Normalized device key of the scanning device.
operatorEmail
string
Email of the operator performing the scan.
correlationId
string
Correlation ID for grouping related events in a single session.
sessionId
string
Session ID grouping all events in a single document scan session.
scannedAtUtc
string (ISO 8601)
Timestamp of the physical scan. Defaults to server time if omitted.
resolutionStatus
string
Tag resolution outcome (e.g., RESOLVED, UNRESOLVED, AMBIGUOUS).
validationStatus
string
Validation outcome (e.g., VALID, INVALID, WARN).
errorMessage
string
Error message if validation or resolution failed.
metadataJson
string
Optional JSON string for additional metadata.
Returns 201 Created with the full RfidScanEventDto. Error codes
StatusMeaning
400Invalid payload or business rule violation.
curl -X POST "https://api.example.com/api/rfid/events" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "rawEpc": "AA:BB:CC:DD:EE:FF:00:01",
    "captureMode": "HANDHELD",
    "module": "RECEIVING",
    "eventType": "SCAN_IN",
    "documentType": "RECEIPT",
    "documentNo": "RCP-0000001",
    "locationCodeSnapshot": "WH-MAIN",
    "binCodeSnapshot": "A-01-001",
    "scannedAtUtc": "2024-08-01T10:30:00Z"
  }'

GET /api/rfid/events

Returns a paginated, filterable list of RFID scan events for the authenticated company. Supports filtering by module, resolution/validation status, document, date range, and free-text search. Authentication: Authorization: Bearer <token> (required).
module
string
Filter by WMS module (e.g., RECEIVING, SHIPMENT).
resolutionStatus
string
Filter by tag resolution status.
validationStatus
string
Filter by validation status.
Free-text search.
documentType
string
Filter by document type.
documentNo
string
Filter by document number.
correlationId
string
Filter by correlation ID.
sessionId
string
Filter by session ID.
fromUtc
string (ISO 8601)
Start of scan date range.
toUtc
string (ISO 8601)
End of scan date range.
errorsOnly
boolean
When true, returns only events with errors.
pageNumber
integer
Page number. Defaults to 1.
pageSize
integer
Page size. Defaults to 20.
data
array
pageNumber
integer
Current page.
totalRecords
integer
Total matching events.
curl -X GET "https://api.example.com/api/rfid/events?module=RECEIVING&errorsOnly=false&pageSize=100" \
  -H "Authorization: Bearer <token>"

GET /api/rfid/events/export

Exports RFID scan events matching the current filter as an Excel workbook. Accepts the same query parameters as GET /api/rfid/events. Authentication: Authorization: Bearer <token> (required). Returns application/vnd.openxmlformats-officedocument.spreadsheetml.sheet with a timestamped filename.
curl -X GET "https://api.example.com/api/rfid/events/export?module=SHIPMENT&fromUtc=2024-08-01T00:00:00Z" \
  -H "Authorization: Bearer <token>" \
  -o rfid_scan_events_export.xlsx

GET /api/rfid/handheld/context

Returns the combined RFID runtime context for the calling handheld — both the active policy (validation rules, block-on-mismatch settings, fallback behavior) and the effective device profile. Used at app startup to configure RFID behavior without separate round trips. The device ID is read from the X-Device-Id header or from the deviceId claim in the JWT. Authentication: Authorization: Bearer <token> (required — must be a handheld JWT).
module
string
required
WMS module the handheld is loading (e.g., RECEIVING, SHIPMENT). Used to select module-specific policy overrides.
X-Device-Id
string
Hardware device identifier. Falls back to the deviceId claim in the JWT if not provided.
success
boolean
Whether the context was resolved successfully.
module
string
Module for which context was resolved.
deviceId
string
Resolved device identifier.
isDeviceAuthorized
boolean
Whether the device is registered and authorized.
hasDeviceProfile
boolean
Whether an RFID device profile was found for this device.
supportsRfid
boolean
Whether the device profile supports RFID scanning.
supportsBarcode
boolean
Whether the device profile supports barcode scanning.
rfidEnabledForModule
boolean
Whether RFID is enabled for the requested module.
canUseRfid
boolean
Whether RFID scanning is fully available for this device and module.
canFallbackToManual
boolean
Whether the policy allows manual fallback when RFID fails.
canFallbackToBarcode
boolean
Whether the policy allows barcode fallback.
canOperateWithoutRfid
boolean
Whether the device can proceed without RFID capability.
rfidHardwareStatus
string
Hardware status code (READY, NO_RFID_PROFILE, RFID_NOT_SUPPORTED, RFID_DISABLED_BY_POLICY, DEVICE_NOT_AUTHORIZED).
deviceResolutionSource
string
How the device profile was resolved.
policySource
string
How the policy was resolved.
effectiveMode
string
Effective RFID mode for this module.
message
string
Human-readable status message.
policy
object
Full resolved RFID policy object.
deviceProfile
object
Full effective device profile object.
Error codes
StatusMeaning
400DeviceId is missing from both the header and the JWT claims.
curl -X GET "https://api.example.com/api/rfid/handheld/context?module=RECEIVING" \
  -H "Authorization: Bearer <token>" \
  -H "X-Device-Id: AA:BB:CC:DD:EE:FF"

Build docs developers (and LLMs) love