Skip to content

Inventory Balances and Movements

Both operations use POST /public-api/publicapi.v1.Inventory/ and require the creator’s inventory read access in addition to inventory:read.

{ "productId": "<product-id>", "locationId": "<inventory-location-id>", "page": 1, "pageSize": 25 }

Omit either UUID filter to include all matching workspace records; do not send empty UUID strings. page defaults to 1, maximum 100,000; pageSize defaults to 25, maximum 100. Increment page while hasMore is true. These are numbered pages, not RecordSearch cursors. Quantities and Unix-second timestamps are int64 values, encoded as JSON strings.

ListInventoryBalances returns balances, ordered by product ID then location ID. available = onHand - reserved; inbound stock is not available stock. inboundQuantity is the quantity on open backorders, not draft receipts. Pairs with only inbound stock can appear with updatedAt: "0". Absent pairs are not an enumeration of every product/location combination. This API does not model unlimited/infinite inventory or grant order-allocation capabilities.

Generated Reference
POST /public-api/publicapi.v1.Inventory/ListInventoryBalances

Includes inbound-only product/location pairs. Available is on_hand-reserved, never on_hand-reserved+inbound. Pages default to 1 and 25 items.

Request ListInventoryBalancesRequest
Response ListInventoryBalancesResponse

ListInventoryBalancesRequest

Field Type
product_id optional string
location_id optional string
page int32
page_size int32

ListInventoryBalancesResponse

Field Type
balances repeated InventoryBalance
page int32
page_size int32
has_more bool

ListInventoryMovements returns movements, newest first by creation time and ID. Each has a type, onHandDelta, reservedDelta, and reason. Reasons are limited to 1,000 characters with reasonTruncated; internal source IDs and execution metadata are not exposed.

Generated Reference
POST /public-api/publicapi.v1.Inventory/ListInventoryMovements
Request ListInventoryMovementsRequest
Response ListInventoryMovementsResponse

ListInventoryMovementsRequest

Field Type
product_id optional string
location_id optional string
page int32
page_size int32

ListInventoryMovementsResponse

Field Type
movements repeated InventoryMovement
page int32
page_size int32
has_more bool