onfido-python 2.10.1__py3-none-any.whl → 3.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. onfido/__init__.py +311 -2
  2. onfido/api/__init__.py +5 -0
  3. onfido/api/default_api.py +17207 -0
  4. onfido/api_client.py +770 -0
  5. onfido/api_response.py +21 -0
  6. onfido/configuration.py +460 -0
  7. onfido/exceptions.py +184 -77
  8. onfido/models/__init__.py +291 -0
  9. onfido/models/address.py +169 -0
  10. onfido/models/address_builder.py +169 -0
  11. onfido/models/address_shared.py +169 -0
  12. onfido/models/addresses_list.py +108 -0
  13. onfido/models/applicant.py +162 -0
  14. onfido/models/applicant_builder.py +152 -0
  15. onfido/models/applicant_create.py +117 -0
  16. onfido/models/applicant_request.py +116 -0
  17. onfido/models/applicant_response.py +146 -0
  18. onfido/models/applicant_shared.py +115 -0
  19. onfido/models/applicant_update.py +123 -0
  20. onfido/models/applicant_updater.py +158 -0
  21. onfido/models/applicants_list.py +108 -0
  22. onfido/models/check.py +147 -0
  23. onfido/models/check_builder.py +127 -0
  24. onfido/models/check_request.py +119 -0
  25. onfido/models/check_response.py +137 -0
  26. onfido/models/check_shared.py +108 -0
  27. onfido/models/checks_list.py +108 -0
  28. onfido/models/complete_task_builder.py +104 -0
  29. onfido/models/complete_task_data_builder.py +143 -0
  30. onfido/models/consent_item.py +109 -0
  31. onfido/models/consents_builder.py +98 -0
  32. onfido/models/country_codes.py +285 -0
  33. onfido/models/device_intelligence_breakdown.py +110 -0
  34. onfido/models/device_intelligence_breakdown_breakdown.py +104 -0
  35. onfido/models/device_intelligence_breakdown_breakdown_device.py +104 -0
  36. onfido/models/device_intelligence_breakdown_breakdown_device_breakdown.py +114 -0
  37. onfido/models/device_intelligence_breakdown_properties.py +116 -0
  38. onfido/models/device_intelligence_breakdown_properties_device.py +189 -0
  39. onfido/models/device_intelligence_breakdown_properties_geolocation.py +105 -0
  40. onfido/models/device_intelligence_breakdown_properties_ip.py +106 -0
  41. onfido/models/device_intelligence_report.py +135 -0
  42. onfido/models/document.py +142 -0
  43. onfido/models/document_breakdown.py +152 -0
  44. onfido/models/document_breakdown_age_validation.py +106 -0
  45. onfido/models/document_breakdown_age_validation_breakdown.py +104 -0
  46. onfido/models/document_breakdown_compromised_document.py +106 -0
  47. onfido/models/document_breakdown_compromised_document_breakdown.py +109 -0
  48. onfido/models/document_breakdown_data_comparison.py +106 -0
  49. onfido/models/document_breakdown_data_comparison_breakdown.py +139 -0
  50. onfido/models/document_breakdown_data_comparison_breakdown_issuing_country.py +102 -0
  51. onfido/models/document_breakdown_data_consistency.py +106 -0
  52. onfido/models/document_breakdown_data_consistency_breakdown.py +149 -0
  53. onfido/models/document_breakdown_data_validation.py +106 -0
  54. onfido/models/document_breakdown_data_validation_breakdown.py +136 -0
  55. onfido/models/document_breakdown_data_validation_breakdown_document_expiration.py +102 -0
  56. onfido/models/document_breakdown_data_validation_breakdown_expiry_date.py +102 -0
  57. onfido/models/document_breakdown_image_integrity.py +106 -0
  58. onfido/models/document_breakdown_image_integrity_breakdown.py +122 -0
  59. onfido/models/document_breakdown_image_integrity_breakdown_colour_picture.py +102 -0
  60. onfido/models/document_breakdown_image_integrity_breakdown_conclusive_document_quality.py +106 -0
  61. onfido/models/document_breakdown_image_integrity_breakdown_image_quality.py +106 -0
  62. onfido/models/document_breakdown_image_integrity_breakdown_supported_document.py +102 -0
  63. onfido/models/document_breakdown_issuing_authority.py +106 -0
  64. onfido/models/document_breakdown_issuing_authority_breakdown.py +110 -0
  65. onfido/models/document_breakdown_issuing_authority_breakdown_nfc_active_authentication.py +102 -0
  66. onfido/models/document_breakdown_issuing_authority_breakdown_nfc_passive_authentication.py +102 -0
  67. onfido/models/document_breakdown_police_record.py +100 -0
  68. onfido/models/document_breakdown_visual_authenticity.py +106 -0
  69. onfido/models/document_breakdown_visual_authenticity_breakdown.py +146 -0
  70. onfido/models/document_breakdown_visual_authenticity_breakdown_digital_tampering.py +102 -0
  71. onfido/models/document_breakdown_visual_authenticity_breakdown_face_detection.py +102 -0
  72. onfido/models/document_breakdown_visual_authenticity_breakdown_fonts.py +102 -0
  73. onfido/models/document_breakdown_visual_authenticity_breakdown_original_document_present.py +106 -0
  74. onfido/models/document_breakdown_visual_authenticity_breakdown_other.py +102 -0
  75. onfido/models/document_breakdown_visual_authenticity_breakdown_picture_face_integrity.py +102 -0
  76. onfido/models/document_breakdown_visual_authenticity_breakdown_security_features.py +102 -0
  77. onfido/models/document_breakdown_visual_authenticity_breakdown_template.py +102 -0
  78. onfido/models/document_cdq_reasons.py +114 -0
  79. onfido/models/document_iq_reasons.py +118 -0
  80. onfido/models/document_odp_reasons.py +106 -0
  81. onfido/models/document_properties.py +253 -0
  82. onfido/models/document_properties_address_lines.py +110 -0
  83. onfido/models/document_properties_barcode_inner.py +135 -0
  84. onfido/models/document_properties_document_classification.py +104 -0
  85. onfido/models/document_properties_document_numbers_inner.py +102 -0
  86. onfido/models/document_properties_driving_licence_information.py +107 -0
  87. onfido/models/document_properties_extracted_data.py +141 -0
  88. onfido/models/document_properties_nfc.py +125 -0
  89. onfido/models/document_report.py +141 -0
  90. onfido/models/document_response.py +111 -0
  91. onfido/models/document_shared.py +129 -0
  92. onfido/models/document_types.py +60 -0
  93. onfido/models/document_video_report.py +141 -0
  94. onfido/models/document_video_with_address_information_report.py +141 -0
  95. onfido/models/document_with_address_information_report.py +141 -0
  96. onfido/models/document_with_driver_verification_report.py +141 -0
  97. onfido/models/document_with_driver_verification_report_all_of_properties.py +277 -0
  98. onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle.py +105 -0
  99. onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner.py +107 -0
  100. onfido/models/document_with_driving_licence_information_report.py +141 -0
  101. onfido/models/documents_list.py +108 -0
  102. onfido/models/error.py +104 -0
  103. onfido/models/error1.py +106 -0
  104. onfido/models/error_properties.py +104 -0
  105. onfido/models/error_properties1.py +102 -0
  106. onfido/models/extract_request.py +100 -0
  107. onfido/models/extraction.py +112 -0
  108. onfido/models/extraction_document_classification.py +120 -0
  109. onfido/models/extraction_extracted_data.py +176 -0
  110. onfido/models/facial_similarity_motion_breakdown.py +116 -0
  111. onfido/models/facial_similarity_motion_breakdown_face_comparison.py +106 -0
  112. onfido/models/facial_similarity_motion_breakdown_image_integrity.py +106 -0
  113. onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown.py +110 -0
  114. onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_face_detected.py +102 -0
  115. onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_source_integrity.py +106 -0
  116. onfido/models/facial_similarity_motion_breakdown_visual_authenticity.py +106 -0
  117. onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown.py +110 -0
  118. onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown_spoofing_detection.py +106 -0
  119. onfido/models/facial_similarity_motion_properties.py +100 -0
  120. onfido/models/facial_similarity_motion_report.py +141 -0
  121. onfido/models/facial_similarity_photo_breakdown.py +116 -0
  122. onfido/models/facial_similarity_photo_breakdown_face_comparison.py +106 -0
  123. onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown.py +104 -0
  124. onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match.py +106 -0
  125. onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match_properties.py +102 -0
  126. onfido/models/facial_similarity_photo_breakdown_image_integrity.py +106 -0
  127. onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown.py +110 -0
  128. onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_face_detected.py +102 -0
  129. onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_source_integrity.py +106 -0
  130. onfido/models/facial_similarity_photo_breakdown_visual_authenticity.py +106 -0
  131. onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown.py +104 -0
  132. onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection.py +106 -0
  133. onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection_properties.py +100 -0
  134. onfido/models/facial_similarity_photo_fully_auto_breakdown.py +116 -0
  135. onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity.py +106 -0
  136. onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown.py +110 -0
  137. onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown_source_integrity.py +106 -0
  138. onfido/models/facial_similarity_photo_fully_auto_properties.py +100 -0
  139. onfido/models/facial_similarity_photo_fully_auto_report.py +141 -0
  140. onfido/models/facial_similarity_photo_properties.py +100 -0
  141. onfido/models/facial_similarity_photo_report.py +141 -0
  142. onfido/models/facial_similarity_video_breakdown.py +116 -0
  143. onfido/models/facial_similarity_video_breakdown_face_comparison.py +106 -0
  144. onfido/models/facial_similarity_video_breakdown_image_integrity.py +106 -0
  145. onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown.py +110 -0
  146. onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_face_detected.py +102 -0
  147. onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_source_integrity.py +106 -0
  148. onfido/models/facial_similarity_video_breakdown_visual_authenticity.py +106 -0
  149. onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown.py +110 -0
  150. onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_liveness_detected.py +102 -0
  151. onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_spoofing_detection.py +106 -0
  152. onfido/models/facial_similarity_video_properties.py +100 -0
  153. onfido/models/facial_similarity_video_report.py +141 -0
  154. onfido/models/id_number.py +114 -0
  155. onfido/models/id_photo.py +113 -0
  156. onfido/models/id_photo_response.py +113 -0
  157. onfido/models/id_photos_list.py +108 -0
  158. onfido/models/identity_enhanced_breakdown.py +122 -0
  159. onfido/models/identity_enhanced_breakdown_address.py +106 -0
  160. onfido/models/identity_enhanced_breakdown_address_breakdown.py +116 -0
  161. onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies.py +106 -0
  162. onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies_properties.py +100 -0
  163. onfido/models/identity_enhanced_breakdown_address_breakdown_telephone_database.py +102 -0
  164. onfido/models/identity_enhanced_breakdown_address_breakdown_voting_register.py +102 -0
  165. onfido/models/identity_enhanced_breakdown_date_of_birth.py +106 -0
  166. onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown.py +110 -0
  167. onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_credit_agencies.py +102 -0
  168. onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_voting_register.py +102 -0
  169. onfido/models/identity_enhanced_breakdown_mortality.py +100 -0
  170. onfido/models/identity_enhanced_breakdown_sources.py +106 -0
  171. onfido/models/identity_enhanced_breakdown_sources_breakdown.py +104 -0
  172. onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources.py +106 -0
  173. onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources_properties.py +100 -0
  174. onfido/models/identity_enhanced_properties.py +110 -0
  175. onfido/models/identity_enhanced_properties_matched_addresses_inner.py +102 -0
  176. onfido/models/identity_enhanced_report.py +141 -0
  177. onfido/models/india_pan_report.py +141 -0
  178. onfido/models/india_pan_report_all_of_breakdown.py +104 -0
  179. onfido/models/india_pan_report_all_of_breakdown_device.py +104 -0
  180. onfido/models/india_pan_report_all_of_breakdown_device_breakdown.py +109 -0
  181. onfido/models/india_pan_report_all_of_breakdown_device_breakdown_pan_valid.py +100 -0
  182. onfido/models/india_pan_report_all_of_properties.py +104 -0
  183. onfido/models/india_pan_report_all_of_properties_device.py +102 -0
  184. onfido/models/known_faces_breakdown.py +110 -0
  185. onfido/models/known_faces_breakdown_image_integrity.py +100 -0
  186. onfido/models/known_faces_breakdown_previously_seen_faces.py +100 -0
  187. onfido/models/known_faces_properties.py +108 -0
  188. onfido/models/known_faces_properties_matches_inner.py +108 -0
  189. onfido/models/known_faces_report.py +141 -0
  190. onfido/models/live_photo.py +113 -0
  191. onfido/models/live_photo_response.py +113 -0
  192. onfido/models/live_photos_list.py +108 -0
  193. onfido/models/live_video.py +115 -0
  194. onfido/models/live_videos_list.py +108 -0
  195. onfido/models/location.py +103 -0
  196. onfido/models/location_builder.py +103 -0
  197. onfido/models/location_shared.py +103 -0
  198. onfido/models/motion_capture.py +113 -0
  199. onfido/models/motion_captures_list.py +108 -0
  200. onfido/models/photo_auto_reasons.py +108 -0
  201. onfido/models/photo_reasons.py +108 -0
  202. onfido/models/proof_of_address_breakdown.py +116 -0
  203. onfido/models/proof_of_address_breakdown_data_comparison.py +106 -0
  204. onfido/models/proof_of_address_breakdown_data_comparison_breakdown.py +114 -0
  205. onfido/models/proof_of_address_breakdown_document_classification.py +106 -0
  206. onfido/models/proof_of_address_breakdown_document_classification_breakdown.py +104 -0
  207. onfido/models/proof_of_address_breakdown_image_integrity.py +106 -0
  208. onfido/models/proof_of_address_breakdown_image_integrity_breakdown.py +104 -0
  209. onfido/models/proof_of_address_properties.py +125 -0
  210. onfido/models/proof_of_address_report.py +141 -0
  211. onfido/models/repeat_attempts_list.py +117 -0
  212. onfido/models/repeat_attempts_list_repeat_attempts_inner.py +143 -0
  213. onfido/models/report.py +621 -0
  214. onfido/models/report_document.py +100 -0
  215. onfido/models/report_name.py +56 -0
  216. onfido/models/report_result.py +38 -0
  217. onfido/models/report_shared.py +129 -0
  218. onfido/models/report_status.py +40 -0
  219. onfido/models/report_sub_result.py +39 -0
  220. onfido/models/reports_list.py +108 -0
  221. onfido/models/results_feedback.py +116 -0
  222. onfido/models/sdk_token.py +100 -0
  223. onfido/models/sdk_token_builder.py +106 -0
  224. onfido/models/sdk_token_request.py +106 -0
  225. onfido/models/sdk_token_response.py +100 -0
  226. onfido/models/task.py +146 -0
  227. onfido/models/task_item.py +128 -0
  228. onfido/models/timeline_file_reference.py +102 -0
  229. onfido/models/us_driving_licence_breakdown.py +116 -0
  230. onfido/models/us_driving_licence_breakdown_address.py +106 -0
  231. onfido/models/us_driving_licence_breakdown_address_breakdown.py +129 -0
  232. onfido/models/us_driving_licence_breakdown_document.py +106 -0
  233. onfido/models/us_driving_licence_breakdown_document_breakdown.py +119 -0
  234. onfido/models/us_driving_licence_breakdown_personal.py +106 -0
  235. onfido/models/us_driving_licence_breakdown_personal_breakdown.py +164 -0
  236. onfido/models/us_driving_licence_builder.py +185 -0
  237. onfido/models/us_driving_licence_report.py +141 -0
  238. onfido/models/us_driving_licence_shared.py +185 -0
  239. onfido/models/video_reasons.py +106 -0
  240. onfido/models/watchlist_aml_breakdown.py +122 -0
  241. onfido/models/watchlist_aml_breakdown_adverse_media.py +100 -0
  242. onfido/models/watchlist_aml_breakdown_legal_and_regulatory_warnings.py +100 -0
  243. onfido/models/watchlist_aml_breakdown_politically_exposed_person.py +100 -0
  244. onfido/models/watchlist_aml_breakdown_sanction.py +100 -0
  245. onfido/models/watchlist_aml_properties.py +100 -0
  246. onfido/models/watchlist_aml_report.py +141 -0
  247. onfido/models/watchlist_enhanced_breakdown.py +122 -0
  248. onfido/models/watchlist_enhanced_properties.py +100 -0
  249. onfido/models/watchlist_enhanced_report.py +141 -0
  250. onfido/models/watchlist_monitor.py +120 -0
  251. onfido/models/watchlist_monitor_builder.py +111 -0
  252. onfido/models/watchlist_monitor_match.py +102 -0
  253. onfido/models/watchlist_monitor_matches_list.py +108 -0
  254. onfido/models/watchlist_monitor_matches_updater.py +102 -0
  255. onfido/models/watchlist_monitor_response.py +107 -0
  256. onfido/models/watchlist_monitor_shared.py +111 -0
  257. onfido/models/watchlist_monitors_list.py +108 -0
  258. onfido/models/watchlist_peps_only_report.py +141 -0
  259. onfido/models/watchlist_sanctions_only_report.py +141 -0
  260. onfido/models/watchlist_standard_breakdown.py +116 -0
  261. onfido/models/watchlist_standard_properties.py +100 -0
  262. onfido/models/watchlist_standard_report.py +141 -0
  263. onfido/models/webhook.py +115 -0
  264. onfido/models/webhook_builder.py +109 -0
  265. onfido/models/webhook_create.py +100 -0
  266. onfido/models/webhook_event.py +104 -0
  267. onfido/models/webhook_event_payload.py +111 -0
  268. onfido/models/webhook_event_payload_object.py +107 -0
  269. onfido/models/webhook_event_type.py +52 -0
  270. onfido/models/webhook_resend.py +108 -0
  271. onfido/models/webhook_response.py +106 -0
  272. onfido/models/webhook_shared.py +107 -0
  273. onfido/models/webhook_update.py +100 -0
  274. onfido/models/webhook_updater.py +109 -0
  275. onfido/models/webhooks_list.py +108 -0
  276. onfido/models/webhooks_resend_item.py +103 -0
  277. onfido/models/workflow_run.py +149 -0
  278. onfido/models/workflow_run_builder.py +123 -0
  279. onfido/models/workflow_run_request.py +100 -0
  280. onfido/models/workflow_run_response.py +126 -0
  281. onfido/models/workflow_run_response_error.py +102 -0
  282. onfido/models/workflow_run_shared.py +121 -0
  283. onfido/models/workflow_run_shared_link.py +119 -0
  284. onfido/py.typed +0 -0
  285. onfido/rest.py +258 -0
  286. onfido/webhook_event_verifier.py +14 -7
  287. {onfido_python-2.10.1.dist-info → onfido_python-3.2.0.dist-info}/LICENSE +1 -1
  288. onfido_python-3.2.0.dist-info/METADATA +18 -0
  289. onfido_python-3.2.0.dist-info/RECORD +291 -0
  290. {onfido_python-2.10.1.dist-info → onfido_python-3.2.0.dist-info}/WHEEL +2 -1
  291. onfido_python-3.2.0.dist-info/top_level.txt +1 -0
  292. onfido/aio_resource.py +0 -131
  293. onfido/mimetype.py +0 -5
  294. onfido/onfido.py +0 -71
  295. onfido/onfido_download.py +0 -11
  296. onfido/regions.py +0 -11
  297. onfido/resource.py +0 -88
  298. onfido/resources/address_picker.py +0 -6
  299. onfido/resources/applicants.py +0 -23
  300. onfido/resources/checks.py +0 -19
  301. onfido/resources/documents.py +0 -16
  302. onfido/resources/extraction.py +0 -6
  303. onfido/resources/live_photos.py +0 -17
  304. onfido/resources/live_videos.py +0 -16
  305. onfido/resources/motion_captures.py +0 -16
  306. onfido/resources/reports.py +0 -16
  307. onfido/resources/sdk_tokens.py +0 -5
  308. onfido/resources/watchlist_monitors.py +0 -16
  309. onfido/resources/webhooks.py +0 -18
  310. onfido/resources/workflow_runs.py +0 -17
  311. onfido/resources_aio/address_picker.py +0 -6
  312. onfido/resources_aio/applicants.py +0 -23
  313. onfido/resources_aio/checks.py +0 -19
  314. onfido/resources_aio/documents.py +0 -16
  315. onfido/resources_aio/extraction.py +0 -6
  316. onfido/resources_aio/live_photos.py +0 -17
  317. onfido/resources_aio/live_videos.py +0 -16
  318. onfido/resources_aio/motion_captures.py +0 -16
  319. onfido/resources_aio/reports.py +0 -16
  320. onfido/resources_aio/sdk_tokens.py +0 -6
  321. onfido/resources_aio/watchlist_monitors.py +0 -16
  322. onfido/resources_aio/webhooks.py +0 -18
  323. onfido/resources_aio/workflow_runs.py +0 -17
  324. onfido/utils.py +0 -22
  325. onfido_python-2.10.1.dist-info/METADATA +0 -181
  326. onfido_python-2.10.1.dist-info/RECORD +0 -40
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class ErrorProperties1(BaseModel):
26
+ """
27
+ ErrorProperties1
28
+ """ # noqa: E501
29
+ type: Optional[StrictStr] = None
30
+ message: Optional[StrictStr] = None
31
+ additional_properties: Dict[str, Any] = {}
32
+ __properties: ClassVar[List[str]] = ["type", "message"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of ErrorProperties1 from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ * Fields in `self.additional_properties` are added to the output dict.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ "additional_properties",
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # puts key-value pairs in additional_properties in the top level
76
+ if self.additional_properties is not None:
77
+ for _key, _value in self.additional_properties.items():
78
+ _dict[_key] = _value
79
+
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of ErrorProperties1 from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "type": obj.get("type"),
93
+ "message": obj.get("message")
94
+ })
95
+ # store additional fields in additional_properties
96
+ for _key in obj.keys():
97
+ if _key not in cls.__properties:
98
+ _obj.additional_properties[_key] = obj.get(_key)
99
+
100
+ return _obj
101
+
102
+
@@ -0,0 +1,100 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class ExtractRequest(BaseModel):
26
+ """
27
+ ExtractRequest
28
+ """ # noqa: E501
29
+ document_id: StrictStr = Field(description="The unique identifier of the uploaded document to run extraction on")
30
+ additional_properties: Dict[str, Any] = {}
31
+ __properties: ClassVar[List[str]] = ["document_id"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of ExtractRequest from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ * Fields in `self.additional_properties` are added to the output dict.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ "additional_properties",
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # puts key-value pairs in additional_properties in the top level
75
+ if self.additional_properties is not None:
76
+ for _key, _value in self.additional_properties.items():
77
+ _dict[_key] = _value
78
+
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of ExtractRequest from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "document_id": obj.get("document_id")
92
+ })
93
+ # store additional fields in additional_properties
94
+ for _key in obj.keys():
95
+ if _key not in cls.__properties:
96
+ _obj.additional_properties[_key] = obj.get(_key)
97
+
98
+ return _obj
99
+
100
+
@@ -0,0 +1,112 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.extraction_document_classification import ExtractionDocumentClassification
23
+ from onfido.models.extraction_extracted_data import ExtractionExtractedData
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class Extraction(BaseModel):
28
+ """
29
+ Extraction
30
+ """ # noqa: E501
31
+ document_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the uploaded document.")
32
+ document_classification: Optional[ExtractionDocumentClassification] = None
33
+ extracted_data: Optional[ExtractionExtractedData] = None
34
+ additional_properties: Dict[str, Any] = {}
35
+ __properties: ClassVar[List[str]] = ["document_id", "document_classification", "extracted_data"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of Extraction from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ * Fields in `self.additional_properties` are added to the output dict.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ "additional_properties",
71
+ ])
72
+
73
+ _dict = self.model_dump(
74
+ by_alias=True,
75
+ exclude=excluded_fields,
76
+ exclude_none=True,
77
+ )
78
+ # override the default output from pydantic by calling `to_dict()` of document_classification
79
+ if self.document_classification:
80
+ _dict['document_classification'] = self.document_classification.to_dict()
81
+ # override the default output from pydantic by calling `to_dict()` of extracted_data
82
+ if self.extracted_data:
83
+ _dict['extracted_data'] = self.extracted_data.to_dict()
84
+ # puts key-value pairs in additional_properties in the top level
85
+ if self.additional_properties is not None:
86
+ for _key, _value in self.additional_properties.items():
87
+ _dict[_key] = _value
88
+
89
+ return _dict
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
+ """Create an instance of Extraction from a dict"""
94
+ if obj is None:
95
+ return None
96
+
97
+ if not isinstance(obj, dict):
98
+ return cls.model_validate(obj)
99
+
100
+ _obj = cls.model_validate({
101
+ "document_id": obj.get("document_id"),
102
+ "document_classification": ExtractionDocumentClassification.from_dict(obj["document_classification"]) if obj.get("document_classification") is not None else None,
103
+ "extracted_data": ExtractionExtractedData.from_dict(obj["extracted_data"]) if obj.get("extracted_data") is not None else None
104
+ })
105
+ # store additional fields in additional_properties
106
+ for _key in obj.keys():
107
+ if _key not in cls.__properties:
108
+ _obj.additional_properties[_key] = obj.get(_key)
109
+
110
+ return _obj
111
+
112
+
@@ -0,0 +1,120 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.country_codes import CountryCodes
23
+ from onfido.models.document_types import DocumentTypes
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class ExtractionDocumentClassification(BaseModel):
28
+ """
29
+ ExtractionDocumentClassification
30
+ """ # noqa: E501
31
+ issuing_country: Optional[CountryCodes] = Field(default=None, description="Document country in 3-letter ISO code.")
32
+ document_type: Optional[DocumentTypes] = Field(default=None, description="Type of document.")
33
+ issuing_state: Optional[StrictStr] = Field(default=None, description="The state that issued the document (if available).")
34
+ subtype: Optional[StrictStr] = Field(default=None, description="The document subtype (if available).")
35
+ version: Optional[StrictStr] = Field(default=None, description="The document issuing version (if available).")
36
+ additional_properties: Dict[str, Any] = {}
37
+ __properties: ClassVar[List[str]] = ["issuing_country", "document_type", "issuing_state", "subtype", "version"]
38
+
39
+ @field_validator('subtype')
40
+ def subtype_validate_enum(cls, value):
41
+ """Validates the enum"""
42
+ if value is None:
43
+ return value
44
+
45
+ if value not in set(['full', 'not_full', 'provisional']):
46
+ raise ValueError("must be one of enum values ('full', 'not_full', 'provisional')")
47
+ return value
48
+
49
+ model_config = ConfigDict(
50
+ populate_by_name=True,
51
+ validate_assignment=True,
52
+ protected_namespaces=(),
53
+ )
54
+
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.model_dump(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> Optional[Self]:
67
+ """Create an instance of ExtractionDocumentClassification from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self) -> Dict[str, Any]:
71
+ """Return the dictionary representation of the model using alias.
72
+
73
+ This has the following differences from calling pydantic's
74
+ `self.model_dump(by_alias=True)`:
75
+
76
+ * `None` is only added to the output dict for nullable fields that
77
+ were set at model initialization. Other fields with value `None`
78
+ are ignored.
79
+ * Fields in `self.additional_properties` are added to the output dict.
80
+ """
81
+ excluded_fields: Set[str] = set([
82
+ "additional_properties",
83
+ ])
84
+
85
+ _dict = self.model_dump(
86
+ by_alias=True,
87
+ exclude=excluded_fields,
88
+ exclude_none=True,
89
+ )
90
+ # puts key-value pairs in additional_properties in the top level
91
+ if self.additional_properties is not None:
92
+ for _key, _value in self.additional_properties.items():
93
+ _dict[_key] = _value
94
+
95
+ return _dict
96
+
97
+ @classmethod
98
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99
+ """Create an instance of ExtractionDocumentClassification from a dict"""
100
+ if obj is None:
101
+ return None
102
+
103
+ if not isinstance(obj, dict):
104
+ return cls.model_validate(obj)
105
+
106
+ _obj = cls.model_validate({
107
+ "issuing_country": obj.get("issuing_country"),
108
+ "document_type": obj.get("document_type"),
109
+ "issuing_state": obj.get("issuing_state"),
110
+ "subtype": obj.get("subtype"),
111
+ "version": obj.get("version")
112
+ })
113
+ # store additional fields in additional_properties
114
+ for _key in obj.keys():
115
+ if _key not in cls.__properties:
116
+ _obj.additional_properties[_key] = obj.get(_key)
117
+
118
+ return _obj
119
+
120
+
@@ -0,0 +1,176 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import date
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from onfido.models.country_codes import CountryCodes
25
+ from onfido.models.document_types import DocumentTypes
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class ExtractionExtractedData(BaseModel):
30
+ """
31
+ ExtractionExtractedData
32
+ """ # noqa: E501
33
+ document_number: Optional[StrictStr] = Field(default=None, description="The official document number.")
34
+ first_name: Optional[StrictStr] = Field(default=None, description="First name.")
35
+ last_name: Optional[StrictStr] = Field(default=None, description="Last name.")
36
+ full_name: Optional[StrictStr] = Field(default=None, description="Full name.")
37
+ spouse_name: Optional[StrictStr] = Field(default=None, description="Spouse name (French documents only).")
38
+ widow_name: Optional[StrictStr] = Field(default=None, description="Widow name (French documents only).")
39
+ alias_name: Optional[StrictStr] = Field(default=None, description="Alias name (French documents only).")
40
+ gender: Optional[StrictStr] = Field(default=None, description="Gender (Valid values are Male and Female).")
41
+ date_of_birth: Optional[date] = Field(default=None, description="Date of birth in YYYY-MM-DD format.")
42
+ date_of_expiry: Optional[date] = Field(default=None, description="Date of expiry in YYYY-MM-DD format.")
43
+ expiry_date: Optional[date] = Field(default=None, description="Date of expiry in YYYY-MM-DD format.")
44
+ nationality: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Nationality in 3-letter ISO code.")
45
+ mrz_line_1: Optional[StrictStr] = Field(default=None, description="Line 1 of the MRZ code.")
46
+ mrz_line_2: Optional[StrictStr] = Field(default=None, description="Line 2 of the MRZ code.")
47
+ mrz_line_3: Optional[StrictStr] = Field(default=None, description="Line 3 of the MRZ code.")
48
+ address_1: Optional[StrictStr] = Field(default=None, description="Line 1 of the address.")
49
+ address_2: Optional[StrictStr] = Field(default=None, description="Line 2 of the address.")
50
+ address_3: Optional[StrictStr] = Field(default=None, description="Line 3 of the address.")
51
+ address_4: Optional[StrictStr] = Field(default=None, description="Line 4 of the address.")
52
+ address_5: Optional[StrictStr] = Field(default=None, description="Line 5 of the address.")
53
+ issuing_authority: Optional[StrictStr] = Field(default=None, description="Issuing authority.")
54
+ issuing_country: Optional[CountryCodes] = Field(default=None, description="Document country in 3-letter ISO code.")
55
+ document_type: Optional[DocumentTypes] = Field(default=None, description="Type of document.")
56
+ place_of_birth: Optional[StrictStr] = Field(default=None, description="Place of birth.")
57
+ issuing_state: Optional[StrictStr] = Field(default=None, description="The state that issued the document.")
58
+ issuing_date: Optional[date] = Field(default=None, description="Issuing date in YYYY-MM-DD format.")
59
+ personal_number: Optional[StrictStr] = Field(default=None, description="The owner's unique identification number.")
60
+ additional_properties: Dict[str, Any] = {}
61
+ __properties: ClassVar[List[str]] = ["document_number", "first_name", "last_name", "full_name", "spouse_name", "widow_name", "alias_name", "gender", "date_of_birth", "date_of_expiry", "expiry_date", "nationality", "mrz_line_1", "mrz_line_2", "mrz_line_3", "address_1", "address_2", "address_3", "address_4", "address_5", "issuing_authority", "issuing_country", "document_type", "place_of_birth", "issuing_state", "issuing_date", "personal_number"]
62
+
63
+ @field_validator('gender')
64
+ def gender_validate_enum(cls, value):
65
+ """Validates the enum"""
66
+ if value is None:
67
+ return value
68
+
69
+ if value not in set(['Male', 'Female']):
70
+ raise ValueError("must be one of enum values ('Male', 'Female')")
71
+ return value
72
+
73
+ @field_validator('nationality')
74
+ def nationality_validate_regular_expression(cls, value):
75
+ """Validates the regular expression"""
76
+ if value is None:
77
+ return value
78
+
79
+ if not re.match(r"^[A-Z]{3}$", value):
80
+ raise ValueError(r"must validate the regular expression /^[A-Z]{3}$/")
81
+ return value
82
+
83
+ model_config = ConfigDict(
84
+ populate_by_name=True,
85
+ validate_assignment=True,
86
+ protected_namespaces=(),
87
+ )
88
+
89
+
90
+ def to_str(self) -> str:
91
+ """Returns the string representation of the model using alias"""
92
+ return pprint.pformat(self.model_dump(by_alias=True))
93
+
94
+ def to_json(self) -> str:
95
+ """Returns the JSON representation of the model using alias"""
96
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
97
+ return json.dumps(self.to_dict())
98
+
99
+ @classmethod
100
+ def from_json(cls, json_str: str) -> Optional[Self]:
101
+ """Create an instance of ExtractionExtractedData from a JSON string"""
102
+ return cls.from_dict(json.loads(json_str))
103
+
104
+ def to_dict(self) -> Dict[str, Any]:
105
+ """Return the dictionary representation of the model using alias.
106
+
107
+ This has the following differences from calling pydantic's
108
+ `self.model_dump(by_alias=True)`:
109
+
110
+ * `None` is only added to the output dict for nullable fields that
111
+ were set at model initialization. Other fields with value `None`
112
+ are ignored.
113
+ * Fields in `self.additional_properties` are added to the output dict.
114
+ """
115
+ excluded_fields: Set[str] = set([
116
+ "additional_properties",
117
+ ])
118
+
119
+ _dict = self.model_dump(
120
+ by_alias=True,
121
+ exclude=excluded_fields,
122
+ exclude_none=True,
123
+ )
124
+ # puts key-value pairs in additional_properties in the top level
125
+ if self.additional_properties is not None:
126
+ for _key, _value in self.additional_properties.items():
127
+ _dict[_key] = _value
128
+
129
+ return _dict
130
+
131
+ @classmethod
132
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
133
+ """Create an instance of ExtractionExtractedData from a dict"""
134
+ if obj is None:
135
+ return None
136
+
137
+ if not isinstance(obj, dict):
138
+ return cls.model_validate(obj)
139
+
140
+ _obj = cls.model_validate({
141
+ "document_number": obj.get("document_number"),
142
+ "first_name": obj.get("first_name"),
143
+ "last_name": obj.get("last_name"),
144
+ "full_name": obj.get("full_name"),
145
+ "spouse_name": obj.get("spouse_name"),
146
+ "widow_name": obj.get("widow_name"),
147
+ "alias_name": obj.get("alias_name"),
148
+ "gender": obj.get("gender"),
149
+ "date_of_birth": obj.get("date_of_birth"),
150
+ "date_of_expiry": obj.get("date_of_expiry"),
151
+ "expiry_date": obj.get("expiry_date"),
152
+ "nationality": obj.get("nationality"),
153
+ "mrz_line_1": obj.get("mrz_line_1"),
154
+ "mrz_line_2": obj.get("mrz_line_2"),
155
+ "mrz_line_3": obj.get("mrz_line_3"),
156
+ "address_1": obj.get("address_1"),
157
+ "address_2": obj.get("address_2"),
158
+ "address_3": obj.get("address_3"),
159
+ "address_4": obj.get("address_4"),
160
+ "address_5": obj.get("address_5"),
161
+ "issuing_authority": obj.get("issuing_authority"),
162
+ "issuing_country": obj.get("issuing_country"),
163
+ "document_type": obj.get("document_type"),
164
+ "place_of_birth": obj.get("place_of_birth"),
165
+ "issuing_state": obj.get("issuing_state"),
166
+ "issuing_date": obj.get("issuing_date"),
167
+ "personal_number": obj.get("personal_number")
168
+ })
169
+ # store additional fields in additional_properties
170
+ for _key in obj.keys():
171
+ if _key not in cls.__properties:
172
+ _obj.additional_properties[_key] = obj.get(_key)
173
+
174
+ return _obj
175
+
176
+