Import a Manifest
Import a JSON representation of a manifest of inbound stock.
Direction WMS → WCS
HTTP Method POST
Path /api/goodsIn/import
Request Body
Section titled “Request Body”Field notes:
| Field Name | Data Type | Description | Notes |
|---|---|---|---|
| manifestNumber | String | A unique identifier that can be used to link the imported manifest to the relevant data in the connected WMS, frequently populated with a UUID | Must not be null and contain at least 1 non-whitespace character |
| scanCode | String | The identifier that will be used by workflow to identify the manifest prior to putaway, example a TSU id | Must not be null and contain at least 1 non-whitespace character |
| lines | Object Array | A line represents a product within the manifest, this list contains all of the expected products and quantities that are to be ingested | Must not be empty |
| line.productId | String | The product ID that is being requested for ingestion | Must not be null and contain at least 1 non-whitespace character |
| line.externalReference | String | A unique identifier that can be used to link the individual line within this manifest to the relevant data in the connected WMS, frequently populated with a UUID | |
| line.batchId | String | The batch identifier for a specific batch-managed product that is to be ingested | Can be null if not present |
| line.expiry | String | The expiry date for a specific date-managed product that is to be ingested | Can be null if not present |
| line.stockOwner | String | The stock owner identifier for a specific owner-managed product that is to be ingested | |
| line.quantity | Double | The total amount of units to be ingested for this product | Must not be null, must be a positive number |
| refill | boolean | Indicates whether the Manifest is a refill manifest | If enabled, products will be refilled into bins that already contain matching stock; otherwise, they will be placed into empty bins. |
Example Request Body
{ "manifestNumber": "5c105a0e-04fa-4728-9193-f67022832eed", "scanCode": "SCAN12345", "refill": false, "lines": [ { "externalReference": "c4a62c29-a7b8-4cfd-8fb7-436534358853", "productId": "PROD12345", "batchId": "BATCH12345", "expiry": "2027-01-01", "stockOwner": "OWNER12345", "quantity": 10.0, "unitIdentifiers": ["UNIT-0001", "UNIT-0002"] }, { "externalReference": "616A54F3-1EF3-4AE0-9E01-EAA34E26B3D5", "productId": "PROD54321", "batchId": "BATCH54321", "expiry": "2027-01-02", "stockOwner": "OWNER12345", "quantity": 15.0 } ]}Responses
Section titled “Responses”202: Manifest import passed validation
{ "message": "Accepted"}400: Manifest import failed validation
{ "message": "Bad Request", "errors": [ { "message": "Manifest field ManifestNumber must not be null and contain at least 1 non-whitespace character", "path": "manifestNumber" }, { "message": "Manifest field ScanCode must not be null and contain at least 1 non-whitespace character", "path": "scanCode" }, { "message": "Manifest field Lines must not be empty", "path": "lines" }, { "message": "Line field ProductId must not be null and contain at least 1 non-whitespace character", "path": "lines[0].productId" }, { "message": "Line field Quantity must not be null", "path": "lines[0].quantity" }, { "message": "Line field Quantity must be a positive number", "path": "lines[0].quantity" } ]}401: Access denied, Invalid Authentication
{ "message": "Unauthorized"}