Manage inventory levels, track stock movements, reserve inventory, and monitor warehouse locations in real-time.
/v1/inventoryGet inventory levels across all SKUs
skustring (optional)Filter by specific SKU or SKU pattern
locationstring (optional)Filter by warehouse location ID
low_stockboolean (optional)Return only items below reorder threshold
pagenumber (optional, default: 1)Page number for pagination
limitnumber (optional, default: 50, max: 100)Number of results per page
{
"success": true,
"data": [
{
"sku": "SUPP-001",
"name": "Premium Collagen Peptides",
"available": 1250,
"reserved": 75,
"total": 1325,
"locations": [
{
"warehouse_id": "WH-01",
"location": "A-12-3",
"quantity": 1325,
"temperature_zone": "ambient"
}
],
"reorder_point": 500,
"status": "in_stock",
"last_updated": "2025-01-15T10:30:00.000Z"
}
],
"meta": {
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
}
}/v1/inventory/:skuGet detailed inventory for a specific SKU
skustring (required)Product SKU to retrieve inventory for
{
"success": true,
"data": {
"sku": "SMALL-MOL-001",
"name": "Small Molecule Compound A",
"available": 450,
"reserved": 25,
"total": 475,
"locations": [
{
"warehouse_id": "WH-01",
"location": "C-05-2",
"quantity": 475,
"temperature_zone": "refrigerated",
"temperature_range": "2-8°C"
}
],
"reorder_point": 200,
"status": "in_stock",
"lot_tracking": true,
"expiration_tracking": true,
"lots": [
{
"lot_number": "LOT-2025-001",
"quantity": 475,
"received_date": "2025-01-10T00:00:00.000Z",
"expiration_date": "2025-07-10T00:00:00.000Z"
}
]
}
}/v1/inventory/:skuAdjust inventory levels for a SKU
{
"adjustment": 100,
"reason": "stock_count",
"location": "WH-01",
"notes": "Physical inventory count adjustment"
}{
"success": true,
"data": {
"sku": "SUPP-001",
"previous_quantity": 1250,
"adjustment": 100,
"new_quantity": 1350,
"reason": "stock_count",
"adjusted_at": "2025-01-15T14:30:00.000Z",
"adjusted_by": "user_12345"
}
}/v1/inventory/reserveReserve inventory for an order
{
"order_id": "ORDER-12345",
"items": [
{
"sku": "SUPP-001",
"quantity": 2
}
],
"expires_at": "2025-01-16T14:30:00.000Z"
}{
"success": true,
"data": {
"reservation_id": "RES-789012",
"order_id": "ORDER-12345",
"items": [
{
"sku": "SUPP-001",
"quantity": 2,
"reserved_from": "WH-01"
}
],
"expires_at": "2025-01-16T14:30:00.000Z",
"created_at": "2025-01-15T14:30:00.000Z"
}
}/v1/inventory/releaseRelease a previously reserved inventory
{
"reservation_id": "RES-789012"
}{
"success": true,
"data": {
"reservation_id": "RES-789012",
"status": "released",
"released_at": "2025-01-15T15:00:00.000Z"
}
}/v1/inventory/locationsGet all warehouse locations with inventory
{
"success": true,
"data": [
{
"warehouse_id": "WH-01",
"name": "Primary Fulfillment Center",
"location_zones": [
{
"zone_id": "A-12",
"temperature_zone": "ambient",
"capacity": 5000
},
{
"zone_id": "C-05",
"temperature_zone": "refrigerated",
"temperature_range": "2-8°C",
"capacity": 1000
}
]
}
]
}/v1/inventory/movementsGet inventory movement history
skustring (optional)Filter by specific SKU
typestring (optional)Filter by movement type (adjustment, transfer, sale, return)
pagenumber (optional, default: 1)Page number for pagination
limitnumber (optional, default: 50, max: 100)Number of results per page
{
"success": true,
"data": [
{
"id": "MOV-123456",
"sku": "SUPP-001",
"type": "adjustment",
"quantity": 100,
"from_location": null,
"to_location": "A-12-3",
"reason": "stock_count",
"created_at": "2025-01-15T14:30:00.000Z"
}
],
"meta": {
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
}
}curl https://app.3plship.com/api/v1/inventory \
-H "Authorization: Bearer zl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json"import requests
response = requests.get(
'https://app.3plship.com/api/v1/inventory',
headers={
'Authorization': 'Bearer zl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
)
inventory = response.json()const response = await fetch(
'https://app.3plship.com/api/v1/inventory',
{
headers: {
'Authorization': 'Bearer zl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
}
);
const inventory = await response.json();$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'https://app.3plship.com/api/v1/inventory');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer zl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
]);
$response = curl_exec($ch);inventory.updatedTriggered when inventory levels change
inventory.low_stockTriggered when inventory falls below reorder point
Integrate inventory management into your application today