Error
A valid request URL is required to generate request examples{
"lines": [
{
"reference": "SLIP-A",
"method": "cash",
"declaredCents": 12000,
"settledCents": 12000,
"varianceCents": 0,
"status": "matched"
},
{
"reference": "SLIP-B",
"method": "card",
"declaredCents": 8000,
"settledCents": 7800,
"varianceCents": -200,
"status": "short"
}
],
"declaredTotalCents": 20000,
"settledTotalCents": 19800,
"varianceTotalCents": -200,
"matchedCount": 1,
"unmatchedCount": 1,
"pendingCount": 0
}{
"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
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Finance
Reconcile a deposit batch
Matches declared vs settled per line (rapprochement) and freezes the batch (→ reconciled), returning the reconciliation totals. Takes NO body — the path batchId is the only input. 404s for an unknown batch; 422 when any line is still unsettled or the batch is already reconciled.
POST
/
v1
/
finance
/
deposits
/
{batchId}
/
reconcile
Error
A valid request URL is required to generate request examples{
"lines": [
{
"reference": "SLIP-A",
"method": "cash",
"declaredCents": 12000,
"settledCents": 12000,
"varianceCents": 0,
"status": "matched"
},
{
"reference": "SLIP-B",
"method": "card",
"declaredCents": 8000,
"settledCents": 7800,
"varianceCents": -200,
"status": "short"
}
],
"declaredTotalCents": 20000,
"settledTotalCents": 19800,
"varianceTotalCents": -200,
"matchedCount": 1,
"unmatchedCount": 1,
"pendingCount": 0
}{
"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
}
}{
"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.
Path Parameters
Deposit-batch id, e.g. deposit-2026-07-16-store-rivoli.
Minimum string length:
1Response
The batch reconciliation: per-line detail plus the settled-line totals.
The batch reconciliation: per-line detail plus the settled-line totals.
Show child attributes
Show child attributes
Required range:
-9007199254740991 <= x <= 9007199254740991Required range:
-9007199254740991 <= x <= 9007199254740991Required range:
-9007199254740991 <= x <= 9007199254740991Required range:
-9007199254740991 <= x <= 9007199254740991Required range:
-9007199254740991 <= x <= 9007199254740991Required range:
-9007199254740991 <= x <= 9007199254740991
