Skip to content

Workflows ​

Workflows are how most checks are initiated.

We have big plans for workflows in the future including them being customizable and event driven. But for now we only have basic workflows available that run single checks.

Available workflows ​

Workflow nameChecks initiated
kycKYC
fin-vulFinancial vulnerability
amlAML
bavBAV

Execute workflow ​

Executes a workflow on the desired case.

Endpoint/api/workflows/execute
MethodPOST
Content typeapplication/json

Fields ​

PropertyRequiredMax LengthNotes
caseId✅integer (int64)Unique CaseId to run checks for
workflowName✅Either 'kyc', 'fin-vul', 'aml' or 'bav' depending on which service you want to run
workflowOptionsObject of key-value string pairs, workflow options listed below
externalReferenceIdempotency key as outlined here

WorkflowOptions ​

PropertyValueNotes
enableOngoingMonitoringtrue or falseCurrently only available on AML. Sets whether the person should be checked recurringly.
bankAccountIdlongCurrently only available for BAV. ID of the bank account to verify. Get the ID via Bank Account Management.

Request ​

A request requires a case ID and a workflow name. Options depend on the workflow — for example bankAccountId for BAV:

json
{
    "caseId":"123",
    "workflowName":"bav", 
    "workflowOptions": {
        "bankAccountId": "456"
    }
}

KYC example:

json
{
    "caseId":"123",
    "workflowName":"kyc", 
    "workflowOptions": { // optional
        "enableOngoingMonitoring": "false" // optional — AML only
    },
    "externalReference": "abc123" // optional
}

Response ​

Response 200 OK

The check has been started (or, for synchronous checks like AML, completed). See Checks for the response shape of each check type. Most checks run asynchronously — poll the check endpoint or listen for the completion webhook.

Response 400 Bad Request

Returned if the workflow isn't enabled for your client at all (the process is switched off in your EyeDP configuration), or the request itself is malformed.

json
{
    "errors": [
        "kyc workflow not enabled for case 123"
    ]
}

Response 422 Unprocessable Entity

Returned when the workflow is enabled, but the case doesn't currently hold enough valid information to run it — for example, no date of birth for KYC, or an invalid sort code for BAV. This is different from a 400 because while the request is well-formed, the underlying data isn't valid for the check being attempted. Add or correct the data and re-run the workflow.

Each entry in errors covers one issue. Where an issue is about a specific field, the message is prefixed with that field's name; issues about the case as a whole (no snapshot yet, no person record, etc.) aren't prefixed.

json
{
    "errors": [
        "sort_code: Sort code must be at least 6 characters."
    ]
}

A request with multiple issues returns one entry per issue:

json
{
    "errors": [
        "GivenNames: Given name(s) are required for KYC.",
        "DateOfBirth: Date of birth is required for KYC."
    ]
}

Or, when the case is missing something more fundamental than a single field:

json
{
    "errors": [
        "This case has no snapshot yet."
    ]
}

What's required varies by check — see the case requirements tables on KYC and Financial vulnerability, the Name/DOB/Country requirement noted under AML, and the sort code / account number format rules on Create a bank account for BAV.