import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().retrieveDecision("11111111-2222-3333-4444-555555555555");
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->retrieveDecision('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.RetrieveDecisionAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));
{
"session_id": "11111111-2222-3333-4444-555555555555",
"session_kind": "user",
"session_number": 43762,
"session_url": "https://verify.didit.me/session/11111111-2222-3333-4444-555555555555",
"status": "In Review",
"environment": "live",
"workflow_id": "11111111-2222-3333-4444-555555555555",
"features": [
"ID_VERIFICATION",
"NFC",
"LIVENESS",
"FACE_MATCH",
"POA",
"PHONE",
"DATABASE_VALIDATION",
"AML",
"IP_ANALYSIS"
],
"vendor_data": "11111111-1111-1111-1111-111111111111",
"metadata": {
"user_type": "premium",
"account_id": "ABC123"
},
"expected_details": {
"first_name": "Carmen",
"last_name": "Española Española"
},
"contact_details": {
"email": "carmen@example.com",
"email_lang": "es",
"send_notification_emails": false,
"phone": null
},
"callback": "https://verify.didit.me/",
"id_verifications": [
{
"node_id": "feature_ocr_1",
"status": "Approved",
"document_type": "Identity Card",
"document_subtype": "ID_CARD_GENERIC",
"document_number": "CAA000000",
"personal_number": "99999999R",
"portrait_image": "https://<media-host>/portrait.jpg",
"front_image": "https://<media-host>/front.jpg",
"front_video": "https://<media-host>/front.mp4",
"back_image": "https://<media-host>/back.jpg",
"back_video": "https://<media-host>/back.mp4",
"full_front_image": "https://<media-host>/full_front.jpg",
"full_back_image": "https://<media-host>/full_back.jpg",
"front_image_camera_front": "https://<media-host>/front_camera_front.jpg",
"back_image_camera_front": "https://<media-host>/back_camera_front.jpg",
"date_of_birth": "1980-01-01",
"age": 45,
"expiration_date": "2031-06-02",
"date_of_issue": "2021-06-02",
"issuing_state": "ESP",
"issuing_state_name": "Spain",
"first_name": "Carmen",
"last_name": "Española Española",
"full_name": "Carmen Española Española",
"gender": "F",
"address": "Avda de Madrid 34, Madrid, Madrid",
"formatted_address": "Avda de Madrid 34, Madrid, Madrid 28822, Spain",
"place_of_birth": "Madrid",
"marital_status": "Single",
"nationality": "ESP",
"extra_fields": {
"dl_categories": [],
"blood_group": null
},
"mrz": {
"surname": "ESPANOLA ESPANOLA",
"name": "CARMEN",
"country": "ESP",
"nationality": "ESP",
"birth_date": "800101",
"expiry_date": "310602",
"sex": "F",
"document_type": "ID",
"document_number": "CAA000000",
"optional_data": "99999999R",
"optional_data_2": "",
"birth_date_hash": "4",
"expiry_date_hash": "8",
"document_number_hash": "4",
"final_hash": "1",
"personal_number": "99999999R",
"warnings": [],
"errors": [],
"mrz_type": "TD1",
"mrz_string": "IDESPCAA000000499999999R<<<<<<\n8001014F3106028ESP<<<<<<<<<<<1\nESPANOLA<ESPANOLA<<CARMEN<<<<<",
"mrz_key": "CAA000000480010143106028"
},
"parsed_address": {
"city": "Madrid",
"label": "Spain ID Card Address",
"region": "Madrid",
"country": "ES",
"category": "Residential",
"street_1": "Avda de Madrid 34",
"street_2": null,
"is_verified": true,
"postal_code": "28822",
"raw_results": {
"types": [
"street_address"
],
"geometry": {
"location": {
"lat": 37.4222804,
"lng": -122.0843428
},
"viewport": {
"northeast": {
"lat": 37.4237349802915,
"lng": -122.083183169709
},
"southwest": {
"lat": 37.4210370197085,
"lng": -122.085881130292
}
},
"location_type": "ROOFTOP"
},
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"formatted_address": "Avda de Madrid 34, 28822 Madrid, Spain",
"navigation_points": [
{
"location": {
"latitude": 37.4222804,
"longitude": -122.0843428
}
}
],
"address_components": [
{
"types": [
"street_number"
],
"long_name": "34",
"short_name": "34"
},
{
"types": [
"route"
],
"long_name": "Avda de Madrid",
"short_name": "Avda de Madrid"
},
{
"types": [
"locality",
"political"
],
"long_name": "Madrid",
"short_name": "Madrid"
},
{
"types": [
"country",
"political"
],
"long_name": "Spain",
"short_name": "ES"
},
{
"types": [
"postal_code"
],
"long_name": "28822",
"short_name": "28822"
}
]
},
"address_type": "Avda",
"document_location": {
"latitude": 37.4222804,
"longitude": -122.0843428
},
"formatted_address": "Avda de Madrid 34, 28822 Madrid, Spain"
},
"front_image_camera_front_face_match_score": 95.5,
"back_image_camera_front_face_match_score": 93.2,
"document_selfie_face_matches": [
{
"session_id": "3f0c9a52-7b1e-4d68-a2c4-5e9d8b7f1a20",
"session_number": 1180,
"similarity_percentage": 97.4,
"vendor_data": "user_ref_001",
"vendor_user_id": null,
"biometric_template_id": null,
"verification_date": "2026-09-02T09:15:00Z",
"user_details": {
"full_name": "Jane Doe"
},
"match_image_url": "https://<media-host>/match_face.jpg",
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": null,
"source": "session"
}
],
"front_image_quality_score": {
"focus_score": 85.3,
"brightness_score": 92.1,
"brightness_issue": "ok",
"is_document_fully_visible": true,
"resolution_score": 72.4,
"overall_score": 88.7
},
"back_image_quality_score": {
"focus_score": 79.1,
"brightness_score": 90.5,
"brightness_issue": "ok",
"is_document_fully_visible": true,
"resolution_score": 72.4,
"overall_score": 85.2
},
"extra_files": [
"https://<media-host>/extra_id_verification.jpg"
],
"matches": [
{
"session_id": "7d4f1f60-9c2e-4b8a-8f3d-2a1b5c6d7e8f",
"session_number": 1234,
"vendor_data": "user_ref_001",
"verification_date": "2024-06-15T10:30:00Z",
"user_details": {
"name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Approved",
"is_blocklisted": false,
"api_service": null,
"front_image_url": "https://<media-host>/document_front.jpg"
},
{
"session_id": "b2c8e4d1-6a3f-4e7b-95c0-1d8f2a6b4c9e",
"session_number": 1235,
"vendor_data": null,
"verification_date": "2024-05-20T14:45:00Z",
"user_details": {
"name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Declined",
"is_blocklisted": true,
"api_service": "ID_VERIFICATION",
"front_image_url": "https://<media-host>/document_front_2.jpg"
}
],
"warnings": [
{
"feature": "ID_VERIFICATION",
"risk": "QR_NOT_DETECTED",
"additional_data": null,
"log_type": "information",
"short_description": "QR not detected",
"long_description": "The system couldn't find or read the QR code on the document, which is necessary for document verification. This could be due to poor image quality or an unsupported document type.",
"node_id": "feature_ocr_1"
}
],
"verification_method": "document",
"assurance": "documentary",
"wallet_provider": null,
"fallback_from": null,
"id_lookup": null,
"wallet_verification": null,
"document_liveness": {
"portrait_replace": {
"score": 96.46,
"front": 96.46,
"back": 98.2,
"decline_threshold": 35,
"review_threshold": 70,
"bucket": "approve"
},
"printed_copy": {
"score": 91.2,
"front": 91.2,
"back": 93.7,
"decline_threshold": 35,
"review_threshold": 77,
"bucket": "approve"
},
"screen_replay": {
"score": 99.9,
"front": 99.9,
"back": 99.5,
"decline_threshold": 30,
"review_threshold": 70,
"bucket": "approve"
}
}
},
{
"node_id": "feature_ocr_2",
"status": "Approved",
"issuing_state": "ZAF",
"issuing_state_name": "South Africa",
"first_name": "Thabo",
"last_name": "Mokoena",
"full_name": "Thabo Mokoena",
"date_of_birth": "1991-06-15",
"personal_number": "9106155043088",
"verification_method": "id_lookup",
"assurance": "data_match",
"wallet_provider": null,
"fallback_from": null,
"id_lookup": {
"source": "Department of Home Affairs",
"checked_at": "2026-09-04T09:12:44Z",
"attempts": 1,
"max_attempts": 2,
"outcome": "match",
"comparison": [
{
"field": "identification_number",
"label": "ID number",
"provided": "9106155043088",
"record": "9106155043088",
"result": "match"
},
{
"field": "full_name",
"label": "Full name",
"provided": "Thabo Mokoena",
"record": "Thabo Mokoena",
"result": "match"
},
{
"field": "date_of_birth",
"label": "Date of birth",
"provided": "1991-06-15",
"record": "1991-06-15",
"result": "match"
}
],
"registry_portrait": "https://<media-host>/registry_portrait.jpg",
"face_match_score": 96.4,
"source_errors": []
},
"wallet_verification": null,
"warnings": []
},
{
"node_id": "feature_ocr_3",
"status": "Approved",
"issuing_state": "DNK",
"issuing_state_name": "Denmark",
"first_name": "Freja",
"last_name": "Nielsen",
"full_name": "Freja Nielsen",
"date_of_birth": "1988-03-02",
"verification_method": "wallet",
"assurance": "cryptographic",
"wallet_provider": "mitid",
"fallback_from": null,
"id_lookup": null,
"wallet_verification": {
"provider": "mitid",
"provider_name": "MitID",
"issuing_authority": "Danish Agency for Digital Government",
"issuing_country": "DNK",
"credential_type": "person_identification",
"level_of_assurance": "substantial",
"verified_at": "2026-09-04T09:12:44Z",
"signature_valid": true,
"attributes": {
"full_name": "Freja Nielsen",
"date_of_birth": "1988-03-02",
"cpr_alias": "b0f1c2d3-e4f5-4678-9abc-def012345678"
},
"portrait": null,
"face_match_score": null
},
"warnings": []
}
],
"nfc_verifications": [
{
"node_id": "feature_nfc_1",
"status": "In Review",
"is_nfc_skipped": false,
"skip_reason": null,
"chip_protocol": "icao",
"jpki": null,
"portrait_image": "https://<media-host>/portrait.jpg",
"signature_image": "https://<media-host>/signature.jpg",
"chip_data": {
"document_type": "ID",
"issuing_country": "ESP",
"document_number": "123456789",
"expiration_date": "2030-01-01",
"first_name": "John",
"last_name": "Smith",
"birth_date": "1990-05-15",
"gender": "M",
"nationality": "ESP",
"address": "CALLE MAYOR 123 4B, MADRID, MADRID",
"place_of_birth": "MADRID, MADRID"
},
"authenticity": {
"sod_integrity": true,
"dg_integrity": true
},
"certificate_summary": {
"issuer": "Common Name: CSCA SPAIN, Serial Number: 3, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
"subject": "Common Name: DS n-eID SPAIN 2, Organizational Unit: PASSPORT, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
"serial_number": "118120836164494130086420187336801405660",
"not_valid_after": "2031-02-18 10:21:11",
"not_valid_before": "2020-11-18 10:21:11"
},
"warnings": [
{
"feature": "NFC",
"risk": "DATA_INCONSISTENT",
"additional_data": null,
"log_type": "warning",
"short_description": "OCR and NFC mrz code extracted are not the same",
"long_description": "The Optical Character Recognition (OCR) data and the NFC chip data don't match, indicating potential document tampering or data inconsistency.",
"node_id": "feature_nfc_1"
}
]
}
],
"liveness_checks": [
{
"node_id": "feature_liveness_1",
"status": "Approved",
"method": "ACTIVE_3D",
"score": 89.92,
"reference_image": "https://<media-host>/reference.jpg",
"video_url": "https://<media-host>/video.mp4",
"age_estimation": 24.3,
"matches": [
{
"session_id": "7d4f1f60-9c2e-4b8a-8f3d-2a1b5c6d7e8f",
"session_number": 1234,
"vendor_data": "user_ref_001",
"verification_date": "2024-06-15T10:30:00Z",
"user_details": {
"full_name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": null,
"source": "session",
"match_image_url": "https://<media-host>/face_match.jpg",
"similarity_percentage": 98.5
},
{
"session_id": "3e9a7c21-5b48-4f0e-9c6a-8d2f4b1e0a35",
"session_number": 1100,
"vendor_data": "customer_xyz",
"verification_date": "2024-04-10T09:15:00Z",
"user_details": {
"full_name": "John Smith",
"document_type": "P",
"document_number": "DZ8375806"
},
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": "PASSIVE_LIVENESS",
"source": "session",
"match_image_url": "https://<media-host>/face_match_2.jpg",
"similarity_percentage": 95.2
}
],
"warnings": [
{
"feature": "LIVENESS",
"risk": "LOW_LIVENESS_SCORE",
"additional_data": null,
"log_type": "information",
"short_description": "Low liveness score",
"long_description": "The liveness check resulted in a low score, indicating potential use of non-live facial representations or poor-quality biometric data.",
"node_id": "feature_liveness_1"
}
],
"face_quality": null,
"face_luminance": null
}
],
"face_matches": [
{
"node_id": "feature_face_match_1",
"status": "In Review",
"score": 65.43,
"source_image_session_id": null,
"source_image": "https://<media-host>/source-image.jpg",
"target_image": "https://<media-host>/target-image.jpg",
"warnings": [
{
"feature": "FACEMATCH",
"risk": "LOW_FACE_MATCH_SIMILARITY",
"additional_data": null,
"log_type": "warning",
"short_description": "Low face match similarity",
"long_description": "The facial features of the provided image don't closely match the reference image, suggesting a potential identity mismatch.",
"node_id": "feature_face_match_1"
}
]
}
],
"phone_verifications": [
{
"node_id": "feature_phone_1",
"status": "Approved",
"phone_number_prefix": "+34",
"phone_number": "600600600",
"full_number": "+34600600600",
"country_code": "ES",
"country_name": "Spain",
"carrier": {
"name": "Orange",
"type": "mobile"
},
"is_disposable": false,
"is_virtual": false,
"verification_method": "sms",
"verification_attempts": 1,
"verified_at": "2024-07-28T06:47:35.654321Z",
"lifecycle": [
{
"type": "PHONE_VERIFICATION_MESSAGE_SENT",
"timestamp": "2025-08-24T09:12:39.580554+00:00",
"details": {
"status": "Success",
"reason": null,
"channel": "sms",
"actual_channel": "sms"
},
"fee": 0.1
},
{
"type": "VALID_CODE_ENTERED",
"timestamp": "2025-08-24T09:12:39.662157+00:00",
"details": {
"code_tried": "123456",
"status": "Approved"
},
"fee": 0
},
{
"type": "PHONE_VERIFICATION_APPROVED",
"timestamp": "2025-08-24T09:12:39.684292+00:00",
"details": null,
"fee": 0
}
],
"warnings": [],
"matches": [
{
"session_id": null,
"session_number": null,
"vendor_data": null,
"verification_date": null,
"phone_number": "+34600000000",
"status": null,
"is_blocklisted": true,
"api_service": null,
"source": "list_entry"
}
]
}
],
"email_verifications": [
{
"node_id": "feature_email_1",
"status": "Approved",
"email": "test@example.com",
"is_breached": true,
"breaches": [
{
"name": "TAPAirPortugal",
"domain": "flytap.com",
"logo_path": "https://logos.example.com/TAPAirPortugal.png",
"breach_date": "2022-08-25",
"description": "In August 2022, the Portuguese airline <a href=\"https://www.bleepingcomputer.com/news/security/ragnar-locker-ransomware-claims-attack-on-portugals-flag-airline/\" target=\"_blank\" rel=\"noopener\">TAP Air Portugal was the target of a ransomware attack perpetrated by the Ragnar Locker gang</a> who later leaked the compromised data via a public dark web site. Over 5M unique email addresses were exposed alongside other personal data including names, genders, DoBs, phone numbers and physical addresses.",
"is_verified": true,
"data_classes": [
"dates_of_birth",
"email_addresses",
"genders",
"names",
"nationalities",
"phone_numbers",
"physical_addresses",
"salutations",
"spoken_languages"
],
"breach_emails_count": 6083479
}
],
"is_disposable": false,
"is_undeliverable": false,
"verification_attempts": 1,
"verified_at": "2025-09-15T17:36:19.963451Z",
"warnings": [
{
"feature": "EMAIL",
"risk": "BREACHED_EMAIL_DETECTED",
"additional_data": null,
"log_type": "information",
"short_description": "Breached email detected",
"long_description": "This email address was found in one or more known data breaches.",
"node_id": "feature_email_1"
}
],
"lifecycle": [
{
"type": "EMAIL_VERIFICATION_MESSAGE_SENT",
"timestamp": "2025-09-15T17:36:19.792684+00:00",
"details": {
"status": "Success",
"reason": null
},
"fee": 0.02
},
{
"type": "VALID_CODE_ENTERED",
"timestamp": "2025-09-15T17:36:19.963427+00:00",
"details": {
"code_tried": "123456",
"status": "Approved"
},
"fee": 0
},
{
"type": "EMAIL_VERIFICATION_DECLINED",
"timestamp": "2025-09-15T17:36:20.081471+00:00",
"details": {
"reason": "BREACHED_EMAIL_DETECTED"
},
"fee": 0
}
],
"matches": [
{
"session_id": null,
"session_number": null,
"vendor_data": null,
"verification_date": null,
"email": "test@example.com",
"status": null,
"is_blocklisted": true,
"api_service": null,
"source": "list_entry"
}
]
}
],
"poa_verifications": [
{
"node_id": "feature_poa_1",
"status": "Declined",
"document_file": "https://<media-host>/poa_document.pdf",
"issuing_state": "AR",
"document_type": "UTILITY_BILL",
"document_subtype": null,
"document_language": "es",
"document_metadata": {
"file_size": 1000,
"content_type": "application/pdf",
"creation_date": "2021-01-01",
"modified_date": "2021-01-01",
"overlay_manipulation": null,
"creator": null,
"producer": "PDF Generator",
"software": null,
"encryption": null,
"is_signed": false,
"is_tampered": false,
"signature_info": null,
"exif_original_date": null,
"exif_digitized_date": null,
"processed_by_known_editor": false,
"has_different_creation_mod_date": true
},
"issuer": "Aguas del Norte",
"issue_date": "2021-02-01",
"expiration_date": null,
"poa_address": "AVDA. MONSEÑOR TAVELLA N° 3396, SALTA",
"poa_formatted_address": "Av. Monseñor Tavella 3396, A4400 Salta, Argentina",
"poa_parsed_address": {
"address_type": "Avenida",
"street_1": "Avenida Monseñor Tavella 3396",
"street_2": null,
"city": "Salta",
"region": "Salta",
"country": "AR",
"postal_code": "A4400",
"document_location": {
"latitude": -24.8208664,
"longitude": -65.4131
}
},
"name_on_document": "Fernando De Lima",
"name_match_score_expected_details": null,
"name_match_score_id_verification": 38.5,
"expected_details_address": null,
"expected_details_formatted_address": null,
"expected_details_parsed_address": {},
"extra_fields": {
"bank_account_number": "1234567890",
"bank_iban": null,
"bank_sort_code": null,
"bank_routing_number": null,
"bank_swift_bic": null,
"bank_branch_name": null,
"bank_branch_address": null,
"document_phone_number": "+5491112345678",
"additional_names": []
},
"extra_files": [
"https://<media-host>/extra_poa.pdf"
],
"detected_codes": [
{
"type": "QR_CODE",
"page_number": 1,
"position": [
[
820,
1120
],
[
1002,
1120
],
[
1002,
1302
],
[
820,
1302
]
],
"x": 820,
"y": 1120,
"width": 182,
"height": 182,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "aHR0cHM6Ly9hZ3Vhc2RlbG5vcnRlLmNvbS9mYWN0dXJhLzk5ODgxMQ==",
"parsed_payload": "https://aguasdelnorte.com/factura/998811"
},
{
"type": "CODE_128",
"page_number": 1,
"position": [
[
112,
1480
],
[
560,
1480
],
[
560,
1540
],
[
112,
1540
]
],
"x": 112,
"y": 1480,
"width": 448,
"height": 60,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "MDA5OTg4MTEwMDA0Mg==",
"parsed_payload": "0099881100042"
}
],
"warnings": []
}
],
"document_ai_documents": [
{
"status": "Approved",
"node_id": "feature_document_ai_1",
"items": [
{
"uuid": "c1a2b3c4-d5e6-7f80-9a1b-2c3d4e5f6071",
"node_id": "feature_document_ai_1",
"document_key": "proof_of_funds",
"original_filename": "bank_statement.pdf",
"file_size": 184320,
"file_url": "https://<media-host>/document_ai/proof_of_funds.pdf",
"status": "Approved",
"extracted_data": {
"account_holder": "John Doe",
"balance": 15230.55,
"currency": "EUR",
"statement_date": "2026-05-31"
},
"detected_codes": [
{
"type": "QR_CODE",
"page_number": 2,
"position": [
[
124,
86
],
[
306,
86
],
[
306,
268
],
[
124,
268
]
],
"x": 124,
"y": 86,
"width": 182,
"height": 182,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "SU5WLTIwMjYtMDA0Mg==",
"parsed_payload": "INV-2026-0042"
}
],
"fields": [
{
"key": "account_holder",
"name": "Account holder",
"instruction": "Extract the full name of the account holder.",
"type": "text",
"required": true
},
{
"key": "balance",
"name": "Closing balance",
"instruction": "Extract the closing balance amount.",
"type": "number",
"required": true
}
],
"document_metadata": {
"is_tampered": false
},
"cross_check_result": null,
"created_at": "2026-06-01T12:34:56Z"
}
],
"warnings": []
}
],
"questionnaire_responses": [
{
"node_id": "feature_questionnaire_1",
"questionnaire_id": "9f7485e0-b00b-4d56-9d3e-7859b68d1213",
"title": "Source of Funds",
"description": "Reply to this questionnaire to help us understand the source of funds.",
"languages": [
"en"
],
"default_language": "en",
"is_active": true,
"is_simple_questionnaire": true,
"questionnaire_group_id": "2b6a9d40-13a8-4b1e-9a6c-3f1d2e4b5a60",
"version": 1,
"published_at": "2025-11-02T09:14:55.000000Z",
"sections": [
{
"title": null,
"description": null,
"items": [
{
"uuid": "618636d9-7d5c-41ce-b8d0-1ab2a4be20db",
"value": "question_1",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your primary source of funds?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Salary",
"value": "salary"
},
{
"label": "Business Income",
"value": "business_income"
},
{
"label": "Savings",
"value": "savings"
},
{
"label": "Investments",
"value": "investments"
},
{
"label": "Sale of Asset",
"value": "sale_of_asset"
},
{
"label": "Inheritance/Gift",
"value": "inheritance_gift"
},
{
"label": "Pension",
"value": "pension"
},
{
"label": "Crypto Proceeds",
"value": "crypto_proceeds"
},
{
"label": "Other",
"value": "other",
"requires_text_input": true
}
],
"max_files": 1,
"answer": {
"value": "salary"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "2d16b527-72be-42e0-8e96-b164b818386c",
"value": "question_2",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Provide details of the primary source.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "a9239b7c-fbfb-4ea7-b7e4-c835cd4016e0",
"value": "question_3",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your annual income range (pre-tax)?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Less than $25,000",
"value": "<25k"
},
{
"label": "$25,000 - $50,000",
"value": "25k-50k"
},
{
"label": "$50,001 - $100,000",
"value": "50k-100k"
},
{
"label": "$100,001 - $250,000",
"value": "100k-250k"
},
{
"label": "More than $250,000",
"value": ">250k"
}
],
"max_files": 1,
"answer": {
"value": "<25k"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "93dede62-6d0c-4a7f-934d-42175eb94011",
"value": "question_4",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your approximate net worth (range)?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Less than $50,000",
"value": "<50k"
},
{
"label": "$50,000 - $250,000",
"value": "50k-250k"
},
{
"label": "$250,001 - $1,000,000",
"value": "250k-1m"
},
{
"label": "$1,000,001 - $5,000,000",
"value": "1m-5m"
},
{
"label": "More than $5,000,000",
"value": ">5m"
}
],
"max_files": 1,
"answer": {
"value": "<50k"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "2af60d6f-6961-4692-9ee7-24b3033610a6",
"value": "question_5",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "For your initial deposit/funding, indicate the exact source and amount.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "0ad9d1aa-736f-46cf-947b-9e1241b53e40",
"value": "question_6",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Breakdown of sources by percentage.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "1bf8a2a3-14ee-48a8-bb3d-175481aae4aa",
"value": "question_7",
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Will any funds originate from third parties? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Yes",
"value": "yes",
"requires_text_input": true
},
{
"label": "No",
"value": "no"
}
],
"max_files": 1,
"answer": {
"text": "Additional details",
"value": "yes"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "e18d4dd3-b7bf-4883-ba18-d6046adbe313",
"value": "question_8",
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Do you hold or plan to use virtual assets (e.g., crypto) to fund this account? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Yes",
"value": "yes",
"requires_text_input": true
},
{
"label": "No",
"value": "no"
}
],
"max_files": 1,
"answer": {
"text": "Additional details",
"value": "yes"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "a90a073d-e098-404c-bbce-5130d8b12a13",
"value": "question_9",
"element_type": "FILE_UPLOAD",
"is_required": true,
"title": "Upload a proof of funds document",
"description": "You can upload your three (3) most recent bank statements, three (3) most recent payslips, your most recent tax return, proof of company ownership, trading exchange statement, sale of property, or proof of inheritance.",
"placeholder": null,
"choices": null,
"max_files": 3,
"answer": {
"files": [
"/media/ocr/",
"/media/ocr/"
]
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "9503b486-7cb8-4c3b-a97d-4b64926a5a47",
"value": "question_10",
"element_type": "LONG_TEXT",
"is_required": false,
"title": "Would you like to add any details to help us expedite our review of the documents you submitted?",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
}
]
}
],
"status": "Approved"
}
],
"aml_screenings": [
{
"node_id": "feature_aml_1",
"status": "In Review",
"total_hits": 1,
"entity_type": "person",
"hits": [
{
"id": "hit_7c1e9a40b2d35f86e0a4c912",
"url": "https://news.example.org/articles/sample",
"match": false,
"score": 0.73,
"target": null,
"caption": "Javier Ejemplo Modelo",
"datasets": [
"PEP"
],
"features": null,
"rca_name": "",
"last_seen": "2025-06-13T00:00:00",
"risk_view": {
"crimes": {
"score": 0,
"weightage": 20,
"risk_level": "Low",
"risk_scores": {}
},
"countries": {
"score": 0,
"weightage": 30,
"risk_level": "Low",
"risk_scores": {}
},
"categories": {
"score": 100,
"weightage": 50,
"risk_level": "High",
"risk_scores": {
"PEP": 100
}
},
"custom_list": {}
},
"first_seen": "2025-01-18T00:00:00",
"properties": {
"name": [
"Javier Ejemplo Modelo"
],
"alias": [
"Javier Ejemplo Modelo",
"David Azagra"
],
"notes": [
"Spanish orchestra conductor"
],
"title": null,
"gender": [
"male"
],
"height": null,
"topics": null,
"weight": null,
"address": null,
"country": null,
"website": null,
"eyeColor": null,
"keywords": null,
"lastName": [
"Ejemplo",
"Modelo"
],
"position": null,
"religion": null,
"birthDate": [
"1974"
],
"education": [
"Tokyo Arts and Space (2012-2012)",
"Saint Petersburg Conservatory (-2010)",
"Comillas Pontifical University"
],
"ethnicity": null,
"firstName": [
"David"
],
"hairColor": null,
"weakAlias": null,
"birthPlace": [
"Madrid"
],
"modifiedAt": null,
"wikidataId": null,
"citizenship": null,
"nationality": null
},
"match_score": 98,
"risk_score": 73,
"review_status": "Unreviewed",
"score_breakdown": {
"name_score": 95,
"name_weight": 60,
"name_weight_normalized": 70.59,
"name_contribution": 67.06,
"dob_score": 100,
"dob_weight": 25,
"dob_weight_normalized": 29.41,
"dob_contribution": 29.41,
"country_score": 0,
"country_weight": 15,
"country_weight_normalized": 0,
"country_contribution": 0,
"document_number_match_type": "NEUTRAL",
"document_number_effect": "No document number provided for screening",
"total_score": 98
},
"pep_matches": [
{
"aliases": [
"Javier Ejemplo Modelo",
"David Azagra"
],
"education": [
"Tokyo Arts and Space (2012-2012)",
"Saint Petersburg Conservatory (-2010)",
"Comillas Pontifical University"
],
"list_name": "Wikidata",
"publisher": "Wikidata",
"source_url": "https://news.example.org/articles/sample",
"description": "Wikidata is the structured data project of the Wikipedia community, providing fact-based information edited by humans and machines",
"matched_name": "Javier Ejemplo Modelo",
"pep_position": "",
"date_of_birth": "1974",
"other_sources": [],
"place_of_birth": "Madrid"
}
],
"linked_entities": [
{
"name": [
"Antonio Ejemplo"
],
"active": [],
"status": [],
"details": [],
"relation": []
}
],
"warning_matches": [],
"sanction_matches": [],
"adverse_media_details": {
"sentiment": "Moderately Negative",
"entity_type": "person",
"sentiment_score": -2,
"adverse_keywords": {
"fraud": 3,
"juicio": 1,
"delitos": 2,
"imputado": 1,
"impunidad": 1,
"corruption": 2,
"favoritism": 2,
"privilegio": 1,
"corrupción": 1,
"persecution": 2,
"desconfianza": 1,
"desprestigio": 1,
"fraude de ley": 2,
"manipulación": 1,
"investigación": 3,
"prevaricación": 8,
"trato de favor": 1,
"irregularidades": 2,
"crisis de confianza": 1,
"tráfico de influencias": 8
}
},
"adverse_media_matches": [
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in legal violations related to favoritism and influence trafficking, leading to a negative portrayal in the article.",
"headline": "La Diputación de Villaejemplo consolida la plaza a medida para el ex asesor de Moncloa amigo del \"hermanito\" de Ejemplo",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"prevaricación",
"tráfico de influencias",
"irregularidades",
"imputado"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T20:46:38"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in legal issues regarding favoritism and corruption, leading to a negative portrayal in the article.",
"headline": "La Diputación de Villaejemplo consolida la plaza a medida para el ex asesor de Moncloa amigo del \"hermanito\" de Ejemplo",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"prevaricación",
"tráfico de influencias",
"irregularidades",
"trato de favor"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T20:46:38"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is mentioned in connection with Carlos Ficticio's corruption case, indicating his involvement in alleged influence peddling.",
"headline": "España, paraíso del aforado",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"corrupción",
"impunidad",
"privilegio",
"desconfianza",
"manipulación",
"fraude de ley"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T05:05:34"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, which raises questions about his conduct and political ethics.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación",
"juicio",
"fraude de ley",
"desprestigio",
"crisis de confianza",
"delitos"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:01:00"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a legal investigation regarding irregularities in his hiring, which raises serious concerns about his conduct.",
"headline": "La jueza del 'caso Javier Ejemplo' denuncia un «fraude de ley» en el aforamiento de Ficticio (Partido Ejemplo)",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"irregularities",
"prevaricación",
"tráfico de influencias"
],
"sentiment_score": -2,
"publication_date": "2025-06-09T10:19:10"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is mentioned in connection with legal allegations of corruption, contributing to a negative perception.",
"headline": "'Caso aforamiento': la letrada mayor de la Asamblea certifica a la juez que Ficticio es diputado desde antes de prometer su cargo en el Pleno",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias"
],
"sentiment_score": -2,
"publication_date": "2025-06-09T08:08:30"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, raising concerns about political corruption and influence.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:01:00"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, which raises concerns about political misconduct.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación",
"delitos"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:00:59"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a case of favoritism and corruption, which casts a negative light on his character and actions.",
"headline": "'Caso Javier Ejemplo': las asociaciones judiciales salen en defensa de la juez Luisa Inventada ante las \"presiones externas\" que sufre",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"favoritism",
"corruption",
"persecution"
],
"sentiment_score": -2,
"publication_date": "2025-06-06T10:08:15"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a case of alleged favoritism and corruption, which casts a negative light on his character and actions.",
"headline": "'Caso Javier Ejemplo': las asociaciones judiciales salen en defensa de la juez Luisa Inventada ante las \"presiones externas\" que sufre",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"favoritism",
"corruption",
"persecution"
],
"sentiment_score": -2,
"publication_date": "2025-06-06T08:08:15"
}
],
"additional_information": {}
}
],
"score": 80,
"screened_data": {
"full_name": "Javier Ejemplo Modelo",
"nationality": "ES",
"date_of_birth": "1974-01-01",
"document_number": null
},
"is_ongoing_monitoring_enabled": true,
"next_ongoing_monitoring_bill_date": "2026-07-24",
"last_ongoing_screening_at": "2026-09-12T04:03:11Z",
"last_ongoing_screening_datasets_updated_at": "2026-09-11T06:00:00Z",
"warnings": [
{
"feature": "AML",
"risk": "POSSIBLE_MATCH_FOUND",
"additional_data": null,
"log_type": "warning",
"short_description": "Possible match found in AML screening",
"long_description": "The Anti-Money Laundering (AML) screening process identified potential matches with watchlists or high-risk databases, requiring further review.",
"node_id": "feature_aml_1"
}
]
}
],
"ip_analyses": [
{
"node_id": "feature_ip_1",
"status": "Approved",
"device_brand": "Apple",
"device_model": "iPhone",
"browser_family": "Mobile Safari",
"os_family": "iOS",
"platform": "mobile",
"device_fingerprint": "didit-fp-a1b2c3d4e5f6g7h8",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Barcelona",
"ip_city": "Barcelona",
"latitude": 41.4022,
"longitude": 2.1407,
"ip_address": "83.50.226.71",
"isp": null,
"organization": null,
"is_vpn_or_tor": false,
"is_data_center": false,
"time_zone": "Europe/Madrid",
"time_zone_offset": "+0100",
"ip": {
"location": {
"latitude": 40.2206327,
"longitude": 1.5770097
},
"distance_from_id_document": 23.4,
"distance_from_poa_document": 12.3
},
"id_document": {
"location": {
"latitude": 41.2706327,
"longitude": 1.9770097
},
"distance_from_ip": 23.4,
"distance_from_poa_document": 18.7
},
"poa_document": {
"location": {
"latitude": 41.2706327,
"longitude": 1.9770097
},
"distance_from_ip": 12.3,
"distance_from_id_document": 18.7
},
"warnings": [],
"matches": [
{
"session_id": "99999999-8888-7777-6666-555555555555",
"session_number": 41205,
"vendor_data": "22222222-2222-2222-2222-222222222222",
"verification_date": "2024-07-20T10:15:30Z",
"match_type": "ip_address",
"match_source": "ip_address",
"matched_value": "83.50.226.71",
"status": "Approved",
"is_blocklisted": false,
"api_service": null,
"source": "session",
"device_info": {
"device_brand": "Apple",
"device_model": "iPhone",
"browser_family": "Mobile Safari",
"os_family": "iOS",
"platform": "mobile",
"device_fingerprint": "didit-fp-f9e8d7c6b5a40312"
},
"location_info": {
"ip_address": "83.50.226.71",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Barcelona",
"ip_city": "Barcelona",
"is_vpn_or_tor": false,
"is_data_center": false
},
"confidence": 0,
"match_mode": "co_occurrence"
},
{
"session_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"session_number": 42830,
"vendor_data": "33333333-3333-3333-3333-333333333333",
"verification_date": "2024-06-30T18:22:05Z",
"match_type": "device_fingerprint",
"match_source": "recovered_high",
"matched_value": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "Declined",
"is_blocklisted": false,
"api_service": null,
"source": "session",
"device_info": {
"device_brand": "Samsung",
"device_model": "SM-G991B",
"browser_family": "Chrome Mobile",
"os_family": "Android",
"platform": "mobile",
"device_fingerprint": null
},
"location_info": {
"ip_address": "83.50.231.18",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Madrid",
"ip_city": "Madrid",
"is_vpn_or_tor": false,
"is_data_center": false
},
"confidence": 1,
"match_mode": "deterministic",
"recovery_similarity": 0.9874,
"tls_ja4_corroborated": true,
"recovery_gate_reason": "hardware_root_match"
}
]
}
],
"database_validations": [
{
"node_id": "feature_db_validation_1",
"issuing_state": "BRA",
"validation_type": "one_by_one",
"screened_data": {
"last_name": "De Lima",
"first_name": "Fernando",
"tax_number": "01234567890",
"date_of_birth": "1980-01-01",
"document_type": "ID",
"expiration_date": "2030-01-01"
},
"validations": [
{
"service_id": "bra_cpf",
"service_name": "Brazil - CPF status check",
"outcome_code": "MATCH",
"validation": {
"full_name": "full_match",
"date_of_birth": "full_match",
"identification_number": "full_match"
},
"source_data": {
"identification_number": "01234567890",
"first_name": "FERNANDO",
"last_name": "DE LIMA",
"date_of_birth": "1980-01-01",
"gender": "M",
"nationality": "BRA"
}
}
],
"match_type": "full_match",
"status": "Approved",
"warnings": []
}
],
"reviews": [
{
"user": "compliance@example.com",
"new_status": "Declined",
"comment": "Possible match found in AML screening",
"created_at": "2024-07-18T13:29:00.366811Z"
}
],
"created_at": "2024-07-24T08:54:25.443172Z",
"expires_at": "2025-07-24T08:54:25.443172Z",
"biometric_consent": {
"required": false,
"trigger": null,
"status": "not_required",
"given_at": null,
"declined_at": null,
"text_version": null,
"text_hash": null,
"locale": null,
"policy_url": null,
"step": null,
"node_id": null,
"ip_address": null,
"ip_country_code": null,
"ip_state": null,
"ip_city": null,
"user_agent": null,
"detected_ip_address": "83.50.226.71",
"detected_country_code": "ES",
"detected_state": "ES-B",
"detected_city": "Barcelona",
"declared_state": null,
"document_state": null,
"jurisdictions": [],
"retention_months": null,
"reason": null,
"decline_reason": null,
"face_data_deleted_at": null
}
}
import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().retrieveDecision("11111111-2222-3333-4444-555555555555");
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->retrieveDecision('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.RetrieveDecisionAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));
{
"session_id": "11111111-2222-3333-4444-555555555555",
"session_kind": "user",
"session_number": 43762,
"session_url": "https://verify.didit.me/session/11111111-2222-3333-4444-555555555555",
"status": "In Review",
"environment": "live",
"workflow_id": "11111111-2222-3333-4444-555555555555",
"features": [
"ID_VERIFICATION",
"NFC",
"LIVENESS",
"FACE_MATCH",
"POA",
"PHONE",
"DATABASE_VALIDATION",
"AML",
"IP_ANALYSIS"
],
"vendor_data": "11111111-1111-1111-1111-111111111111",
"metadata": {
"user_type": "premium",
"account_id": "ABC123"
},
"expected_details": {
"first_name": "Carmen",
"last_name": "Española Española"
},
"contact_details": {
"email": "carmen@example.com",
"email_lang": "es",
"send_notification_emails": false,
"phone": null
},
"callback": "https://verify.didit.me/",
"id_verifications": [
{
"node_id": "feature_ocr_1",
"status": "Approved",
"document_type": "Identity Card",
"document_subtype": "ID_CARD_GENERIC",
"document_number": "CAA000000",
"personal_number": "99999999R",
"portrait_image": "https://<media-host>/portrait.jpg",
"front_image": "https://<media-host>/front.jpg",
"front_video": "https://<media-host>/front.mp4",
"back_image": "https://<media-host>/back.jpg",
"back_video": "https://<media-host>/back.mp4",
"full_front_image": "https://<media-host>/full_front.jpg",
"full_back_image": "https://<media-host>/full_back.jpg",
"front_image_camera_front": "https://<media-host>/front_camera_front.jpg",
"back_image_camera_front": "https://<media-host>/back_camera_front.jpg",
"date_of_birth": "1980-01-01",
"age": 45,
"expiration_date": "2031-06-02",
"date_of_issue": "2021-06-02",
"issuing_state": "ESP",
"issuing_state_name": "Spain",
"first_name": "Carmen",
"last_name": "Española Española",
"full_name": "Carmen Española Española",
"gender": "F",
"address": "Avda de Madrid 34, Madrid, Madrid",
"formatted_address": "Avda de Madrid 34, Madrid, Madrid 28822, Spain",
"place_of_birth": "Madrid",
"marital_status": "Single",
"nationality": "ESP",
"extra_fields": {
"dl_categories": [],
"blood_group": null
},
"mrz": {
"surname": "ESPANOLA ESPANOLA",
"name": "CARMEN",
"country": "ESP",
"nationality": "ESP",
"birth_date": "800101",
"expiry_date": "310602",
"sex": "F",
"document_type": "ID",
"document_number": "CAA000000",
"optional_data": "99999999R",
"optional_data_2": "",
"birth_date_hash": "4",
"expiry_date_hash": "8",
"document_number_hash": "4",
"final_hash": "1",
"personal_number": "99999999R",
"warnings": [],
"errors": [],
"mrz_type": "TD1",
"mrz_string": "IDESPCAA000000499999999R<<<<<<\n8001014F3106028ESP<<<<<<<<<<<1\nESPANOLA<ESPANOLA<<CARMEN<<<<<",
"mrz_key": "CAA000000480010143106028"
},
"parsed_address": {
"city": "Madrid",
"label": "Spain ID Card Address",
"region": "Madrid",
"country": "ES",
"category": "Residential",
"street_1": "Avda de Madrid 34",
"street_2": null,
"is_verified": true,
"postal_code": "28822",
"raw_results": {
"types": [
"street_address"
],
"geometry": {
"location": {
"lat": 37.4222804,
"lng": -122.0843428
},
"viewport": {
"northeast": {
"lat": 37.4237349802915,
"lng": -122.083183169709
},
"southwest": {
"lat": 37.4210370197085,
"lng": -122.085881130292
}
},
"location_type": "ROOFTOP"
},
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"formatted_address": "Avda de Madrid 34, 28822 Madrid, Spain",
"navigation_points": [
{
"location": {
"latitude": 37.4222804,
"longitude": -122.0843428
}
}
],
"address_components": [
{
"types": [
"street_number"
],
"long_name": "34",
"short_name": "34"
},
{
"types": [
"route"
],
"long_name": "Avda de Madrid",
"short_name": "Avda de Madrid"
},
{
"types": [
"locality",
"political"
],
"long_name": "Madrid",
"short_name": "Madrid"
},
{
"types": [
"country",
"political"
],
"long_name": "Spain",
"short_name": "ES"
},
{
"types": [
"postal_code"
],
"long_name": "28822",
"short_name": "28822"
}
]
},
"address_type": "Avda",
"document_location": {
"latitude": 37.4222804,
"longitude": -122.0843428
},
"formatted_address": "Avda de Madrid 34, 28822 Madrid, Spain"
},
"front_image_camera_front_face_match_score": 95.5,
"back_image_camera_front_face_match_score": 93.2,
"document_selfie_face_matches": [
{
"session_id": "3f0c9a52-7b1e-4d68-a2c4-5e9d8b7f1a20",
"session_number": 1180,
"similarity_percentage": 97.4,
"vendor_data": "user_ref_001",
"vendor_user_id": null,
"biometric_template_id": null,
"verification_date": "2026-09-02T09:15:00Z",
"user_details": {
"full_name": "Jane Doe"
},
"match_image_url": "https://<media-host>/match_face.jpg",
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": null,
"source": "session"
}
],
"front_image_quality_score": {
"focus_score": 85.3,
"brightness_score": 92.1,
"brightness_issue": "ok",
"is_document_fully_visible": true,
"resolution_score": 72.4,
"overall_score": 88.7
},
"back_image_quality_score": {
"focus_score": 79.1,
"brightness_score": 90.5,
"brightness_issue": "ok",
"is_document_fully_visible": true,
"resolution_score": 72.4,
"overall_score": 85.2
},
"extra_files": [
"https://<media-host>/extra_id_verification.jpg"
],
"matches": [
{
"session_id": "7d4f1f60-9c2e-4b8a-8f3d-2a1b5c6d7e8f",
"session_number": 1234,
"vendor_data": "user_ref_001",
"verification_date": "2024-06-15T10:30:00Z",
"user_details": {
"name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Approved",
"is_blocklisted": false,
"api_service": null,
"front_image_url": "https://<media-host>/document_front.jpg"
},
{
"session_id": "b2c8e4d1-6a3f-4e7b-95c0-1d8f2a6b4c9e",
"session_number": 1235,
"vendor_data": null,
"verification_date": "2024-05-20T14:45:00Z",
"user_details": {
"name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Declined",
"is_blocklisted": true,
"api_service": "ID_VERIFICATION",
"front_image_url": "https://<media-host>/document_front_2.jpg"
}
],
"warnings": [
{
"feature": "ID_VERIFICATION",
"risk": "QR_NOT_DETECTED",
"additional_data": null,
"log_type": "information",
"short_description": "QR not detected",
"long_description": "The system couldn't find or read the QR code on the document, which is necessary for document verification. This could be due to poor image quality or an unsupported document type.",
"node_id": "feature_ocr_1"
}
],
"verification_method": "document",
"assurance": "documentary",
"wallet_provider": null,
"fallback_from": null,
"id_lookup": null,
"wallet_verification": null,
"document_liveness": {
"portrait_replace": {
"score": 96.46,
"front": 96.46,
"back": 98.2,
"decline_threshold": 35,
"review_threshold": 70,
"bucket": "approve"
},
"printed_copy": {
"score": 91.2,
"front": 91.2,
"back": 93.7,
"decline_threshold": 35,
"review_threshold": 77,
"bucket": "approve"
},
"screen_replay": {
"score": 99.9,
"front": 99.9,
"back": 99.5,
"decline_threshold": 30,
"review_threshold": 70,
"bucket": "approve"
}
}
},
{
"node_id": "feature_ocr_2",
"status": "Approved",
"issuing_state": "ZAF",
"issuing_state_name": "South Africa",
"first_name": "Thabo",
"last_name": "Mokoena",
"full_name": "Thabo Mokoena",
"date_of_birth": "1991-06-15",
"personal_number": "9106155043088",
"verification_method": "id_lookup",
"assurance": "data_match",
"wallet_provider": null,
"fallback_from": null,
"id_lookup": {
"source": "Department of Home Affairs",
"checked_at": "2026-09-04T09:12:44Z",
"attempts": 1,
"max_attempts": 2,
"outcome": "match",
"comparison": [
{
"field": "identification_number",
"label": "ID number",
"provided": "9106155043088",
"record": "9106155043088",
"result": "match"
},
{
"field": "full_name",
"label": "Full name",
"provided": "Thabo Mokoena",
"record": "Thabo Mokoena",
"result": "match"
},
{
"field": "date_of_birth",
"label": "Date of birth",
"provided": "1991-06-15",
"record": "1991-06-15",
"result": "match"
}
],
"registry_portrait": "https://<media-host>/registry_portrait.jpg",
"face_match_score": 96.4,
"source_errors": []
},
"wallet_verification": null,
"warnings": []
},
{
"node_id": "feature_ocr_3",
"status": "Approved",
"issuing_state": "DNK",
"issuing_state_name": "Denmark",
"first_name": "Freja",
"last_name": "Nielsen",
"full_name": "Freja Nielsen",
"date_of_birth": "1988-03-02",
"verification_method": "wallet",
"assurance": "cryptographic",
"wallet_provider": "mitid",
"fallback_from": null,
"id_lookup": null,
"wallet_verification": {
"provider": "mitid",
"provider_name": "MitID",
"issuing_authority": "Danish Agency for Digital Government",
"issuing_country": "DNK",
"credential_type": "person_identification",
"level_of_assurance": "substantial",
"verified_at": "2026-09-04T09:12:44Z",
"signature_valid": true,
"attributes": {
"full_name": "Freja Nielsen",
"date_of_birth": "1988-03-02",
"cpr_alias": "b0f1c2d3-e4f5-4678-9abc-def012345678"
},
"portrait": null,
"face_match_score": null
},
"warnings": []
}
],
"nfc_verifications": [
{
"node_id": "feature_nfc_1",
"status": "In Review",
"is_nfc_skipped": false,
"skip_reason": null,
"chip_protocol": "icao",
"jpki": null,
"portrait_image": "https://<media-host>/portrait.jpg",
"signature_image": "https://<media-host>/signature.jpg",
"chip_data": {
"document_type": "ID",
"issuing_country": "ESP",
"document_number": "123456789",
"expiration_date": "2030-01-01",
"first_name": "John",
"last_name": "Smith",
"birth_date": "1990-05-15",
"gender": "M",
"nationality": "ESP",
"address": "CALLE MAYOR 123 4B, MADRID, MADRID",
"place_of_birth": "MADRID, MADRID"
},
"authenticity": {
"sod_integrity": true,
"dg_integrity": true
},
"certificate_summary": {
"issuer": "Common Name: CSCA SPAIN, Serial Number: 3, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
"subject": "Common Name: DS n-eID SPAIN 2, Organizational Unit: PASSPORT, Organization: DIRECCION GENERAL DE LA POLICIA, Country: ES",
"serial_number": "118120836164494130086420187336801405660",
"not_valid_after": "2031-02-18 10:21:11",
"not_valid_before": "2020-11-18 10:21:11"
},
"warnings": [
{
"feature": "NFC",
"risk": "DATA_INCONSISTENT",
"additional_data": null,
"log_type": "warning",
"short_description": "OCR and NFC mrz code extracted are not the same",
"long_description": "The Optical Character Recognition (OCR) data and the NFC chip data don't match, indicating potential document tampering or data inconsistency.",
"node_id": "feature_nfc_1"
}
]
}
],
"liveness_checks": [
{
"node_id": "feature_liveness_1",
"status": "Approved",
"method": "ACTIVE_3D",
"score": 89.92,
"reference_image": "https://<media-host>/reference.jpg",
"video_url": "https://<media-host>/video.mp4",
"age_estimation": 24.3,
"matches": [
{
"session_id": "7d4f1f60-9c2e-4b8a-8f3d-2a1b5c6d7e8f",
"session_number": 1234,
"vendor_data": "user_ref_001",
"verification_date": "2024-06-15T10:30:00Z",
"user_details": {
"full_name": "John Smith",
"document_type": "ID",
"document_number": "CLM148418"
},
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": null,
"source": "session",
"match_image_url": "https://<media-host>/face_match.jpg",
"similarity_percentage": 98.5
},
{
"session_id": "3e9a7c21-5b48-4f0e-9c6a-8d2f4b1e0a35",
"session_number": 1100,
"vendor_data": "customer_xyz",
"verification_date": "2024-04-10T09:15:00Z",
"user_details": {
"full_name": "John Smith",
"document_type": "P",
"document_number": "DZ8375806"
},
"status": "Approved",
"is_blocklisted": false,
"is_allowlisted": false,
"api_service": "PASSIVE_LIVENESS",
"source": "session",
"match_image_url": "https://<media-host>/face_match_2.jpg",
"similarity_percentage": 95.2
}
],
"warnings": [
{
"feature": "LIVENESS",
"risk": "LOW_LIVENESS_SCORE",
"additional_data": null,
"log_type": "information",
"short_description": "Low liveness score",
"long_description": "The liveness check resulted in a low score, indicating potential use of non-live facial representations or poor-quality biometric data.",
"node_id": "feature_liveness_1"
}
],
"face_quality": null,
"face_luminance": null
}
],
"face_matches": [
{
"node_id": "feature_face_match_1",
"status": "In Review",
"score": 65.43,
"source_image_session_id": null,
"source_image": "https://<media-host>/source-image.jpg",
"target_image": "https://<media-host>/target-image.jpg",
"warnings": [
{
"feature": "FACEMATCH",
"risk": "LOW_FACE_MATCH_SIMILARITY",
"additional_data": null,
"log_type": "warning",
"short_description": "Low face match similarity",
"long_description": "The facial features of the provided image don't closely match the reference image, suggesting a potential identity mismatch.",
"node_id": "feature_face_match_1"
}
]
}
],
"phone_verifications": [
{
"node_id": "feature_phone_1",
"status": "Approved",
"phone_number_prefix": "+34",
"phone_number": "600600600",
"full_number": "+34600600600",
"country_code": "ES",
"country_name": "Spain",
"carrier": {
"name": "Orange",
"type": "mobile"
},
"is_disposable": false,
"is_virtual": false,
"verification_method": "sms",
"verification_attempts": 1,
"verified_at": "2024-07-28T06:47:35.654321Z",
"lifecycle": [
{
"type": "PHONE_VERIFICATION_MESSAGE_SENT",
"timestamp": "2025-08-24T09:12:39.580554+00:00",
"details": {
"status": "Success",
"reason": null,
"channel": "sms",
"actual_channel": "sms"
},
"fee": 0.1
},
{
"type": "VALID_CODE_ENTERED",
"timestamp": "2025-08-24T09:12:39.662157+00:00",
"details": {
"code_tried": "123456",
"status": "Approved"
},
"fee": 0
},
{
"type": "PHONE_VERIFICATION_APPROVED",
"timestamp": "2025-08-24T09:12:39.684292+00:00",
"details": null,
"fee": 0
}
],
"warnings": [],
"matches": [
{
"session_id": null,
"session_number": null,
"vendor_data": null,
"verification_date": null,
"phone_number": "+34600000000",
"status": null,
"is_blocklisted": true,
"api_service": null,
"source": "list_entry"
}
]
}
],
"email_verifications": [
{
"node_id": "feature_email_1",
"status": "Approved",
"email": "test@example.com",
"is_breached": true,
"breaches": [
{
"name": "TAPAirPortugal",
"domain": "flytap.com",
"logo_path": "https://logos.example.com/TAPAirPortugal.png",
"breach_date": "2022-08-25",
"description": "In August 2022, the Portuguese airline <a href=\"https://www.bleepingcomputer.com/news/security/ragnar-locker-ransomware-claims-attack-on-portugals-flag-airline/\" target=\"_blank\" rel=\"noopener\">TAP Air Portugal was the target of a ransomware attack perpetrated by the Ragnar Locker gang</a> who later leaked the compromised data via a public dark web site. Over 5M unique email addresses were exposed alongside other personal data including names, genders, DoBs, phone numbers and physical addresses.",
"is_verified": true,
"data_classes": [
"dates_of_birth",
"email_addresses",
"genders",
"names",
"nationalities",
"phone_numbers",
"physical_addresses",
"salutations",
"spoken_languages"
],
"breach_emails_count": 6083479
}
],
"is_disposable": false,
"is_undeliverable": false,
"verification_attempts": 1,
"verified_at": "2025-09-15T17:36:19.963451Z",
"warnings": [
{
"feature": "EMAIL",
"risk": "BREACHED_EMAIL_DETECTED",
"additional_data": null,
"log_type": "information",
"short_description": "Breached email detected",
"long_description": "This email address was found in one or more known data breaches.",
"node_id": "feature_email_1"
}
],
"lifecycle": [
{
"type": "EMAIL_VERIFICATION_MESSAGE_SENT",
"timestamp": "2025-09-15T17:36:19.792684+00:00",
"details": {
"status": "Success",
"reason": null
},
"fee": 0.02
},
{
"type": "VALID_CODE_ENTERED",
"timestamp": "2025-09-15T17:36:19.963427+00:00",
"details": {
"code_tried": "123456",
"status": "Approved"
},
"fee": 0
},
{
"type": "EMAIL_VERIFICATION_DECLINED",
"timestamp": "2025-09-15T17:36:20.081471+00:00",
"details": {
"reason": "BREACHED_EMAIL_DETECTED"
},
"fee": 0
}
],
"matches": [
{
"session_id": null,
"session_number": null,
"vendor_data": null,
"verification_date": null,
"email": "test@example.com",
"status": null,
"is_blocklisted": true,
"api_service": null,
"source": "list_entry"
}
]
}
],
"poa_verifications": [
{
"node_id": "feature_poa_1",
"status": "Declined",
"document_file": "https://<media-host>/poa_document.pdf",
"issuing_state": "AR",
"document_type": "UTILITY_BILL",
"document_subtype": null,
"document_language": "es",
"document_metadata": {
"file_size": 1000,
"content_type": "application/pdf",
"creation_date": "2021-01-01",
"modified_date": "2021-01-01",
"overlay_manipulation": null,
"creator": null,
"producer": "PDF Generator",
"software": null,
"encryption": null,
"is_signed": false,
"is_tampered": false,
"signature_info": null,
"exif_original_date": null,
"exif_digitized_date": null,
"processed_by_known_editor": false,
"has_different_creation_mod_date": true
},
"issuer": "Aguas del Norte",
"issue_date": "2021-02-01",
"expiration_date": null,
"poa_address": "AVDA. MONSEÑOR TAVELLA N° 3396, SALTA",
"poa_formatted_address": "Av. Monseñor Tavella 3396, A4400 Salta, Argentina",
"poa_parsed_address": {
"address_type": "Avenida",
"street_1": "Avenida Monseñor Tavella 3396",
"street_2": null,
"city": "Salta",
"region": "Salta",
"country": "AR",
"postal_code": "A4400",
"document_location": {
"latitude": -24.8208664,
"longitude": -65.4131
}
},
"name_on_document": "Fernando De Lima",
"name_match_score_expected_details": null,
"name_match_score_id_verification": 38.5,
"expected_details_address": null,
"expected_details_formatted_address": null,
"expected_details_parsed_address": {},
"extra_fields": {
"bank_account_number": "1234567890",
"bank_iban": null,
"bank_sort_code": null,
"bank_routing_number": null,
"bank_swift_bic": null,
"bank_branch_name": null,
"bank_branch_address": null,
"document_phone_number": "+5491112345678",
"additional_names": []
},
"extra_files": [
"https://<media-host>/extra_poa.pdf"
],
"detected_codes": [
{
"type": "QR_CODE",
"page_number": 1,
"position": [
[
820,
1120
],
[
1002,
1120
],
[
1002,
1302
],
[
820,
1302
]
],
"x": 820,
"y": 1120,
"width": 182,
"height": 182,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "aHR0cHM6Ly9hZ3Vhc2RlbG5vcnRlLmNvbS9mYWN0dXJhLzk5ODgxMQ==",
"parsed_payload": "https://aguasdelnorte.com/factura/998811"
},
{
"type": "CODE_128",
"page_number": 1,
"position": [
[
112,
1480
],
[
560,
1480
],
[
560,
1540
],
[
112,
1540
]
],
"x": 112,
"y": 1480,
"width": 448,
"height": 60,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "MDA5OTg4MTEwMDA0Mg==",
"parsed_payload": "0099881100042"
}
],
"warnings": []
}
],
"document_ai_documents": [
{
"status": "Approved",
"node_id": "feature_document_ai_1",
"items": [
{
"uuid": "c1a2b3c4-d5e6-7f80-9a1b-2c3d4e5f6071",
"node_id": "feature_document_ai_1",
"document_key": "proof_of_funds",
"original_filename": "bank_statement.pdf",
"file_size": 184320,
"file_url": "https://<media-host>/document_ai/proof_of_funds.pdf",
"status": "Approved",
"extracted_data": {
"account_holder": "John Doe",
"balance": 15230.55,
"currency": "EUR",
"statement_date": "2026-05-31"
},
"detected_codes": [
{
"type": "QR_CODE",
"page_number": 2,
"position": [
[
124,
86
],
[
306,
86
],
[
306,
268
],
[
124,
268
]
],
"x": 124,
"y": 86,
"width": 182,
"height": 182,
"page_width": 1190,
"page_height": 1684,
"raw_payload": "SU5WLTIwMjYtMDA0Mg==",
"parsed_payload": "INV-2026-0042"
}
],
"fields": [
{
"key": "account_holder",
"name": "Account holder",
"instruction": "Extract the full name of the account holder.",
"type": "text",
"required": true
},
{
"key": "balance",
"name": "Closing balance",
"instruction": "Extract the closing balance amount.",
"type": "number",
"required": true
}
],
"document_metadata": {
"is_tampered": false
},
"cross_check_result": null,
"created_at": "2026-06-01T12:34:56Z"
}
],
"warnings": []
}
],
"questionnaire_responses": [
{
"node_id": "feature_questionnaire_1",
"questionnaire_id": "9f7485e0-b00b-4d56-9d3e-7859b68d1213",
"title": "Source of Funds",
"description": "Reply to this questionnaire to help us understand the source of funds.",
"languages": [
"en"
],
"default_language": "en",
"is_active": true,
"is_simple_questionnaire": true,
"questionnaire_group_id": "2b6a9d40-13a8-4b1e-9a6c-3f1d2e4b5a60",
"version": 1,
"published_at": "2025-11-02T09:14:55.000000Z",
"sections": [
{
"title": null,
"description": null,
"items": [
{
"uuid": "618636d9-7d5c-41ce-b8d0-1ab2a4be20db",
"value": "question_1",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your primary source of funds?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Salary",
"value": "salary"
},
{
"label": "Business Income",
"value": "business_income"
},
{
"label": "Savings",
"value": "savings"
},
{
"label": "Investments",
"value": "investments"
},
{
"label": "Sale of Asset",
"value": "sale_of_asset"
},
{
"label": "Inheritance/Gift",
"value": "inheritance_gift"
},
{
"label": "Pension",
"value": "pension"
},
{
"label": "Crypto Proceeds",
"value": "crypto_proceeds"
},
{
"label": "Other",
"value": "other",
"requires_text_input": true
}
],
"max_files": 1,
"answer": {
"value": "salary"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "2d16b527-72be-42e0-8e96-b164b818386c",
"value": "question_2",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Provide details of the primary source.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "a9239b7c-fbfb-4ea7-b7e4-c835cd4016e0",
"value": "question_3",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your annual income range (pre-tax)?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Less than $25,000",
"value": "<25k"
},
{
"label": "$25,000 - $50,000",
"value": "25k-50k"
},
{
"label": "$50,001 - $100,000",
"value": "50k-100k"
},
{
"label": "$100,001 - $250,000",
"value": "100k-250k"
},
{
"label": "More than $250,000",
"value": ">250k"
}
],
"max_files": 1,
"answer": {
"value": "<25k"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "93dede62-6d0c-4a7f-934d-42175eb94011",
"value": "question_4",
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your approximate net worth (range)?",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Less than $50,000",
"value": "<50k"
},
{
"label": "$50,000 - $250,000",
"value": "50k-250k"
},
{
"label": "$250,001 - $1,000,000",
"value": "250k-1m"
},
{
"label": "$1,000,001 - $5,000,000",
"value": "1m-5m"
},
{
"label": "More than $5,000,000",
"value": ">5m"
}
],
"max_files": 1,
"answer": {
"value": "<50k"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "2af60d6f-6961-4692-9ee7-24b3033610a6",
"value": "question_5",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "For your initial deposit/funding, indicate the exact source and amount.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "0ad9d1aa-736f-46cf-947b-9e1241b53e40",
"value": "question_6",
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Breakdown of sources by percentage.",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "1bf8a2a3-14ee-48a8-bb3d-175481aae4aa",
"value": "question_7",
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Will any funds originate from third parties? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Yes",
"value": "yes",
"requires_text_input": true
},
{
"label": "No",
"value": "no"
}
],
"max_files": 1,
"answer": {
"text": "Additional details",
"value": "yes"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "e18d4dd3-b7bf-4883-ba18-d6046adbe313",
"value": "question_8",
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Do you hold or plan to use virtual assets (e.g., crypto) to fund this account? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{
"label": "Yes",
"value": "yes",
"requires_text_input": true
},
{
"label": "No",
"value": "no"
}
],
"max_files": 1,
"answer": {
"text": "Additional details",
"value": "yes"
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "a90a073d-e098-404c-bbce-5130d8b12a13",
"value": "question_9",
"element_type": "FILE_UPLOAD",
"is_required": true,
"title": "Upload a proof of funds document",
"description": "You can upload your three (3) most recent bank statements, three (3) most recent payslips, your most recent tax return, proof of company ownership, trading exchange statement, sale of property, or proof of inheritance.",
"placeholder": null,
"choices": null,
"max_files": 3,
"answer": {
"files": [
"/media/ocr/",
"/media/ocr/"
]
},
"required_if": null,
"repeatable_config": null
},
{
"uuid": "9503b486-7cb8-4c3b-a97d-4b64926a5a47",
"value": "question_10",
"element_type": "LONG_TEXT",
"is_required": false,
"title": "Would you like to add any details to help us expedite our review of the documents you submitted?",
"description": null,
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": {
"value": "Test answer"
},
"required_if": null,
"repeatable_config": null
}
]
}
],
"status": "Approved"
}
],
"aml_screenings": [
{
"node_id": "feature_aml_1",
"status": "In Review",
"total_hits": 1,
"entity_type": "person",
"hits": [
{
"id": "hit_7c1e9a40b2d35f86e0a4c912",
"url": "https://news.example.org/articles/sample",
"match": false,
"score": 0.73,
"target": null,
"caption": "Javier Ejemplo Modelo",
"datasets": [
"PEP"
],
"features": null,
"rca_name": "",
"last_seen": "2025-06-13T00:00:00",
"risk_view": {
"crimes": {
"score": 0,
"weightage": 20,
"risk_level": "Low",
"risk_scores": {}
},
"countries": {
"score": 0,
"weightage": 30,
"risk_level": "Low",
"risk_scores": {}
},
"categories": {
"score": 100,
"weightage": 50,
"risk_level": "High",
"risk_scores": {
"PEP": 100
}
},
"custom_list": {}
},
"first_seen": "2025-01-18T00:00:00",
"properties": {
"name": [
"Javier Ejemplo Modelo"
],
"alias": [
"Javier Ejemplo Modelo",
"David Azagra"
],
"notes": [
"Spanish orchestra conductor"
],
"title": null,
"gender": [
"male"
],
"height": null,
"topics": null,
"weight": null,
"address": null,
"country": null,
"website": null,
"eyeColor": null,
"keywords": null,
"lastName": [
"Ejemplo",
"Modelo"
],
"position": null,
"religion": null,
"birthDate": [
"1974"
],
"education": [
"Tokyo Arts and Space (2012-2012)",
"Saint Petersburg Conservatory (-2010)",
"Comillas Pontifical University"
],
"ethnicity": null,
"firstName": [
"David"
],
"hairColor": null,
"weakAlias": null,
"birthPlace": [
"Madrid"
],
"modifiedAt": null,
"wikidataId": null,
"citizenship": null,
"nationality": null
},
"match_score": 98,
"risk_score": 73,
"review_status": "Unreviewed",
"score_breakdown": {
"name_score": 95,
"name_weight": 60,
"name_weight_normalized": 70.59,
"name_contribution": 67.06,
"dob_score": 100,
"dob_weight": 25,
"dob_weight_normalized": 29.41,
"dob_contribution": 29.41,
"country_score": 0,
"country_weight": 15,
"country_weight_normalized": 0,
"country_contribution": 0,
"document_number_match_type": "NEUTRAL",
"document_number_effect": "No document number provided for screening",
"total_score": 98
},
"pep_matches": [
{
"aliases": [
"Javier Ejemplo Modelo",
"David Azagra"
],
"education": [
"Tokyo Arts and Space (2012-2012)",
"Saint Petersburg Conservatory (-2010)",
"Comillas Pontifical University"
],
"list_name": "Wikidata",
"publisher": "Wikidata",
"source_url": "https://news.example.org/articles/sample",
"description": "Wikidata is the structured data project of the Wikipedia community, providing fact-based information edited by humans and machines",
"matched_name": "Javier Ejemplo Modelo",
"pep_position": "",
"date_of_birth": "1974",
"other_sources": [],
"place_of_birth": "Madrid"
}
],
"linked_entities": [
{
"name": [
"Antonio Ejemplo"
],
"active": [],
"status": [],
"details": [],
"relation": []
}
],
"warning_matches": [],
"sanction_matches": [],
"adverse_media_details": {
"sentiment": "Moderately Negative",
"entity_type": "person",
"sentiment_score": -2,
"adverse_keywords": {
"fraud": 3,
"juicio": 1,
"delitos": 2,
"imputado": 1,
"impunidad": 1,
"corruption": 2,
"favoritism": 2,
"privilegio": 1,
"corrupción": 1,
"persecution": 2,
"desconfianza": 1,
"desprestigio": 1,
"fraude de ley": 2,
"manipulación": 1,
"investigación": 3,
"prevaricación": 8,
"trato de favor": 1,
"irregularidades": 2,
"crisis de confianza": 1,
"tráfico de influencias": 8
}
},
"adverse_media_matches": [
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in legal violations related to favoritism and influence trafficking, leading to a negative portrayal in the article.",
"headline": "La Diputación de Villaejemplo consolida la plaza a medida para el ex asesor de Moncloa amigo del \"hermanito\" de Ejemplo",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"prevaricación",
"tráfico de influencias",
"irregularidades",
"imputado"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T20:46:38"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in legal issues regarding favoritism and corruption, leading to a negative portrayal in the article.",
"headline": "La Diputación de Villaejemplo consolida la plaza a medida para el ex asesor de Moncloa amigo del \"hermanito\" de Ejemplo",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"prevaricación",
"tráfico de influencias",
"irregularidades",
"trato de favor"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T20:46:38"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is mentioned in connection with Carlos Ficticio's corruption case, indicating his involvement in alleged influence peddling.",
"headline": "España, paraíso del aforado",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"corrupción",
"impunidad",
"privilegio",
"desconfianza",
"manipulación",
"fraude de ley"
],
"sentiment_score": -2,
"publication_date": "2025-06-10T05:05:34"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, which raises questions about his conduct and political ethics.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación",
"juicio",
"fraude de ley",
"desprestigio",
"crisis de confianza",
"delitos"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:01:00"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a legal investigation regarding irregularities in his hiring, which raises serious concerns about his conduct.",
"headline": "La jueza del 'caso Javier Ejemplo' denuncia un «fraude de ley» en el aforamiento de Ficticio (Partido Ejemplo)",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"fraud",
"irregularities",
"prevaricación",
"tráfico de influencias"
],
"sentiment_score": -2,
"publication_date": "2025-06-09T10:19:10"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is mentioned in connection with legal allegations of corruption, contributing to a negative perception.",
"headline": "'Caso aforamiento': la letrada mayor de la Asamblea certifica a la juez que Ficticio es diputado desde antes de prometer su cargo en el Pleno",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias"
],
"sentiment_score": -2,
"publication_date": "2025-06-09T08:08:30"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, raising concerns about political corruption and influence.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:01:00"
},
{
"country": "spain",
"summary": "Javier Ejemplo Modelo is implicated in the same investigation as Ficticio, which raises concerns about political misconduct.",
"headline": "Aforamientos: esa figura incómoda",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"prevaricación",
"tráfico de influencias",
"investigación",
"delitos"
],
"sentiment_score": -2,
"publication_date": "2025-06-08T06:00:59"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a case of favoritism and corruption, which casts a negative light on his character and actions.",
"headline": "'Caso Javier Ejemplo': las asociaciones judiciales salen en defensa de la juez Luisa Inventada ante las \"presiones externas\" que sufre",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"favoritism",
"corruption",
"persecution"
],
"sentiment_score": -2,
"publication_date": "2025-06-06T10:08:15"
},
{
"country": "spain",
"summary": "Javier Ejemplo is implicated in a case of alleged favoritism and corruption, which casts a negative light on his character and actions.",
"headline": "'Caso Javier Ejemplo': las asociaciones judiciales salen en defensa de la juez Luisa Inventada ante las \"presiones externas\" que sufre",
"sentiment": "moderately negative",
"thumbnail": "https://news.example.org/articles/sample",
"source_url": "https://news.example.org/articles/sample",
"author_name": null,
"other_sources": [],
"adverse_keywords": [
"favoritism",
"corruption",
"persecution"
],
"sentiment_score": -2,
"publication_date": "2025-06-06T08:08:15"
}
],
"additional_information": {}
}
],
"score": 80,
"screened_data": {
"full_name": "Javier Ejemplo Modelo",
"nationality": "ES",
"date_of_birth": "1974-01-01",
"document_number": null
},
"is_ongoing_monitoring_enabled": true,
"next_ongoing_monitoring_bill_date": "2026-07-24",
"last_ongoing_screening_at": "2026-09-12T04:03:11Z",
"last_ongoing_screening_datasets_updated_at": "2026-09-11T06:00:00Z",
"warnings": [
{
"feature": "AML",
"risk": "POSSIBLE_MATCH_FOUND",
"additional_data": null,
"log_type": "warning",
"short_description": "Possible match found in AML screening",
"long_description": "The Anti-Money Laundering (AML) screening process identified potential matches with watchlists or high-risk databases, requiring further review.",
"node_id": "feature_aml_1"
}
]
}
],
"ip_analyses": [
{
"node_id": "feature_ip_1",
"status": "Approved",
"device_brand": "Apple",
"device_model": "iPhone",
"browser_family": "Mobile Safari",
"os_family": "iOS",
"platform": "mobile",
"device_fingerprint": "didit-fp-a1b2c3d4e5f6g7h8",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Barcelona",
"ip_city": "Barcelona",
"latitude": 41.4022,
"longitude": 2.1407,
"ip_address": "83.50.226.71",
"isp": null,
"organization": null,
"is_vpn_or_tor": false,
"is_data_center": false,
"time_zone": "Europe/Madrid",
"time_zone_offset": "+0100",
"ip": {
"location": {
"latitude": 40.2206327,
"longitude": 1.5770097
},
"distance_from_id_document": 23.4,
"distance_from_poa_document": 12.3
},
"id_document": {
"location": {
"latitude": 41.2706327,
"longitude": 1.9770097
},
"distance_from_ip": 23.4,
"distance_from_poa_document": 18.7
},
"poa_document": {
"location": {
"latitude": 41.2706327,
"longitude": 1.9770097
},
"distance_from_ip": 12.3,
"distance_from_id_document": 18.7
},
"warnings": [],
"matches": [
{
"session_id": "99999999-8888-7777-6666-555555555555",
"session_number": 41205,
"vendor_data": "22222222-2222-2222-2222-222222222222",
"verification_date": "2024-07-20T10:15:30Z",
"match_type": "ip_address",
"match_source": "ip_address",
"matched_value": "83.50.226.71",
"status": "Approved",
"is_blocklisted": false,
"api_service": null,
"source": "session",
"device_info": {
"device_brand": "Apple",
"device_model": "iPhone",
"browser_family": "Mobile Safari",
"os_family": "iOS",
"platform": "mobile",
"device_fingerprint": "didit-fp-f9e8d7c6b5a40312"
},
"location_info": {
"ip_address": "83.50.226.71",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Barcelona",
"ip_city": "Barcelona",
"is_vpn_or_tor": false,
"is_data_center": false
},
"confidence": 0,
"match_mode": "co_occurrence"
},
{
"session_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"session_number": 42830,
"vendor_data": "33333333-3333-3333-3333-333333333333",
"verification_date": "2024-06-30T18:22:05Z",
"match_type": "device_fingerprint",
"match_source": "recovered_high",
"matched_value": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "Declined",
"is_blocklisted": false,
"api_service": null,
"source": "session",
"device_info": {
"device_brand": "Samsung",
"device_model": "SM-G991B",
"browser_family": "Chrome Mobile",
"os_family": "Android",
"platform": "mobile",
"device_fingerprint": null
},
"location_info": {
"ip_address": "83.50.231.18",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Madrid",
"ip_city": "Madrid",
"is_vpn_or_tor": false,
"is_data_center": false
},
"confidence": 1,
"match_mode": "deterministic",
"recovery_similarity": 0.9874,
"tls_ja4_corroborated": true,
"recovery_gate_reason": "hardware_root_match"
}
]
}
],
"database_validations": [
{
"node_id": "feature_db_validation_1",
"issuing_state": "BRA",
"validation_type": "one_by_one",
"screened_data": {
"last_name": "De Lima",
"first_name": "Fernando",
"tax_number": "01234567890",
"date_of_birth": "1980-01-01",
"document_type": "ID",
"expiration_date": "2030-01-01"
},
"validations": [
{
"service_id": "bra_cpf",
"service_name": "Brazil - CPF status check",
"outcome_code": "MATCH",
"validation": {
"full_name": "full_match",
"date_of_birth": "full_match",
"identification_number": "full_match"
},
"source_data": {
"identification_number": "01234567890",
"first_name": "FERNANDO",
"last_name": "DE LIMA",
"date_of_birth": "1980-01-01",
"gender": "M",
"nationality": "BRA"
}
}
],
"match_type": "full_match",
"status": "Approved",
"warnings": []
}
],
"reviews": [
{
"user": "compliance@example.com",
"new_status": "Declined",
"comment": "Possible match found in AML screening",
"created_at": "2024-07-18T13:29:00.366811Z"
}
],
"created_at": "2024-07-24T08:54:25.443172Z",
"expires_at": "2025-07-24T08:54:25.443172Z",
"biometric_consent": {
"required": false,
"trigger": null,
"status": "not_required",
"given_at": null,
"declined_at": null,
"text_version": null,
"text_hash": null,
"locale": null,
"policy_url": null,
"step": null,
"node_id": null,
"ip_address": null,
"ip_country_code": null,
"ip_state": null,
"ip_city": null,
"user_agent": null,
"detected_ip_address": "83.50.226.71",
"detected_country_code": "ES",
"detected_state": "ES-B",
"detected_city": "Barcelona",
"declared_state": null,
"document_state": null,
"jurisdictions": [],
"retention_months": null,
"reason": null,
"decline_reason": null,
"face_data_deleted_at": null
}
}
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
AML 筛查报告数组:始终为 JSON 数组,绝不为单个 aml 对象。在至少有一个 AML 步骤生成数据之前为 null。每个条目均为完整报告,包含 node_id、功能级 status、total_hits、entity_type、hits[]、score、screened_data、is_ongoing_monitoring_enabled 以及 warnings[]。