Locations are specific places in your warehouses where you can place products. When you manage your locations consequently, it speeds up your operations.

You can manage your locations with these endpoints. You can use locations to link to products.


Name Type Required Description
idlocation integer generated Unique Picqer reference
idwarehouse integer required Linked to resource Warehouse
idlocation_type integer optional Linked to resource LocationType, will be linked to default value if empty
parent_idlocation integer optional Linked to resource Location, for nested locations
name string required Name of location
unlink_on_empty boolean optional If true, products will be unlinked from this location if their stock reaches 0 (default: false)
is_bulk_location boolean optional If true, location will be used for bulk stock (default: false)

Get all locations

GET https://example.picqer.com/api/v1/locations
HTTP/1.1 200 OK [ { "idlocation": 1, "idwarehouse": 13, "parent_idlocation": null, "name": "A", "remarks": null, "unlink_on_empty": false, "location_type": { "idlocation_type": 2, "name": "Standaard", "default": true, "color": "#0000f0" }, "is_bulk_location": false }, { "idlocation": 2, "idwarehouse": 13, "parent_idlocation": 1, "name": "A.1", "remarks": null, "unlink_on_empty": false, "location_type": { "idlocation_type": 2, "name": "Standaard", "default": true, "color": "#0000f0" }, "is_bulk_location": true } ]
This endpoint uses pagination.


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

Attribute Description Example
idlocation_type Only get locations from this type 2
idwarehouse Only get locations for this warehouse 13
only_available If true, only get locations that do not have any products linked yet true
name Search for a specific location name A.B.12

Get single location

GET https://example.picqer.com/api/v1/locations/{idlocation}
HTTP/1.1 200 OK { "idlocation": 14, "idwarehouse": 13, "parent_idlocation": 13, "name": "A.05.12", "remarks": null, "unlink_on_empty": false, "location_type": { "idlocation_type": 2, "name": "Standaard", "default": true, "color": "#0000f0" } }

Create new location

POST https://example.picqer.com/api/v1/locations
{ "name": "G.12.22", "idwarehouse": 13 }
HTTP/1.1 201 Created { "idlocation": 1511, "idwarehouse": 13, "parent_idlocation": null, "name": "G.12.22", "remarks": null, "unlink_on_empty": null, "location_type": { "idlocation_type": 2, "name": "Standaard", "default": true, "color": "#0000f0" } }

You can also create a location with the param auto_link_to_parent set to 1. This will look for a obvious parent in your naming, and link to the parent if it exists, or otherwise create the parent. So the endpoint is https://example.picqer.com/api/v1/locations?auto_link_to_parent=1

Update location

PUT https://example.picqer.com/api/v1/locations/{idlocation}
{ "name": "A.33.33" }
HTTP/1.1 200 OK { "idlocation": 1511, "idwarehouse": 13, "parent_idlocation": null, "name": "A.33.33", "remarks": null, "unlink_on_empty": null, "location_type": { "idlocation_type": 2, "name": "Standaard", "default": true, "color": "#0000f0" } }

Delete location

Location can only be deleted if there are no products linked.

DELETE https://example.picqer.com/api/v1/locations/{idlocation}
HTTP/1.1 204 No Content

Get products on location

This gives you the products (with or without stock) that are currently linked to this location.

GET https://example.picqer.com/api/v1/locations/{idlocation}/products
HTTP/1.1 200 OK [ { "idproduct": 1105339, "productcode": "AB519042", "name": "Mars Blue Wide-Format", "price": 506.89, "stock": { "idwarehouse": 13, "stock": 22, "reserved": 28, "reservedbackorders": 6, "reservedpicklists": 22, "reservedallocations": 0, "freestock": -6 }, "image_url": "https://example.org\/49706b1a-b18f\/thumbnail-100-100-0-0-50.jpg" } ]
This endpoint uses pagination.

Link products to locations

This is documented on the product endpoint page.

Read more Tags