decision_approved_cin.json 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. {
  2. "session_id": "00000000-0000-4000-8000-000000000001",
  3. "session_kind": "user",
  4. "shared_from_session": null,
  5. "session_number": 2,
  6. "session_url": "https://example.test/session",
  7. "status": "Approved",
  8. "status_override": null,
  9. "workflow_id": "a3a29685-6e02-47e4-bebe-6bcb2b5dc009",
  10. "features": [
  11. "ID_VERIFICATION",
  12. "LIVENESS",
  13. "FACE_MATCH",
  14. "IP_ANALYSIS"
  15. ],
  16. "vendor_data": "1",
  17. "metadata": null,
  18. "callback": null,
  19. "id_verifications": [
  20. {
  21. "status": "Approved",
  22. "document_type": "Identity Card",
  23. "document_subtype": "ID_CARD_GENERIC",
  24. "document_number": "11122233396",
  25. "personal_number": "11122233396",
  26. "portrait_image": "https://example.test/didit/portrait_image.jpg",
  27. "front_image": "https://example.test/didit/front_image.jpg",
  28. "front_video": null,
  29. "back_image": "https://example.test/didit/back_image.jpg",
  30. "back_video": null,
  31. "full_front_image": "https://example.test/didit/front_image.jpg",
  32. "full_back_image": "https://example.test/didit/back_image.jpg",
  33. "front_image_camera_front": null,
  34. "back_image_camera_front": null,
  35. "front_image_camera_front_face_match_score": null,
  36. "back_image_camera_front_face_match_score": null,
  37. "front_image_quality_score": {
  38. "focus_score": 100.0,
  39. "model_quality": {
  40. "time_ms": 387.1,
  41. "yolo_prob": 0.9974,
  42. "convnext_prob": 1.0,
  43. "ensemble_prob": 0.9988,
  44. "document_occlusion": {
  45. "detected": false,
  46. "covered_fields": []
  47. }
  48. },
  49. "overall_score": 90.6,
  50. "brightness_issue": "ok",
  51. "brightness_score": 97.3,
  52. "resolution_score": 65.6,
  53. "is_document_fully_visible": true
  54. },
  55. "back_image_quality_score": {
  56. "focus_score": 100.0,
  57. "model_quality": {
  58. "time_ms": 366.3,
  59. "yolo_prob": 0.9748,
  60. "convnext_prob": 0.9999,
  61. "ensemble_prob": 0.9886,
  62. "document_occlusion": {
  63. "detected": false,
  64. "covered_fields": []
  65. }
  66. },
  67. "overall_score": 85.0,
  68. "brightness_issue": "ok",
  69. "brightness_score": 78.6,
  70. "resolution_score": 65.6,
  71. "is_document_fully_visible": true
  72. },
  73. "date_of_birth": "1990-01-15",
  74. "age": 26,
  75. "expiration_date": "2035-03-12",
  76. "date_of_issue": "2025-03-12",
  77. "issuing_state": "BRA",
  78. "issuing_state_name": "Brazil",
  79. "region": null,
  80. "first_name": "Maria",
  81. "last_name": "Aparecida Souza",
  82. "full_name": "Maria Aparecida Souza",
  83. "gender": "M",
  84. "address": null,
  85. "formatted_address": null,
  86. "place_of_birth": "Cidade Exemplo/PR",
  87. "marital_status": "UNKNOWN",
  88. "nationality": "BRA",
  89. "extra_fields": {
  90. "tax_number": "11122233396",
  91. "first_surname": "Aparecida",
  92. "second_surname": "Souza",
  93. "reference_number": "C00000000000"
  94. },
  95. "mrz": null,
  96. "extracted_data": null,
  97. "barcodes": [
  98. {
  99. "data": "06792664209854",
  100. "side": "back",
  101. "type": "DATA_BAR",
  102. "data_raw": "",
  103. "position": [
  104. [
  105. 522,
  106. 563
  107. ],
  108. [
  109. 905,
  110. 194
  111. ],
  112. [
  113. 905,
  114. 254
  115. ],
  116. [
  117. 522,
  118. 671
  119. ]
  120. ]
  121. }
  122. ],
  123. "parsed_address": null,
  124. "extra_files": [],
  125. "warnings": [
  126. {
  127. "feature": "ID_VERIFICATION",
  128. "risk": "QR_NOT_DETECTED",
  129. "additional_data": null,
  130. "log_type": "information",
  131. "short_description": "QR not detected",
  132. "long_description": "The system couldn't find or read the QR code on the document. This could be due to poor image quality or an unsupported document type.",
  133. "node_id": "feature_ocr"
  134. }
  135. ],
  136. "node_id": "feature_ocr",
  137. "matches": [],
  138. "verification_method": "document",
  139. "assurance": "documentary",
  140. "wallet_provider": null,
  141. "fallback_from": null,
  142. "id_lookup": null,
  143. "wallet_verification": null
  144. }
  145. ],
  146. "nfc_verifications": null,
  147. "nfc_skip_reason": null,
  148. "liveness_checks": [
  149. {
  150. "status": "Approved",
  151. "method": "PASSIVE",
  152. "score": 100.0,
  153. "reference_image": "https://example.test/didit/reference_image.jpg",
  154. "video_url": "https://example.test/didit/video_url.jpg",
  155. "age_estimation": 29.61,
  156. "matches": [],
  157. "warnings": [],
  158. "face_quality": 100.0,
  159. "face_luminance": 45.83,
  160. "node_id": "feature_liveness"
  161. }
  162. ],
  163. "face_matches": [
  164. {
  165. "status": "Approved",
  166. "score": 97.83,
  167. "source_image_session_id": null,
  168. "source_image": "https://example.test/didit/source_image.jpg",
  169. "target_image": "https://example.test/didit/target_image.jpg",
  170. "warnings": [],
  171. "node_id": "feature_face_match",
  172. "face_coverage": {
  173. "eyes": {
  174. "covered": null,
  175. "calibrated": false,
  176. "visibility_score": 100.0
  177. },
  178. "mouth": {
  179. "covered": null,
  180. "calibrated": false,
  181. "visibility_score": 100.0
  182. },
  183. "face": {
  184. "covered": null,
  185. "calibrated": false,
  186. "visibility_score": 100.0
  187. }
  188. }
  189. }
  190. ],
  191. "poa_verifications": null,
  192. "phone_verifications": null,
  193. "email_verifications": null,
  194. "aml_screenings": null,
  195. "ip_analyses": [
  196. {
  197. "status": "Approved",
  198. "node_id": "feature_ip_analysis",
  199. "device_brand": "Generic_Android",
  200. "device_model": "K",
  201. "browser_family": "Chrome Mobile",
  202. "browser_version": "152.0.0",
  203. "os_family": "Android",
  204. "os_version": "10",
  205. "platform": "Linux armv81",
  206. "device_fingerprint": "fingerprint-ficticio",
  207. "user_agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36",
  208. "accept_language": "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7",
  209. "session_identifier": null,
  210. "session_age_ms": null,
  211. "coords_accuracy": null,
  212. "raw_device_data": {
  213. "screen": {
  214. "width": 444,
  215. "height": 985,
  216. "availWidth": 444,
  217. "colorDepth": 24,
  218. "pixelDepth": 24,
  219. "availHeight": 985
  220. },
  221. "uaData": {
  222. "model": "moto g56 5G",
  223. "brands": [
  224. {
  225. "brand": "Chromium",
  226. "version": "152"
  227. },
  228. {
  229. "brand": "Not?A_Brand",
  230. "version": "24"
  231. },
  232. {
  233. "brand": "Google Chrome",
  234. "version": "152"
  235. }
  236. ],
  237. "mobile": true,
  238. "platform": "Android",
  239. "architecture": "",
  240. "uaFullVersion": "152.0.7977.76",
  241. "platformVersion": "16.0.0"
  242. },
  243. "battery": {
  244. "level": 1,
  245. "charging": false,
  246. "chargingTime": null,
  247. "dischargingTime": null
  248. },
  249. "language": "pt-BR",
  250. "platform": "Linux armv81",
  251. "integrity": {
  252. "capture": {
  253. "externalDevice": null,
  254. "matchedPatterns": [],
  255. "videoInputCount": 1,
  256. "virtualCameraSuspected": null
  257. },
  258. "platform": "web",
  259. "security": {},
  260. "environment": {
  261. "automationDetected": false,
  262. "screenCaptureActive": null
  263. },
  264. "collected_at": "2026-09-08T18:05:52.589Z",
  265. "schema_version": 1
  266. },
  267. "languages": [
  268. "pt-BR",
  269. "pt",
  270. "en-US",
  271. "en"
  272. ],
  273. "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36",
  274. "deviceMemory": 8,
  275. "touchSupport": true,
  276. "maxTouchPoints": 5,
  277. "devicePixelRatio": 2.4375,
  278. "hardwareConcurrency": 8
  279. },
  280. "ip_country": "Brazil",
  281. "ip_country_code": "BR",
  282. "ip_state": "Parana",
  283. "ip_city": "Marechal Cândido Rondon",
  284. "latitude": 0,
  285. "longitude": 0,
  286. "ip_address": "203.0.113.10",
  287. "isp": "Opcao Telecom",
  288. "organization": "Opcao Telecom",
  289. "is_vpn_or_tor": false,
  290. "is_data_center": false,
  291. "time_zone": "America/Sao_Paulo",
  292. "time_zone_offset": "-0300",
  293. "ip": {
  294. "location": {
  295. "latitude": 0,
  296. "longitude": 0
  297. },
  298. "distance_from_id_document": null,
  299. "distance_from_poa_document": null
  300. },
  301. "id_document": {
  302. "location": null,
  303. "distance_from_ip": null,
  304. "distance_from_poa_document": null
  305. },
  306. "poa_document": {
  307. "location": null,
  308. "distance_from_ip": null,
  309. "distance_from_id_document": null
  310. },
  311. "warnings": [],
  312. "matches": []
  313. }
  314. ],
  315. "database_validations": null,
  316. "database_validation_not_performed_reason": {
  317. "code": "feature_not_unlocked",
  318. "issuing_state": "BRA",
  319. "configured_services": [
  320. "Brazil - CNH QR code + face match (Datavalid)",
  321. "Brazil - CPF status check",
  322. "Brazil - CPF + face match (Datavalid)",
  323. "Brazil Residential",
  324. "Brazil Tax Registration (CPF/CNPJ)",
  325. "BRA - Unico IDCloud (CPF + selfie)"
  326. ],
  327. "message": "Database validation did not run: it is locked until the organization's first paid top-up. No database was queried and nothing was billed for it."
  328. },
  329. "questionnaire_responses": null,
  330. "document_ai_documents": null,
  331. "reviews": [],
  332. "contact_details": null,
  333. "expected_details": null,
  334. "environment": "live",
  335. "sandbox_scenario": null,
  336. "created_at": "2026-09-08T18:04:39.640768Z",
  337. "expires_at": "2026-09-15T18:04:39.633322Z"
  338. }