Skip to main content
GET
Error

Authorizations

Authorization
string
header
required

Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.

Query Parameters

page
integer
default:1

1-based page index to return. Defaults to 1.

Required range: 1 <= x <= 9007199254740991
pageSize
integer
default:20

Rows per page, 1..100. Defaults to 20.

Required range: 1 <= x <= 100
status
enum<string>

Filter by DERIVED availability: out-of-stock (rupture, onHand = 0), low-stock (seuil de réappro atteint, onHand ≤ reorderPoint), in-stock (onHand > reorderPoint).

Available options:
in-stock,
low-stock,
out-of-stock
category
string

Filter to one merchandising category (exact match).

Minimum string length: 1
storeId
string

Filter to one store (magasin) — matches the item's shopId. Since stock is a sku × shop position, pass this to scope the listing to a single store server-side.

Minimum string length: 1
supplier
string

Filter to lines replenished from one supplier (fournisseur; exact match).

Minimum string length: 1
sortField
enum<string>

Sort key: name, onHand, or available (onHand − reserved). Default name.

Available options:
name,
onHand,
available
sortDirection
enum<string>

Sort direction (default asc).

Available options:
asc,
desc

Response

A page of stock items with the pagination totals.

A page of stock items with the pagination totals.

items
object[]
required

The rows on this page, in the query's sort order.

total
integer
required

Total rows matching the filter across ALL pages, not just this one.

Required range: 0 <= x <= 9007199254740991
page
integer
required

The 1-based page number served.

Required range: 0 < x <= 9007199254740991
pageSize
integer
required

Rows requested per page.

Required range: 0 < x <= 9007199254740991
pageCount
integer
required

Total number of pages; stop walking when page reaches it.

Required range: 0 <= x <= 9007199254740991