Electronic KYC with Government ID
A step-by-step guide to verifying a customer’s identity electronically using their personal information and a government-issued ID.
What is an Electronic KYC (eKYC) Check?
An electronic Know Your Customer (eKYC) check is the standard process for verifying a customer’s identity against digital data sources. This guide focuses on a common and robust method: verifying a customer’s personal information along with a government-issued identity document.
This process is fundamental to meeting your compliance obligations under regulations like Australia’s Anti-Money Laundering and Counter-Terrorism Financing (AML/CTF) Act, which requires matching customer data against reliable and independent sources.
How It Works
The process involves two main API interactions:
Implementation Guide
This guide will walk you through the API calls required to perform a standard eKYC verification.
Step 1: Create an Individual with a Government ID
To begin, create an entity by calling the POST /v2/individuals
endpoint. The request below shows how to create an individual with a name, date of birth, address, an Australian Passport, and the necessary consents.
A successful 201 response will contain the full entity profile, including the unique entityId.
Step 2: Execute the KYC Workflow
Now, use the entityId from the previous step to execute your verification workflow. The workflowName in this example is AUS-Basic1V-IDOnly.
A successful execution returns a workflowResult object containing the complete outcome of the verification.
Interpreting the KYC Result
The workflowResult
object contains rich information about the verification. Below is a breakdown of the key sections from the example response.
This section explains the most important fields for determining the outcome. For a full reference of every field, see the Interpreting Workflows guide.
status
: This is the definitive recommendation. The most common values arePASS
,FAIL
, orREVIEW
.result
: This represents the original, unaltered outcome of the workflow before any manual overrides. It’s useful for auditing.workflowExecutionState
: This must beCOMPLETED
. If it’s anything else (e.g.,ERROR
,TIMEOUT
), the workflow did not finish, and thestatus
should not be trusted as final.
To understand the KYC step in detail, inspect its summary.matchedRules
object. This shows which data sources were used (matchSources
) and if the verification criteria were met (isVerified: true
).
riskLevel
: The final risk rating (e.g.,LOW
,MEDIUM
,HIGH
).riskScore
: The numerical score that corresponds to the risk level.riskFactors
: An array of the specific reasons (e.g.,entity_age
,country
) that contributed to the score.
Best Practices for Integration
Trust the status field as the final, authoritative outcome of the verification.
- Always check
workflowExecutionState
to ensure the workflowCOMPLETED
successfully before actioning the result. - Log the
workflowExecutionId
with every result. This is the key identifier for support, auditing, and debugging. - Build logic to handle the
REVIEW
status. When you receive aREVIEW
, your system should flag the case for manual investigation by a compliance officer. The issues array will tell them where to look.