KYC Verification via Redirect Integration
This documentation describes a redirect-based integration for the KYC (Know Your Customer) process. Instead of embedding an IFrame, your application opens the hosted KYC flow in a new browser tab. After the user completes verification and clicks Finish, the hosted app redirects back to the callback URL configured in your developer dashboard, appending both validationId
and sessionId
query parameters.
1. Initialize a KYC Session
Start a KYC session by calling the API. Each session links to your dashboard integration, which defines the callback URL and other settings.
POST https://authenticalls.com/kyc/client/api/sessions/start
Content-Type: application/json
Authorization: Bearer <YOUR_API_KEY>
Request Payload (JSON): Include customer data as per the Customer Data Payload documentation.
Successful Response (JSON):
{
"sessionId": "<SESSION_ID>"
}
2. Launch the KYC Flow in a New Tab
With the returned sessionId
, build the KYC URL. Your integration already knows the callback URL, so only the session identifier is needed.
// After obtaining sessionId:
const kycUrl =
`https://authenticalls.com/kyc/client/app/intro` + `?sessionId=${sessionId}`;
// Open in new tab:
window.open(kycUrl, "_blank");
Query Parameters
sessionId
(required): The unique identifier returned by the API.
3. Handle KYC Completion via Preconfigured Callback
When the user finishes the KYC flow, the hosted KYC app shows a Finish button. Clicking it redirects the browser to your preconfigured callback URL, adding two query parameters:
{callback_url}?validation={validationId}&session={sessionId}
validationId
: Unique ID for the completed KYC validation.sessionId
: The original session identifier.
Use validationId
to fetch detailed verification results:
GET https://authenticalls.com/kyc/client/api/validations/{validationId}/verdict
Authorization: Bearer <YOUR_API_KEY>
Refer to the Get KYC Verdict documentation for response structure.
4. Basic Integration Flow
By sending only the sessionId
when launching the flow, you leverage dashboard-configured callback routing. After redirect, use the validationId
to retrieve full KYC details, keeping client logic minimal and secure.
5. Optional: Webhook Notification
In addition to the callback redirect, you can opt in to receive server-side webhooks when validation completes. Configure your webhook URL in the developer dashboard.
Webhook Request:
POST {webhook_url}
Content-Type: application/json
Payload:
{
"validation": {
"id": "<VALIDATION_ID>", // validation id
"status": "approved", // enum: ValidationStatus
"integration": {
"trustedOrigin": "https://yourapp.com",
"redirectUrl": "https://yourapp.com/kyc/callback",
"type": "web", // enum: IntegrationType
"playground": false,
"integrationName": "DefaultIntegration"
},
"document_images": [
// URLs to ID document images
"https://cdn.authenticalls.com/front.jpg",
"https://cdn.authenticalls.com/back.jpg"
],
"selfie_image": "https://cdn.authenticalls.com/selfies/user123.jpg",
"customerData": {
// BaseCustomerData
"firstName": "John",
"lastName": "Doe"
// ...other customer data fields as configured
},
"sessionId": "<SESSION_ID>" // the associated session id
}
}
Your backend can immediately process this webhook to update user status or trigger downstream workflows.