Picklists

Picklists are generated by Picqer when an order is closed or when backorders are processed. Picklists are orders that need to be collected in the warehouse and be send to the customer.

We have a seperate page about picklist batches in the API.

Attributes

Name Type Required Description
idpicklist integer generated Unique Picqer reference
picklistid string generated Per-account picklist ID
idcustomer integer optional Linked to resource Customers
idorder integer optional Linked to resource Orders
idreturn integer optional Linked to resource Returns
idwarehouse integer required Linked to resource Warehouse
idtemplate integer required Linked to resource Templates
idpicklist_batch integer optional Linked to resource Picklist Batches
idshippingprovider_profile integer optional Optional. The preferred shipping provider profile for this picklist
deliveryname string required Defined in Order resource
deliverycontact string optional Defined in Order resource
deliveryaddress string optional Defined in Order resource
deliveryaddress2 string optional Defined in Order resource
deliveryzipcode string optional Defined in Order resource
deliverycity string optional Defined in Order resource
deliveryregion string optional Defined in Order resource
deliverycountry string required Defined in Order resource, 2-letter ISO country code
telephone string optional
emailaddress string optional
reference string optional Defined in Order resource
assigned_to_iduser integer optional Linked to User resource that is responsible for this picklist
invoiced boolean required Is this picklist invoiced yet
urgent boolean required Is this picklist marked as urgent
preferred_delivery_date date optional If the customer requested a preferred delivery date
status string required What is the status of this picklist: new, paused, closed, snoozed, cancelled
paused_reason string optional A string with the reason why the picklist is paused, null if the picklist is not paused
totalproducts integer required Amount of products on this picklist
totalpicked integer required Amount of products that are already picked
weight integer required Total weight of picklist
snoozed_until datetime optional If a picklist is snoozed, it will be unsnoozed at this moment
closed_by_iduser integer optional If picklist is closed, which User closed it
closed_at datetime optional Moment this picklist was closed
created datetime required Moment this picklist was created
updated datetime required Last moment this picklist was changed
idfulfilment_customer integer optional Only for Picqer Fulfilment: Linked to belonging fulfilment customer
products array required Collection of all products in this picklist
products.idproduct integer generated Linked to Product resource
products.idorder_product integer optional Linked to the order line that resulted in this picklist line. Can be null if this picklist is from a return
products.idreturn_product_replacement integer optional Linked to the product replacement of a return that resulted in this picklist line. Can be null if this picklist is from a order
products.idvatgroup integer required Linked to VAT group resource
products.productcode string required
products.name string required
products.remarks string optional
products.amount integer required Total amount needed
products.amount_picked integer required Amount already picked
products.price float required Price per product
products.weight integer optional Weight in grams per product
products.stock_location string deprecated Location name for this product in this warehouse
products.pick_locations array required Collection of locations where the product should be picked
products.pick_locations.idlocation integer generated Linked to Location resource that contains the stock that should be picked
products.pick_locations.name string required The name of the linked location
products.pick_locations.amount amount required The amount that should be picked from the location

A note about pick locations: The pick locations are automatically determined by Picqer when a picklist is created. The pick locations assigned to a picklist product can however change when stock is moved between locations.

It is also possible that the sum of the products.pick_locations.amount does not equal the amount of a product itself. This happens when some stock for a product is not registered on a specific location.

Get all picklists

GET https://example.picqer.com/api/v1/picklists
HTTP/1.1 200 OK [ { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idreturn":null, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "idshippingprovider_profile": null, "deliveryname":"Desmonds Formal Wear", "deliverycontact":null, "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":null, "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "urgent":false, "status":"new", "paused_reason": null, "totalproducts":2, "totalpicked":0, "weight":10200, "snoozed_until": null, "closed_by_iduser":null, "closed_at":null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idpicklist_product": 611, "idproduct":147, "idorder_product": 1008, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C", "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 255, "name": "A.4.5.3", "amount": 1 } ] }, { "idpicklist_product": 612, "idproduct":126654, "idorder_product": 1009, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null, "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 256, "name": "A.4.5.4", "amount": 1 } ] } ] } ]
This endpoint uses pagination.

Filters

You can filter the picklists with the following parameters. Add these filters as querystring parameters to the URL.

Attribute Description Example
sinceid Get picklists after this idpicklist
sincedate Get picklists created after this datetime 2018-01-01 12:00:00
untildate Get picklists created before this datetime 2018-01-01 12:00:00
closed_after Get picklists closed after this datetime 2018-01-01 12:00:00
closed_before Get picklists closed before this datetime 2018-01-01 12:00:00
picklistid Get picklist with the provided picklistid. P2015-90282
assigned_to_iduser Get picklists that are assigned to this iduser. 28190
idwarehouse Get picklists for this idwarehouse. 28190
status Get picklists with this status. new, paused, closed, snoozed or cancelled
idfulfilment_customer Get picklists for this fulfilment customer. 623

Get single picklist

GET https://example.picqer.com/api/v1/picklists/{idpicklist}
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idreturn":null, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "idshippingprovider_profile":null, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "urgent":false, "status":"new", "totalproducts":2, "totalpicked":0, "weight":10200, "snoozed_until": null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idpicklist_product": 611, "idproduct":147, "idorder_product": 1008, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C", "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 255, "name": "A.4.5.3", "amount": 1 } ] }, { "idpicklist_product": 612, "idproduct":126654, "idorder_product": 1009, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null, "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 256, "name": "A.4.5.4", "amount": 1 } ] } ] }

Update picklist

At this moment you can only update these fields of picklists.

  • urgent
  • invoiced
  • idshippingprovider_profile
PUT https://example.picqer.com/api/v1/picklists/{idpicklist}
{ "urgent": true }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", ... "urgent":true, "status":"new", ... }

Close a picklist

A picklist is closed automatically when a shipment is created while all products are picked. If you want to close a picklist without creating a shipment, you can use this endpoint for closing the picklist manually.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/close
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"closed", "totalproducts":2, "totalpicked":2, "weight":10200, "snoozed_until": null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":1, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":1, "price":0, "weight":0, "stocklocation":null } ] }

Pick a product from the picklist

To notify to Picqer which products are picked, you can send it 'pick' notifies. As parameters, either idpicklist_product or product and amount are required.

To undo a pick action, use idpicklist_product to specify which picklist line should be 'unpicked' and enter a negative amount.

  • The product parameter expects the productcode, barcode or supplier's productcode of the product you want to pick. This can involve several picklist lines as it is technically possible to have a product on a picklist multiple times. Only products that have not been fully picked yet will be found.
  • The idpicklist_product parameter specifies the picklist line. This will yield a maximum of one line.
  • The amount parameter can be a number or the text 'all' to indicate you want to pick the total amount of products with this productcode.
POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pick
{ "product": "502.052.16", "amount": 1 }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"new", "totalproducts":2, "totalpicked":1, "weight":10200, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":1, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null } ] }

Pick all products from the picklist

With this one call, you can mark all products from a picklist as picked.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pickall
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"new", "totalproducts":2, "totalpicked":2, "weight":10200, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":1, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":2, "price":0, "weight":0, "stocklocation":null } ] }

Change pick locations on the picklist

With this call, you can change the pick locations for a single product row (picklist product) on a picklist.

You can provide multiple locations for one picklist product. The total amount across all locations must be equal to the amount to be picked.

The provided locations must be linked to the product and have sufficient stock available.

Name Type Description
idlocation integer Linked to resource Locations
amount integer Amount to be picked from this location
PUT https://example.picqer.com/api/v1/picklists/{idpicklist}/products/{idpicklist_product}/pick_locations
[ { "idlocation": 10, "amount": 2 }, { "idlocation": 9, "amount": 1 } ]
HTTP/1.1 200 OK [ { "idlocation": 3342397, "amount": 3 }, { "idlocation": 3342395, "amount": 1 } ]

Shipments

More information about shipments and creating a shipment, can be found on the Picklist Shipments page.

Assign a user to picklist

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/assign
{ "iduser": 2991 }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": 2991, "invoiced":false, ... }

Unassign a user to picklist

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/unassign
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, ... }

Get packaging advice for a picklist

When there is no packaging advice for the picklist, all fields are still returned in the response, but with null values.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/packaging-advice
HTTP/1.1 200 OK { "idpackaging": 34, "source": "automatic", "created_at": "2025-06-25 14:21:14", "updated_at": "2025-06-25 14:21:14" }

Set packaging advice for a picklist

PUT https://example.picqer.com/api/v1/picklists/{idpicklist}/packaging-advice
{ "idpackaging": 34 }
HTTP/1.1 200 OK { "idpackaging": 34, "source": "api", "created_at": "2025-06-25 14:21:14", "updated_at": "2025-06-25 14:39:43" }

Get PDF of picklist

PDF of a picklist can be retrieved as a base64 encoded document in JSON, or as a direct PDF document.

If the header Accept: application/json is given in the request, we will give you a response as shown below. Otherwise we will send you the PDF document directly with an Content-Type: application/pdf header as response.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/picklistpdf
HTTP/1.1 200 OK { "idpicklist": 76859, "pdf": "JVBERi0xLjMKMSAwIG9iago8PCAvVHlwZSAvQ2F..." }

Get PDF of packinglist

Same thing applies as with a picklist PDF (see above), but with a different endpoint.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/packinglistpdf

Snooze picklist

You can snooze open picklists. This picklist will be hidden from the list of picklists and will reappear on the given moment.

You can 'unsnooze' a snoozen picklist by posting "snooze_until" with null.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/snooze
{ "snooze_until": "2017-03-01 12:00:00" }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": 2991, "invoiced":false, "snooze_until": "2017-03-01 12:00:00", "status": "snoozed", ... }

Pause picklist

You can pause picklists with the status new. This means, among other things, that this picklist is detached from, and no longer available for, batches. Also, the assigned user is unlinked, shipments can no longer be created, and the picklist cannot be closed.

A reason for pausing is required. Read more about pausing in this support article

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pause
{ "reason": "A reason for pausing" }
HTTP/1.1 200 OK { "idpicklist":76859, ... }

Resume picklist

Paused picklists, that are part of an order that is not paused, can be individually resumed. This will put the status back to the status 'new' and will, among other things, make the picklist available for batches and make it possible to create shipments again. Read more about pausing and resuming here

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/resume
HTTP/1.1 200 OK { "idpicklist":76859, ... }

Cancel picklist

This cancels a picklist. Picklist products will be converted into backorders.

Warning: Cancelling an already closed picklist will re-add product to the stock and remove any shipments attached to this picklist.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/cancel

Comments

Comments are supported for picklists.

Read more Batches