Move inventory - Grasshopper Labs API
Inventory

Move item

Transfer stock between bins within a location, or between hub locations.

POST /api/inventory/move/

Body parameters

sku
string Required
SKU to move.
quantity
integer Required
Quantity to move.
from_location_id
string Required
Source location ID.
to_location_id
string Required
Destination location ID.
from_bin
string Optional
Source bin within the source location.
to_bin
string Optional
Destination bin within the destination location.
reason
string Optional
Free-text reason for the move. Appears in audit log.
curl -X POST https://{licensee-url}/api/inventory/move/ \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sku": "SOFA-001",
    "quantity": 5,
    "from_location_id": "hub-atl-01",
    "to_location_id": "hub-mia-02",
    "reason": "Rebalance to high-demand region"
  }'
{
  "move_id": "mv_xyz789",
  "sku": "SOFA-001",
  "quantity": 5,
  "from_location_id": "hub-atl-01",
  "to_location_id": "hub-mia-02",
  "completed_at": "2026-05-12T16:00:00.000Z"
}

Errors

Statuserror.codeCause
422insufficient_stockSource location does not have enough available quantity.
404location_not_foundSource or destination location ID is not recognized.