A valid request URL is required to generate request examples{
"items": [
{
"id": "deposit-2026-07-16-store-rivoli",
"shopId": "store-rivoli",
"status": "open",
"lines": [
{
"reference": "SLIP-A",
"method": "cash",
"declaredCents": 12000,
"settledCents": null
},
{
"reference": "SLIP-B",
"method": "card",
"declaredCents": 8000,
"settledCents": null
}
]
}
],
"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 deposit batches
Returns one PAGE of the bank-deposit reconciliation batches (remises en banque / rapprochement), optionally narrowed to a shop and/or a lifecycle status (open / reconciled). The response is the canonical paged envelope (items, total, page, pageSize, pageCount): a page is NEVER the whole ledger, so walk page up to pageCount before summing money — a subtotal over page 1 silently under-reports what was banked. This is the back-office deposit domain — DISTINCT from the register-session cash truth at GET /finance. For the per-day declared-vs-settled chart use GET /finance/deposits/trend, which aggregates every batch server-side.
A valid request URL is required to generate request examples{
"items": [
{
"id": "deposit-2026-07-16-store-rivoli",
"shopId": "store-rivoli",
"status": "open",
"lines": [
{
"reference": "SLIP-A",
"method": "cash",
"declaredCents": 12000,
"settledCents": null
},
{
"reference": "SLIP-B",
"method": "card",
"declaredCents": 8000,
"settledCents": null
}
]
}
],
"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 <= 100Narrow the remises en banque to one shop by its id.
Narrow by lifecycle: open (collecting) or reconciled (rapproché / frozen).
Response
One page of matching deposit batches with their declared / settled lines.
One page of matching deposit batches with their declared / settled lines.
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
