New!
Bank Validation APIThe JSON API provides capability to verify your customers' UK bank account details, such as the sort code and the account number. It supports CORS and can return data as JSON or JSONP.
Request
https://api.craftyclicks.co.uk/bank/1.1/validate
The service accepts POST / GET requests.
Parameters
Key | Type | Required | Description |
---|---|---|---|
key | string | ✔️ | Your unique access token. |
sortCode | string | ✔️ | The UK bank sort code you want to verify. |
accountNumber | string | The UK bank account number you want to verify. | |
dataGroups | string | A comma-separated list of categories specifying the types of banking data to retrieve. Valid options include general , bacs , and extra . Defaults to general if not provided. |
{
"key":"<<your access token>>",
"sortCode": "000000",
"accountNumber": "00000000",
"dataGroups": "general,bacs,extra"
}
Response
Key | Type | Description |
---|---|---|
general | object | General details of the bank account from the sort code. |
bacs | object | Bacs transaction details related to the bank account. |
extra | object | Additional branch information and contact details. |
error | string | Provides a reason, if the input values weren't valid. |
sortCode | string | The input sort code. |
successful | boolean | Indicates whether the validation process was completed successfully. This reflects the success of the validation procedure itself, not a guarantee of the validity of the sort code and account number combination. |
bankValidate | object | Details of the account number and validation response. |
General (Object)
Key | Type | Description |
---|---|---|
fullOwningBankName | string | The name of the bank the account belongs to. |
subBranchSuffix | string | The suffix of the bank sub branch. |
lastChangeDate | string | The date of the last change made to the account. |
printIndicator | string | The print indicator. |
owningBankCode | string | The code of the bank the account belongs to. |
shortBranchTitle | string | The name of the bank account type. |
nationalCentralBankCountryCode | string | The national central bank country code. |
shortOwningBankName | string | The shortened name of the bank the account belongs to. |
bicBranch | string | The BIC branch. |
supervisoryBody | string | The supervisory body of the bank. |
deletedDate | string | The date the account was deleted. |
bicBank | string | The BIC bank. |
Bacs (Object)
Key | Type | Description |
---|---|---|
transactionsDisallowedBs | string | Information on disallowed interest payment transactions. |
transactionsDisallowedCu | string | Information on transactions disallowed for credit unions. |
transactionsDisallowedDv | string | Information on disallowed dividend payment transactions. |
transactionsDisallowedAu | string | Information on disallowed Direct Debit Instructions (DDIs). |
lastChangeDate | string | The date of the last update made to the Bacs information. |
settlementSection | string | The settlement section associated with the Bacs transactions. |
handlingBank | string | The code of the bank handling Bacs transactions. |
redirectedToSortCode | string | Sort code to which transactions are redirected. |
transactionsDisallowedSpare1 | string | Additional information on disallowed transactions. |
redirectionFromFlag | string | Flag indicating whether the bank office is set as a redirection sorting code. |
settlementSubSection | string | The settlement sub-section associated with the Bacs transactions. |
ddiVoucherFlag | string | Indicates if printed DDI vouchers are required. |
accountNumberedFlag | string | Indicates if the bank office has transferable account numbers. |
closedDate | string | The date the bank office was closed. |
transactionsDisallowedPr | string | Information on disallowed payroll transactions. |
transactionsDisallowedDr | string | Information on disallowed direct debit transactions. |
transactionsDisallowedCr | string | Information on disallowed credit transactions. |
settlementBank | string | The code of the bank responsible for settling Bacs transactions. |
handlingBankStream | string | The handling bank stream associated with the Bacs transactions. |
status | string | The Bacs service status. |
Extra (Object)
Key | Type | Description |
---|---|---|
mainBranchSortCode | string | The sorting code of the main bank office. |
fullBranchTitle3 | string | The third title for the bank office. |
postCodeOutcode | string | The outcode part of the postal address. |
fullBranchTitle2 | string | The second title for the bank office. |
telephone1Number | string | The first contact number for the bank office. |
fullBranchTitle1 | string | The main title for the bank office. |
branchName | string | The name of the bank office. |
secondEntryBranchName | string | The name of a secondary entry bank office. |
addressTown | string | The town where the bank office is located. |
telephone2Area | string | The area code for the second telephone number. |
telephone2Number | string | The second contact number for the bank office. |
addressCounty | string | The county where the bank office is located. |
secondEntryIndicator | string | Indicator for the presence of a second entry. |
minorLocationName | string | The name of a minor location associated with the bank office. |
addressLine1 | string | The first line of the bank office address. |
addressLine2 | string | The second line of the bank office address. |
addressLine3 | string | The third line of the bank office address. |
postCodeIncode | string | The incode part of the postal address. |
addressLine4 | string | The fourth line of the bank office address. |
telephone1Area | string | The area code for the first telephone number. |
majorLocationName | string | The name of the major location associated with the bank office. |
branchTypeIndicator | string | The bank office type indicator. |
Bank Validate (Object)
Key | Type | Description |
---|---|---|
sortCodeListed | boolean | Whether the sort code was present in the EISCD data. |
validationPerformed | boolean | Whether any meaningful modulus checking was performed. |
invalidAccountNumber | boolean | Whether the sort code and account number combination is invalid. 1. It is not possible to determine if an account is genuinely valid. 2. The validation specification from Vocalink dictate that the account is assumed to be potentially valid unless proven otherwise. |
accountNumber | string | The input account number. |
sortCode | string | The input sort code. |
isCorrect | boolean | Whether the sort code and account number are assumed to be correct. |
{
"general": {
"fullOwningBankName": "Santander UK plc",
"subBranchSuffix": "00",
"lastChangeDate": "01\/01\/2021",
"printIndicator": "0",
"owningBankCode": "0000",
"shortBranchTitle": "BANK ACCOUNT",
"nationalCentralBankCountryCode": "",
"shortOwningBankName": "Santander",
"bicBranch": "",
"supervisoryBody": "A",
"deletedDate": "",
"bicBank": ""
},
"bacs": {
"transactionsDisallowedBs": "",
"transactionsDisallowedCu": "",
"transactionsDisallowedDv": "",
"transactionsDisallowedAu": "",
"lastChangeDate": "01\/01\/2021",
"settlementSection": "00",
"handlingBank": "0000",
"redirectedToSortCode": "",
"transactionsDisallowedSpare1": "",
"redirectionFromFlag": "",
"settlementSubSection": "00",
"ddiVoucherFlag": "N",
"accountNumberedFlag": "N",
"closedDate": "",
"transactionsDisallowedPr": "",
"transactionsDisallowedDr": "",
"transactionsDisallowedCr": "",
"settlementBank": "0000",
"handlingBankStream": "00",
"status": "M"
},
"extra": {
"mainBranchSortCode": "",
"fullBranchTitle3": "",
"postCodeOutcode": "AA1",
"fullBranchTitle2": "",
"telephone1Number": "123456",
"fullBranchTitle1": "A (123456)",
"branchName": "",
"secondEntryBranchName": "",
"addressTown": "Town",
"telephone2Area": "",
"telephone2Number": "",
"addressCounty": "",
"secondEntryIndicator": "1",
"minorLocationName": "",
"addressLine1": "Santander UK plc",
"addressLine2": "",
"addressLine3": "",
"postCodeIncode": "1AA",
"addressLine4": "",
"telephone1Area": "12345",
"majorLocationName": "",
"branchTypeIndicator": "M"
},
"sortCode": "000000",
"successful": true,
"bankValidate": {
"sortCodeListed": true,
"validationPerformed": true,
"invalidAccountNumber": false,
"accountNumber": "00000000",
"sortCode": "000000",
"isCorrect": true
}
}
Bank Validation Process
The flowchart below shows our bank validation process: