The shipments API manages the outbound dispatch workflow: listing open shipment headers, loading the picking lines for a shipment, recording how many units have been packed, and posting the shipment to close it against the sales order. The client includes a legacy-data fallback strategy — ifDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/CodexaCP/DG_APK/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/shipmentlines fails (common with older tenants), the handheld transparently re-fetches the header detail and extracts the embedded lines array instead. All endpoints require a valid bearer token and company context.
Required headers for all endpoints:
GET /api/shipmentheaders
Returns a paginated, sortable list of shipment headers for the authenticated company. Supports optional filtering by status and shipment number. Results default to newest-first (sortBy=CreatedAt&sortDesc=true).
Method & path: GET /api/shipmentheadersAuth required: Yes
Query parameters
1-based page number.
Number of records per page.
Field to sort by. Defaults to
CreatedAt.Sort direction.
true for descending (newest first). Defaults to true.Optional status filter, e.g.
Released, Open, Shipped.Optional shipment number filter for exact or partial lookup.
Response — 200 OK
Returns aPagedResponse<ShipmentHeaderDto>.
Current page number.
Records per page as requested.
Total matching records across all pages.
Total number of pages.
Whether a previous page exists.
Whether a next page exists.
Array of
ShipmentHeaderDto objects.Example
GET /api/shipmentlines
Returns the individual picking lines for one shipment. The client automatically falls back to extracting the embeddedlines array from GET /api/shipmentheaders/{id} if this endpoint returns an error — this handles legacy tenant data that does not expose the standalone lines endpoint.
If
GET /api/shipmentlines fails, the client calls GET /api/shipmentheaders/{shipmentId}, reads the lines property from the JSON response, and constructs an equivalent paged response. The operator sees no difference. Design your integrations to populate the standalone endpoint whenever possible; the fallback exists for backward compatibility only.GET /api/shipmentlinesAuth required: Yes
Query parameters
UUID of the parent shipment header. Obtain from
GET /api/shipmentheaders.1-based page number.
Records per page.
Optional status filter for line-level status, e.g.
Pending, Picked, Partial.Response — 200 OK
Returns aPagedResponse<ShipmentLineDto>.
Array of
ShipmentLineDto objects.Example
PUT /api/shipmentlines/
Updates the shipped quantity for a single shipment line. The operator enters how many units they are dispatching; the value is saved and used during the final posting step. Method & path:PUT /api/shipmentlines/{id}Auth required: Yes
Path parameters
UUID (as string) of the shipment line to update. Obtain from
GET /api/shipmentlines.Request body
New shipped quantity for this line. Must be ≥ 0 and should not exceed
orderedQty. The client enforces the upper bound locally before sending.Response — 200 OK
No response body on success.Error conditions
| Status | Condition |
|---|---|
400 Bad Request | shippedQty is negative or otherwise invalid. |
404 Not Found | No shipment line with the given id. |
409 Conflict | The line has already been fully posted. |
Example
POST /api/shipmentheaders//post
Posts a completed shipment to the ERP. All pending shipped quantities across every line are committed, the shipment is closed against the sales order, and stock is decremented. This operation is non-reversible. Method & path:POST /api/shipmentheaders/{id}/postAuth required: Yes
Path parameters
UUID of the shipment header to post.
Request body
None. No body is required.Response — 200 OK
No response body on success. The client should re-fetch the header and lines to reflect the updated statuses and posted quantities.Error conditions
| Status | Condition |
|---|---|
400 Bad Request | No lines have a pending shipped quantity (nothing to post). |
400 Bad Request | One or more lines are missing required lot, serial, or bin information. |
409 Conflict | The shipment has already been fully posted. |
422 Unprocessable Entity | Insufficient available stock for one or more items. |
404 Not Found | No shipment header with the given id. |