Transaction List
Filterable / exportable list of SIL transactions. Uses
DynamicPredicateBuilder for filters / searchText / searchFields.
Cmd: GetSITTransactionListQuery
Request​
{
"cmd": "GetSITTransactionListQuery",
"data": {
"pageIndex": 0,
"pageSize": 50,
"isExport": false,
"filters": [
{ "field": "Status", "operator": "equals", "value": "Posted" },
{ "field": "TransactionType", "operator": "equals", "value": "Deposit" }
]
}
}
Why account state matters here​
This page lists transactions, but the meaning of many SIL outcomes depends on the account state rules that were in force when posting was attempted.
Active: Normal posting flow. Transaction outcome is driven by amount, limits, approval and replay status.
Dormant: Transaction attempt is rejected with a state conflict. No balance movement is written.
PostNoDebit: Debit operations such as withdrawals and source-leg transfers are rejected.
PostNoCredit: Credit operations such as deposits and beneficiary-leg transfers are rejected.
Frozen: Any posting attempt is rejected.
Closed: Any posting attempt is rejected.
See Account States & Rules for the full state matrix and Enums Reference for the raw enum values.
How to read the list results​
The transaction list is easiest to interpret when you separate three different status dimensions:
Status / StatusCode: The business lifecycle of the SIL transaction itself. Typical values are Pending / 0, Posted / 1, Reversed / 3, Rejected / 5, Cancelled / 6.
ApprovalStatus / ApprovalStatusCode: Whether the item is waiting for supervisor action. Typical values are NotRequired / 0, PendingApproval / 1, Approved / 2, Rejected / 3, Cancelled / 4.
CoreSyncStatus / CoreSyncStatusCode: Whether SIL has replayed the transaction to CBS yet. Typical values are NotQueued / 0, Queued / 1, SyncedToCore / 2, FailedToSync / 3, DeadLettered / 4.
The API returns both the enum name and the underlying integer code for these fields in each row.
Response shape​
{
"data": {
"pageIndex": 0,
"pageSize": 50,
"totalRows": 1,
"items": [
{
"sitTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"transactionReference": "M226E1M2269165431",
"transactionType": "Deposit",
"channel": "Branch",
"amount": 40.0,
"currency": "NGN",
"narration": "Cash deposit",
"accountNumber": "0900851943",
"counterpartyAccountNumber": null,
"tellerUserId": "bm1@mailinator.com",
"tillId": "T000T03",
"valueDate": "2026-02-20T00:00:00Z",
"transactionDateUtc": "2026-02-20T14:35:00Z",
"status": "Posted",
"statusCode": 1,
"approvalStatus": "NotRequired",
"approvalStatusCode": 0,
"coreSyncStatus": "SyncedToCore",
"coreSyncStatusCode": 2,
"isSync": true,
"coreBankingReference": "CORE-REF-9981",
"syncedToCoreAt": "2026-02-20T14:36:12Z"
}
]
}
}
Important interpretation rules:
- A state-rule failure such as
Frozen,Dormant,PostNoDebitorPostNoCreditusually results in a409conflict at command time, so there may be no posted transaction to list. Pendingdoes not mean CBS failed. It usually means the transaction was held for approval before any balance impact.FailedToSyncorDeadLetteredis a replay problem after SIL accepted the transaction, not an account-state problem.
Recommended filters​
Common investigation filters include:
Find items waiting for supervisor action: ApprovalStatus = PendingApproval
Find items accepted by SIL but not yet replayed to core: Status = Posted and CoreSyncStatus != SyncedToCore
Review a product flow such as transfers only: TransactionType = Transfer
Review successful postings only: Status = Posted
If an expected transaction is missing from the list entirely, check the source or beneficiary account state first. A blocked state can prevent the transaction from ever being created.