Appearance
Bank account verification
This guide shows how to verify a bank account with the EyeDP API. Bank Account Verification (BAV) checks that the account details are valid and associated with the supplied account holder.
Person cases send first and last name plus the Person's address. Entity cases send organisationName and account details only — they do not use an address.
A BAV check is enqueued automatically when a bank account is created on the case (when BAV is enabled for your client). You can create the account via the API, or upload a bank statement and let extraction create it.
Verify by creating a bank account
Authenticate with client credentials. See API basics.
Create a case. All bank accounts and checks belong to a case.
Create a bank account on the case. Submit country-specific identifiers using List bank account formats for the live field keys. UK accounts can send
sortCodeandaccountNumberinstead ofbankFields. When BAV is enabled, EyeDP enqueues the check as soon as the account exists.Wait for the check to finish. BAV is asynchronous. Register a webhook for
bank-account-verification/completedand use thecheckIdfrom the payload. If you are not using webhooks, poll List bank accounts untillatestBavAttemptis populated, or poll Get case checks.Read the result with Get check (
GET /api/cases/{caseId}/checks/{checkId}). ThebavResponsecontains the decision, reasons, scores, branch details, account match type, and the rules that fired.
Verify from a bank statement
Authenticate with client credentials. See API basics.
Create a case. All documents, bank accounts, and checks belong to a case.
Upload a bank statement to the case, then poll Get document until extraction finishes. EyeDP creates a bank account from the extracted details and, when BAV is enabled, enqueues the check. See Extract and verify a bank statement for the extraction walkthrough, and bank statement for the fields that are extracted.
Wait for the check to finish. BAV is asynchronous. Register a webhook for
bank-account-verification/completedand use thecheckIdfrom the payload. If you are not using webhooks, poll List bank accounts untillatestBavAttemptis populated, or poll Get case checks.Read the result with Get check (
GET /api/cases/{caseId}/checks/{checkId}). ThebavResponsecontains the decision, reasons, scores, branch details, account match type, and the rules that fired.
To start or re-run BAV against an existing account, execute the bav workflow and pass bankAccountId in workflowOptions. Get that ID from List bank accounts.
Correct an account before BAV runs
If a bank account's identifiers fail validation (for example, an IBAN misread from a bank statement), BAV won't run until they're fixed. While the account's canEdit is true, correct them with Update a bank account. The account keeps its ID, and when BAV is enabled a check is enqueued with the corrected details. Once BAV has been run or requested, the account can't be edited: delete it and create a new one instead.

