Handshake (Create Journey)
The handshake is an API call that creates a verification journey and returns a uiHandle. Create a journey and receive:transactionId— internal identifier for the journeyuiHandle— URL used to start the hosted verification UI
Handshake Request
The handshake request initiates a customer journey. Please note that:- You define which components of the IDCanopy product offering you would like to consume with this request.
- You can configure each component as well as validation data.
- Define the process name, which will appear on the invoice as billing item.
- You can enable a developer mode by switching on “magicFlow” in the handshake.
Request Structure
Request Structure
Request Structure
Request DTO
Request DTO
Request DTO
| Field | Type | Required | Description |
|---|---|---|---|
journey | object | Yes | Verification journey configuration root. |
journey.customerId | string | Yes | Unique identifier for the customer journey. |
journey.processName | string | Yes | Human-readable process name (appears on invoices/billing). |
validationData | object | No | User data object for validation and matching. |
validationData.fullName | string | No | Full name (e.g., John Doe). |
validationData.DOB | string | No | Date of birth, format YYYY/MM/DD. |
validationData.address | object | No | Address object with structured fields or single-line string. |
address.streetAddress | string | No | Street and number (e.g., 123 Main Street). |
address.locality | string | No | City / town (e.g., Anytown). |
address.region | string | No | State / province / region (e.g., CA). |
address.postalCode | string | No | Postal / ZIP code (e.g., 90210). |
address.country | string | No | Country code (ISO 3166-1 alpha-2, e.g., US). |
validationData.iban | string | No | International Bank Account Number (e.g., DE11XXXX3245664). |
validationData.phoneNumber | string | No | Phone in E.164 format (e.g., +4915738901234). |
validationData.unstructuredInput | string | No | Free-form text for AI analysis (e.g., email, profession, additional context). |
passThroughData | object | No | Custom data to correlate with your internal systems. |
passThroughData.userId | string | No | Your internal user reference (e.g., 12345). |
steps | array | No | Array of verification steps in order. Omit to use pre-defined process. |
steps[].id | string | Yes | Step identifier (e.g., 1, 2). |
steps[].type | string | Yes | Step type: documentVerification | amlScreening | mobileIdent | idvProtocol. |
steps[].interface | string | Yes | UI interface to use (e.g., Umbrella Toolbox). |
steps[].blocking | boolean | Yes | Whether this step blocks the journey on failure (e.g., true). |
steps[].configuration | object | Yes | Step-specific configuration (see below). |
configuration.extraForensics | boolean | No | Enable extra forensic checks for document verification (e.g., false). |
configuration.biometricMatching | boolean | No | Enable face ↔ document photo matching (e.g., true). |
configuration.liveness | boolean | No | Enable liveness checks during selfie capture (e.g., true). |
configuration.photoIdentPlus | boolean | No | Enable additional assisted checks (e.g., false). |
configuration.permittedDocuments | array | No | Array of allowed document types and regions. |
permittedDocuments[].idType | string | Yes | Document type: passport | nationalId | driversLicense. |
permittedDocuments[].bloc | string | No | Geo/economic bloc for bulk allow (e.g., EEA). |
permittedDocuments[].countries | array | No | Allowed country codes (e.g., ["BG"]). |
permittedDocuments[].excludedCountries | array | No | Country codes to exclude when using bloc (e.g., ["DK"]). |
configuration.monitoring | boolean | No | Enable ongoing monitoring registration for AML (e.g., false). |
configuration.dossier | boolean | No | Return enriched dossier details for AML (e.g., true). |
matchName | string | No | Name matching mode: strict | fuzzy | none (e.g., strict). |
matchDob | boolean | No | Enable DoB matching (requires validationData.DOB; e.g., true). |
magicFlow | boolean | No | Enable developer/test mode (e.g., false). |
validitySuperpower | boolean | No | Extend uiHandle validity from 5 → 60 minutes (e.g., false). |
journeyDuration | string | No | Auto-close timeout: short (≈150s) | standard (≈300s) | long (≈600s) | eternity (e.g., standard). |
Handshake Response
Handshake Response
Handshake Response
Handshake Response Structure
Handshake Response Structure
Handshake Response Structure
| Field | Type | Description |
|---|---|---|
transactionId | string | Sensitive journey identifier for tracking/correlation. Do not expose to end-users. |
uiHandle | string (URL) | Short-lived URL to launch the hosted UI (≈5 min by default; extend via validitySuperpower). Use in an iframe or redirect. |
initTimestamp | string | Timestamp when the journey was initialized. |