Skip to content

Import a Task Group

Import a JSON representation of a task group.

Direction WMS → WCS

HTTP Method POST

Path /api/task/pick/import

Field notes:

Field NameData TypeDescriptionNotes
externalReferenceStringA unique identifier that can be used to link the imported Pick list to the relevant data in the connected WMS, frequently populated with a UUID
taskCategoryStringThe identifier for which ‘Queue’ of work this pick list should fall under3 digits 100-199
expectedCompletionTimeString Date TimeThe expected completion time for this pick list, used to aid in determining priority
timeZoneStringThe time zone for the expected completion time
externalCustomerOrderIdStringIdentifier for the shipment/order this pick list is for, should it be for a single shipmentCan be used in conjunction
externalCustomerBatchIdStringIdentifier for the grouping/batch for this pick list, should it be for a collection of shipments/other
shippingBarcodeStringThe identifier the operator must scan once the pick list is completed (usually a barcode on a shipment’s label)Presence results in a print label request being made to the WMS once the pick has been completed. Mutually exclusive with containerRegex
containerRegexStringA regular expression that defines the format of the container identifiers accepted when performing pick to containerMutually exclusive with shippingBarcode
shipmentTypeStringIdentifier for which type of picking this pick list is forAccepted values: Pick-Pack, Batch-Pick
packagingSuggestionStringUsed to relay relevant packing information to the operative when performing pick, shown in plain text on the operative’s screen
courierStringUsed to relay courier information to the operative when performing pick
prePackMessagesString ArrayUsed to relay pre-packing instructions to the operative at the port before picking commences
postPackMessagesString ArrayUsed to relay post packing instructions to the operative once picking has finished
shippingLabelUrlString
tasksObject ArrayPick data, this list contains all of the expected products and quantities that are to be retrieved
task.externalReferenceString JSONA JSON string that can be used to link the individual task within this pick list to the relevant data in the connected WMS, for legacy integrations
task.externalReferenceIdStringA unique identifier that can be used to link the individual task within this pick list to the relevant data in the connected WMS, frequently populated with a UUID
task.productIdStringThe product ID that is being requested for pick
task.batchIdStringThe batch identifier for a specific batch-managed product that is to be picked
task.expiryStringThe expiration identifier for a specific date-managed product that is to be picked
task.stockOwnerStringThe stock owner identifier for a specific owner-managed product that is to be picked
task.requestedQuantityDoubleThe total amount of units to be picked for this product

** Example Request Body**

{
"externalReference": "4c859d80-5828-4bf4-b33a-2c6cccd0cfc4",
"taskCategory": "100",
"expectedCompletionTime": "2026-01-31 14:30",
"timeZone": "Europe/London",
"externalCustomerOrderId": "CUSTOMER12345",
"externalCustomerBatchId": "CUSTOMERBATCH12345",
"shippingBarcode": "SHIP123456789",
"shipmentType": "Pick-Pack",
"allowShortAllocation": false,
"containerRegex": "^CONTAINER\\d{10}$",
"packagingSuggestion": "Medium Box",
"courier": "Speedy Parcels",
"shippingLabelUrl": "https://example.com/labels/shipping-label.pdf",
"prePackMessages": [
"Fragile items, handle with care",
"Hazardous items, handle with care"
],
"postPackMessages": [
"Ensure promotional leaflets are packed",
"Ensure Hazmat label is applied"
],
"tasks": [
{
"externalReference": "{\"ALLOCATION_REFERENCE\":\"REF12345\",\"SKU\":\"SKU12345\"}",
"externalReferenceId": "a7dd81eb-64b7-42d3-a5cd-09509f0d1c9a",
"metadata": {"ALLOCATION_REFERENCE": "REF12345", "SKU": "SKU12345"},
"productId": "PROD12345",
"batchId": "BATCH12345",
"expiry": "2027-01-01",
"stockOwner": "OWNER12345",
"requestedQuantity": 5.0
},
{
"externalReference": "{\"ALLOCATION_REFERENCE\":\"REF54321\",\"SKU\":\"SKU54321\"}",
"metadata": {"ALLOCATION_REFERENCE": "REF54321", "SKU": "SKU54321"},
"productId": "PROD54321",
"stockOwner": "OWNER12345",
"requestedQuantity": 10.0
},
{
"externalReference": "{\"ALLOCATION_REFERENCE\":\"REF54321\",\"SKU\":\"SKU54321\"}",
"externalReferenceId": "484D65C8-1965-4326-8057-5FBE5BC427E1",
"productId": "PROD1111",
"stockOwner": "OWNER12345",
"requestedQuantity": 15.0
}
],
"allowShortAllocation": false
}

Field notes:

  • tasks[].metadata (object, optional): Key-value map of supplementary task data. Not validated as required, so the key can be left out of the request entirely; sending null or an empty object is equivalent.
  • allowShortAllocation (boolean, optional): Controls whether the task group may be allocated when there is insufficient stock to fulfil every line. Defaults to false when omitted. When false, the task group is only allocated if every line can be fully allocated; if any line is short, no tasks are created and a short allocation result is returned to the WMS immediately. When true, the task group and its tasks are created for whatever stock can be allocated, and any unfulfilled quantity is recorded as shorted against the affected tasks.

202: TaskGroup passed validation

{
"message": "Accepted"
}

400: TaskGroup failed validation

{
"message": "Bad Request",
"errors": [
{
"message": "Task field externalReference must not be null and contain at least 1 non-whitespace character",
"path": "externalReference"
},
{
"message": "must match \"\\b\\d{3}\\b\"",
"path": "taskCategory"
},
{
"message": "Shipment Type field must not be null and contain at least 1 non-whitespace character",
"path": "shipmentType"
},
{
"message": "Task field tasks must not be empty",
"path": "tasks"
},
{
"message": "must not be blank",
"path": "tasks[0].taskId"
}
]
}

401: Access denied, Invalid Authentication

{
"message": "Unauthorized"
}