Transaction Accounts

Transaction accounts are the entities that hold the balances of clients or organization. Each transaction account may be connected to a bank account. Some transaction accounts, such as wallets, may not be connected to any bank account. Each transaction account has a ledger account that holds the ledger entries. Transaction accounts also hold outgoing transfer schemes and incoming transfer schemes.

Create Transaction Account

This Create Transaction Account API can only be called for Client owner. When creating a transaction account via the endpoint, it will always be created in the active state. If the transaction account is created as a part of a bank account creation, the transaction account will initially be in the pending state until the bank account has been activated.

POST /transaction-accounts
There are three different workflows to create a transaction account. The following workflow codes can be used to create a transaction account:

  • client.integrated-pool-account - used for creating new client accounts under a shared pool account model where the bankAccountId relates to an shared pool organization bank account
  • client.internal-ledger-only-account - used for creating ledger only transaction accounts, not attached to a bank account or another transaction account
  • client.sub-account - used for creating sub-account under a main transaction account where mainAccountId relates to a client standalone-account or main-account hierarchy transaction account
{
 "workflow": {
   "code": "client.integrated-pool-account"
},
    "data": {
        "transactionAccount": {
            "clientId": "00000000-0000-0000-0000-000000000000",
            "bankAccountId" : "00000000-0000-0000-0000-000000000000",
            "currency": "EUR",
            "alias": "EUR Client Account",
            "attributes":{
               "purpose":"card-expenses"
             }
        }
    },
    "connect": {

    },
    "metadata": {}
}
{
 "workflow": {
     "code": "client.integrated-pool-account"
},
    "data": {
         "transactionAccount": {
            "id": "00000000-0000-0000-0000-000000000000",
            "owner": "client",
            "type": "external-dedicated",
            "hierarchy": "standalone-account",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "bankAccountId": "00000000-0000-0000-0000-000000000000",
            "currency": "EUR",
            "alias": "EUR Client Account",
            "availableBalance":0,
            "receivableBalance": 0,
            "payableBalance": 0,
            "attributes":{
               "purpose":"card-expenses"
             },
            "inboundTransferSchemes": [
                "swift",
                "sepa",
                "sepa-instant"
            ],
            "outboundTransferSchemes": [
                "swift",
                "sepa",
                "sepa-instant"
            ],
            "status": "active",
            "depositInformation": {
                "sepa": {
                    "country": "GB",
                    "iban": "GB03LHVB04032800006654",
                    "routingCodes": {
                        "bic": "LHVBGB2L"
                    }
                },
                "swift": {
                    "country": "GB",
                    "iban": "GB03LHVB04032800006654",
                    "routingCodes": {
                        "bic": "LHVBGB2L"
                    }
                },
                "sepa-instant": {
                    "country": "GB",
                    "iban": "GB03LHVB04032800006654",
                    "routingCodes": {
                        "bic": "LHVBGB2L"
                    }
                }
            }
        }
    },
    "connect": {

    },
    "metadata": {}
}
{
 "workflow": {
   "code": "client.internal-ledger-only-account"
},
    "data": {
        "transactionAccount": {
            "clientId": "00000000-0000-0000-0000-000000000000",
            "currency": "GBP",
            "alias": "GBP Ledger Only Account",
            "attributes":{
               "purpose":"office-expenses"
             }
        }
    },
    "connect": {

    },
    "metadata": {}
}
{
   "workflow":{
      "code":"client.internal-ledger-only-account"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "owner": "client",
         "type": "internal-only",
         "hierarchy": "standalone-account",
         "currency":"GBP",
         "alias":"GBP Ledger Only Account",
         "availableBalance":0,
         "receivableBalance": 0,
         "payableBalance": 0,
         "attributes":{
            "purpose":"office-expenses"
         },
         "inboundTransferSchemes":[
            
         ],
         "outboundTransferSchemes":[
            
         ],
         "status":"active",
         "depositInformation":{
            
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
 "workflow": {
   "code": "client.sub-account"
},
    "data": {
        "transactionAccount": {
            "clientId": "00000000-0000-0000-0000-000000000000",
            "mainAccountId" : "00000000-0000-0000-0000-000000000000",
            "currency": "GBP",
            "alias": "GBP Client Sub Account",
            "attributes":{
               "purpose":"office-expenses"
             }
        }
    },
    "connect": {},
    "metadata": {}
}
{
    "workflow": {
        "code": "client.sub-account"
    },
    "data": {
        "transactionAccount": {
            "id": "00000000-0000-0000-0000-000000000000",
            "owner": "client",          
            "type": "external-dedicated",
            "hierarchy": "sub-account",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "mainAccountId":"00000000-0000-0000-0000-000000000000",
            "currency": "GBP",
            "alias": "GBP Client Sub Account",
            "attributes":{
               "purpose":"office-expenses"
            },
            "availableBalance": 50, 
            "receivableBalance": 0,
            "payableBalance": 0,
            "inboundTransferSchemes": [],
            "outboundTransferSchemes": [],
            "status": "active",
            "depositInformation": {}
           }
    },
    "connect": {},
    "metadata": {}
}

Update Transaction Account

PATCH /transaction-accounts/{id}
There is a single workflow to update a transaction account

  1. Direct: These fields can be updated using the direct workflow.

    • alias
    • attributes

    Only the alias and attributes fields can be updated in all transaction accounts. The status field is automatically updated via the Update Bank account API based on the bank account's status. For attributes object, refers to the Custom Attributes page.

{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "transactionAccount":{
         "alias":"EUR Client Salary Account",
         "attributes":{
               "accountType":"safeguarding-account"
          }
      }
   },
   "connect": {},
   "metadata":{}
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"EUR",
         "alias":"EUR Client Salary Account",
         "availableBalance":0.00,
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant"
         ],
         "outboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant"
         ],
         "status":"active",
         "attributes":{
            "accountType":"safeguarding-account"
         },
         "depositInformation":{
            "sepa":{
               "country":"LU",
               "iban":"LU714080000026145297",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            },
            "swift":{
               "country":"LU",
               "iban":"LU714080000026145297",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            },
            "sepa-instant":{
               "country":"LU",
               "iban":"LU714080000026145297",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "transactionAccount":{
         "alias":"Client Salary Account",
         "attributes":{
            "purpose":"client-expenses"
          }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
    "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "availableBalance":20,
         "alias": "Client Salary Account",
         "attributes":{
            "purpose":"client-expenses"
         },
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant"
         ],
         "outboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant"
         ],
         "status":"active",
         "depositInformation":{
            "sepa":{
               "country":"GB",
               "iban":"GB03LHVB04032800006654",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            },
            "swift":{
               "country":"GB",
               "iban":"GB03LHVB04032800006654",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            },
            "sepa-instant":{
               "country":"GB",
               "iban":"GB03LHVB04032800006654",
               "routingCodes":{
                  "bic":"LHVBGB2L"
               }
            }
         }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}

Get a Transaction Account

GET /transaction-accounts/{id}

{
  "workflow": {},
  "data": {
    "transactionAccount": {
      "id": "00000000-0000-0000-0000-000000000000",
      "owner": "organization",
      "type": "external-dedicated",
      "hierarchy": "standalone-account",
      "clientId": null,
      "bankAccountId": "00000000-0000-0000-0000-000000000000",
      "currency": "EUR",
      "alias": "Organization Account",
      "availableBalance": 20,
      "inboundTransferSchemes": [
        "swift",
        "sepa",
        "sepa-instant"
      ],
      "outboundTransferSchemes": [
        "swift",
        "sepa",
        "sepa-instant"
      ],
      "status": "active",
      "depositInformation": {
        "sepa": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        },
        "swift": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        },
        "sepa-instant": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}
{
  "workflow": {},
  "data": {
    "transactionAccount": {
      "id": "00000000-0000-0000-0000-000000000000",
      "owner": "client",
      "type": "external-dedicated",
      "hierarchy": "standalone-account",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "bankAccountId": "00000000-0000-0000-0000-000000000000",
      "currency": "EUR",
      "alias": "Client Account",
      "availableBalance": 20,
      "inboundTransferSchemes": [
        "swift",
        "sepa",
        "sepa-instant"
      ],
      "outboundTransferSchemes": [
        "swift",
        "sepa",
        "sepa-instant"
      ],
      "status": "active",
      "depositInformation": {
        "sepa": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        },
        "swift": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        },
        "sepa-instant": {
          "country": "GB",
          "iban": "GB03LHVB04032800006654",
          "routingCodes": {
            "bic": "LHVBGB2L"
          }
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}

List Transaction Accounts

GET /transaction-accounts

Supported query parameters:

parameterdescription
metadata.page.number0-indexed, default=0
metadata.page.sizedefault=20, max=100
data.transactionAccount.clientIdUUID of client
data.transactionAccount.statusactive, inactive, suspended, closed, declined
data.transactionAccount.currencyISO 4217 currency code
data.transactionAccount.bankAccountIdUUID of bank account
data.transactionAccount.routingCodeKeyrouting code key
data.transactionAccount.routingCodeValuerouting code value
data.transactionAccount.ibaniban
data.transactionAccount.accountNumberaccount number
data.transactionAccount.availableBalanceFrom
data.transactionAccount.availableBalanceTo
{
   "workflow":{
      
   },
   "data":{
      "transactionAccounts":[
         {
            "id":"00000000-0000-0000-0000-000000000000",
            "owner":"organization",
            "type":"external-dedicated",
            "hierarchy":"standalone-account",
            "clientId":null,
            "bankAccountId":"00000000-0000-0000-0000-000000000000",
            "mainAccountId":null,
            "currency":"USD",
            "alias":"Client Money Bank Account",
            "availableBalance":0.00,
            "inboundTransferSchemes":[
               "swift"
            ],
            "outboundTransferSchemes":[
               "swift"
            ],
            "status":"active",
            "attributes":{
               "purpose":"client-expenses"
            },
            "depositInformation":{
               "swift":{
                  "country":"GB",
                  "iban":"GB44BARC02038417887281",
                  "routingCodes":{
                     "bic":"BARCGB33"
                  }
               }
            }
         },
         {
            "id":"00000000-0000-0000-0000-000000000000",
            "owner":"organization",
            "type":"external-dedicated",
            "hierarchy":"standalone-account",
            "clientId":null,
            "bankAccountId":"00000000-0000-0000-0000-000000000000",
            "mainAccountId":null,
            "currency":"SEK",
            "alias":"Operational Bank Account",
            "availableBalance":30,
            "inboundTransferSchemes":[
               "swift"
            ],
            "outboundTransferSchemes":[
               "swift",
               "local"
            ],
            "status":"active",
            "attributes":{
               "purpose":"card-expenses"
            },
            "depositInformation":{
               "swift":{
                  "country":"GB",
                  "iban":"GB74TCCL12345604865957",
                  "routingCodes":{
                     "bic":"TCCLGB3L"
                  }
               }
            }
         },
         {
            "id":"00000000-0000-0000-0000-000000000000",
            "owner":"client",
            "type":"external-dedicated",
            "hierarchy":"standalone-account",
            "clientId":"00000000-0000-0000-0000-000000000000",
            "bankAccountId":"00000000-0000-0000-0000-000000000000",
            "mainAccountId":null,
            "currency":"GBP",
            "alias":"Bank Account - GBP",
            "availableBalance":0.00,
            "inboundTransferSchemes":[
               "swift",
               "chaps",
               "faster-payments",
               "faster-payments-poo"
            ],
            "outboundTransferSchemes":[
               "swift",
               "faster-payments"
            ],
            "status":"active",
            "attributes":{
               
            },
            "depositInformation":{
               "chaps":{
                  "country":"GB",
                  "accountNumber":"36647391",
                  "routingCodes":{
                     "sort-code":"040345"
                  }
               },
               "swift":{
                  "country":"GB",
                  "iban":"GB03PAYR04034536647391",
                  "routingCodes":{
                     "bic":"PAYRGB2LXXX"
                  }
               },
               "faster-payments":{
                  "country":"GB",
                  "accountNumber":"36647391",
                  "routingCodes":{
                     "sort-code":"040345"
                  }
               },
               "faster-payments-poo":null
            }
         }
      ]
   },
   "connect":{
      
   },
   "metadata":{
      "page":{
         "size":20,
         "number":0,
         "totalElements":3,
         "totalPages":1
      }
   }
}

Get Transaction Account Statements

GET /transaction-accounts/{id}/account-statements

Listing transaction account statements with request filter parameters.

parameterdescription

metadata.page.number

Requested page number: 0-indexed, default=0

metadata.page.size

Number of entries for each page: default=20, max=100

data.transactionAccountStatement.accountId

UUID of transaction account

data.transactionAccountStatement.transactionNumber

Transaction number for a specific statement record.
format: 20201231-QWERTY

data.transactionAccountStatement.entryDateTimeFrom

Transaction entry in range from date.
format: 2020-12-31T00:00:00.000

data.transactionAccountStatement.entryDateTimeTo

Transaction entry in range to date.
format: 2020-12-31T00:00:00.000

  • The default date range is the current month's from the first day to the last day.
  • If entryDateTimeFrom is given and entryDateTimeTo is empty, then default entryDateTimeTo is the last day of the entryDateTimeFrom's month.
  • If entryDateTimeTo is given and entryDateTimeFrom is empty, then default entryDateTimeFrom is the first day of the entryDateTimeTo's month.
{
  "workflow": {},
  "data": {
    "transactionAccountStatements": [
      {
        "accountId": "00000000-0000-0000-0000-000000000000",
        "transactionNumber": "20240909-9JW8W7",
        "transactionType": "exchange-transaction",
        "entryType": "principal-sell",
        "entryDateTime": "2024-09-09T07:46:38.290176",
        "direction": "debit",
        "amount": 12.00,
        "balance": 7805.00,
        "currency": "GBP",
        "narrative": "Sold to buy EUR at EUR/GBP:1.182"
      },
      {
        "accountId": "00000000-0000-0000-0000-000000000000",
        "transactionNumber": "20240909-9JW8W7",
        "transactionType": "exchange-transaction",
        "entryType": "principal-sell",
        "entryDateTime": "2024-09-09T07:46:39.792114",
        "direction": "credit",
        "amount": 12.00,
        "balance": 7817.00,
        "currency": "GBP",
        "narrative": "Reversal of Sold to buy EUR at EUR/GBP:1.182"
      }
    ]
  },
  "connect": {},
  "metadata": {
    "page": {
      "size": 20,
      "number": 0,
      "totalElements": 2,
      "totalPages": 1
    }
  }
}

Enum values of Transaction Account Statements:

Field CodePossible Values

direction

debit, credit

transactionType

incoming-transfer, outgoing-transfer, exchange-transaction, balance-adjustment

entryType

incoming-transfer: principal, fee

outgoing-transfer: principal, fee

exchange-transaction: principal-sell, principal-buy, fee, cancellation-fee

balance-adjustment: principal

Asynchronous Transaction Account Statements

Asynchronous transaction account statement generation creates a statement file asynchronously for a specific transaction account and one requested period.

The requested period may be one of the following:

periodentryDateFromcovered local range
dailyany local datethat local day
weeklya Mondaythat Monday until the next Monday
monthlythe first day of a monththat calendar month

The period must have fully elapsed. Weekly and monthly statements are available when they are enabled for the tenant.

An asynchronous account statement is a CSV file for one closed period of a transaction account. Create API starts account statement generation and returns the account statement. Get API returns that account statement by id. Generated statements have no list operation. Keep the id returned by Create. GET /transaction-accounts/{transactionAccountId}/account-statements returns ledger lines for a date range. Download API returns the account statement file after generation has completed.

entryDateFrom is the tenant-local calendar date on which the period starts, in yyyy-MM-dd form. The month and the day are two digits, for example 2026-09-01. The file contains ledger entries whose entry date-time is greater than or equal to local midnight at the start of the period and less than local midnight at the end of the period. Create and Get return those bounds in UTC as entryDateTimeFrom and entryDateTimeTo. entryDateTimeFrom is inclusive. entryDateTimeTo is exclusive. The period filter uses the ledger entry date-time.

The UTC values depend on the tenant timezone. For example, for a tenant whose timezone is Europe/London, while British Summer Time is in effect (UTC+1):

periodentryDateFromentryDateTimeFromentryDateTimeTo
daily2026-09-212026-09-20T23:00:002026-09-21T23:00:00
monthly2026-09-012026-08-31T23:00:002026-09-30T23:00:00

In that daily example, a ledger entry at 2026-09-21T23:00:30Z is 2026-09-22 00:00:30 in London and belongs to the daily statement for 2026-09-22.

The same transaction account, period, and entryDateFrom identify one statement. Create returns the existing statement when that period was already requested. A failed statement is generated again by the same request.

The status of an account statement can be one of the following:

statusmeaning
processingthe file is being generated
completedthe file can be downloaded
failedgeneration stopped; send the same create request to try again

When the status becomes completed, the account-statement-completed webhook is sent and the file can be downloaded. When the status becomes failed, the account-statement-failed webhook is sent. Both payloads are in the Webhooks section.

Create Asynchronous Transaction Account Statement

POST /transaction-accounts/{transactionAccountId}/account-statements

The Create Transaction Account Statement API returns HTTP 201 or HTTP 200. 201 means a new statement was created and generation has started. 200 means the statement for that period already existed and was returned. A retried failed statement is also returned with 200, and its status is processing.

The request body uses data.transactionAccountStatement. The response uses data.accountStatement.

Transaction Account Statement Create - Request-Response

The UTC bounds in these examples are for a tenant whose timezone is Europe/London, while British Summer Time is in effect.

{
  "workflow": {},
  "data": {
    "transactionAccountStatement": {
      "period": "daily",
      "entryDateFrom": "2026-09-20"
    }
  },
  "connect": {},
  "metadata": {}
}
{
    "workflow": {},
    "data": {
        "accountStatement": {
            "id": "00000000-0000-0000-0000-000000000000",
            "transactionAccountId": "00000000-0000-0000-0000-000000000000",
            "period": "daily",
            "entryDateFrom": "2026-09-20",
            "entryDateTimeFrom": "2026-09-19T23:00:00",
            "entryDateTimeTo": "2026-09-20T23:00:00",
            "status": "processing"
        }
    },
    "connect": {},
    "metadata": {}
}
{
  "workflow": {},
  "data": {
    "transactionAccountStatement": {
      "period": "monthly",
      "entryDateFrom": "2026-09-01"
    }
  },
  "connect": {},
  "metadata": {}
}
{
  "workflow": {},
  "data": {
    "accountStatement": {
      "id": "00000000-0000-0000-0000-000000000000",
      "transactionAccountId": "00000000-0000-0000-0000-000000000000",
      "period": "monthly",
      "entryDateFrom": "2026-09-01",
      "entryDateTimeFrom": "2026-08-31T23:00:00",
      "entryDateTimeTo": "2026-09-30T23:00:00",
      "status": "processing"
    }
  },
  "connect": {},
  "metadata": {}
}

Get Transaction Account Statement

GET /transaction-accounts/{transactionAccountId}/account-statements/{accountStatementId}

{
  "workflow": {},
  "data": {
    "accountStatement": {
      "id": "00000000-0000-0000-0000-000000000000",
      "transactionAccountId": "00000000-0000-0000-0000-000000000000",
      "period": "monthly",
      "entryDateFrom": "2026-09-01",
      "entryDateTimeFrom": "2026-08-31T23:00:00",
      "entryDateTimeTo": "2026-09-30T23:00:00",
      "status": "completed",
      "fileName": "account-statement-00000000-0000-0000-0000-000000000000-monthly-20260901.csv",
      "fileCreationDateTime": "2026-10-05T18:30:00"
    }
  },
  "connect": {},
  "metadata": {}
}
{
  "workflow": {},
  "data": {
    "accountStatement": {
      "id": "00000000-0000-0000-0000-000000000000",
      "transactionAccountId": "00000000-0000-0000-0000-000000000000",
      "period": "daily",
      "entryDateFrom": "2026-09-21",
      "entryDateTimeFrom": "2026-09-20T23:00:00",
      "entryDateTimeTo": "2026-09-21T23:00:00",
      "status": "failed",
      "failureReason": "Account statement generation failed. Please retry."
    }
  },
  "connect": {},
  "metadata": {}
}

Download Transaction Account Statement File

GET /transaction-accounts/{transactionAccountId}/account-statements/{accountStatementId}/file

Download Transaction Account Statement API returns a text/csv file attachment when status is completed. The file name is account-statement-{transactionAccountId}-{period}-{entryDateFrom}.csv, and the date is written as yyyyMMdd. This is the same value as fileName.

A period with no ledger entries still completes. That file contains the header row only.

Calling download while generation has not completed returns: The account statement file is not available because generation status is Processing. The same call for a failed statement returns that message with Failed.

CSV columns, from left to right:

columndescription
accountIdTransaction account id
transactionNumberTransaction number, for example 20260916-2836RN
transactionTypeTransaction type of entry
entryTypeType of entry
entryDateTimeUTC timestamp with a Z suffix, for example 2026-09-20T23:00:30.485791Z
directiondebit or credit
amountAbsolute amount. A comma separates thousands and a period separates decimals, for example 58.88 or 1,250.00
balanceBalance after the entry, in the same number format, for example 595,626.95
currencyISO 4217 currency code
narrativeLedger narrative. The column is present and the value may be empty.

A failed statement can return one of these failureReason values:

Failure reason
Account statement data could not be read. Please retry.
The statement file could not be stored. Please retry.
Account statement generation failed. Please retry.

Webhooks

  1. Transaction Account Webhooks: Transaction Account webhooks have "transaction-accounts" in the module field in the webhook container object.
    There are 9 types of webhooks sent for transaction accounts:

    • transaction-account-created
    • transaction-account-activated
    • transaction-account-inactivated
    • transaction-account-suspended
    • transaction-account-closed
    • transaction-account-declined
    • transaction-account-information-updated
    • account-statement-completed
    • account-statement-failed

    These types are exposed in the webhook.type field.

{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-created"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"GBP",
         "alias":"Bank Account - GBP",
         "availableBalance":0.00,
         "inboundTransferSchemes":[
            "swift",
            "chaps",
            "faster-payments",
            "faster-payments-poo"
         ],
         "outboundTransferSchemes":[
            "swift",
            "faster-payments"
         ],
         "status":"active",
         "attributes":{
             "type":"card-expenses"
         },
         "depositInformation":{
            "chaps":{
               "country":"GB",
               "accountNumber":"36647391",
               "routingCodes":{
                  "sort-code":"040345"
               }
            },
            "swift":{
               "country":"GB",
               "iban":"GB03PAYR04034536647391",
               "routingCodes":{
                  "bic":"PAYRGB2LXXX"
               }
            },
            "faster-payments":{
               "country":"GB",
               "accountNumber":"36647391",
               "routingCodes":{
                  "sort-code":"040345"
               }
            },
            "faster-payments-poo":{
               "country":"GB",
               "accountNumber":"36647391",
               "routingCodes":{
                  "sort-code":"040345"
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-activated"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"EUR",
         "alias":null,
         "availableBalance":175.75,
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "outboundTransferSchemes":[
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "status":"active",
         "attributes":{
            "purpose":"office-expenses"
         },
         "depositInformation":{
            "sepa":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "swift":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-instant":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-target-2":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-inactivated"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"GBP",
         "alias":"GBP Account",
         "availableBalance":72.75,
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "outboundTransferSchemes":[
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "status":"inactive",
         "attributes":{
             "purpose":"class-expenses"
         },
         "depositInformation":{
            "sepa":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "swift":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-instant":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-target-2":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-suspended"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"EUR",
         "alias":"EUR Account",
         "availableBalance":97200.01,
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "outboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "status":"suspended",
         "attributes":{
            "purpose":"salary"
         },
         "depositInformation":{
            "sepa":{
               "country":"LU",
               "iban":"LU894080000026014217",
               "routingCodes":{
                  "bic":null
               }
            },
            "swift":{
               "country":"LU",
               "iban":"LU894080000026014217",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-instant":{
               "country":"LU",
               "iban":"LU894080000026014217",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-target-2":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-closed"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"EUR",
         "alias":"EUR Account",
         "availableBalance":0.00,
         "inboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "outboundTransferSchemes":[
            "swift",
            "sepa",
            "sepa-instant",
            "sepa-target-2"
         ],
         "status":"closed",
         "attributes":{
            "purpose":"customer-expenses"
         },
         "depositInformation":{
            "sepa":{
               "country":"LU",
               "iban":"LU564080000026014132",
               "routingCodes":{
                  "bic":null
               }
            },
            "swift":{
               "country":"LU",
               "iban":"LU564080000026014132",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-instant":{
               "country":"LU",
               "iban":"LU564080000026014132",
               "routingCodes":{
                  "bic":null
               }
            },
            "sepa-target-2":{
               "country":"LU",
               "iban":"LU154080000026094022",
               "routingCodes":{
                  "bic":null
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-declined"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-shared",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"GBP",
         "alias":"explicit eur account for lhv",
         "availableBalance":0.00,
         "inboundTransferSchemes":[
            "swift",
            "chaps",
            "faster-payments"
         ],
         "outboundTransferSchemes":[
            "swift",
            "faster-payments"
         ],
         "status":"declined",
         "attributes":{
             "type":"client-expenses"
         },
         "depositInformation":{
            "chaps":{
               "country":"GB",
               "accountNumber":"24763549",
               "routingCodes":{
                  "sort-code":"200353"
               }
            },
            "swift":{
               "country":"GB",
               "iban":"GB09BARC20035324763549",
               "routingCodes":{
                  "bic":"BARCGB99"
               }
            },
            "faster-payments":{
               "country":"GB",
               "accountNumber":"24763549",
               "routingCodes":{
                  "sort-code":"200353"
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
   "webhook":{
      "module":"transaction-accounts",
      "type":"transaction-account-information-updated"
   },
   "data":{
      "transactionAccount":{
         "id":"00000000-0000-0000-0000-000000000000",
         "owner":"client",
         "type":"external-dedicated",
         "hierarchy":"standalone-account",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "bankAccountId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":null,
         "currency":"GBP",
         "alias":"CLB GBP",
         "availableBalance":0.00,
         "inboundTransferSchemes":[
            "swift",
            "chaps",
            "faster-payments",
            "faster-payments-poo"
         ],
         "outboundTransferSchemes":[
            "chaps",
            "faster-payments"
         ],
         "status":"active",
         "attributes":{
            "type":"client-expenses"  
         },
         "depositInformation":{
            "chaps":{
               "country":"GB",
               "accountNumber":"00001760",
               "routingCodes":{
                  "sort-code":"040720"
               }
            },
            "swift":{
               "country":"GB",
               "iban":"GB88CLRB04072000001760",
               "routingCodes":{
                  "bic":null
               }
            },
            "faster-payments":{
               "country":"GB",
               "accountNumber":"00001760",
               "routingCodes":{
                  "sort-code":"040720"
               }
            },
            "faster-payments-poo":{
               "country":"GB",
               "accountNumber":"00001760",
               "routingCodes":{
                  "sort-code":"040720"
               }
            }
         }
      }
   },
   "connect":{
      
   },
   "metadata":{
      
   }
}
{
  "webhook": {
    "module": "transaction-accounts",
    "type": "account-statement-completed"
  },
  "data": {
    "accountStatement": {
      "id": "00000000-0000-0000-0000-000000000000",
      "transactionAccountId": "00000000-0000-0000-0000-000000000000",
      "period": "daily",
      "entryDateFrom": "2026-09-21",
      "entryDateTimeFrom": "2026-09-20T23:00:00",
      "entryDateTimeTo": "2026-09-21T23:00:00",
      "status": "completed",
      "fileName": "account-statement-00000000-0000-0000-0000-000000000000-daily-20260921.csv",
      "fileCreationDateTime": "2026-10-05T16:20:00"
    }
  },
  "connect": {},
  "metadata": {}
}
{
  "webhook": {
    "module": "transaction-accounts",
    "type": "account-statement-failed"
  },
  "data": {
    "accountStatement": {
      "id": "00000000-0000-0000-0000-000000000000",
      "transactionAccountId": "00000000-0000-0000-0000-000000000000",
      "period": "daily",
      "entryDateFrom": "2026-09-21",
      "entryDateTimeFrom": "2026-09-20T23:00:00",
      "entryDateTimeTo": "2026-09-21T23:00:00",
      "status": "failed",
      "failureReason": "Account statement generation failed. Please retry."
    }
  },
  "connect": {},
  "metadata": {}
}