Skip to content

Extract and verify a bank statement ​

This guide shows how to use the EyeDP API in an end to end flow of extracting and verifying a bank statement.

The guide will use screenshots of Postman to show the steps executed. This is to keep the guide programming language agnostic.

1) Create a case ​

All interaction with the EyeDP platform happens through a case. It's the central point for all documents and checks on an individual or business.

To verify the bank statement we need to create a case. We do that with the Create Case endpoint:

Creating a case

We've successfully created our George Costanza case. The endpoint returns the Case Id (114 in this example) which is needed for the other steps.

2) Upload the bank statement ​

Now we have a case we can upload the bank statement. We do this with the Upload Documents endpoint.

Place the Case Id from step one in the url and George's bank statement in the body:

Uploading the bank statement

The endpoint returns the Document Id which we will need in the next steps.

3) Get the extracted content ​

Content extraction is triggered as soon as a document is uploaded. It's usually a quick process that only takes a couple of seconds but we need to be prepared to poll for it to finish. Polling should be based off the extraction Status which is part of the response.

Use the Get Document endpoint with the case id and document id from the previous steps to get the extracted content.

Getting the extracted bank statement information

The response contains all of the extracted content should you want to use it yourself. The bank statement page goes into detail on the data extracted.

4) Verify the document ​

Now we're moving into the checks side of the platform. Tamper detection runs automatically when a document is uploaded. Use Get case checks (GET /api/cases/{caseId}/checks) with the case id from the previous steps, then fetch a specific check with GET /api/cases/{caseId}/checks/{checkId}.

Document checks on the uploading bank statement

The response indicates the George's bank statement is suspicious. Not surprising... I wasn't going to use a real one for this guide! 😄

5) Verify the document content ​

The final check we're going to perform is verifying the document content according to the rules we have setup.

Unlike tamper detection, this type of check is triggered manually. So when a case is complete and all documents have been uploaded, trigger the check with the Execute Workflow endpoint.

Executing a workflow to start the case risk check

And to get the results call Get case checks again (GET /api/cases/{caseId}/checks), then GET /api/cases/{caseId}/checks/{checkId} for the check you want:

Getting the results of the case risk check

That gives us all the rules performed and whether they have passed or failed. Looks like we have an address mismatch to look into!

That's it! ​

All done, we've found that George's is very suspicious. His bank statement has been edited or fraudulent and the address on the document doesn't match his supplied address.

Any further questions please reach out. Thank you