Product Picked
Notify WMS when a product has been picked from the WCS.
Direction WCS → WMS
HTTP Method POST
Path /pickTaskGroup/productPicked
Request Body
Section titled “Request Body”Field notes:
| Field Name | Data Type | Description | Notes |
|---|---|---|---|
| taskId | String | The Autostore Task ID that this pick belonged to | |
| externalReference | JSON String | A 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 | Source: task.externalReference from Pick Task Import |
| externalReferenceId | String | The unique identifier that was passed on the pick list import’s task that this pick belonged to | Source: task.externalReferenceId from Pick Task Import |
| taskGroupId | String | The Autostore Task Group ID that this pick belonged to | |
| externalGroupReference | String | The unique identifier that was passed on the pick list import | Source: externalReference from Pick Task Import |
| shipmentType | String | An identifier for which type of flow the product picked stemmed from | Values: Batch-Pick, Pick-Pack |
| subBinId | String | The location identifier for the physical bin within the Autostore where this stock was picked out from | |
| productId | String | The ID of the product that was picked | |
| barcode | String | The barcode (scanned field) on the product that was picked | |
| batch | String | The batch code for the product that was picked if it had one | May be null (not all products are batch managed) |
| expiry | String | The expiration date for the product that was picked if it had one | May be null (not all products have an expiration date) |
| stockOwner | String | The stock owner for the product that was picked | |
| pickedQuantity | Double | The total number of units that were picked out of the sub bin for this product | Could be less than requested. Mutually exclusive with shortedQuantity and reallocatedQuantity |
| shortedQuantity | Double | The total number of units that could not be picked out of the sub bin for this product | Mutually exclusive with pickedQuantity and reallocatedQuantity |
| reallocatedQuantity | Double | The total number of units that had to be re-reserved due to a shortage in the initial sub bin | Mutually exclusive with pickedQuantity and shortedQuantity |
| allocationReference | String | The unique identifier for the WCS’ reservation of the items that were picked out of this sub bin | |
| locationTo | String | The location that the stock was picked into, scanned by the operative | For Pick-Pack: shippingBarcode. For Batch-Pick: follows containerRegex format |
| port | String | The identifier of the port that the stock was picked at | Port numbers are numeric, so “1”, “2”, “3” etc |
| operator | String | The username of the operative that completed the pick |
** Example Request Body**
{ "externalReferenceId": "8b2795a9-0c6c-4991-a764-5b9eb03c9d82", "externalCustomerBatchId": "BATCH12345", "externalCustomerOrderId": "ORDER12345", "externalGroupReference": "781b991b-b9f9-47e8-9292-9c172e436a1d", "externalReference": { "allocationReference": "ORDER12345_REF12345", "externalCustomerOrderId": "ORDER12345", "instructionGroupId": "781b991b-b9f9-47e8-9292-9c172e436a1d", "instructionId": "8b2795a9-0c6c-4991-a764-5b9eb03c9d82", "sku": "SKU12345" }, "metadata": {"ALLOCATION_REFERENCE": "REF12345", "SKU": "SKU12345"}, "taskId": "TASK12345", "taskGroupId": "TASKGROUP12345", "shipmentType": "Pick-Pack", "subBinId": "12345-11", "productId": "PROD12345", "barcode": "SKU12345", "sku": "SKU12345", "batch": "BATCH12345", "batchId": "BATCH12345", "expiry": "01-02-2027", "stockOwner": "OWNER12345", "pickedQuantity": 5, "allocationReference": "REF12345", "locationTo": "SHIP123456789", "unitIdentifiers": ["UNIT-0001", "UNIT-0002"], "operator": "User1", "port": "1", "pickedFromTime": "2026-06-19T10:05:42.490548421Z", "pickedToTime": "2026-06-19T10:05:52.520268716Z"}Field notes:
metadata(object, optional): Key-value map of supplementary data. Not validated as required; WMS should expect it to benullor empty when nothing is set.unitIdentifiers(array of strings, optional): Serial numbers for unitary (individually tracked) products. Not validated as required; WMS should expect it to benullor empty for non-unitary stock.
Expected Responses
Section titled “Expected Responses”200: Product picked accepted
{ "message": "Success"}400: Invalid request data
{ "message": "Bad Request"}401: Authentication failed
{ "message": "Unauthorized"}