Appearance
Checks
Endpoints for interacting with EyeDP checks
Get case checks
Returns all the checks performed on a case.
| Endpoint | /api/cases/{caseId}/checks |
|---|---|
| Method | GET |
Response
json
[
{
"id": 206,
"createTs": "2025-08-20T15:51:17.303",
"checkName": "financial-vulnerability",
"documentIds": []
},
{
"id": 205,
"createTs": "2025-08-20T15:51:17.243",
"checkName": "kyc",
"documentIds": []
},
{
"id": 204,
"createTs": "2025-08-20T15:49:41.987",
"checkName": "content-validation",
"documentIds": []
}
]Details
| Field | Description |
|---|---|
| Id | Id of the check used to get the check results |
| CreateTs | Timestamp of the check |
| Check name | Name of the check |
| documentIds | If a check is on any of the case documents they will show up here |
Check: Tamper detection
Returns tamper detection check results for a document. This check is triggered as soon as a document is uploaded to EyeDP.
| Endpoint | /api/cases/{caseId}/checks/{checkId} |
|---|---|
| Method | GET |
Response
json
{
"id": 210,
"createTs": "2025-08-22T13:44:33.74",
"tamperDetectionResponse": {
"results": [
{
"title": "Known document with unexpected patterns",
"description": "We’ve seen many documents like this from Monzo Bank Ltd, and this one stands out - in the wrong way. Its structure, layout, and other elements don’t follow the expected pattern. These clues strongly suggest the document was modified, recreated, or produced using different software.",
"riskLevel": "High"
},
{
"title": "Repeating number patterns detected",
"description": "The highlighted text contains numeric sequences with unlikely or repetitive patterns. This is often seen in documents generated using AI tool.",
"riskLevel": "High"
},
{
"title": "Suspicious use of PDFlib+PDI",
"description": "The issuer of this document does not use PDFlib+PDI - software library for generating and processing PDF files - as part of its process. This is highly suspicious and indicative of fraud.",
"riskLevel": "High"
},
{
"title": "No modification in document metadata",
"description": "Timestamps in this document's metadata do not indicate that the file was incrementally updated or modified.",
"riskLevel": "Informational"
}
]
}
}Details
The results of the tamper detection check contain the following fields
| Field | Description |
|---|---|
| Title | Short title of the tamper check |
| Description | Detailed description with more information of the risk |
| Risk level | The risk level is the seriousness of the risk. It has three levels: Informational, Warning or High |
ℹ️ Informational risk example
Monzo Bank Ltd logo
This document contains a logo commonly associated with Monzo Bank Ltd, suggesting it was issued by that bank.
⚠️ Warning risk example
Different Document Type Detected
We detected the document to be a Unkown but the user selected Bank Statement
‼️ High risk example
Document with fake components
This document shares characteristics with documents created by known fake document generators. These tools often reuse document templates and include fabricated signatures, synthetic faces, artificial backgrounds, and other generated elements.
Check: Content validation
This type of check runs a set of rules against the contents of uploaded documents and the case itself. This check is triggered as soon as a document is uploaded to EyeDP.
The rules enabled in your setup can be accessed through the Portal: https://portal.eyedp.com
| Endpoint | /api/cases/{caseId}/checks/{checkId} |
|---|---|
| Method | GET |
Response
If any of the rules fail the endpoint will return the rules with the status as 'Failed':
json
{
"id": 230,
"createTs": "2025-08-22T13:45:25.01",
"contentValidationResponse": {
"rules": [
{
"status": "Failed",
"name": "Name",
"riskRating":"High",
"description": "Checks document name against Case name",
"documentIds": [
960
]
},
{
"status": "Failed",
"name": "Date of Birth",
"riskRating":"High",
"description": "Checks the document date of birth against Case date of birth",
"documentIds": [
960
]
}
]
}
}Passed rules will return a status of 'Passed':
json
{
"id": 230,
"createTs": "2025-08-22T13:45:25.01",
"contentValidationResponse": {
"rules": [
{
"status": "Passed",
"name": "Joint account",
"description": "The platform will flag an alert if the document is in joint names",
"documentIds": [
960
]
}
]
}
}Details
The rules of the check contains the following fields
| Field | Description |
|---|---|
| Status | Status can be one of 3 options: Pending, Passed or Failed. Pending only appears while the rule is executing. Generally this is very quick so you probably won't see it. You're most likely to see it as either Passed or Failed which are the results of the rule. |
| Name | Short name of the rule |
| RiskRating | The risk rating according to your risk configuration. Possible values are: Low, Medium or High |
| Description | Longer more detailed description of the rule |
| DocumentIds | The documents involved in the rule. Rules that compare document contents like a Name against the case will only show a single Id. If the rule is looking at trends across documents all the document ids will be included. |
Check: KYC
Returns KYC check results for a case.
This check is only triggered through executing workflows. Please see the workflows page.
| Endpoint | /api/cases/{caseId}/checks/{checkId} |
|---|---|
| Method | GET |
Response
json
{
"id": 241,
"createTs": "2025-08-22T15:40:21.55",
"kycResponse": {
"decision": "Refer",
"rules": [
{
"ruleId": "7603",
"ruleName": "V_EId_2PSNAx",
"ruleScore": 0,
"ruleText": "2+ Primary or Secondary Name and Address (DoB agnostic)"
}
]
}
}Check: Financial vulnerability
Returns Financial Vulnerability check results for a case.
This check is only triggered through executing workflows. Please see the workflows page.
| Endpoint | /api/cases/{caseId}/checks/{checkId} |
|---|---|
| Method | GET |
Response
json
{
"id": 242,
"createTs": "2025-08-22T15:40:22.69",
"finvulResponse": {
"decision": "Fail",
"rules": [
{
"ruleId": "C6506",
"ruleName": "V_PI_CCJ_5000",
"ruleScore": 0,
"ruleText": "One or more active CCJs with a total value over £5000 found"
}
]
}
}Check: Bank account verification
Returns Bank account verification check results for a case.
This check is triggered as soon as a document is uploaded to EyeDP.
| Endpoint | /api/cases/{caseId}/checks/{checkId} |
|---|---|
| Method | GET |
Response
json
{
"id": 223,
"createTs": "2025-08-22T13:45:24.37",
"bavResponse": {
"decision": "Pass",
"rules": [
{
"ruleId": "CNS1004",
"ruleName": "BAV_Acc_Age_0_30_Days",
"ruleScore": 0,
"ruleText": "Data has been found to indicate that the account was opened in the last 30 days"
}
]
}
}Check: AML
The AML check searches the case against watchlist, sanctions, politically exposed people and adverse media datasets.
The check includes the Name, DOB and Country of the case in the search.
The check is synchronous and can be executed through the AML workflow
Request options
Options can be provided when executing the workflow.
| Name | Description |
|---|---|
| enableOngoingMonitoring | Boolean to enable on going monitoring (ongoing screening) of the case against the AML dataset |
Example
json
// Workflow request example with AML options
{
"caseId":"123",
"workFlowName":"aml",
"options":{
"enableOngoingMonitoring":"true"
}
}AML workflow execution response
Here is an example of a response for the AML workflow where an individual match was found with a PEP entry:
(Check the Swagger definition for the full schema: https://api-sandbox.eyedp.com/swagger)
json
// RESPONSE from /api/workflows/execute (200)
{
"checkId": 2006,
"amlResponse": {
"matches": [
{
"entityId": "PEP-001",
"name": "Maria Elena Santos",
"datesOfBirth": [
"1965-03-15"
],
"addresses": [
{
"value": "BR",
"type": "Current"
}
],
"watchlistEntries": [
{
"key": 1,
"type": "Pep",
"source": "Government Records",
"dateModified": "2023-06-15T10:30:00+00:00",
"subCategories": [
"Executive Branch",
"Finance"
]
}
],
"watchlistEntriesInfo": {
"sanctions": [],
"peps": [
{
"key": 1,
"source": "Government Records",
"dateModified": "2023-06-15T10:30:00+00:00",
"subCategories": [
"Executive Branch",
"Finance"
],
"country": "BR",
"status": "Inactive",
"isPrimary": true,
"governingInstitution": "Ministry of Finance",
"governingRole": "Minister",
"effectiveDate": "2010-01-15",
"effectiveDateType": "Appointed",
"expirationDate": "2014-12-31",
"expirationDateType": "Official"
}
],
"adverseMedias": []
}
}
]
}
}Sandbox environment
When integrating with the sandbox envrionment, the following cases will produce the following results:
| Name | DOB | Country | Result Type |
|---|---|---|---|
| Maria Elena Santos | 1965-03-15 | BR | Single PEP |
| Viktor Mikhailovich Petrov | 1972-08-22 | RU | Single Sanctions |
| John Michael Patterson | 1980-11-05 | GB | Single Adverse Media |
| Ahmed Hassan Al-Masri | 1968-05-30 | EG | 2 PEPs + 1 Sanctions |
| Carlos Eduardo Mendez | 1975-02-14 | VE | 1 Sanctions + 3 Adverse Media |
| Li Wei Zhang | 1963-07-18 | CN | 2 Sanctions |
| Nikolai Ivanov | 1970-04-12 | BY | 2 separate matches • 1 PEP • 1 Sanctions |
| Isabella Rodriguez | 1978-09-25 | MX | 2 separate matches • 1 Adverse Media • 2 PEPs + 1 Sanctions |
| Omar Al-Rahman | 1969-12-03 | SY | 2 separate matches • 1 Sanctions + 3 Adverse Media • 2 Sanctions |
Create cases that contain these names (the names can be partial) and DOBs and perform the workflow execution.

