This release includes adding an attributes field to the Client model. The attribute field is a key-value map that can store any additional metadata you'd like to link to the client. There are some reserved keys for each service provider.

Here are the client attributes details of creating a client Client Create API

POST /clients
{
    "workflow": {
        "code": "direct"
    },
    "data": {
        "client": {
            "identity": {
                "type": "individual",
                "givenName": "Railsr",
                "familyName": "Rlb",
                "birthDate": "1987-01-01",
                "country": "GB",
                "identifications": [
                    {
                        "type": "identity-card",
                        "identificationNumber": "12345677",
                        "issuingCountry": "GB",
                        "issueDate": "2022-01-01",
                        "expirationDate": "2032-01-01"
                    }
                ]
            },
            "profile": {
                "identityType": "individual",
                "residentialAddress": {
                    "country": "GB",
                    "region": "England",
                    "city": "London",
                    "street": "Baker Street",
                    "houseNumber": "221B",
                    "postalCode": "EC1Y 1AA",
                    "refinement": ""
                },
                "phone": "1012555123",
                "email": "[email protected]"
            },
            "attributes": {
                "accountUsage": "sendAndReceiveMoneyTransfers",
                "riskScore": "low",
                "isPep": "false",
                "expectedVolumeRange": "5001-10000",
                "expectedVolumeType": "monthly",
                "expectedVolumeCurrency": "GBP"
            }
        }
    },
    "connect": {},
    "metadata": {}
}
POST /clients
{
    "workflow": {
        "code": "direct"
    },
    "data": {
        "client": {
            "identity": {
                "type": "corporate",
                "legalName": "Foo Bar Inc.",
                "tradingName": "",
                "country": "GB",
                "identifications": [
                    {
                        "type": "registration-number",
                        "identificationNumber": "12345678"
                    }
                ],
                "incorporationDate": "2019-09-09",
                "corporationType": "ltd"
            },
            "profile": {
                "registrationAddress": {
                    "country": "GB",
                    "region": "Dewsbury Moor",
                    "city": "Dewsbury",
                    "street": "98 Low Rd",
                    "houseNumber": "15",
                    "postalCode": "WF13 3PS",
                    "refinement": ""
                },
                "identityType": "corporate",
                "phone": "1012555123",
                "email": "[email protected]"
            },
            "addresses": {
                "tradingAddress": {
                    "country": "GB",
                    "region": "Dewsbury Moor",
                    "city": "Dewsbury",
                    "street": "92 Low Rd",
                    "houseNumber": "21",
                    "postalCode": "WF13 3PS",
                    "refinement": ""
                }
            },
            "attributes": {
                "accountUsage": "receiveClientFunds",
                "riskScore": "low",
                "expectedVolumeRange": "0-25000",
                "expectedVolumeType": "monthly",
                "expectedVolumeCurrency": "GBP",
                "businessNatures": "20200",
                "companyType": "private",
              	"website": "https//www.abc.com"
            },
            "relatedLegalEntities": [
                {
                    "relation": "director",
                    "identity": {
                        "type": "individual",
                        "givenName": "foo",
                        "familyName": "bar",
                        "birthDate": "1987-01-01",
                        "country": "GB"
                    },
                    "profile": {
                        "phone": "",
                        "addresses": {
                            "residential": {
                                "country": "GB",
                                "postalCode": "12345",
                                "city": "London",
                                "street": "122B Baker street"
                            }
                        }
                    }
                },
                {
                    "relation": "shareholder",
                    "identity": {
                        "type": "corporate",
                        "country": "GB",
                        "identificationNumbers": null,
                        "legalName": "Sub foo bar",
                        "incorporationDate": "2019-09-09",
                        "corporationType": null
                    },
                    "profile": {
                        "phone": "",
                        "addresses": {
                            "registration": {
                                "country": "GB",
                                "postalCode": "12345",
                                "city": "London",
                                "street": "122B Baker street"
                            }
                        }
                    }
                },
                {
                    "relation": "director-and-shareholder",
                    "identity": {
                        "type": "individual",
                        "givenName": "sub 2 foo",
                        "familyName": "bar",
                        "birthDate": "1987-01-01",
                        "country": "GB"
                    },
                    "profile": {
                        "phone": "",
                        "addresses": {
                            "residential": {
                                "country": "GB",
                                "postalCode": "12345",
                                "city": "London",
                                "street": "122B Baker street"
                            }
                        }
                    }
                }
            ]
        }
    },
    "connect": {},
    "metadata": {}
}

Here are the client attributes details of updating a client Client Update API

// the request below only updates the identity & profile & attributes of the individual client
PATCH /clients/<client-id>
{
    "workflow": {
        "code": "direct"
    },
    "data": {
        "client": {
            "identity": {
                "type": "individual",
                "givenName": "Connect Individual",
                "familyName": "Railsbank",
                "birthDate": "1996-01-01",
                "country": "GB",
                "identifications": [
                    {
                        "type": "identity-card",
                        "identificationNumber": "12345677",
                        "issuingCountry": "GB",
                        "issueDate": "2022-01-01",
                        "expirationDate": "2032-01-01"
                    }
                ]
            },
            "profile": {
                "identityType": "individual",
                "residentialAddress": {
                    "country": "GB",
                    "region": "England",
                    "city": "London",
                    "street": "Baker Street",
                    "houseNumber": "221B",
                    "postalCode": "EC1Y 1AA",
                    "refinement": ""
                },
                "phone": "1012555128",
                "email": "[email protected]"
            },
            "attributes": {
                "accountUsage": "sendAndReceiveMoneyTransfers",
                "riskScore": "low",
                "isPep": "false",
                "expectedVolumeRange": "5001-10000",
                "expectedVolumeType": "monthly",
                "expectedVolumeCurrency": "GBP"
            }
        }
    },
    "connect": {},
    "metadata": {}
}
// the request below only updates the identity & the profile & attributes of the corporate client
PATCH /clients/<client-id>
{
    "workflow": {
        "code": "direct"
    },
    "data": {
        "client": {
            "identity": {
                "type": "corporate",
                "legalName": "Foo Bar Inc.",
                "tradingName": "",
                "country": "GB",
                "identifications": [
                    {
                        "type": "registration-number",
                        "identificationNumber": "12345678"
                    }
                ],
                "incorporationDate": "2019-09-09",
                "corporationType": "ltd"
            },
            "profile": {
                "registrationAddress": {
                    "country": "GB",
                    "region": "Dewsbury Moor",
                    "city": "Dewsbury",
                    "street": "98 Low Rd",
                    "houseNumber": "17",
                    "postalCode": "WF13 3PS",
                    "refinement": ""
                },
                "identityType": "corporate",
                "phone": "1012555129",
                "email": "[email protected]"
            },
            "addresses": {
                "trading": {
                    "country": "GB",
                    "region": "Dewsbury Moor",
                    "city": "Dewsbury",
                    "street": "92 Low Rd",
                    "houseNumber": "21",
                    "postalCode": "WF13 3PS",
                    "refinement": ""
                }
            },
            "attributes": {
                "accountUsage": "receiveClientFunds",
                "riskScore": "low",
                "expectedVolumeRange": "0-25000",
                "expectedVolumeType": "monthly",
                "expectedVolumeCurrency": "GBP",
                "businessNatures": "20200",
                "companyType": "private",
              	"website": "https//www.abc.com"
            }
        }
    },
    "connect": {},
    "metadata": {}
}

This release includes adding an attributes field to the Account model. The attribute field is a key value field where additional information to be stored regarding the account can be sent. For example, a key-value whose key is account type and value is salary can be sent. Here, account type indicates the key, while salary is a value that holds the type value of this account. The attribute field is a field that can be sent when calling the Create Account API.

Here are the account attributes details of an account Account Create API

This release includes a new Webhook for incoming transfers. Below, you'll find the details about new additions that have been included in this release.

  • A new type of webhook for Incoming Transfers: incoming-transfer-updated-webhook
    If the incoming transfer is updated for any reason after it passes to the completed status, this webhook is sent. In this case, a new field called operationType is added under the webhook. This field indicates the operation for which this update was made. Incoming Transfer Webhooks
{
   "webhook":{
      "module":"incoming-transfers",
      "type":"incoming-transfer-updated",
      "operationType":"update-related-transaction-id"
   },
   "data":{
      "incomingTransfer":{
         "id":"00000000-0000-0000-0000-000000000000",
         "clientId":null,
         "accountId":"00000000-0000-0000-0000-000000000000",
         "transactionNumber":"20250120-YG2X8G",
         "status":"completed",
         "currency":"EUR",
         "amount":1000.00,
         "feeAmount":null,
         "feeCurrency":null,
         "outgoingTransferId":null,
         "serviceProviderId":"00000000-0000-0000-0000-000000000000",
         "serviceProviderReference":"00000000-0000-0000-0000-000000000000",
         "senderInformation":null,
         "senderName":"Donald Trump",
         "transferDate":"2025-01-20",
         "totalAmount":null,
         "provisionedAccountCreditId":"00000000-0000-0000-0000-000000000000",
         "serviceProvider":"clearbank-eu",
         "receiverAccount":{
            "bankName":null,
            "accountHolderName":"",
            "alias":"Customer Account",
            "country":"NL",
            "currency":"EUR",
            "routingCodes":{
               "bic":null
            },
            "accountNumber":null,
            "iban":"NL54CLRB0089338401",
            "ledgerNumber":"44579422"
         },
         "senderAccount":{
            "bankName":null,
            "accountHolderName":"Donald Trump",
            "alias":null,
            "country":null,
            "currency":"EUR",
            "routingCodes":{
               
            },
            "accountNumber":null,
            "iban":"NL55SHWG3508008115",
            "ledgerNumber":null
         },
         "scope":"external",
         "scheme":"sepa",
         "owner":"organization",
         "relatedTransaction":{
            "nature":"virtual",
            "id":"00000000-0000-0000-0000-000000000000"
         }
      }
   }
}

This release includes Open Banking EU APIs and changes for Open Banking GB APIs. Details about the modifications are included below.

Open Banking EU: In this context, all Open Banking APIs (GET, LIST, APPROVE, REVOKE, REJECT) have also become accessible to tenants in countries affiliated with the European Union. You can access it using the following links:


Open Banking GB: In this context, the Permission list is added to the consent object for accounts scope in GET and LIST APIs response payload. You can access the example response payload: Open Banking GB GET API Open Banking GB LIST API

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