Setup requirements
Before you can use the Veriff KYC Connector, you must have at least one Veriff integration set up in your Veriff Station dashboard, with the appropriate verification flows enabled. Refer to Veriff’s developer documentation for guidance on setting up integrations.Getting started
Configuring your integrations on Uphold
Once you have your Veriff integrations ready, you need to register them with Uphold using the Set Veriff config endpoint. This is required before creating any ingestions. For each integration, you will need:- Integration name: A name of your choice to identify the integration.
- API key and shared secret key: Found in your Veriff Station dashboard under the integration’s settings.
Selecting a session
A session represents a Veriff verification for a user. Only sessions in an approved state are accepted. The KYC processes that can be ingested depend on the verification flow and features enabled in your Veriff integration. For example:- A standard IDV session with document and selfie verification can be used to ingest
profile,address, andidentityprocesses. - A PoA session with address validation can be used to ingest
addressandproof-of-addressprocesses.
Creating ingestions
To create an ingestion, you provide the session ID and integration name for each Veriff session you want to process. You can include both an IDV and a PoA session in a single ingestion.POST /kyc-connector/veriff/ingestions
Supported processes
The Veriff KYC Connector supports ingestion of the following KYC processes. Each process has specific requirements and considerations you should be aware of:Profile
Ingests profile information such as the user’s full name, date of birth, and citizenship. The source fields from Veriff used for this process are as follows:fullName: Sourced fromperson.firstNameandperson.lastName.birthdate: Sourced fromperson.dateOfBirth.birthplace: Sourced fromperson.placeOfBirth. Only extracted when both the town and country are present in the Veriff verification; if either is missing, this field will not be populated.primaryCitizenship: Sourced fromperson.nationalityorperson.citizenship.
ingestion.result.profile field in the specification for more details. Furthermore, here’s a breakdown of errors that can happen for this process:
Address
Ingests address information by matching addresses from the Veriff verification against the user’s subdivision and country provided via the Create User endpoint. Address data can come from either an IDV or PoA Veriff session:- Address matching (PoA feature): If the PoA “address matching” feature is enabled for your integration in the Veriff platform, the user’s declared address is extracted directly from the matching result.
- Person addresses fallback: Otherwise, the ingestion searches all addresses in the verification’s person data for one that matches the user’s declared country and/or subdivision, prioritizing a country + subdivision match over a country-only match.
When both session types are provided, the PoA address matching data always takes precedence over the IDV person addresses fallback.
provider_data_not_available error.
Please check the ingestion.result.address field in the specification for more details. Furthermore, here’s a breakdown of errors that can happen for this process:
Identity
Ingests government-issued identity data, including document type, number, issuing country, expiration date, and biographic information. This process requires a Veriff IDV session that includes both identity document verification and a selfie/biometric check. Please check theingestion.result.identity field in the specification for more details. Furthermore, here’s a breakdown of errors that can happen for this process:
Proof-of-address
Ingests proof-of-address documentation, such as utility bills, bank statements, or government correspondence. This process requires a PoA session. Veriff’s PoA verification must be enabled for your Veriff integration. The ingestion extracts the proof-of-address data using the following priority:- Address validation (PoA feature): If the PoA address validation feature is enabled for your integration in the Veriff platform, the address is extracted directly from the validation result.
- Address matching (PoA feature): If the PoA address matching feature is enabled for your integration in the Veriff platform, the verified address is extracted directly from the matching result.
ingestion.result.proofOfAddress field in the specification for more details. Furthermore, here’s a breakdown of errors that can happen for this process: