Release Notes for Exposing Root Transaction: 03/10/2025
23 days ago
This release includes exposing the optional rootTransaction complex object to the Outgoing Transfer model. The rootTransaction complex object is storing the root transaction (incoming transfer or generic transaction) of the specific outgoing transfer. This complex object is exposed on the get, list, and webhook api's. Root Transaction examples:
- Instant collection of generic transactions (where an organization's outgoing transfer is created for each generic transaction request)
- Fee collection within a real client account model (where an organization's outgoing transfer is created to collect transactional fees directly from the client account)
- Fund sweeps for virtualised real client account model (where an organization's outgoing transfer is created to sweep funds from a client account to a pooled Client Money organization account for an incoming transfer)
Here are the rootTransaction complex object details of getting an outgoing transfer Get Outgoing Transfer API
{
"workflow": {},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20210419-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2021-04-19",
"status": "pending",
"currency": "GBP",
"amount": 100,
"feeCurrency": "GBP",
"feeAmount": 12,
"description": "freetext",
"incomingTransferId": null,
"transferReasonId": "00000000-0000-0000-0000-000000000000",
"transferCustomReason": null,
"originalTransferDate": "2021-04-19",
"cutOffDateTime": "2021-04-19T09:00:00",
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionType": "incoming-transfer",
"transactionNumber": "20251002-OLDE57",
"operationalRouteCategory": "charge-fee",
"clientId": "00000000-0000-0000-0000-000000000000"
},
"returned": false,
"triggerType": "manual",
"totalAmount": 112,
"ownerType": "client",
"owner":"client",
"attributes":null,
"scheme": "sepa",
"scope": "external",
"destination": {
"type": "beneficiary-bank-account",
"beneficiaryBankAccountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"beneficiary": {
"fullName": "John Doe",
"identity": {
"type": "individual",
"country": null,
"identifications": null,
"givenName": "John",
"familyName": "Doe",
"birthDate": null
},
"address": {
"country": "GB",
"city": "London",
"street": "1",
"houseNumber": "1",
"refinement": "London St"
},
"account": {
"accountHolderName": null,
"country": "GB",
"currency": "EUR",
"routingCodes": {
"bic": "TESTGB12"
},
"accountNumber": null,
"iban": "GB96TEST71161299304760",
"ledgerNumber": null,
"alias": "EUR account"
},
"title": "John Doe Beneficiary"
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "fulfilled",
"authorizationStatus": "not-checked"
}
}
},
"connect": {},
"metadata": {}
}{
"workflow": {},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20240131-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2024-01-31",
"status": "completed",
"currency": "EUR",
"amount": 16.68,
"feeCurrency": "EUR",
"feeAmount": 0.00,
"description": "test",
"incomingTransferId": "00000000-0000-0000-0000-000000000000",
"transferReasonId": null,
"transferCustomReason": null,
"originalTransferDate": "2024-01-31",
"cutOffDateTime": null,
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": null,
"returned": false,
"triggerType": "manual",
"totalAmount": 16.68,
"owner":"client",
"attributes":null,
"scope": "internal",
"scheme": null,
"destination": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "fulfilled",
"authorizationStatus": "not-required"
},
"beneficiary": {
"fullName": "Merve Testlhv",
"identity": {
"type": "individual",
"country": null,
"identificationNumbers": {
"passport": "000000",
"identity-card": "000000",
"driving-licence": "000000"
},
"identifications": null,
"givenName": "Merve",
"familyName": "Testlhv",
"birthDate": "1993-01-01"
},
"address": null,
"account": {
"accountHolderName": null,
"country": "EE",
"currency": "EUR",
"routingCodes": {
"bic": "LHVBEE22"
},
"accountNumber": null,
"iban": "EE937777000027746655",
"ledgerNumber": null,
"alias": "saving account lhv eur"
},
"title": "Merve Testlhv"
},
"ownerType": "client"
}
},
"connect": {},
"metadata": {}
}{
"workflow": {},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20240116-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2024-01-16",
"status": "completed",
"currency": "GBP",
"amount": 675.00,
"feeCurrency": "GBP",
"feeAmount": 2.00,
"description": "BeneficiaryTesting",
"incomingTransferId": "00000000-0000-0000-0000-000000000000",
"transferCustomReason": null,
"originalTransferDate": "2024-01-16",
"cutOffDateTime": null,
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": null,
"returned": true,
"triggerType": "manual",
"transferReasonId": "00000000-0000-0000-0000-000000000000",
"totalAmount": 677.00,
"owner":"client",
"attributes":null,
"scheme": "local",
"scope": "external",
"destination": {
"type": "beneficiary-bank-account",
"beneficiaryId": "00000000-0000-0000-0000-000000000000",
"beneficiaryBankAccountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "not-required",
"authorizationStatus": "not-required"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"beneficiary": {
"fullName": "Serkan Akagunduz",
"identity": {
"type": "individual",
"country": null,
"identifications": null,
"givenName": "Serkan",
"familyName": "Akagunduz",
"birthDate": "2000-02-09"
},
"address": {
"country": "GB",
"postalCode": "234578",
"city": "London",
"street": "Harry Potter",
"houseNumber": "67"
},
"account": {
"accountHolderName": null,
"country": "GB",
"currency": "GBP",
"routingCodes": {
"sort-code": "040720"
},
"accountNumber": "00000718",
"iban": null,
"ledgerNumber": null,
"alias": "Serkan Akagunduz GBP"
},
"title": "Serkan Akagunduz"
},
"ownerType": "client"
}
},
"connect": {},
"metadata": {}
}Here are the rootTransaction complex object details of listing outgoing transfers List Outgoing Transfer API
{
"workflow":{
},
"data":{
"outgoingTransfers":[
{
"id":"00000000-0000-0000-0000-000000000000",
"transactionNumber":"20210419-000000",
"clientId":"00000000-0000-0000-0000-000000000000",
"transferDate":"2021-04-19",
"status":"pending",
"currency":"GBP",
"amount":100,
"feeCurrency":"GBP",
"feeAmount":12,
"description":"freetext",
"incomingTransferId": null,
"transferReasonId":"00000000-0000-0000-0000-000000000000",
"transferCustomReason":null,
"originalTransferDate":"2021-04-19",
"cutOffDateTime":"2021-04-19T09:00:00",
"rollCount":0,
"schemeAttributes": null,
"rootTransaction": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionType": "incoming-transfer",
"transactionNumber": "20251002-OLDE57",
"operationalRouteCategory": "charge-fee",
"clientId": "00000000-0000-0000-0000-000000000000"
},
"returned": false,
"triggerType": "manual",
"totalAmount":112,
"ownerType":"client",
"owner":"client",
"attributes":null,
"scheme":"sepa",
"scope":"external",
"destination":{
"type":"beneficiary-bank-account",
"beneficiaryBankAccountId":"00000000-0000-0000-0000-000000000000"
},
"source":{
"type":"client-account",
"accountId":"00000000-0000-0000-0000-000000000000"
},
"requirementConfiguration":{
"transferDateStatus":"fulfilled",
"complianceCheckStatus":"fulfilled",
"balanceCheckStatus":"fulfilled",
"authorizationStatus":"not-checked"
},
"relatedTransaction": {
"nature": "actual",
"id": "00000000-0000-0000-0000-000000000000"
},
"beneficiary":{
"fullName":"Jose Mourinho",
"identity":{
"type":"individual",
"country":"GB",
"identifications":[
{
"type":"identity-card",
"identificationNumber":"12345678",
"issuingCountry":"GB",
"issueDate":"2022-01-01",
"expirationDate":"2032-01-01"
}
],
"givenName":"Jose",
"familyName":"Mourinho",
"birthDate":"1960-01-01"
},
"address":null,
"account":{
"accountHolderName":null,
"country":"GB",
"currency":"GBP",
"routingCodes":{
},
"accountNumber":null,
"iban":"GB24CLRB0047736514",
"ledgerNumber":"44453621",
"alias":"Mou GBP-2"
},
"title":"Jose Mourinho"
}
}
]
},
"connect":{
},
"metadata":{
"page":{
"size":20,
"number":0,
"totalElements":1,
"totalPages":1
}
}
}Here are the rootTransaction complex object details of outgoing transfer webhooks Outgoing Transfer Webhooks API
{
"webhook": {
"module": "outgoing-transfers",
"type": "outgoing-transfer-compliance-in-review"
},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20210419-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2021-04-19",
"status": "pending",
"currency": "GBP",
"amount": 100,
"feeCurrency": "GBP",
"feeAmount": 12,
"description": "freetext",
"incomingTransferId": null,
"transferReasonId": "00000000-0000-0000-0000-000000000000",
"transferCustomReason": null,
"originalTransferDate": "2021-04-19",
"cutOffDateTime": "2021-04-19T09:00:00",
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": null,
"returned": false,
"triggerType": "manual",
"totalAmount": 112,
"ownerType": "client",
"owner": "client",
"attributes":null,
"scheme": "sepa",
"scope": "external",
"destination": {
"type": "beneficiary-bank-account",
"beneficiaryBankAccountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "fulfilled",
"authorizationStatus": "not-required"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"beneficiary":{
"fullName":"Jose Mourinho",
"identity":{
"type":"individual",
"country":"GB",
"identifications":[
{
"type":"identity-card",
"identificationNumber":"12345678",
"issuingCountry":"GB",
"issueDate":"2022-01-01",
"expirationDate":"2032-01-01"
}
],
"givenName":"Jose",
"familyName":"Mourinho",
"birthDate":"1960-01-01"
},
"address":null,
"account":{
"accountHolderName":null,
"country":"GB",
"currency":"GBP",
"routingCodes":{
},
"accountNumber":null,
"iban":"GB24CLRB0047736514",
"ledgerNumber":"44453621",
"alias":"Mou GBP-2"
},
"title":"Jose Mourinho"
}
},
"complianceCheck": {
"status": "in-review",
"procedureResults": {
"transaction-monitoring": {
"result": null
}
}
}
},
"connect": {},
"metadata": {}
}{
"webhook": {
"module": "outgoing-transfers",
"type": "outgoing-transfer-completed"
},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20210419-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2021-04-19",
"status": "completed",
"currency": "GBP",
"amount": 100,
"feeCurrency": "GBP",
"feeAmount": 12,
"description": "freetext",
"incomingTransferId": null,
"transferReasonId": "00000000-0000-0000-0000-000000000000",
"transferCustomReason": null,
"originalTransferDate": "2021-04-19",
"cutOffDateTime": "2021-04-19T09:00:00",
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionType": "incoming-transfer",
"transactionNumber": "20251002-OLDE57",
"operationalRouteCategory": "charge-fee",
"clientId": "00000000-0000-0000-0000-000000000000"
},
"returned": false,
"triggerType": "manual",
"totalAmount": 112,
"ownerType": "client",
"owner":"client",
"attributes":null,
"scheme": "sepa",
"scope": "external",
"destination": {
"type": "beneficiary-bank-account",
"beneficiaryBankAccountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "fulfilled",
"authorizationStatus": "not-required"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"beneficiary":{
"fullName":"Jose Mourinho",
"identity":{
"type":"individual",
"country":"GB",
"identifications":[
{
"type":"identity-card",
"identificationNumber":"12345678",
"issuingCountry":"GB",
"issueDate":"2022-01-01",
"expirationDate":"2032-01-01"
}
],
"givenName":"Jose",
"familyName":"Mourinho",
"birthDate":"1960-01-01"
},
"address":null,
"account":{
"accountHolderName":null,
"country":"GB",
"currency":"GBP",
"routingCodes":{
},
"accountNumber":null,
"iban":"GB24CLRB0047736514",
"ledgerNumber":"44453621",
"alias":"Mou GBP-2"
},
"title":"Jose Mourinho"
}
}
},
"connect": {},
"metadata": {}
}{
"webhook": {
"module": "outgoing-transfers",
"type": "outgoing-transfer-returned"
},
"data": {
"outgoingTransfer": {
"id": "00000000-0000-0000-0000-000000000000",
"transactionNumber": "20210419-000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"transferDate": "2021-04-19",
"status": "completed",
"currency": "GBP",
"amount": 100,
"feeCurrency": "GBP",
"feeAmount": 12,
"description": "freetext",
"returned": true,
"incomingTransferId": "00000000-0000-0000-0000-000000000000",
"transferReasonId": "00000000-0000-0000-0000-000000000000",
"transferCustomReason": null,
"originalTransferDate": "2021-04-19",
"cutOffDateTime": "2021-04-19T09:00:00",
"rollCount": 0,
"schemeAttributes": null,
"rootTransaction": null,
"triggerType": "manual",
"totalAmount": 112,
"ownerType": "client",
"owner":"client",
"attributes":null,
"scheme": "sepa",
"scope": "external",
"destination": {
"type": "beneficiary-bank-account",
"beneficiaryBankAccountId": "00000000-0000-0000-0000-000000000000"
},
"source": {
"type": "client-account",
"accountId": "00000000-0000-0000-0000-000000000000"
},
"requirementConfiguration": {
"transferDateStatus": "fulfilled",
"complianceCheckStatus": "fulfilled",
"balanceCheckStatus": "fulfilled",
"authorizationStatus": "not-required"
},
"relatedTransaction": {
"nature": null,
"id": null
},
"beneficiary":{
"fullName":"Jose Mourinho",
"identity":{
"type":"individual",
"country":"GB",
"identifications":[
{
"type":"identity-card",
"identificationNumber":"12345678",
"issuingCountry":"GB",
"issueDate":"2022-01-01",
"expirationDate":"2032-01-01"
}
],
"givenName":"Jose",
"familyName":"Mourinho",
"birthDate":"1960-01-01"
},
"address":null,
"account":{
"accountHolderName":null,
"country":"GB",
"currency":"GBP",
"routingCodes":{
},
"accountNumber":null,
"iban":"GB24CLRB0047736514",
"ledgerNumber":"44453621",
"alias":"Mou GBP-2"
},
"title":"Jose Mourinho"
}
}
},
"connect": {},
"metadata": {}
}