Skip to main content

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​

ScenarioCommand
Teller posted wrong amount / account and wants to withdraw before supervisor actsSITCancelTransactionCommand
Supervisor declines a pending transactionSITRejectTransactionCommand

Request​

Provide one of sitTransactionId or transactionReference:

{
"cmd": "SITCancelTransactionCommand",
"data": {
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reason": "Customer changed mind before approval"
}
}
FieldTypeRequiredNotes
sitTransactionIdguidone ofGUID of the SIL transaction
transactionReferencestringone ofUnique reference (e.g. WDR-20260427-0001)
reasonstringnoAppended 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 / StatusCodeCause
400Neither sitTransactionId nor transactionReference provided
403Authenticated user is not the teller who initiated the transaction
404Transaction not found for this tenant
409Transaction is not in Pending / PendingApproval state (already approved, rejected, cancelled, or posted)

State transitions​

After a successful cancel:

FieldBeforeAfter
StatusPendingCancelled
ApprovalStatusPendingApprovalCancelled

No balance change is applied and no SITSyncQueue row is created. The transaction is visible in the transaction list with status = Cancelled.