Cancel SIL Transaction
Allow the initiating teller to cancel a transaction that is awaiting supervisor approval — before it is approved, rejected, or posted.
This is a self-service cancellation. It is distinct from
SITRejectTransactionCommand,
which is a supervisor action.
Cmd: SITCancelTransactionCommand
Permission: bnk_sit_cancel_transaction
When to use​
| Scenario | Command |
|---|---|
| Teller posted wrong amount / account and wants to withdraw before supervisor acts | SITCancelTransactionCommand |
| Supervisor declines a pending transaction | SITRejectTransactionCommand |
Request​
Provide one of sitTransactionId or transactionReference:
{
"cmd": "SITCancelTransactionCommand",
"data": {
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reason": "Customer changed mind before approval"
}
}
| Field | Type | Required | Notes |
|---|---|---|---|
sitTransactionId | guid | one of | GUID of the SIL transaction |
transactionReference | string | one of | Unique reference (e.g. WDR-20260427-0001) |
reason | string | no | Appended to narration for audit trail |
Response​
{
"isSuccessful": true,
"statusCode": "00",
"message": "SIT transaction cancelled.",
"data": {
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"transactionReference": "WDR-20260427-0001",
"status": "Cancelled",
"approvalStatus": "Cancelled"
}
}
Error cases​
| HTTP / StatusCode | Cause |
|---|---|
400 | Neither sitTransactionId nor transactionReference provided |
403 | Authenticated user is not the teller who initiated the transaction |
404 | Transaction not found for this tenant |
409 | Transaction is not in Pending / PendingApproval state (already approved, rejected, cancelled, or posted) |
State transitions​
After a successful cancel:
| Field | Before | After |
|---|---|---|
Status | Pending | Cancelled |
ApprovalStatus | PendingApproval | Cancelled |
No balance change is applied and no SITSyncQueue row is created.
The transaction is visible in the transaction list with status = Cancelled.