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": {}
}

Open Banking is now released for our customers via API. Open Banking Consent

GET /open-banking/{openBankingCode}/consents/{id}
{
	"workflow": {},
	"data": {
		"consent": {
			"id": "00000000-0000-0000-0000-000000000000",
			"thirdPartyProvider": {
				"name": "Example TPP Company Limited",
				"website": "https://example.com",
				"applicationName": "Example Third Party Application",
				"applicationDescription": "Test harness app for integration environment",
				"applicationWebsite": "https://example.com"
			},
			"status": "authorised",
			"content": {
				"scope": "accounts"
			},
			"requestCreatedDateTime": "2023-05-11T09:17:59",
			"requestExpiryDateTime": "2023-05-11T09:27:59",
			"grantedDateTime": "2023-05-11T09:18:53",
			"expiryDateTime": "2023-08-09T09:18:53"
		}
	},
	"connect": {},
	"metadata": {}
}
PATCH /open-banking/{openBankingCode}/consents/{id}
{
  "workflow": {
    "code": "direct"
  },
  "data": {
    "consent": {
        "action": "revoke"   
    }
  },
  "connect": {},
  "metadata": {}
}
  • Added accountHolderIdentityType to the account JSON object. Accounts

Generic Transaction API changes:

  • Added creationDateTimeFrom and creationDateTimeTo to the generic transaction query parameter. This feature is added to enable filtering by date for Generic Transaction API. List Generic Transaction

Account API changes:

  • Added payableBalance to the account JSON object. This feature is added to show a payable balance of client accounts. Accounts

Client API changes:

  • Added fullname instead of title to client and client relation JSON objects for get and list API response body. List Clients

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

Client API changes:

  • email was added to the client and client relation profile JSON objects. Clients