Overview
After the KYC SDK completes on the user's device, your client backend needs to call VIDA's backend APIs to retrieve the KYC outcome, transaction records, and fraud evaluation results.
This section covers all backend calls - when to make them, how to make them, and how to act on the results.
Who Is This For?
This section is for backend engineers responsible for:
Receiving the SDK response forwarded from the mobile app
Calling VIDA's APIs after the SDK session ends
Routing users based on the KYC outcome (approved, manual review, or rejected)
Audit logging and billing reconciliation using transaction IDs
End-to-End Flow
Below is explaining how end-to-end flow KYC Backend works.

Quick Reference: Which API to Call
SDK response received
GET /api/v2/verify/status?verificationId=UUID
Get the overall KYC decision and per-operation status breakdown
Need full operation payload
GET /api/v2/transaction?transactionId=UUID
Retrieve the complete result for a single attempt — used for audit, billing, or dispute resolution. Add includeDocuments=true (optional) to also get presigned URLs for the submitted documents (default: false).
Fraud Shield is enabled
GET /api/v1/evaluation/{verificationId}
Get the full device/session fraud evaluation result
Key Identifiers
Before making any API call, understand these four identifiers and how they relate to each other.
verificationId
groupId, sessionId
Unique ID for the entire KYC session. Shared across all operations (OCR, IDV, Liveness, FaceMatch).
SDK response - top level
transactionId
-
Unique ID for one attempt of one operation. Each retry creates a new transactionId.
SDK response - per operation
clientTransactionId
groupId
Same value as verificationId. Used specifically when calling the Fraud Shield API.
SDK response - top level
partnerTrxId
-
Your own system's reference ID, echoed back by VIDA in every response.
SDK response - per operation
What to Do Based on overallStatus
Once you call GET /api/v2/verify/status?verificationId=UUID, use overallStatus to drive your business logic.
VERIFIED
All required checks passed with latest results verified
Proceed with onboarding
REVIEW
All checks completed, none failed, but one or more flagged
Route to manual review queue
ERROR
At least one check failed (may also indicate fraud detected)
Check fraudResult field; retry or reject
IN_PROGRESS
At least one required operation has not been attempted yet. Note: If the SDK has already
returned an error callback (containing failedOperation), this session will not transition to VERIFIED.
Treat as not verified and prompt the user to restart.
See Important Note below
Wait and poll again - the flow may still be running
FAILED
Session timed out or was abandoned (terminal state)
Mark case as failed; prompt user to restart
Last updated
