Transaction and Statement Webhooks
Example webhook bodies for transactions.created and statements.created.
See how to read the webhook examples. The values are made up, but every field, its order and its format match what Acme sends.
Transactions
A credit or debit was reported on one of your bank accounts. The event is transactions.created.
{
"id": "wbh_0RWF7FQ99Y6AR",
"createdAt": "2026-10-08T03:14:07.429871266Z",
"mode": "LIVE",
"event": "transactions.created",
"object": {
"id": "txn_0RWF7FQ81Y5NH",
"dataSource": "ICN",
"transactionType": "PAYNOW",
"transactionStatus": "BOOKED",
"bankReference": "IMB2628103140726100000C741000000126",
"transactionReferences": [
{
"dataSource": "ICN",
"name": "msgId",
"value": "IMB2628103140726100000C741000000126"
}
],
"description": "INV-2026-10-0412",
"customerReference": "INV-2026-10-0412",
"remittanceInformation": null,
"additionalInformation": null,
"amount": 128050,
"currency": "SGD",
"direction": "CREDIT",
"counterparty": {
"name": "TAN WEI MING",
"bank": "OCBCSGSGXXX",
"bankAccountNumber": "5012846731"
},
"bankAccount": {
"id": "intacc_0RWF7FPY9Y4WK",
"bank": "DBSSSGSGXXX",
"bankAccountNumber": "0721845093"
},
"virtualAccountNumber": null,
"transactionDate": "2026-10-08",
"bookingDate": {
"date": "2026-10-08",
"time": null,
"offset": null,
"tz": null
},
"statementId": null,
"createdAt": "2026-10-08T03:14:07.418Z",
"updatedAt": "2026-10-08T03:14:07.418Z"
}
}These fields are left out when the bank does not report them:
transactionStatusbookingDate, which is also left out when your organization is set up to hide itcurrencyExchange, which is sent only for a transaction converted between currenciescounterparty.bankNameandcounterparty.localRoutingIdentifier
What the bank reports also differs:
counterpartycan hold only a name, or benull, when the bank sends no counterparty details.transactionReferenceslists every reference the bank sent, by the bank's own field name. It can be empty ornullwhen the bank sent none.
Intraday statement with several new transactions. DBS sends up to 10 transactions in one webhook:
{
"id": "wbh_0RWF7FRP1Y5E0",
"createdAt": "2026-10-08T06:05:13.002117954Z",
"mode": "LIVE",
"event": "transactions.created",
"objects": [
{
"id": "txn_0RWF7FRNXY54A",
"dataSource": "CAMT052",
"transactionType": "GIRO",
"transactionStatus": "BOOKED",
"bankReference": "GIRO2610080012784",
"transactionReferences": [
{
"dataSource": "CAMT052",
"name": "acctSvcrRef",
"value": "GIRO2610080012784"
}
],
"description": "GIRO COLLECTION OCT 2026",
"customerReference": "SUB-OCT26-00187",
"remittanceInformation": null,
"additionalInformation": "GIRO COLLECTION OCT 2026",
"amount": 8900,
"currency": "SGD",
"direction": "CREDIT",
"counterparty": {
"name": "LIM HUI LING",
"bank": "UOVBSGSGXXX",
"bankAccountNumber": "3609127745"
},
"bankAccount": {
"id": "intacc_0RWF7FPY9Y4WK",
"bank": "DBSSSGSGXXX",
"bankAccountNumber": "0721845093"
},
"virtualAccountNumber": null,
"transactionDate": "2026-10-08",
"bookingDate": {
"date": "2026-10-08",
"time": null,
"offset": null,
"tz": null
},
"statementId": null,
"createdAt": "2026-10-08T06:05:12.844Z",
"updatedAt": "2026-10-08T06:05:12.844Z"
},
{
"id": "txn_0RWF7FRP1Y5DZ",
"dataSource": "CAMT052",
"transactionType": "TT",
"transactionStatus": "BOOKED",
"bankReference": "FT2610081142867",
"transactionReferences": [
{
"dataSource": "CAMT052",
"name": "acctSvcrRef",
"value": "FT2610081142867"
}
],
"description": "OUTWARD TT PO 5521",
"customerReference": "PO-5521",
"remittanceInformation": null,
"additionalInformation": "OUTWARD TT PO 5521",
"amount": 354000,
"currency": "SGD",
"direction": "DEBIT",
"counterparty": {
"name": "SHENZHEN BRIGHT ELECTRONICS CO LTD",
"bank": "CMBCCNBSXXX",
"bankAccountNumber": "755912345610801"
},
"bankAccount": {
"id": "intacc_0RWF7FPY9Y4WK",
"bank": "DBSSSGSGXXX",
"bankAccountNumber": "0721845093"
},
"virtualAccountNumber": null,
"transactionDate": "2026-10-08",
"bookingDate": {
"date": "2026-10-08",
"time": null,
"offset": null,
"tz": null
},
"statementId": null,
"createdAt": "2026-10-08T06:05:12.844Z",
"updatedAt": "2026-10-08T06:05:12.844Z"
}
]
}Statements
An end-of-day statement has been processed. The transactions it reports are now available at
/v1/transactions. The event is statements.created.
openingBalance and closingBalance are null when the statement does not carry that balance for
the statement date and currency.
{
"id": "wbh_0RWF7FTRDY6B4",
"createdAt": "2026-10-08T01:30:24.145087173Z",
"mode": "LIVE",
"event": "statements.created",
"object": {
"id": "stmt_0RWF7FTQDY7M7",
"statementDate": "2026-10-07",
"type": "CAMT.053",
"bankAccount": {
"id": "intacc_0RWF7FPY9Y4WK",
"bank": "DBSSSGSGXXX",
"bankAccountNumber": "0721845093"
},
"currency": "SGD",
"createdAt": "2026-10-08T01:30:24.135Z",
"updatedAt": "2026-10-08T01:30:24.135Z",
"openingBalance": 18452300,
"closingBalance": 19630850
}
}