We are replacing House Accounts by a new concept called Organization accounts. You can access them via backoffice and Platform API. Please refer to new Bank Accounts & Transaction Accounts docs for more details on the account structure. They are created for your specific needs by IF Team while your instance is setup.

Transactions on organization accounts are handled using the existing transaction APIs. Therefore, you'll see an addition of owner field on all transaction models and a couple of minor changes on the models based on the transaction type.

All list transaction APIs have a filter by owner option. Ideally, these APIs should return all data regardless of the value of owner. However, to be able to backward compatible we have to set clientas the default value for now. We expect all of our customers to send clientfilter parameter explicitly as soon as possible. After that, we can drop the default value and all list transaction APIs start to list client & organization transactions by default.

Please refer to Service Provider Account Models & Flow of Funds sections of the guides based on your service provider's account model.

We are excited to announce the recent launch of the Integrated Finance Cards API Card API Guide. Integrated Finance customers now have the opportunity to access a comprehensive suite of card issuing and processing features, seamlessly integrated with core banking and compliance capabilities.

If you have any questions, please feel free to reach out to us via our contact page at https://integrated.finance/contact-us.

Below, you will find details about the functionalities incorporated in this release for your reference.

Cards API changes:

This release includes API changes to the Account API. Below, you'll find details about the modifications included in this release.

Account API changes:

  • On account issue creation, an account can have built-in or plug-in connect methods. Account Create API. This common method field is optional and all methods are possible. The default method value is "built-in" which means creating an integrated service provider account to IF. Also, there is another method value called "plug-in". The plug-in method is for creating non-integrated service provider accounts to IF. If a connect method is not set when creating an account, it defaults to "built-in". If the connect method is "plug-in" then connect type must be "explicit" and if the connect method is "built-in" then connect type can be "implicit" or "explicit".
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "alias":"EUR Account"
      }
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"pending",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":null,
           "method":"built-in",
           "serviceProvider":"railsbank",
           "reference":null,
           "state":"creation-in-progress",
           "status":null,
           "error":null
         }
      }
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{}
}
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "alias":"EUR Account"
      }
   },
   "connect":{
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{}
}
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"pending",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
            "id":null,
            "method":"built-in",
            "serviceProvider":"railsbank",
            "reference":null,
            "state":"creation-in-progress",
            "status":null,
            "error":null
         }
      }
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account"
      }
   },
   "connect":{
         "method":"plug-in",
         "type": "explicit",
         "serviceProvider":"revolut"
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.issuing"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"pending",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":null,
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection": {
            "id":null,
            "method":"plug-in",
            "serviceProvider":"revolut",
            "reference":null,
            "state":"creation-in-progress",
            "status":null,
            "error":null
         }
      }
   },
   "connect":{
      "method":"plug-in",
      "type": "explicit",
      "serviceProvider":"revolut",
   },
   "metadata":{}
}
  • On account migration creation, an account connect method can have built-in or empty values Account Create API. This connect method field can not be plug-in value because migration is allowed only for integrated service providers. In addition to this, connect type can be "implicit" or "explicit".
{
   "workflow":{
      "code":"client.migration"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "alias":"EUR Account"
      },
      "sourceId":"00000000-0000-0000-0000-000000000000"
   },
   "connect":{
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.migration"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":"00000000-0000-0000-0000-000000000000",
           "method":"built-in",
           "serviceProvider":"railsbank",
           "reference":"00000000-0000-0000-0000-000000000000",
           "state":"completed-up-to-date",
           "status":"active",
           "error":null
         }
      }
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{}
}
{
   "workflow":{
      "code":"client.migration"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "alias":"EUR Account"
      },
      "sourceId":"00000000-0000-0000-0000-000000000000"
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.migration"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":"00000000-0000-0000-0000-000000000000",
           "method":"built-in",
           "serviceProvider":"railsbank",
           "reference":"00000000-0000-0000-0000-000000000000",
           "state":"completed-up-to-date",
           "status":"active",
           "error":null
         }
      }
   },
   "connect":{
      "method":"built-in",
      "type":"explicit",
      "serviceProvider":"railsbank"
   },
   "metadata":{

   }
}
  • On sub-account creation, there are no fields on the connect object. The sub-account gets the service provider from the connected main account. Account Create API
{
   "workflow":{
      "code":"client.sub-account"
   },
   "data":{
      "account":{
         "clientId":"00000000-0000-0000-0000-000000000000",
         "currency":"EUR",
         "alias":"EUR Account",
         "mainAccountId":"00000000-0000-0000-0000-000000000000"
      }
   },
   "connect":{

   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.sub-account"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"pending",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":null,
         "mainAccountId":"00000000-0000-0000-0000-000000000000",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual"
      }
   },
   "connect":{

   },
   "metadata":{

   }
}
  • On account updating, the "plug-in" connect method created accounts must be updated with the connection object, and the "built-in" connect method created accounts must be updated without the connection object Account Update API.
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "alias":"EUR Account 2",
         "status":"closed"
      }
   },
   "connect": {},
   "metadata":{}
}
{
 "workflow": {
    "code": "client.direct"
  },
  "data": {
    "account": {
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "status": "closed",
      "country": "GB",
      "currency": "EUR",
      "alias": "EUR Account 2",
      "routingCodes": {},
      "iban": null,
      "accountNumber": null,
      "ledgerNumber": "12345678",
      "availableBalance": 0,
      "receivableBalance": 0.00,
      "mainAccountId": null,
      "serviceProvider": "railsbank",
      "accountHolderName": "Sherlock Holmes",
      "accountHolderIdentityType": "individual",
      "connection": {
        "id":"00000000-0000-0000-0000-000000000000",
        "method": "built-in",
        "serviceProvider": "railsbank",
        "reference": "00000000-0000-0000-0000-000000000000",
        "state": "completed-up-to-date",
        "status": "active",
        "error": null
      }
    }
  },
  "connect": {
  },
  "metadata": {}
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "accountNumber":"12345678",
         "iban":"GB85LOYD77913045276224",
         "routingCodes":{
            "sort-code":"123456"
         },
         "connection":{
             "id":"00000000-0000-0000-0000-000000000000",
             "reference":"00000000-0000-0000-0000-000000000000",
             "state":"completed-up-to-date",
             "status":"active"
         }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "accountNumber":"12345678",
         "iban":"GB85LOYD77913045276224",
         "routingCodes":{
            "sort-code":"123456"
         },
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":null,
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":"00000000-0000-0000-0000-000000000000",
           "method":"plug-in",
           "serviceProvider":"revolut",
           "reference":"00000000-0000-0000-0000-000000000000",
           "state":"completed-up-to-date",
           "status":"active",
           "error":null
         }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account": {
         "connection":{
           "state":"creation-failed",
           "error":{
             "category": "functional/technical",
             "origin": "customer/platform/provider",
             "code":"..free text..",
             "message":"..free text..",
             "attributes":{
               "key01": "value01",
               "key02": "value02"
             }
           }
        }
      }
   },
   "connect":{

   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"pending",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":null,
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":null,
           "method":"plug-in",
           "serviceProvider":"revolut",
           "reference":null,
           "state":"creation-failed",
           "status":null,
           "error":{
             "category": "functional/technical",
             "origin": "customer/platform/provider",
             "code":"..free text..",
             "message":"..free text..",
             "attributes":{
               "key01": "value01",
               "key02": "value02"
             }
           }
         }
      }
   },
   "connect":{
   },
   "metadata":{}
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "status":"declined",
         "connection":{
           "state":"creation-failed",
           "error":{
             "category": "functional/technical",
             "origin": "customer/platform/provider",
             "code":"..free text..",
             "message":"..free text..",
             "attributes":{
               "key01": "value01",
               "key02": "value02"
             }
           }
        }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}
{
   "workflow":{
      "code":"client.direct"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"declined",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":null,
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
           "id":null,
           "method":"plug-in",
           "serviceProvider":"revolut",
           "reference":null,
           "state":"creation-failed",
           "status":null,
           "error":{
             "category": "functional/technical",
             "origin": "customer/platform/provider",
             "code":"..free text..",
             "message":"..free text..",
             "attributes":{
               "key01": "value01",
               "key02": "value02"
             }
           }
        }
      }
   },
   "connect":{
   },
   "metadata":{

   }
}
  • Added connection to the Account Get API "data.account" JSON object Account Get API. Also "connect.connection" object is DEPRECATED and will be removed on 30/05/2024.

GET /accounts/{accountId}?metadata.include=connect.connection

{
 "workflow": {},
    "data": {
        "account": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "status": "active",
            "country": "GB",
            "currency": "EUR",
            "alias": "EUR Account",
            "routingCodes": {},
            "iban": null,
            "accountNumber": null,
            "ledgerNumber": "12345678",
            "availableBalance": 0,
            "serviceProvider": "railsbank",
            "accountHolderName": "Sherlock Holmes",
            "accountHolderIdentityType": "individual",
            "connection": {
                "id": "00000000-0000-0000-0000-000000000000",
                "method": "built-in",
                "serviceProvider": "railsbank",
                "reference": "00000000-0000-0000-0000-000000000000",
                "state": "completed-up-to-date",
                "status": "active",
                "reason": null
            }
        }
    },
    "connect": {
        "connection": {
            "id": "00000000-0000-0000-0000-000000000000",
            "serviceProvider": "railsbank",
            "reference": "00000000-0000-0000-0000-000000000000",
            "state": "completed-up-to-date",
            "status": "active",
            "reason": null
        }
    },
    "metadata": {
        "include": [
            "connect.connection"
        ]
    }
}
{
   "workflow":{

   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual"
      }
   },
   "connect":{

   },
   "metadata":{

   }
}
{
 "workflow": {},
    "data": {
        "account": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "status": "active",
            "country": "GB",
            "currency": "EUR",
            "alias": "EUR Account",
            "routingCodes": {},
            "iban": null,
            "accountNumber": null,
            "ledgerNumber": "12345678",
            "availableBalance": 0,
            "serviceProvider": "revolut",
            "accountHolderName": "Sherlock Holmes",
            "accountHolderIdentityType": "individual",
            "connection": {
                "id": "00000000-0000-0000-0000-000000000000",
                "method": "plug-in",
                "serviceProvider": "revolut",
                "reference": "00000000-0000-0000-0000-000000000000",
                "state": "completed-up-to-date",
                "status": "active",
                "reason": null
            }
        }
    },
    "connect": {
        "connection": {
            "id": "00000000-0000-0000-0000-000000000000",
            "serviceProvider": "revolut",
            "reference": "00000000-0000-0000-0000-000000000000",
            "state": "completed-up-to-date",
            "status": "active",
            "reason": null
        }
    },
    "metadata": {}
}
{
   "workflow":{

   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "mainAccountId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"EUR",
         "alias":"EUR Account",
         "routingCodes":{

         },
         "iban":null,
         "accountNumber":null,
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"revolut",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual"
      }
   },
   "connect":{

   },
   "metadata":{

   }
}

GET /accounts/{accountId}?metadata.expand=data.account.clientId

{
 "workflow": {},
    "data": {
        "account": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "status": "active",
            "country": "GB",
            "currency": "GBP",
            "alias": "test 1",
            "routingCodes": {},
            "iban": null,
            "accountNumber": null,
            "ledgerNumber": "43611883",
            "availableBalance": 0.00,
            "receivableBalance": 0.00,
            "accountHolderIdentityType": "individual",
            "accountHolderName": "car keyboard",
            "mainAccountId": null,
            "serviceProvider": "nium",
            "connection": {
                "id": "00000000-0000-0000-0000-000000000000",
                "method": "built-in",
                "serviceProvider": "railsbank",
                "reference": "00000000-0000-0000-0000-000000000000",
                "state": "completed-up-to-date",
                "status": "active",
                "reason": null
            }
        },
        "client": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientNumber": "23050065",
            "fullName": "car keyboard",
            "status": "active",
            "identity": {
                "type": "individual",
                "country": "GB",
                "identifications": [
                    {
                        "type": "identity-card",
                        "identificationNumber": "12345677",
                        "issuingCountry": "GB",
                        "issueDate": "2022-01-01",
                        "expirationDate": "2032-01-01"
                    }
                ],
                "givenName": "car",
                "familyName": "keyboard",
                "birthDate": "1953-01-06"
            }
        }
    },
    "connect": {},
    "metadata": {
        "expand": [
            "data.account.clientId"
        ]
    }
}
{
 "workflow": {},
    "data": {
        "account": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "status": "active",
            "country": "GB",
            "currency": "GBP",
            "alias": "test 1",
            "routingCodes": {},
            "iban": null,
            "accountNumber": null,
            "ledgerNumber": "43611883",
            "availableBalance": 0.00,
            "receivableBalance": 0.00,
            "accountHolderIdentityType": "individual",
            "accountHolderName": "car keyboard",
            "mainAccountId": null,
            "serviceProvider": "nium",
            "connection": {
                "id": "00000000-0000-0000-0000-000000000000",
                "method": "plug-in",
                "serviceProvider": "revolut",
                "reference": "00000000-0000-0000-0000-000000000000",
                "state": "completed-up-to-date",
                "status": "active",
                "reason": null
            }
        },
        "client": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientNumber": "23050065",
            "fullName": "car keyboard",
            "status": "active",
            "identity": {
                "type": "individual",
                "country": "GB",
                "identifications": [
                    {
                        "type": "identity-card",
                        "identificationNumber": "12345677",
                        "issuingCountry": "GB",
                        "issueDate": "2022-01-01",
                        "expirationDate": "2032-01-01"
                    }
                ],
                "givenName": "car",
                "familyName": "keyboard",
                "birthDate": "1953-01-06"
            }
        }
    },
    "connect": {},
    "metadata": {
        "include": [
            "data.account.clientId"
        ]
    }
}
  • Added connection JSON object to the Account List API "data.accounts" JSON objects Account List API.
{
 "workflow": {},
    "data": {
        "accounts": [
            {
                "id": "00000000-0000-0000-0000-000000000000",
                "clientId": "00000000-0000-0000-0000-000000000000",
                "status": "pending",
                "country": "GB",
                "currency": "EUR",
                "alias": "EUR Account",
                "routingCodes": {},
                "iban": null,
                "accountNumber": null,
                "ledgerNumber": "12345678",
                "availableBalance": 0,
                "receivableBalance": 0.00,
                "serviceProvider": "railsbank",
                "accountHolderName": "Sherlock Holmes",
                "accountHolderIdentityType": "individual",
                "connection": {
                    "id": "00000000-0000-0000-0000-000000000000",
                    "method": "built-in",
                    "serviceProvider": "railsbank",
                    "reference": "00000000-0000-0000-0000-000000000000",
                    "state": "completed-up-to-date",
                    "status": "active",
                    "reason": null
                }
            },
            {
                "id": "00000000-0000-0000-0000-000000000000",
                "clientId": "00000000-0000-0000-0000-000000000000",
                "mainAccountId": "00000000-0000-0000-0000-000000000000",
                "status": "pending",
                "country": "GB",
                "currency": "EUR",
                "alias": "EUR Account",
                "routingCodes": {},
                "iban": null,
                "accountNumber": null,
                "ledgerNumber": "12345678",
                "availableBalance": 0,
                "receivableBalance": 0.00,
                "serviceProvider": "revolut",
                "accountHolderName": "Sherlock Holmes",
                "accountHolderIdentityType": "individual",
                "connection": {
                    "id": "00000000-0000-0000-0000-000000000000",
                    "method": "plug-in",
                    "serviceProvider": "revolut",
                    "reference": "00000000-0000-0000-0000-000000000000",
                    "state": "completed-up-to-date",
                    "status": "active",
                    "reason": null
                }
            }
        ]
    },
    "connect": {},
    "metadata": {
        "page": {
            "size": 10,
            "totalElements": 100,
            "totalPages": 10,
            "number": 0
        }
    }
}
  • Added connection JSON object to the Account Webhooks "data.account" JSON object Account Webhooks. Also "connect.connection" object is DEPRECATED and will be removed on 30/05/2024.
{
   "webhook":{
      "module":"accounts",
      "type":"account-activated"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"GBP",
         "alias":"GBP Account",
         "routingCodes":{
            "sort-code":"123456"
         },
         "iban":null,
         "accountNumber":"12345678",
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
            "id":"00000000-0000-0000-0000-000000000000",
            "method":"built-in",
            "serviceProvider":"railsbank",
            "reference":"00000000-0000-0000-0000-000000000000",
            "state":"completed-up-to-date",
            "status":"active",
            "reason":null
         }
      }
   },
   "connect":{
      "connection":{
         "id":"00000000-0000-0000-0000-000000000000",
         "serviceProvider":"railsbank",
         "reference":"00000000-0000-0000-0000-000000000000",
         "state":"completed-up-to-date",
         "status":"active",
         "reason":null
      }
   },
   "metadata":{

   }
}
{
   "webhook":{
      "module":"accounts",
      "type":"account-activated"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"active",
         "country":"GB",
         "currency":"GBP",
         "alias":"GBP Account",
         "routingCodes":{
            "sort-code":"123456"
         },
         "iban":null,
         "accountNumber":"12345678",
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"revolut",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
            "id":"00000000-0000-0000-0000-000000000000",
            "method":"plug-in",
            "serviceProvider":"revolut",
            "reference":"00000000-0000-0000-0000-000000000000",
            "state":"completed-up-to-date",
            "status":"active",
            "reason":null
         }
      }
   },
   "connect":{
      "connection":{
         "id":"00000000-0000-0000-0000-000000000000",
         "serviceProvider":"revolut",
         "reference":"00000000-0000-0000-0000-000000000000",
         "state":"completed-up-to-date",
         "status":"active",
         "reason":null
      }
   },
   "metadata":{

   }
}
{
   "webhook":{
      "module":"accounts",
      "type":"account-inactivated"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"inactive",
         "country":"GB",
         "currency":"GBP",
         "alias":"GBP Account",
         "routingCodes":{
            "sort-code":"123456"
         },
         "iban":null,
         "accountNumber":"12345678",
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"railsbank",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
            "id":"00000000-0000-0000-0000-000000000000",
            "method":"built-in",
            "serviceProvider":"railsbank",
            "reference":"00000000-0000-0000-0000-000000000000",
            "state":"completed-up-to-date",
            "status":"active",
            "reason":null
         }
      }
   },
   "connect":{
      "connection":{
         "id":"00000000-0000-0000-0000-000000000000",
         "serviceProvider":"railsbank",
         "reference":"00000000-0000-0000-0000-000000000000",
         "state":"completed-up-to-date",
         "status":"active",
         "reason":null
      }
   },
   "metadata":{

   }
}
{
   "webhook":{
      "module":"accounts",
      "type":"account-inactivated"
   },
   "data":{
      "account":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":"00000000-0000-0000-0000-000000000000",
         "status":"inactive",
         "country":"GB",
         "currency":"GBP",
         "alias":"GBP Account",
         "routingCodes":{
            "sort-code":"123456"
         },
         "iban":null,
         "accountNumber":"12345678",
         "ledgerNumber":"12345678",
         "availableBalance":0,
         "serviceProvider":"revolut",
         "accountHolderName":"Sherlock Holmes",
         "accountHolderIdentityType":"individual",
         "connection":{
            "id":"00000000-0000-0000-0000-000000000000",
            "method":"plug-in",
            "serviceProvider":"revolut",
            "reference":"00000000-0000-0000-0000-000000000000",
            "state":"completed-up-to-date",
            "status":"inactive",
            "reason":null
         }
      }
   },
   "connect":{
      "connection":{
         "id":"00000000-0000-0000-0000-000000000000",
         "serviceProvider":"revolut",
         "reference":"00000000-0000-0000-0000-000000000000",
         "state":"completed-up-to-date",
         "status":"inactive",
         "reason":null
      }
   },
   "metadata":{

   }
}
  • Added Account Connection Webhooks Account Webhooks. There are 6 types of webhooks sent for account connections:

    • connection-creation-instructed
    • connection-created
    • connection-creation-failed
    • connection-update-instructed
    • connection-updated
    • connection-update-failed
      These types are exposed in the webhook.type field.
    • "connect.connection" object is DEPRECATED and will be removed on 30/05/2024 because the connection object is added to "data.account" object.
    {
       "webhook":{
          "module":"accounts",
          "type":"connection-created"
       },
       "data":{
          "account":{
             "id":"00000000-0000-0000-0000-000000000000",
             "clientId":"00000000-0000-0000-0000-000000000000",
             "status":"active",
             "country":"GB",
             "currency":"GBP",
             "alias":"GBP Account",
             "routingCodes":{
                "sort-code":"123456"
             },
             "iban":null,
             "accountNumber":"12345678",
             "ledgerNumber":"12345678",
             "availableBalance":0,
             "serviceProvider":"railsbank",
             "accountHolderName":"Sherlock Holmes",
             "accountHolderIdentityType":"individual",
             "connection":{
                "id":"00000000-0000-0000-0000-000000000000",
                "method":"built-in",
                "serviceProvider":"railsbank",
                "reference":"00000000-0000-0000-0000-000000000000",
                "state":"completed-up-to-date",
                "status":"active",
                "reason":null
             }
          }
       },
       "connect":{
          "connection":{
             "id":"00000000-0000-0000-0000-000000000000",
             "serviceProvider":"railsbank",
             "reference":"00000000-0000-0000-0000-000000000000",
             "state":"completed-up-to-date",
             "status":"active",
             "reason":null
          }
       },
       "metadata":{
    
       }
    }
    
    {
       "webhook":{
          "module":"accounts",
          "type":"connection-updated"
       },
       "data":{
          "account":{
             "id":"00000000-0000-0000-0000-000000000000",
             "clientId":"00000000-0000-0000-0000-000000000000",
             "status":"closed",
             "country":"GB",
             "currency":"GBP",
             "alias":"GBP Account",
             "routingCodes":{
                "sort-code":"123456"
             },
             "iban":null,
             "accountNumber":"12345678",
             "ledgerNumber":"12345678",
             "availableBalance":0,
             "serviceProvider":"railsbank",
             "accountHolderName":"Sherlock Holmes",
             "accountHolderIdentityType":"individual",
             "connection":{
                "id":"00000000-0000-0000-0000-000000000000",
                "method":"built-in",
                "serviceProvider":"railsbank",
                "reference":"00000000-0000-0000-0000-000000000000",
                "state":"completed-up-to-date",
                "status":"closed",
                "reason":null
             }
          }
       },
       "connect":{
          "connection":{
             "id":"00000000-0000-0000-0000-000000000000",
             "serviceProvider":"railsbank",
             "reference":"00000000-0000-0000-0000-000000000000",
             "state":"completed-up-to-date",
             "status":"closed",
             "reason":null
          }
       },
       "metadata":{
    
       }
    }
    
    {
       "webhook":{
          "module":"accounts",
          "type":"connection-created"
       },
       "data":{
          "account":{
             "id":"00000000-0000-0000-0000-000000000000",
             "clientId":"00000000-0000-0000-0000-000000000000",
             "status":"active",
             "country":"GB",
             "currency":"GBP",
             "alias":"GBP Account",
             "routingCodes":{
                "sort-code":"123456"
             },
             "iban":null,
             "accountNumber":"12345678",
             "ledgerNumber":"12345678",
             "availableBalance":0,
             "serviceProvider":"revolut",
             "accountHolderName":"Sherlock Holmes",
             "accountHolderIdentityType":"individual",
             "connection":{
                "id":"00000000-0000-0000-0000-000000000000",
                "method":"plug-in",
                "serviceProvider":"revolut",
                "reference":"00000000-0000-0000-0000-000000000000",
                "state":"completed-up-to-date",
                "status":"active",
                "reason":null
             }
          }
       },
       "connect":{
          "connection":{
             "id":"00000000-0000-0000-0000-000000000000",
             "serviceProvider":"revolut",
             "reference":"00000000-0000-0000-0000-000000000000",
             "state":"completed-up-to-date",
             "status":"active",
             "reason":null
          }
       },
       "metadata":{
    
       }
    }
    
    {
       "webhook":{
          "module":"accounts",
          "type":"connection-updated"
       },
       "data":{
          "account":{
             "id":"00000000-0000-0000-0000-000000000000",
             "clientId":"00000000-0000-0000-0000-000000000000",
             "status":"closed",
             "country":"GB",
             "currency":"GBP",
             "alias":"GBP Account",
             "routingCodes":{
                "sort-code":"123456"
             },
             "iban":null,
             "accountNumber":"12345678",
             "ledgerNumber":"12345678",
             "availableBalance":0,
             "serviceProvider":"revolut",
             "accountHolderName":"Sherlock Holmes",
             "accountHolderIdentityType":"individual",
             "connection":{
                "id":"00000000-0000-0000-0000-000000000000",
                "method":"plug-in",
                "serviceProvider":"revolut",
                "reference":"00000000-0000-0000-0000-000000000000",
                "state":"completed-up-to-date",
                "status":"closed",
                "reason":null
             }
          }
       },
       "connect":{
          "connection":{
             "id":"00000000-0000-0000-0000-000000000000",
             "serviceProvider":"revolut",
             "reference":"00000000-0000-0000-0000-000000000000",
             "state":"completed-up-to-date",
             "status":"closed",
             "reason":null
          }
       },
       "metadata":{
    
       }
    }
    

This release includes the sending of a webhook on direct client creation in addition to onboarding processes. There are no changes in the payload but once a client is created using Create Client API, a webhook will triggered.

Here are the webhook details of client Client Webhooks

This release includes a new Webhook for returned outgoing transfers, new response examples for Get API of Outgoing Transfers and GET API of Incoming Transfers. Below, you'll find the details about the changes and new additions that have been included in this release.

Outgoing transfer API changes:

  • A new type of webhook:
    When an outgoing transfer is returned from the beneficiary's bank, an outgoing transfer-returned webhook will be triggered. Outgoing Transfer Webhooks
  {
  "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,
      "totalAmount": 112,
      "ownerType": "client",
      "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"
      }
    }
  },
  "connect": {},
  "metadata": {}
}
  • Added new response examples for Get API of Outgoing Transfer:
    External, internal and returned external outgoing transfer response examples have been added to the GET API of outgoing transfer. Get an Outgoing Transfer
 {
  "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,
      "returned": false,
      "totalAmount": 112,
      "ownerType": "client",
      "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"
      },
      "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",
            "transferCustomReason": null,
            "originalTransferDate": "2024-01-31",
            "rollCount": 0,
            "returned": false,
            "totalAmount": 16.68,
            "scope": "internal",
            "destination": {
                "type": "client-account",
                "accountId": "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"
            },
            "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",
            "rollCount": 0,
            "returned": true,
            "transferReasonId": "00000000-0000-0000-0000-000000000000",
            "totalAmount": 677.00,
            "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"
            },
            "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": {}
}

Incoming transfer API changes:

  • Added new response example for Get API of Incoming Transfer:
    Incoming transfer for returned outgoing transfer response example have been added to the GET API of incoming transfer. Get an Incoming Transfer
{
    "workflow": {},
    "data": {
        "incomingTransfer": {
            "id": "00000000-0000-0000-0000-000000000000",
            "clientId": "00000000-0000-0000-0000-000000000000",
            "accountId": "00000000-0000-0000-0000-000000000000",
            "transactionNumber": "20240207-3QXMN7",
            "status": "pending",
            "currency": "GBP",
            "amount": 675.00,
            "feeAmount": 10.00,
            "feeCurrency": "GBP",
            "outgoingTransferId": "00000000-0000-0000-0000-000000000000",
            "serviceProviderId": "00000000-0000-0000-0000-000000000000",
            "serviceProviderReference": "BeneficiaryTest",
            "senderInformation": null,
            "senderName": "Serkan Akagunduz",
            "transferDate": null,
            "totalAmount": 665.00,
            "provisionedAccountCreditId": "00000000-0000-0000-0000-000000000000",
            "serviceProvider": "currencycloud",
            "receiverAccount": {
                "accountHolderName": "Demo Company 005",
                "alias": "Joint Account with Amar",
                "country": "GB",
                "currency": "GBP",
                "routingCodes": {},
                "accountNumber": null,
                "iban": null,
                "ledgerNumber": "41735154"
            },
            "senderAccount": {
                "accountHolderName": "Serkan Akagunduz",
                "alias": "Serkan Akagunduz GBP",
                "country": "GB",
                "currency": "GBP",
                "routingCodes": {
                    "sort-code": "040720"
                },
                "accountNumber": "00000718",
                "iban": null,
                "ledgerNumber": null
            },
            "scope": "external",
            "scheme": null
        }
    },
    "connect": {},
    "metadata": {}
}

This release includes new APIs of incoming & outgoing transfer compliance checks. Below, you'll find the details about the changes and new additions that have been included in this release.

Incoming transfer API changes:

  • A new type of webhooks:
    When the status of an incoming transfer's compliance check is changed to in-review , then incoming-transfer-compliance-in-review webhook will be triggered. Incoming Transfer Webhooks
  • New APIs for compliance check of incoming transfers:
    With these APIs, the compliance check status of incoming transfers can be inspected and if it's allowed, the status can be updated.

Outgoing transfer API changes:

  • A new type of webhooks:
    When the status of an outgoing transfer's compliance check is changed to in-review , then outgoing-transfer-compliance-in-review webhook will be triggered. Outgoing Transfer Webhooks
  • New APIs for compliance check of outgoing transfers:
    With these APIs, the compliance check status of outgoing transfers can be inspected and if it's allowed, the status can be updated.

This release includes API changes to the Transfer API. Below, you'll find details about the modifications that have been included in this release.

Incoming transfer API changes:

  • On creation, a transfer can have pending, failed, or completed statuses. Incoming Transfers. All statuses are possible. If it is created as pending, it can be updated to failed or completed later. Once an incoming transfer is marked as pending the webhook incoming-transfer-pending will be triggered. If an incoming transfer fails with a failed _status, _incoming-transfer-failed will be triggered. When an incoming transfer is completed, the webhook incoming-transfer-completed will be triggered.
{
  "webhook": {
    "module": "incoming-transfers",
    "type": "incoming-transfer-pending"
  },
  "data": {
    "incomingTransfer": {
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "accountId": "00000000-0000-0000-0000-000000000000",
      "transactionNumber": "20210101-ABC123",
      "status": "pending",
      "currency": "GBP",
      "amount": 100.00,
      "feeAmount": 3.00,
      "feeCurrency": "GBP",
      "outgoingTransferId": null,
      "serviceProvider": "railsbank",
      "serviceProviderId": "",
      "serviceProviderReference": "",
      "senderInformation": null,
      "senderName": "",
      "transferDate": "2021-04-25",
      "scheme": "sepa",
      "scope": "external",
      "totalAmount": 97.00,
      "senderAccount": {
        "ledgerNumber": null,
        "alias": null,
        "accountHolderName": null,
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      },
      "receiverAccount": {
        "ledgerNumber": "12345678",
        "alias": "GBP Account",
        "accountHolderName": "",
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}
{
  "webhook": {
    "module": "incoming-transfers",
    "type": "incoming-transfer-failed"
  },
  "data": {
    "incomingTransfer": {
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "accountId": "00000000-0000-0000-0000-000000000000",
      "transactionNumber": "20210101-ABC123",
      "status": "failed",
      "currency": "GBP",
      "amount": 100.00,
      "feeAmount": 3.00,
      "feeCurrency": "GBP",
      "outgoingTransferId": null,
      "serviceProvider": "railsbank",
      "serviceProviderId": "",
      "serviceProviderReference": "",
      "senderInformation": null,
      "senderName": "",
      "transferDate": "2021-04-25",
      "scheme": "sepa",
      "scope": "external",
      "totalAmount": 97.00,
      "senderAccount": {
        "ledgerNumber": null,
        "alias": null,
        "accountHolderName": null,
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      },
      "receiverAccount": {
        "ledgerNumber": "12345678",
        "alias": "GBP Account",
        "accountHolderName": "",
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}

This release includes API changes to the Client and User APIs. Below, you'll find details about the modifications that have been included in this release.

Client API changes:

  • An automatic user creation workflow for individual clients has been introduced.
    The createUser option has been added to to the Create Client API.
    This feature allows the creation of user and user-client relations at the moment of individual client creation.
    Please note that this feature is only available for individual clients.
POST /clients
{
  "workflow": {
    "code": "direct",
    "createUser": true
  },
  "data": {
    "client": {
      "identity": {
        "type": "individual",
        "givenName": "Canay",
        "familyName": "Özel",
        "birthDate": "1987-01-01",
        "country": "TR",
        "identifications": [
          {
            "type": "identity-card",
            "identificationNumber": "12345678",
            "issuingCountry": "TR",
            "issueDate": "2022-01-01",
            "expirationDate": "2023-01-01"
          }
        ]
      },
      "profile": {
        "identityType": "individual",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        },
        "phone": "+441234567890",
        "email": "[email protected]"
      }
    }
  },
  "connect": {},
  "metadata": {}
}
POST /clients
{
  "workflow": {
    "code": "direct",
    "createUser": true
  },
  "data": {
    "client": {
      "id": "00000000-0000-0000-0000-000000000000",
      "clientNumber": "20663251",
      "status": "active",
      "identity": {
        "type": "individual",
        "givenName": "Canay",
        "familyName": "Özel",
        "birthDate": "1987-01-01",
        "country": "TR",
        "identifications": [
          {
            "type": "identity-card",
            "identificationNumber": "12345678",
            "issuingCountry": "TR",
            "issueDate": "2022-01-01",
            "expirationDate": "2023-01-01"
          }
        ]
      },
      "profile": {
        "identityType": "individual",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        },
        "phone": "+441234567890",
        "email": "[email protected]"
      },
      "fullName": "Canay Özel"
    },
    "user": {
      "id": "00000000-0000-0000-0000-000000000000",
      "email": "[email protected]",
      "identity": {
        "type": "individual",
        "givenName": "Canay",
        "familyName": "Özel",
        "birthDate": "1987-01-01",
        "country": "TR",
        "identifications": [
          {
            "type": "identity-card",
            "identificationNumber": "12345678",
            "issuingCountry": "TR",
            "issueDate": "2022-01-01",
            "expirationDate": "2023-01-01"
          }
        ]
      },
      "category": "external",
      "type": "human"
    },
    "userClientRelation": {
      "id": "00000000-0000-0000-0000-000000000000",
      "userId": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "status": "allowed"
    }
  },
  "connect": {},
  "metadata": {}
}

User API changes:

  • Direct creation of external human users has been introduced. API Guides
POST /users
{
  "workflow": {
    "code": "human.external.direct"
  },
  "data": {
    "user": {
      "email": "[email protected]",
      "identity": {
        "type": "individual",
        "givenName": "bruce",
        "familyName": "wayne",
        "birthDate": "1987-01-01"
      },
      "profile": {
        "phone": "+441234567890",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        }
      }
    },
    "userClientRelations": [
      {
        "clientId": "00000000-0000-0000-0000-000000000000"
      }
    ]
  },
  "connect": {},
  "metadata": {}
}
POST /users
{
  "workflow": {
    "code": "human.external.direct"
  },
  "data": {
    "user": {
      "id": "00000000-0000-0000-0000-000000000000",
      "email": "[email protected]",
      "identity": {
        "type": "individual",
        "givenName": "bruce",
        "familyName": "wayne",
        "birthDate": "1987-01-01"
      },
      "profile": {
        "phone": "+441234567890",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        }
      },
      "category": "external",
      "type": "human",
      "status": "active"
    },
    "userClientRelations": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "userId": "00000000-0000-0000-0000-000000000000",
        "clientId": "00000000-0000-0000-0000-000000000000",
        "status": "allowed"
      }
    ]
  },
  "connect": {},
  "metadata": {}
}

This release includes API changes to the Client, User and Beneficiary APIs. Below, you'll find details about the modifications that have been included in this release.

Client, User, and Beneficiary API changes:

  • state, firstLine, and secondLine were removed from Client, User, and Beneficiary API address JSON objects. Clients & Users & Beneficiaries
    Note: Deprecated fields have been removed from the address JSON objects in the Client, User, and Beneficiary APIs including residentialAddress, registrationAddress, tradingAddress and address fields.
POST /clients
{
  "workflow": {
    "code": "direct"
  },
  "data": {
    "client": {
      "identity": {
        "type": "individual",
        "givenName": "Canay",
        "familyName": "Özel",
        "birthDate": "1987-01-01",
        "country": "TR",
        "identifications": [
          {
            "type": "identity-card",
            "identificationNumber": "12345678",
            "issuingCountry": "TR",
            "issueDate": "2022-01-01",
            "expirationDate": "2023-01-01"
          }
        ]
      },
      "profile": {
        "identityType": "individual",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        },
        "phone": "+441234567890",
        "email": "[email protected]"
      }
    }
  },
  "connect": {},
  "metadata": {}
}
POST /users
{
  "workflow": {
    "code": "human.external.direct"
  },
  "data": {
    "user": {
      "email": "[email protected]",
      "identity": {
        "type": "individual",
        "givenName": "bruce",
        "familyName": "wayne",
        "birthDate": "1987-01-01"
      },
      "profile": {
        "phone": "+441234567890",
        "residentialAddress": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        }
      }
    },
    "userClientRelations": [
      {
        "clientId": "00000000-0000-0000-0000-000000000000"
      }
    ]
  },
  "connect": {},
  "metadata": {}
}
POST /beneficiaries
{
  "workflow": {
    "code": "direct"
  },
  "data": {
    "beneficiary": {
      "clientId": "3f0dceb7-9727-48c9-a2dc-5a13749d8993",
      "identity": {
        "type": "corporate",
        "legalName": "Example Technologies Limited"
      },
      "contact": {
        "phone": "+905551234567",
        "email": "[email protected]",
        "address": {
          "country": "GB",
          "region": "England",
          "city": "London",
          "street": "Baker Street",
          "houseNumber": "221B",
          "postalCode": "XYZ ABC",
          "refinement": ""
        }
      },
      "bankAccounts": [
        {
          "country": "GB",
          "currency": "GBP",
          "accountNumber": "12345678",
          "iban": "GB12AB01234567890",
          "routingCodes": {
            "bic": "ABCDGBBK",
            "sort-code": "123456"
          }
        }
      ]
    }
  },
  "connect": {},
  "metadata": {}
}