Get Current Stock
GET/retail/v1/stock/getcurrentstock
Tier: Public — stable, supported for third-party integration.
Returns live per-SKU stock counts for a place, sourced from the materialised stock table.
Query parameters (hand-parsed, case-insensitive): placeId (GUID) or placeName — one is required; includeSubLocations — also roll in descendant places, itemised per place; countSubLocations — include descendant places' stock in the returned totals; barcode/skuNo — exact-match SKU filters; fields — comma-separated SKU extended-property/dimension names to include per record. An unknown place currently returns HTTP 200 with a null body rather than an error: the repository raises an exception internally which is caught, and the resulting InvalidReference ("PlaceId") response code is set on the service but never surfaced by this action (verified live 2026-07-04) — see docs/api-known-issues.md.
Responses
- 200
- 400
- 401
- 403
A list of Stocks.CurrentStockRecord — live counts projected from the materialised
SkuPlaceStock table (only SKUs with stock > 0 are included; a place with no stock
returns an empty array). Each record's StockLocations gives the per-place breakdown
when sub-locations are included.
Neither placeId nor placeName was supplied — InvalidValue ("PlaceId or placeName is required in the query").
Caller is not authenticated.
Caller does not have Read permission on the Inventory module.