Skip to content

List inventory balances broken down by lot

GET
/v1/organizations/{organizationId}/lot-balances

API key scope: inventory:read.

X-Request-Id
string

Optional client request id returned in structured errors.

productId
string
locationId
string
lotId
string
ownerId
string
channelId
string
limit
number
default: 25 >= 1 <= 100
cursor
string

Inventory lot balances page.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string format: uuid
organizationId
required
string format: uuid
environment
required
string
Allowed values: live test
productId
required
string format: uuid
locationId
required
string format: uuid
lotId
required
string format: uuid
ownerId
required
string format: uuid
channelId
required
string format: uuid
onHand
required
number
available
required
number
reserved
required
number
committed
required
number
damaged
required
number
qualityControl
required
number
safetyStock
required
number
version
required
number
product
object
id
required
string format: uuid
name
required
string
sku
required
string
location
object
id
required
string format: uuid
name
required
string
code
required
string
type
required
string
Allowed values: warehouse store virtual
owner
object
id
required
string format: uuid
name
required
string
code
required
string
type
required
string
channel
object
id
required
string format: uuid
name
required
string
code
required
string
type
required
string
lot
object
id
required
string format: uuid
organizationId
required
string format: uuid
environment
required
string
Allowed values: live test
productId
required
string format: uuid
lotCode
required
string
batchCode
object
expiresAt
object
receivedAt
object
status
required
string
Allowed values: active archived
metadata
object
key
additional properties
any
product
object
id
required
string format: uuid
name
required
string
sku
required
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
nextCursor
object
Example
{
"items": [
{
"id": "13131313-1313-4313-8313-131313131313",
"organizationId": "11111111-1111-4111-8111-111111111111",
"environment": "test",
"productId": "22222222-2222-4222-8222-222222222222",
"locationId": "33333333-3333-4333-8333-333333333333",
"lotId": "12121212-1212-4212-8212-121212121212",
"onHand": 10,
"available": 10,
"reserved": 0,
"committed": 0,
"damaged": 0,
"qualityControl": 0,
"safetyStock": 0,
"version": 1,
"product": {
"id": "22222222-2222-4222-8222-222222222222",
"name": "Black T-Shirt - Medium",
"sku": "TSHIRT-BLACK-M"
},
"location": {
"id": "33333333-3333-4333-8333-333333333333",
"name": "Main Warehouse",
"code": "MAIN-WH",
"type": "warehouse"
},
"lot": {
"id": "12121212-1212-4212-8212-121212121212",
"organizationId": "11111111-1111-4111-8111-111111111111",
"environment": "test",
"productId": "22222222-2222-4222-8222-222222222222",
"lotCode": "LOT-2026-001",
"batchCode": "BATCH-A",
"expiresAt": "2027-07-01T00:00:00.000Z",
"receivedAt": "2026-07-01T12:00:00.000Z",
"status": "active",
"metadata": {
"supplierLot": "SUP-A1"
},
"product": {
"id": "22222222-2222-4222-8222-222222222222",
"name": "Black T-Shirt - Medium",
"sku": "TSHIRT-BLACK-M"
},
"createdAt": "2026-07-01T12:00:00.000Z",
"updatedAt": "2026-07-01T12:00:00.000Z"
},
"createdAt": "2026-07-01T12:00:00.000Z",
"updatedAt": "2026-07-01T12:00:00.000Z"
}
],
"nextCursor": null
}

The organization has exhausted its monthly public API request quota.

Media typeapplication/json
Example
{
"error": {
"code": "PLAN_LIMIT_EXCEEDED",
"message": "Plan limit exceeded for api_requests",
"requestId": "req_123",
"details": {
"entitlementKey": "api_requests",
"scope": "environment",
"environment": "live",
"configured": true,
"limit": "50000",
"used": "50000",
"requested": "1",
"currentPlan": {
"code": "free",
"version": 1
},
"requiredPlan": {
"code": "starter",
"version": 1,
"requiresOverride": false
}
}
}
}