Check Verification Status
Session-based validation
Check Verification Status
Query KYC validation results and verification details — in the gu1 KYC API for identity verification flows, with examples for check status use cases.
GET
Check Verification Status
Overview
After a customer completes their KYC verification, you can query the results to check the verification status, extracted data, and decision details. This is useful for:- Checking if verification is complete
- Retrieving verified customer information
- Getting verification results and risk assessment
- Auditing verification history
While you can poll this API, we strongly recommend using webhooks to receive real-time notifications when verification completes.
Get Validation by ID
Retrieve a specific validation using its ID:Endpoint
Example
Get Current Validation for Entity
If you don’t have the validation ID, retrieve the current active validation for a person entity:Endpoint
Example
Get Entity KYC Status
Get a summary of an entity’s KYC verification status:Endpoint
Response
Example
Understanding Validation Results
Status Values
Current validation status:
pending- Validation created, waiting for customer to startin_progress- Customer is actively completing verification (filling out form)in_review- Verification completed, requires manual review from compliance teamapproved- Verification successful, identity confirmedrejected- Verification failed, identity not confirmedexpired- Verification session expired (typically after 7 days)abandoned- Customer started but didn’t complete verificationcancelled- Validation manually cancelled
Decision object (decision)
When status is approved or rejected, the decision field contains detailed provider results. When a validation reaches a terminal or in-review state with provider results, decision contains the full verification outcome from the KYC flow. Gu1 always stores and returns both shapes for each feature: a singular object (legacy) and a one-element array (current). You can read either id_verification or id_verifications[0]; they are kept in sync. The same applies to liveness / liveness_checks, face_match / face_matches, aml_screening / aml_screenings, and ip_analysis / ip_analyses.
Media fields (front_image, reference_image, images.*, etc.) are Gu1 storage keys (kyc/...) after ingest. Fetch them via the validation media API. Older rows may still contain short-lived HTTPS URLs until synced.
Approved example (complete):
Verification results
Each feature block indecision includes a status (Approved, Declined, In Review, etc.), optional score, warnings, and media references:
| Feature key | Array alias | Typical fields |
|---|---|---|
id_verification | id_verifications[0] | document_type, document_number, front_image, back_image, portrait_image, warnings, matches |
liveness | liveness_checks[0] | score, method, reference_image, video_url, warnings, matches |
face_match | face_matches[0] | score, source_image, target_image, warnings |
aml_screening | aml_screenings[0] | status, warnings |
ip_analysis | ip_analyses[0] | ip_address, country, is_vpn, warnings |
extractedData, verifiedFields, and top-level warnings (risk codes) for easier integration.
Extracted Data
UseextractedData to update customer records with verified information:
List All Validations for Entity
Get the complete verification history for an entity:Endpoint
Response
Sync Validation Status
If you suspect the validation status is out of sync with the identity provider, trigger a manual sync:Endpoint
Example
Common Integration Patterns
Pattern 1: Check Before Allowing Action
Pattern 2: Conditional Features Based on Verification
Pattern 3: Periodic Re-verification Check
Best Practices
Use Webhooks, Not Polling
Use Webhooks, Not Polling
Instead of repeatedly checking validation status, use webhooks to receive real-time notifications. This is more efficient and provides better user experience.
Cache Verification Status
Cache Verification Status
Store the verification status in your database and update it via webhooks. Don’t query the API on every request.
Handle Expired Verifications
Handle Expired Verifications
Verifications may expire after a certain period (typically 1 year). Check
needsReverification and prompt customers to reverify when necessary.Store Validation IDs
Store Validation IDs
Always store the validation ID in your database linked to the customer. This allows you to audit verification history and retrieve detailed results later.
Next Steps
Create KYC Validation
Start a new verification session
Webhook Integration
Get real-time notifications