onfido-python 4.5.0__py3-none-any.whl → 5.0.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 (71) hide show
  1. onfido/__init__.py +2 -1
  2. onfido/api/default_api.py +279 -0
  3. onfido/api_client.py +2 -2
  4. onfido/configuration.py +151 -39
  5. onfido/exceptions.py +17 -0
  6. onfido/models/__init__.py +1 -0
  7. onfido/models/applicant_consent_name.py +1 -0
  8. onfido/models/check.py +2 -2
  9. onfido/models/check_response.py +2 -2
  10. onfido/models/check_status.py +1 -0
  11. onfido/models/country_codes.py +1 -0
  12. onfido/models/device_intelligence_breakdown_properties_device.py +10 -10
  13. onfido/models/device_intelligence_report.py +1 -11
  14. onfido/models/document.py +2 -12
  15. onfido/models/document_properties.py +6 -6
  16. onfido/models/document_report.py +3 -3
  17. onfido/models/document_report_shared.py +108 -0
  18. onfido/models/document_shared.py +2 -12
  19. onfido/models/document_types.py +1 -0
  20. onfido/models/document_video_report.py +3 -3
  21. onfido/models/document_video_with_address_information_report.py +3 -3
  22. onfido/models/document_with_address_information_report.py +3 -3
  23. onfido/models/document_with_driver_verification_report.py +3 -3
  24. onfido/models/document_with_driver_verification_report_all_of_properties.py +6 -6
  25. onfido/models/document_with_driving_licence_information_report.py +3 -3
  26. onfido/models/extraction_document_classification.py +2 -2
  27. onfido/models/extraction_extracted_data.py +2 -2
  28. onfido/models/facial_similarity_motion_report.py +3 -3
  29. onfido/models/facial_similarity_photo_fully_auto_report.py +3 -3
  30. onfido/models/facial_similarity_photo_report.py +3 -3
  31. onfido/models/facial_similarity_report_shared.py +11 -1
  32. onfido/models/facial_similarity_video_report.py +3 -3
  33. onfido/models/id_number.py +2 -2
  34. onfido/models/identity_enhanced_report.py +1 -11
  35. onfido/models/india_pan_report.py +1 -11
  36. onfido/models/known_faces_report.py +1 -11
  37. onfido/models/proof_of_address_properties.py +2 -2
  38. onfido/models/proof_of_address_report.py +1 -11
  39. onfido/models/repeat_attempts_list_repeat_attempts_inner.py +6 -6
  40. onfido/models/report_name.py +1 -0
  41. onfido/models/report_result.py +1 -0
  42. onfido/models/report_shared.py +1 -11
  43. onfido/models/report_status.py +1 -0
  44. onfido/models/report_sub_result.py +1 -0
  45. onfido/models/results_feedback.py +2 -2
  46. onfido/models/us_driving_licence_builder.py +6 -6
  47. onfido/models/us_driving_licence_report.py +1 -11
  48. onfido/models/us_driving_licence_shared.py +6 -6
  49. onfido/models/watchlist_aml_properties.py +2 -2
  50. onfido/models/watchlist_aml_report.py +1 -11
  51. onfido/models/watchlist_enhanced_report.py +1 -11
  52. onfido/models/watchlist_monitor.py +2 -2
  53. onfido/models/watchlist_monitor_builder.py +2 -2
  54. onfido/models/watchlist_monitor_shared.py +2 -2
  55. onfido/models/watchlist_peps_only_report.py +1 -11
  56. onfido/models/watchlist_sanctions_only_report.py +1 -11
  57. onfido/models/watchlist_standard_properties.py +2 -2
  58. onfido/models/watchlist_standard_report.py +1 -11
  59. onfido/models/webhook_event_object_status.py +1 -0
  60. onfido/models/webhook_event_payload_object.py +1 -1
  61. onfido/models/webhook_event_payload_resource.py +4 -2
  62. onfido/models/webhook_event_resource_type.py +1 -0
  63. onfido/models/webhook_event_type.py +1 -1
  64. onfido/models/workflow_run_link.py +2 -2
  65. onfido/models/workflow_run_status.py +1 -0
  66. onfido/webhook_event_verifier.py +3 -2
  67. {onfido_python-4.5.0.dist-info → onfido_python-5.0.0.dist-info}/METADATA +10 -2
  68. {onfido_python-4.5.0.dist-info → onfido_python-5.0.0.dist-info}/RECORD +71 -70
  69. {onfido_python-4.5.0.dist-info → onfido_python-5.0.0.dist-info}/WHEEL +1 -1
  70. {onfido_python-4.5.0.dist-info → onfido_python-5.0.0.dist-info}/LICENSE +0 -0
  71. {onfido_python-4.5.0.dist-info → onfido_python-5.0.0.dist-info}/top_level.txt +0 -0
onfido/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "4.5.0"
17
+ __version__ = "5.0.0"
18
18
 
19
19
  # import apis into sdk package
20
20
  from onfido.api.default_api import DefaultApi
@@ -113,6 +113,7 @@ from onfido.models.document_properties_driving_licence_information import Docume
113
113
  from onfido.models.document_properties_extracted_data import DocumentPropertiesExtractedData
114
114
  from onfido.models.document_properties_nfc import DocumentPropertiesNfc
115
115
  from onfido.models.document_report import DocumentReport
116
+ from onfido.models.document_report_shared import DocumentReportShared
116
117
  from onfido.models.document_response import DocumentResponse
117
118
  from onfido.models.document_shared import DocumentShared
118
119
  from onfido.models.document_types import DocumentTypes
onfido/api/default_api.py CHANGED
@@ -5684,6 +5684,268 @@ class DefaultApi:
5684
5684
 
5685
5685
 
5686
5686
 
5687
+ @validate_call
5688
+ def download_nfc_face(
5689
+ self,
5690
+ document_id: StrictStr,
5691
+ _request_timeout: Union[
5692
+ None,
5693
+ Annotated[StrictFloat, Field(gt=0)],
5694
+ Tuple[
5695
+ Annotated[StrictFloat, Field(gt=0)],
5696
+ Annotated[StrictFloat, Field(gt=0)]
5697
+ ]
5698
+ ] = None,
5699
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5700
+ _content_type: Optional[StrictStr] = None,
5701
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5702
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5703
+ ) -> bytearray:
5704
+ """Download NFC face
5705
+
5706
+ Downloads digital photos extracted from specific documents belonging to an applicant. If successful, the response will be the binary data representing the image.
5707
+
5708
+ :param document_id: (required)
5709
+ :type document_id: str
5710
+ :param _request_timeout: timeout setting for this request. If one
5711
+ number provided, it will be total request
5712
+ timeout. It can also be a pair (tuple) of
5713
+ (connection, read) timeouts.
5714
+ :type _request_timeout: int, tuple(int, int), optional
5715
+ :param _request_auth: set to override the auth_settings for an a single
5716
+ request; this effectively ignores the
5717
+ authentication in the spec for a single request.
5718
+ :type _request_auth: dict, optional
5719
+ :param _content_type: force content-type for the request.
5720
+ :type _content_type: str, Optional
5721
+ :param _headers: set to override the headers for a single
5722
+ request; this effectively ignores the headers
5723
+ in the spec for a single request.
5724
+ :type _headers: dict, optional
5725
+ :param _host_index: set to override the host_index for a single
5726
+ request; this effectively ignores the host_index
5727
+ in the spec for a single request.
5728
+ :type _host_index: int, optional
5729
+ :return: Returns the result object.
5730
+ """ # noqa: E501
5731
+
5732
+ _param = self._download_nfc_face_serialize(
5733
+ document_id=document_id,
5734
+ _request_auth=_request_auth,
5735
+ _content_type=_content_type,
5736
+ _headers=_headers,
5737
+ _host_index=_host_index
5738
+ )
5739
+
5740
+ _response_types_map: Dict[str, Optional[str]] = {
5741
+ '200': "bytearray",
5742
+ }
5743
+ response_data = self.api_client.call_api(
5744
+ *_param,
5745
+ _request_timeout=_request_timeout
5746
+ )
5747
+ response_data.read()
5748
+ return self.api_client.response_deserialize(
5749
+ response_data=response_data,
5750
+ response_types_map=_response_types_map,
5751
+ ).data
5752
+
5753
+
5754
+ @validate_call
5755
+ def download_nfc_face_with_http_info(
5756
+ self,
5757
+ document_id: StrictStr,
5758
+ _request_timeout: Union[
5759
+ None,
5760
+ Annotated[StrictFloat, Field(gt=0)],
5761
+ Tuple[
5762
+ Annotated[StrictFloat, Field(gt=0)],
5763
+ Annotated[StrictFloat, Field(gt=0)]
5764
+ ]
5765
+ ] = None,
5766
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5767
+ _content_type: Optional[StrictStr] = None,
5768
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5769
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5770
+ ) -> ApiResponse[bytearray]:
5771
+ """Download NFC face
5772
+
5773
+ Downloads digital photos extracted from specific documents belonging to an applicant. If successful, the response will be the binary data representing the image.
5774
+
5775
+ :param document_id: (required)
5776
+ :type document_id: str
5777
+ :param _request_timeout: timeout setting for this request. If one
5778
+ number provided, it will be total request
5779
+ timeout. It can also be a pair (tuple) of
5780
+ (connection, read) timeouts.
5781
+ :type _request_timeout: int, tuple(int, int), optional
5782
+ :param _request_auth: set to override the auth_settings for an a single
5783
+ request; this effectively ignores the
5784
+ authentication in the spec for a single request.
5785
+ :type _request_auth: dict, optional
5786
+ :param _content_type: force content-type for the request.
5787
+ :type _content_type: str, Optional
5788
+ :param _headers: set to override the headers for a single
5789
+ request; this effectively ignores the headers
5790
+ in the spec for a single request.
5791
+ :type _headers: dict, optional
5792
+ :param _host_index: set to override the host_index for a single
5793
+ request; this effectively ignores the host_index
5794
+ in the spec for a single request.
5795
+ :type _host_index: int, optional
5796
+ :return: Returns the result object.
5797
+ """ # noqa: E501
5798
+
5799
+ _param = self._download_nfc_face_serialize(
5800
+ document_id=document_id,
5801
+ _request_auth=_request_auth,
5802
+ _content_type=_content_type,
5803
+ _headers=_headers,
5804
+ _host_index=_host_index
5805
+ )
5806
+
5807
+ _response_types_map: Dict[str, Optional[str]] = {
5808
+ '200': "bytearray",
5809
+ }
5810
+ response_data = self.api_client.call_api(
5811
+ *_param,
5812
+ _request_timeout=_request_timeout
5813
+ )
5814
+ response_data.read()
5815
+ return self.api_client.response_deserialize(
5816
+ response_data=response_data,
5817
+ response_types_map=_response_types_map,
5818
+ )
5819
+
5820
+
5821
+ @validate_call
5822
+ def download_nfc_face_without_preload_content(
5823
+ self,
5824
+ document_id: StrictStr,
5825
+ _request_timeout: Union[
5826
+ None,
5827
+ Annotated[StrictFloat, Field(gt=0)],
5828
+ Tuple[
5829
+ Annotated[StrictFloat, Field(gt=0)],
5830
+ Annotated[StrictFloat, Field(gt=0)]
5831
+ ]
5832
+ ] = None,
5833
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5834
+ _content_type: Optional[StrictStr] = None,
5835
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5836
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5837
+ ) -> RESTResponseType:
5838
+ """Download NFC face
5839
+
5840
+ Downloads digital photos extracted from specific documents belonging to an applicant. If successful, the response will be the binary data representing the image.
5841
+
5842
+ :param document_id: (required)
5843
+ :type document_id: str
5844
+ :param _request_timeout: timeout setting for this request. If one
5845
+ number provided, it will be total request
5846
+ timeout. It can also be a pair (tuple) of
5847
+ (connection, read) timeouts.
5848
+ :type _request_timeout: int, tuple(int, int), optional
5849
+ :param _request_auth: set to override the auth_settings for an a single
5850
+ request; this effectively ignores the
5851
+ authentication in the spec for a single request.
5852
+ :type _request_auth: dict, optional
5853
+ :param _content_type: force content-type for the request.
5854
+ :type _content_type: str, Optional
5855
+ :param _headers: set to override the headers for a single
5856
+ request; this effectively ignores the headers
5857
+ in the spec for a single request.
5858
+ :type _headers: dict, optional
5859
+ :param _host_index: set to override the host_index for a single
5860
+ request; this effectively ignores the host_index
5861
+ in the spec for a single request.
5862
+ :type _host_index: int, optional
5863
+ :return: Returns the result object.
5864
+ """ # noqa: E501
5865
+
5866
+ _param = self._download_nfc_face_serialize(
5867
+ document_id=document_id,
5868
+ _request_auth=_request_auth,
5869
+ _content_type=_content_type,
5870
+ _headers=_headers,
5871
+ _host_index=_host_index
5872
+ )
5873
+
5874
+ _response_types_map: Dict[str, Optional[str]] = {
5875
+ '200': "bytearray",
5876
+ }
5877
+ response_data = self.api_client.call_api(
5878
+ *_param,
5879
+ _request_timeout=_request_timeout
5880
+ )
5881
+ return response_data.response
5882
+
5883
+
5884
+ def _download_nfc_face_serialize(
5885
+ self,
5886
+ document_id,
5887
+ _request_auth,
5888
+ _content_type,
5889
+ _headers,
5890
+ _host_index,
5891
+ ) -> RequestSerialized:
5892
+
5893
+ _host = None
5894
+
5895
+ _collection_formats: Dict[str, str] = {
5896
+ }
5897
+
5898
+ _path_params: Dict[str, str] = {}
5899
+ _query_params: List[Tuple[str, str]] = []
5900
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5901
+ _form_params: List[Tuple[str, str]] = []
5902
+ _files: Dict[
5903
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
5904
+ ] = {}
5905
+ _body_params: Optional[bytes] = None
5906
+
5907
+ # process the path parameters
5908
+ if document_id is not None:
5909
+ _path_params['document_id'] = document_id
5910
+ # process the query parameters
5911
+ # process the header parameters
5912
+ # process the form parameters
5913
+ # process the body parameter
5914
+
5915
+
5916
+ # set the HTTP header `Accept`
5917
+ if 'Accept' not in _header_params:
5918
+ _header_params['Accept'] = self.api_client.select_header_accept(
5919
+ [
5920
+ '*/*',
5921
+ 'application/json'
5922
+ ]
5923
+ )
5924
+
5925
+
5926
+ # authentication setting
5927
+ _auth_settings: List[str] = [
5928
+ 'Token'
5929
+ ]
5930
+
5931
+ return self.api_client.param_serialize(
5932
+ method='GET',
5933
+ resource_path='/documents/{document_id}/nfc_face',
5934
+ path_params=_path_params,
5935
+ query_params=_query_params,
5936
+ header_params=_header_params,
5937
+ body=_body_params,
5938
+ post_params=_form_params,
5939
+ files=_files,
5940
+ auth_settings=_auth_settings,
5941
+ collection_formats=_collection_formats,
5942
+ _host=_host,
5943
+ _request_auth=_request_auth
5944
+ )
5945
+
5946
+
5947
+
5948
+
5687
5949
  @validate_call
5688
5950
  def download_qes_document(
5689
5951
  self,
@@ -14187,6 +14449,7 @@ class DefaultApi:
14187
14449
  created_at_gt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date greater than (after) the one provided.")] = None,
14188
14450
  created_at_lt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date less than (before) the one provided.")] = None,
14189
14451
  sort: Annotated[Optional[StrictStr], Field(description="A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.")] = None,
14452
+ applicant_id: Annotated[Optional[StrictStr], Field(description="the applicant's id.")] = None,
14190
14453
  _request_timeout: Union[
14191
14454
  None,
14192
14455
  Annotated[StrictFloat, Field(gt=0)],
@@ -14214,6 +14477,8 @@ class DefaultApi:
14214
14477
  :type created_at_lt: datetime
14215
14478
  :param sort: A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.
14216
14479
  :type sort: str
14480
+ :param applicant_id: the applicant's id.
14481
+ :type applicant_id: str
14217
14482
  :param _request_timeout: timeout setting for this request. If one
14218
14483
  number provided, it will be total request
14219
14484
  timeout. It can also be a pair (tuple) of
@@ -14242,6 +14507,7 @@ class DefaultApi:
14242
14507
  created_at_gt=created_at_gt,
14243
14508
  created_at_lt=created_at_lt,
14244
14509
  sort=sort,
14510
+ applicant_id=applicant_id,
14245
14511
  _request_auth=_request_auth,
14246
14512
  _content_type=_content_type,
14247
14513
  _headers=_headers,
@@ -14270,6 +14536,7 @@ class DefaultApi:
14270
14536
  created_at_gt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date greater than (after) the one provided.")] = None,
14271
14537
  created_at_lt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date less than (before) the one provided.")] = None,
14272
14538
  sort: Annotated[Optional[StrictStr], Field(description="A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.")] = None,
14539
+ applicant_id: Annotated[Optional[StrictStr], Field(description="the applicant's id.")] = None,
14273
14540
  _request_timeout: Union[
14274
14541
  None,
14275
14542
  Annotated[StrictFloat, Field(gt=0)],
@@ -14297,6 +14564,8 @@ class DefaultApi:
14297
14564
  :type created_at_lt: datetime
14298
14565
  :param sort: A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.
14299
14566
  :type sort: str
14567
+ :param applicant_id: the applicant's id.
14568
+ :type applicant_id: str
14300
14569
  :param _request_timeout: timeout setting for this request. If one
14301
14570
  number provided, it will be total request
14302
14571
  timeout. It can also be a pair (tuple) of
@@ -14325,6 +14594,7 @@ class DefaultApi:
14325
14594
  created_at_gt=created_at_gt,
14326
14595
  created_at_lt=created_at_lt,
14327
14596
  sort=sort,
14597
+ applicant_id=applicant_id,
14328
14598
  _request_auth=_request_auth,
14329
14599
  _content_type=_content_type,
14330
14600
  _headers=_headers,
@@ -14353,6 +14623,7 @@ class DefaultApi:
14353
14623
  created_at_gt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date greater than (after) the one provided.")] = None,
14354
14624
  created_at_lt: Annotated[Optional[datetime], Field(description="A ISO-8601 date to filter results with a created date less than (before) the one provided.")] = None,
14355
14625
  sort: Annotated[Optional[StrictStr], Field(description="A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.")] = None,
14626
+ applicant_id: Annotated[Optional[StrictStr], Field(description="the applicant's id.")] = None,
14356
14627
  _request_timeout: Union[
14357
14628
  None,
14358
14629
  Annotated[StrictFloat, Field(gt=0)],
@@ -14380,6 +14651,8 @@ class DefaultApi:
14380
14651
  :type created_at_lt: datetime
14381
14652
  :param sort: A string with the value 'desc' or 'asc' that allows to sort the returned list by the completed datetime either descending or ascending, respectively. If not specified, defaults to 'desc'.
14382
14653
  :type sort: str
14654
+ :param applicant_id: the applicant's id.
14655
+ :type applicant_id: str
14383
14656
  :param _request_timeout: timeout setting for this request. If one
14384
14657
  number provided, it will be total request
14385
14658
  timeout. It can also be a pair (tuple) of
@@ -14408,6 +14681,7 @@ class DefaultApi:
14408
14681
  created_at_gt=created_at_gt,
14409
14682
  created_at_lt=created_at_lt,
14410
14683
  sort=sort,
14684
+ applicant_id=applicant_id,
14411
14685
  _request_auth=_request_auth,
14412
14686
  _content_type=_content_type,
14413
14687
  _headers=_headers,
@@ -14431,6 +14705,7 @@ class DefaultApi:
14431
14705
  created_at_gt,
14432
14706
  created_at_lt,
14433
14707
  sort,
14708
+ applicant_id,
14434
14709
  _request_auth,
14435
14710
  _content_type,
14436
14711
  _headers,
@@ -14491,6 +14766,10 @@ class DefaultApi:
14491
14766
 
14492
14767
  _query_params.append(('sort', sort))
14493
14768
 
14769
+ if applicant_id is not None:
14770
+
14771
+ _query_params.append(('applicant_id', applicant_id))
14772
+
14494
14773
  # process the header parameters
14495
14774
  # process the form parameters
14496
14775
  # process the body parameter
onfido/api_client.py CHANGED
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'onfido-python/4.5.0'
93
+ self.user_agent = 'onfido-python/5.0.0'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -517,7 +517,7 @@ class ApiClient:
517
517
  if k in collection_formats:
518
518
  collection_format = collection_formats[k]
519
519
  if collection_format == 'multi':
520
- new_params.extend((k, str(value)) for value in v)
520
+ new_params.extend((k, quote(str(value))) for value in v)
521
521
  else:
522
522
  if collection_format == 'ssv':
523
523
  delimiter = ' '