onfido-python 2.10.0__py3-none-any.whl → 3.1.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 +191 -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 +215 -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 +7 -3
  287. {onfido_python-2.10.0.dist-info → onfido_python-3.1.0.dist-info}/LICENSE +1 -1
  288. onfido_python-3.1.0.dist-info/METADATA +18 -0
  289. onfido_python-3.1.0.dist-info/RECORD +291 -0
  290. {onfido_python-2.10.0.dist-info → onfido_python-3.1.0.dist-info}/WHEEL +2 -1
  291. onfido_python-3.1.0.dist-info/top_level.txt +1 -0
  292. onfido/aio_resource.py +0 -132
  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.0.dist-info/METADATA +0 -181
  326. onfido_python-2.10.0.dist-info/RECORD +0 -40
@@ -0,0 +1,162 @@
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, datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing_extensions import Annotated
24
+ from onfido.models.address import Address
25
+ from onfido.models.id_number import IdNumber
26
+ from onfido.models.location import Location
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+
30
+ class Applicant(BaseModel):
31
+ """
32
+ Applicant
33
+ """ # noqa: E501
34
+ email: Optional[StrictStr] = Field(default=None, description="The applicant's email address. Required if doing a US check, or a UK check for which `applicant_provides_data` is `true`.")
35
+ dob: Optional[date] = Field(default=None, description="The applicant's date of birth")
36
+ id_numbers: Optional[List[IdNumber]] = None
37
+ phone_number: Optional[StrictStr] = Field(default=None, description="The applicant's phone number")
38
+ first_name: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The applicant's first name")
39
+ last_name: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The applicant's surname")
40
+ id: StrictStr = Field(description="The unique identifier for the applicant.")
41
+ created_at: Optional[datetime] = Field(default=None, description="The date and time when this applicant was created.")
42
+ delete_at: Optional[datetime] = Field(default=None, description="The date and time when this applicant is scheduled to be deleted.")
43
+ href: Optional[StrictStr] = Field(default=None, description="The uri of this resource.")
44
+ sandbox: Optional[StrictBool] = None
45
+ address: Optional[Address] = None
46
+ location: Optional[Location] = None
47
+ additional_properties: Dict[str, Any] = {}
48
+ __properties: ClassVar[List[str]] = ["email", "dob", "id_numbers", "phone_number", "first_name", "last_name", "id", "created_at", "delete_at", "href", "sandbox", "address", "location"]
49
+
50
+ @field_validator('first_name')
51
+ def first_name_validate_regular_expression(cls, value):
52
+ """Validates the regular expression"""
53
+ if value is None:
54
+ return value
55
+
56
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
57
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
58
+ return value
59
+
60
+ @field_validator('last_name')
61
+ def last_name_validate_regular_expression(cls, value):
62
+ """Validates the regular expression"""
63
+ if value is None:
64
+ return value
65
+
66
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
67
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
68
+ return value
69
+
70
+ model_config = ConfigDict(
71
+ populate_by_name=True,
72
+ validate_assignment=True,
73
+ protected_namespaces=(),
74
+ )
75
+
76
+
77
+ def to_str(self) -> str:
78
+ """Returns the string representation of the model using alias"""
79
+ return pprint.pformat(self.model_dump(by_alias=True))
80
+
81
+ def to_json(self) -> str:
82
+ """Returns the JSON representation of the model using alias"""
83
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
84
+ return json.dumps(self.to_dict())
85
+
86
+ @classmethod
87
+ def from_json(cls, json_str: str) -> Optional[Self]:
88
+ """Create an instance of Applicant from a JSON string"""
89
+ return cls.from_dict(json.loads(json_str))
90
+
91
+ def to_dict(self) -> Dict[str, Any]:
92
+ """Return the dictionary representation of the model using alias.
93
+
94
+ This has the following differences from calling pydantic's
95
+ `self.model_dump(by_alias=True)`:
96
+
97
+ * `None` is only added to the output dict for nullable fields that
98
+ were set at model initialization. Other fields with value `None`
99
+ are ignored.
100
+ * Fields in `self.additional_properties` are added to the output dict.
101
+ """
102
+ excluded_fields: Set[str] = set([
103
+ "additional_properties",
104
+ ])
105
+
106
+ _dict = self.model_dump(
107
+ by_alias=True,
108
+ exclude=excluded_fields,
109
+ exclude_none=True,
110
+ )
111
+ # override the default output from pydantic by calling `to_dict()` of each item in id_numbers (list)
112
+ _items = []
113
+ if self.id_numbers:
114
+ for _item in self.id_numbers:
115
+ if _item:
116
+ _items.append(_item.to_dict())
117
+ _dict['id_numbers'] = _items
118
+ # override the default output from pydantic by calling `to_dict()` of address
119
+ if self.address:
120
+ _dict['address'] = self.address.to_dict()
121
+ # override the default output from pydantic by calling `to_dict()` of location
122
+ if self.location:
123
+ _dict['location'] = self.location.to_dict()
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 Applicant 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
+ "email": obj.get("email"),
142
+ "dob": obj.get("dob"),
143
+ "id_numbers": [IdNumber.from_dict(_item) for _item in obj["id_numbers"]] if obj.get("id_numbers") is not None else None,
144
+ "phone_number": obj.get("phone_number"),
145
+ "first_name": obj.get("first_name"),
146
+ "last_name": obj.get("last_name"),
147
+ "id": obj.get("id"),
148
+ "created_at": obj.get("created_at"),
149
+ "delete_at": obj.get("delete_at"),
150
+ "href": obj.get("href"),
151
+ "sandbox": obj.get("sandbox"),
152
+ "address": Address.from_dict(obj["address"]) if obj.get("address") is not None else None,
153
+ "location": Location.from_dict(obj["location"]) if obj.get("location") is not None else None
154
+ })
155
+ # store additional fields in additional_properties
156
+ for _key in obj.keys():
157
+ if _key not in cls.__properties:
158
+ _obj.additional_properties[_key] = obj.get(_key)
159
+
160
+ return _obj
161
+
162
+
@@ -0,0 +1,152 @@
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.address_builder import AddressBuilder
25
+ from onfido.models.consents_builder import ConsentsBuilder
26
+ from onfido.models.id_number import IdNumber
27
+ from onfido.models.location_builder import LocationBuilder
28
+ from typing import Optional, Set
29
+ from typing_extensions import Self
30
+
31
+ class ApplicantBuilder(BaseModel):
32
+ """
33
+ ApplicantBuilder
34
+ """ # noqa: E501
35
+ email: Optional[StrictStr] = Field(default=None, description="The applicant's email address. Required if doing a US check, or a UK check for which `applicant_provides_data` is `true`.")
36
+ dob: Optional[date] = Field(default=None, description="The applicant's date of birth")
37
+ id_numbers: Optional[List[IdNumber]] = None
38
+ phone_number: Optional[StrictStr] = Field(default=None, description="The applicant's phone number")
39
+ consents: Optional[ConsentsBuilder] = None
40
+ address: Optional[AddressBuilder] = None
41
+ location: Optional[LocationBuilder] = None
42
+ first_name: Annotated[str, Field(strict=True)] = Field(description="The applicant's first name")
43
+ last_name: Annotated[str, Field(strict=True)] = Field(description="The applicant's surname")
44
+ additional_properties: Dict[str, Any] = {}
45
+ __properties: ClassVar[List[str]] = ["email", "dob", "id_numbers", "phone_number", "consents", "address", "location", "first_name", "last_name"]
46
+
47
+ @field_validator('first_name')
48
+ def first_name_validate_regular_expression(cls, value):
49
+ """Validates the regular expression"""
50
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
51
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
52
+ return value
53
+
54
+ @field_validator('last_name')
55
+ def last_name_validate_regular_expression(cls, value):
56
+ """Validates the regular expression"""
57
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
58
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
59
+ return value
60
+
61
+ model_config = ConfigDict(
62
+ populate_by_name=True,
63
+ validate_assignment=True,
64
+ protected_namespaces=(),
65
+ )
66
+
67
+
68
+ def to_str(self) -> str:
69
+ """Returns the string representation of the model using alias"""
70
+ return pprint.pformat(self.model_dump(by_alias=True))
71
+
72
+ def to_json(self) -> str:
73
+ """Returns the JSON representation of the model using alias"""
74
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
75
+ return json.dumps(self.to_dict())
76
+
77
+ @classmethod
78
+ def from_json(cls, json_str: str) -> Optional[Self]:
79
+ """Create an instance of ApplicantBuilder from a JSON string"""
80
+ return cls.from_dict(json.loads(json_str))
81
+
82
+ def to_dict(self) -> Dict[str, Any]:
83
+ """Return the dictionary representation of the model using alias.
84
+
85
+ This has the following differences from calling pydantic's
86
+ `self.model_dump(by_alias=True)`:
87
+
88
+ * `None` is only added to the output dict for nullable fields that
89
+ were set at model initialization. Other fields with value `None`
90
+ are ignored.
91
+ * Fields in `self.additional_properties` are added to the output dict.
92
+ """
93
+ excluded_fields: Set[str] = set([
94
+ "additional_properties",
95
+ ])
96
+
97
+ _dict = self.model_dump(
98
+ by_alias=True,
99
+ exclude=excluded_fields,
100
+ exclude_none=True,
101
+ )
102
+ # override the default output from pydantic by calling `to_dict()` of each item in id_numbers (list)
103
+ _items = []
104
+ if self.id_numbers:
105
+ for _item in self.id_numbers:
106
+ if _item:
107
+ _items.append(_item.to_dict())
108
+ _dict['id_numbers'] = _items
109
+ # override the default output from pydantic by calling `to_dict()` of consents
110
+ if self.consents:
111
+ _dict['consents'] = self.consents.to_dict()
112
+ # override the default output from pydantic by calling `to_dict()` of address
113
+ if self.address:
114
+ _dict['address'] = self.address.to_dict()
115
+ # override the default output from pydantic by calling `to_dict()` of location
116
+ if self.location:
117
+ _dict['location'] = self.location.to_dict()
118
+ # puts key-value pairs in additional_properties in the top level
119
+ if self.additional_properties is not None:
120
+ for _key, _value in self.additional_properties.items():
121
+ _dict[_key] = _value
122
+
123
+ return _dict
124
+
125
+ @classmethod
126
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
127
+ """Create an instance of ApplicantBuilder from a dict"""
128
+ if obj is None:
129
+ return None
130
+
131
+ if not isinstance(obj, dict):
132
+ return cls.model_validate(obj)
133
+
134
+ _obj = cls.model_validate({
135
+ "email": obj.get("email"),
136
+ "dob": obj.get("dob"),
137
+ "id_numbers": [IdNumber.from_dict(_item) for _item in obj["id_numbers"]] if obj.get("id_numbers") is not None else None,
138
+ "phone_number": obj.get("phone_number"),
139
+ "consents": ConsentsBuilder.from_dict(obj["consents"]) if obj.get("consents") is not None else None,
140
+ "address": AddressBuilder.from_dict(obj["address"]) if obj.get("address") is not None else None,
141
+ "location": LocationBuilder.from_dict(obj["location"]) if obj.get("location") is not None else None,
142
+ "first_name": obj.get("first_name"),
143
+ "last_name": obj.get("last_name")
144
+ })
145
+ # store additional fields in additional_properties
146
+ for _key in obj.keys():
147
+ if _key not in cls.__properties:
148
+ _obj.additional_properties[_key] = obj.get(_key)
149
+
150
+ return _obj
151
+
152
+
@@ -0,0 +1,117 @@
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, field_validator
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing_extensions import Annotated
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ApplicantCreate(BaseModel):
27
+ """
28
+ ApplicantCreate
29
+ """ # noqa: E501
30
+ first_name: Annotated[str, Field(strict=True)] = Field(description="The applicant's first name")
31
+ last_name: Annotated[str, Field(strict=True)] = Field(description="The applicant's surname")
32
+ additional_properties: Dict[str, Any] = {}
33
+ __properties: ClassVar[List[str]] = ["first_name", "last_name"]
34
+
35
+ @field_validator('first_name')
36
+ def first_name_validate_regular_expression(cls, value):
37
+ """Validates the regular expression"""
38
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
39
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
40
+ return value
41
+
42
+ @field_validator('last_name')
43
+ def last_name_validate_regular_expression(cls, value):
44
+ """Validates the regular expression"""
45
+ if not re.match(r"^[^!#$%*=<>;{}\"]*$", value):
46
+ raise ValueError(r"must validate the regular expression /^[^!#$%*=<>;{}\"]*$/")
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 ApplicantCreate 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 ApplicantCreate 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
+ "first_name": obj.get("first_name"),
108
+ "last_name": obj.get("last_name")
109
+ })
110
+ # store additional fields in additional_properties
111
+ for _key in obj.keys():
112
+ if _key not in cls.__properties:
113
+ _obj.additional_properties[_key] = obj.get(_key)
114
+
115
+ return _obj
116
+
117
+
@@ -0,0 +1,116 @@
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
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.address_builder import AddressBuilder
23
+ from onfido.models.consents_builder import ConsentsBuilder
24
+ from onfido.models.location_builder import LocationBuilder
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class ApplicantRequest(BaseModel):
29
+ """
30
+ ApplicantRequest
31
+ """ # noqa: E501
32
+ consents: Optional[ConsentsBuilder] = None
33
+ address: Optional[AddressBuilder] = None
34
+ location: Optional[LocationBuilder] = None
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties: ClassVar[List[str]] = ["consents", "address", "location"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of ApplicantRequest from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ * Fields in `self.additional_properties` are added to the output dict.
69
+ """
70
+ excluded_fields: Set[str] = set([
71
+ "additional_properties",
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of consents
80
+ if self.consents:
81
+ _dict['consents'] = self.consents.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of address
83
+ if self.address:
84
+ _dict['address'] = self.address.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of location
86
+ if self.location:
87
+ _dict['location'] = self.location.to_dict()
88
+ # puts key-value pairs in additional_properties in the top level
89
+ if self.additional_properties is not None:
90
+ for _key, _value in self.additional_properties.items():
91
+ _dict[_key] = _value
92
+
93
+ return _dict
94
+
95
+ @classmethod
96
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
97
+ """Create an instance of ApplicantRequest from a dict"""
98
+ if obj is None:
99
+ return None
100
+
101
+ if not isinstance(obj, dict):
102
+ return cls.model_validate(obj)
103
+
104
+ _obj = cls.model_validate({
105
+ "consents": ConsentsBuilder.from_dict(obj["consents"]) if obj.get("consents") is not None else None,
106
+ "address": AddressBuilder.from_dict(obj["address"]) if obj.get("address") is not None else None,
107
+ "location": LocationBuilder.from_dict(obj["location"]) if obj.get("location") is not None else None
108
+ })
109
+ # store additional fields in additional_properties
110
+ for _key in obj.keys():
111
+ if _key not in cls.__properties:
112
+ _obj.additional_properties[_key] = obj.get(_key)
113
+
114
+ return _obj
115
+
116
+