Skip to main content

Create Warehouse Location

POST 

/api/v2/warehouse-locations

Create a single warehouse location (bin). Provide either an explicit code or at least one of the segment fields (zone, aisle, bay, shelf, bin) from which a code is derived.

Authentication: Requires Bearer token. Scope: warehouses (read/write).

Body fields:

  • warehouse_id (required, integer, exists) — parent warehouse
  • code (string max 64, required_without_all:zone,aisle,bay,shelf,bin)
  • name (nullable, string max 255)
  • zone (nullable, string max 32)
  • aisle / bay / shelf / bin (nullable, string max 255)
  • type (required, enum: staging, primary_pick, reserve, storage, shipping, returns, quarantine, damaged)
  • is_receivable (optional, boolean) — bin can receive stock on inbound receipts
  • is_pickable (optional, boolean) — bin is eligible for order picking
  • is_putaway_source (optional, boolean) — stock can be drawn from this bin during put-away
  • is_putaway_destination (optional, boolean) — stock can be put away into this bin When a capability flag is omitted it is seeded from the location type defaults; once set, receiving, picking and put-away routing follow the flags, not the type.
  • barcode (nullable, string max 64)
  • sort_order (nullable, integer min 0)
  • is_default (boolean)

Returns 201 with the created location; 422 if the tenant does not have locations enabled or the code/barcode conflicts.

Requires permission: warehouses.manage_locations

Request

Responses

Created