Skip to main content
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

string
Current validation status:
  • pending - Validation created, waiting for customer to start
  • in_progress - Customer is actively completing verification (filling out form)
  • in_review - Verification completed, requires manual review from compliance team
  • approved - Verification successful, identity confirmed
  • rejected - Verification failed, identity not confirmed
  • expired - Verification session expired (typically after 7 days)
  • abandoned - Customer started but didn’t complete verification
  • cancelled - 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):
Rejected example (complete):

Verification results

Each feature block in decision includes a status (Approved, Declined, In Review, etc.), optional score, warnings, and media references: Gu1 also exposes normalized fields in extractedData, verifiedFields, and top-level warnings (risk codes) for easier integration.

Extracted Data

Use extractedData 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

Instead of repeatedly checking validation status, use webhooks to receive real-time notifications. This is more efficient and provides better user experience.
Store the verification status in your database and update it via webhooks. Don’t query the API on every request.
Verifications may expire after a certain period (typically 1 year). Check needsReverification and prompt customers to reverify when necessary.
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