Bank Validation API New!

The JSON API provides capability to verify your customers' UK bank account details, such as the sort code and the account number. It supports CORSopen in new window 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

KeyTypeRequiredDescription
keystring✔️Your unique access token.
sortCodestring✔️The UK bank sort code you want to verify.
accountNumberstringThe UK bank account number you want to verify.
dataGroupsstringA 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

KeyTypeDescription
generalobjectGeneral details of the bank account from the sort code.
bacsobjectBacs transaction details related to the bank account.
extraobjectAdditional branch information and contact details.
errorstringProvides a reason, if the input values weren't valid.
sortCodestringThe input sort code.
successfulbooleanIndicates 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.
bankValidateobjectDetails of the account number and validation response.

General (Object)

KeyTypeDescription
fullOwningBankNamestringThe name of the bank the account belongs to.
subBranchSuffixstringThe suffix of the bank sub branch.
lastChangeDatestringThe date of the last change made to the account.
printIndicatorstringThe print indicator.
owningBankCodestringThe code of the bank the account belongs to.
shortBranchTitlestringThe name of the bank account type.
nationalCentralBankCountryCodestringThe national central bank country code.
shortOwningBankNamestringThe shortened name of the bank the account belongs to.
bicBranchstringThe BIC branch.
supervisoryBodystringThe supervisory body of the bank.
deletedDatestringThe date the account was deleted.
bicBankstringThe BIC bank.

Bacs (Object)

KeyTypeDescription
transactionsDisallowedBsstringInformation on disallowed interest payment transactions.
transactionsDisallowedCustringInformation on transactions disallowed for credit unions.
transactionsDisallowedDvstringInformation on disallowed dividend payment transactions.
transactionsDisallowedAustringInformation on disallowed Direct Debit Instructions (DDIs).
lastChangeDatestringThe date of the last update made to the Bacs information.
settlementSectionstringThe settlement section associated with the Bacs transactions.
handlingBankstringThe code of the bank handling Bacs transactions.
redirectedToSortCodestringSort code to which transactions are redirected.
transactionsDisallowedSpare1stringAdditional information on disallowed transactions.
redirectionFromFlagstringFlag indicating whether the bank office is set as a redirection sorting code.
settlementSubSectionstringThe settlement sub-section associated with the Bacs transactions.
ddiVoucherFlagstringIndicates if printed DDI vouchers are required.
accountNumberedFlagstringIndicates if the bank office has transferable account numbers.
closedDatestringThe date the bank office was closed.
transactionsDisallowedPrstringInformation on disallowed payroll transactions.
transactionsDisallowedDrstringInformation on disallowed direct debit transactions.
transactionsDisallowedCrstringInformation on disallowed credit transactions.
settlementBankstringThe code of the bank responsible for settling Bacs transactions.
handlingBankStreamstringThe handling bank stream associated with the Bacs transactions.
statusstringThe Bacs service status.

Extra (Object)

KeyTypeDescription
mainBranchSortCodestringThe sorting code of the main bank office.
fullBranchTitle3stringThe third title for the bank office.
postCodeOutcodestringThe outcode part of the postal address.
fullBranchTitle2stringThe second title for the bank office.
telephone1NumberstringThe first contact number for the bank office.
fullBranchTitle1stringThe main title for the bank office.
branchNamestringThe name of the bank office.
secondEntryBranchNamestringThe name of a secondary entry bank office.
addressTownstringThe town where the bank office is located.
telephone2AreastringThe area code for the second telephone number.
telephone2NumberstringThe second contact number for the bank office.
addressCountystringThe county where the bank office is located.
secondEntryIndicatorstringIndicator for the presence of a second entry.
minorLocationNamestringThe name of a minor location associated with the bank office.
addressLine1stringThe first line of the bank office address.
addressLine2stringThe second line of the bank office address.
addressLine3stringThe third line of the bank office address.
postCodeIncodestringThe incode part of the postal address.
addressLine4stringThe fourth line of the bank office address.
telephone1AreastringThe area code for the first telephone number.
majorLocationNamestringThe name of the major location associated with the bank office.
branchTypeIndicatorstringThe bank office type indicator.

Bank Validate (Object)

KeyTypeDescription
sortCodeListedbooleanWhether the sort code was present in the EISCD data.
validationPerformedbooleanWhether any meaningful modulus checking was performed.
invalidAccountNumberbooleanWhether 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.
accountNumberstringThe input account number.
sortCodestringThe input sort code.
isCorrectbooleanWhether 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: