---
title: "List inventory records for a single product"
method: GET
path: "/inventory/{product_id}"
tags: ["Inventory"]
---

# List inventory records for a single product

`GET /inventory/{product_id}`

Returns inventory records for a single product at all outlets.

🔒 Requires: `inventory:read` scope

## Path parameters

- `product_id` string, required

## Query parameters

- `after` integer
- `before` integer
- `page_size` integer
- `variants` boolean
- `include_deleted` boolean
- `order_direction` 'asc' | 'desc'

## Response `200`

- Inventory[]
  - `average_cost` number, double, nullable — The average cost of inventory available to sell.
  - `current_inventory_level` number, double — Current inventory level.
  - `deleted_at` string, date-time, nullable — The deletion timestamp in UTC, or null if not deleted.
  - `id` string — Auto-generated object ID.
  - `outlet_id` string — The ID of the outlet associated with this inventory record.
  - `product_id` string — The ID of the product associated with this inventory record.
  - `quantity_to_procure` number, double — Quantity of stock to procure in order to satisfy current fulfilments and service orders.
  - `reorder_amount` number, double, nullable — The quantity to order to reach the desired stock level. For the `FIXED` method, this is a static amount that was set when the reorder method was configured. For `MIN_MAX`, this is dynamically computed as the difference between reorder_target and current_inventory_level, or zero if current stock exceeds the target. This computation is independent of reorder_point and may produce a non-zero value even when current_inventory_level is above the reorder point. It is null if no reorder method is configured.
  - `reorder_method` 'FIXED' | 'MIN_MAX' | 'null', nullable — The reorder strategy in use. Either `FIXED` or `MIN_MAX`. Null if no reorder method is configured.
  - `reorder_point` number, double, nullable — The inventory level at which a product should be automatically included in stock orders.
  - `reorder_target` number, double, nullable — The desired stock level to restore to when reordering. For reorder_method `MIN_MAX`, this is the target the reorder amount is computed against. For `FIXED`, this equals reorder_point + reorder_amount. Null if no reorder method is configured.
  - `version` integer — Auto-incrementing object version number.

---

[API](https://skmtc.net/lightspeedhq/apis/api-2026-07.md) · [All operations](https://skmtc.net/lightspeedhq/apis/api-2026-07/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightspeedhq/api-2026-07/revisions/72d4ceb46dbb/schema)
