A valid request URL is required to generate request examples{
"items": [
{
"id": "po-1001",
"supplierId": "nike-fr",
"shopId": "store-rivoli",
"status": "open",
"lines": [
{
"skuId": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"orderedQuantity": 24,
"receivedQuantity": 0,
"unitCostCents": 4500
}
]
}
],
"total": 1,
"page": 1,
"pageSize": 20,
"pageCount": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}List purchase orders (commandes fournisseur)
Returns one page of purchase orders (commandes fournisseur / bons de commande), optionally filtered by status (open/received), supplierId and/or shopId, sorted by id or lineCount. Use page/pageSize (max 100) to walk the result; total/pageCount tell you when to stop.
A valid request URL is required to generate request examples{
"items": [
{
"id": "po-1001",
"supplierId": "nike-fr",
"shopId": "store-rivoli",
"status": "open",
"lines": [
{
"skuId": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"orderedQuantity": 24,
"receivedQuantity": 0,
"unitCostCents": 4500
}
]
}
],
"total": 1,
"page": 1,
"pageSize": 20,
"pageCount": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
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
1-based page index to return. Defaults to 1.
1 <= x <= 9007199254740991Rows per page, 1..100. Defaults to 20.
1 <= x <= 100Filter by status: open (partiellement ou non reçue) or received (soldée).
open, received Filter to orders placed with one supplier (fournisseur).
1Filter to orders for one store (magasin).
1DEPRECATED — use storeId instead; removed on 2026-11-01. Filter to orders for one store (magasin). Sending both is allowed only when they name the SAME store.
1Sort key: order id or number of lines (default id).
id, lineCount Sort direction (default asc).
asc, desc Response
A page of purchase orders with the pagination totals.
A page of purchase orders with the pagination totals.
The rows on this page, in the query's sort order.
Show child attributes
Show child attributes
Total rows matching the filter across ALL pages, not just this one.
0 <= x <= 9007199254740991The 1-based page number served.
0 < x <= 9007199254740991Rows requested per page.
0 < x <= 9007199254740991Total number of pages; stop walking when page reaches it.
0 <= x <= 9007199254740991
