Skip to main content

Approve SIL Transaction

Approve a held transaction and apply the balance impact to SIL.

Cmd: SITApproveTransactionCommand

What the handler does​

  1. Re-loads the transaction and validates it is still Pending / PendingApproval.
  2. Re-validates the account is not now Frozen, Closed, or Dormant.
  3. Recomputes leg impact from persisted SITTransactionEntry rows.
  4. Re-checks sufficient funds for debit scenarios.
  5. Applies balances and backfills RunningBalance on the entries.
  6. Sets Status = Posted, ApprovalStatus = Approved.
  7. Inserts the SITSyncQueue row so replay to core can begin.

Request​

Provide one of:

{
"cmd": "SITApproveTransactionCommand",
"data": {
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}

or:

{
"cmd": "SITApproveTransactionCommand",
"data": {
"transactionReference": "WDR-20260427-0001"
}
}

Response​

{
"isSuccessful": true,
"message": "SIT transaction approved.",
"data": {
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"transactionReference": "WDR-20260427-0001",
"status": "Posted",
"approvalStatus": "Approved",
"newAvailableBalance": 149300.00,
"newLedgerBalance": 149300.00
}
}

Error cases​

StatusCause
400Neither sitTransactionId nor transactionReference supplied
404Transaction not found
409Transaction is not awaiting approval
409Account is now Frozen, Closed, or Dormant
409Insufficient SIT available balance at approval time