onfido-python 5.0.0__py3-none-any.whl → 5.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 (25) hide show
  1. onfido/__init__.py +6 -4
  2. onfido/api/default_api.py +262 -0
  3. onfido/api_client.py +1 -1
  4. onfido/configuration.py +1 -1
  5. onfido/models/__init__.py +5 -3
  6. onfido/models/applicant_consent.py +111 -0
  7. onfido/models/device_intelligence_breakdown.py +7 -1
  8. onfido/models/device_intelligence_breakdown_breakdown.py +3 -3
  9. onfido/models/{device_intelligence_breakdown_breakdown_device.py → device_intelligence_breakdown_device.py} +6 -6
  10. onfido/models/{device_intelligence_breakdown_breakdown_device_breakdown.py → device_intelligence_breakdown_device_breakdown.py} +4 -4
  11. onfido/models/device_intelligence_breakdown_properties_device.py +3 -3
  12. onfido/models/device_intelligence_properties.py +116 -0
  13. onfido/models/device_intelligence_report.py +8 -2
  14. onfido/models/document_properties.py +9 -5
  15. onfido/models/{document_properties_driving_licence_information.py → document_properties_driving_licence_information_item.py} +4 -4
  16. onfido/models/document_with_driver_verification_report_all_of_properties.py +9 -5
  17. onfido/models/webhook.py +11 -1
  18. onfido/models/webhook_builder.py +11 -1
  19. onfido/models/webhook_shared.py +12 -2
  20. onfido/models/webhook_updater.py +11 -1
  21. {onfido_python-5.0.0.dist-info → onfido_python-5.1.0.dist-info}/METADATA +3 -2
  22. {onfido_python-5.0.0.dist-info → onfido_python-5.1.0.dist-info}/RECORD +25 -23
  23. {onfido_python-5.0.0.dist-info → onfido_python-5.1.0.dist-info}/WHEEL +1 -1
  24. {onfido_python-5.0.0.dist-info → onfido_python-5.1.0.dist-info/licenses}/LICENSE +0 -0
  25. {onfido_python-5.0.0.dist-info → onfido_python-5.1.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__ = "5.0.0"
17
+ __version__ = "5.1.0"
18
18
 
19
19
  # import apis into sdk package
20
20
  from onfido.api.default_api import DefaultApi
@@ -37,6 +37,7 @@ from onfido.models.address_shared import AddressShared
37
37
  from onfido.models.addresses_list import AddressesList
38
38
  from onfido.models.applicant import Applicant
39
39
  from onfido.models.applicant_builder import ApplicantBuilder
40
+ from onfido.models.applicant_consent import ApplicantConsent
40
41
  from onfido.models.applicant_consent_builder import ApplicantConsentBuilder
41
42
  from onfido.models.applicant_consent_name import ApplicantConsentName
42
43
  from onfido.models.applicant_create import ApplicantCreate
@@ -58,12 +59,13 @@ from onfido.models.complete_task_data_builder import CompleteTaskDataBuilder
58
59
  from onfido.models.country_codes import CountryCodes
59
60
  from onfido.models.device_intelligence_breakdown import DeviceIntelligenceBreakdown
60
61
  from onfido.models.device_intelligence_breakdown_breakdown import DeviceIntelligenceBreakdownBreakdown
61
- from onfido.models.device_intelligence_breakdown_breakdown_device import DeviceIntelligenceBreakdownBreakdownDevice
62
- from onfido.models.device_intelligence_breakdown_breakdown_device_breakdown import DeviceIntelligenceBreakdownBreakdownDeviceBreakdown
62
+ from onfido.models.device_intelligence_breakdown_device import DeviceIntelligenceBreakdownDevice
63
+ from onfido.models.device_intelligence_breakdown_device_breakdown import DeviceIntelligenceBreakdownDeviceBreakdown
63
64
  from onfido.models.device_intelligence_breakdown_properties import DeviceIntelligenceBreakdownProperties
64
65
  from onfido.models.device_intelligence_breakdown_properties_device import DeviceIntelligenceBreakdownPropertiesDevice
65
66
  from onfido.models.device_intelligence_breakdown_properties_geolocation import DeviceIntelligenceBreakdownPropertiesGeolocation
66
67
  from onfido.models.device_intelligence_breakdown_properties_ip import DeviceIntelligenceBreakdownPropertiesIp
68
+ from onfido.models.device_intelligence_properties import DeviceIntelligenceProperties
67
69
  from onfido.models.device_intelligence_report import DeviceIntelligenceReport
68
70
  from onfido.models.document import Document
69
71
  from onfido.models.document_breakdown import DocumentBreakdown
@@ -109,7 +111,7 @@ from onfido.models.document_properties_address_lines import DocumentPropertiesAd
109
111
  from onfido.models.document_properties_barcode_inner import DocumentPropertiesBarcodeInner
110
112
  from onfido.models.document_properties_document_classification import DocumentPropertiesDocumentClassification
111
113
  from onfido.models.document_properties_document_numbers_inner import DocumentPropertiesDocumentNumbersInner
112
- from onfido.models.document_properties_driving_licence_information import DocumentPropertiesDrivingLicenceInformation
114
+ from onfido.models.document_properties_driving_licence_information_item import DocumentPropertiesDrivingLicenceInformationItem
113
115
  from onfido.models.document_properties_extracted_data import DocumentPropertiesExtractedData
114
116
  from onfido.models.document_properties_nfc import DocumentPropertiesNfc
115
117
  from onfido.models.document_report import DocumentReport
onfido/api/default_api.py CHANGED
@@ -23,6 +23,7 @@ from typing_extensions import Annotated
23
23
  from onfido.models.addresses_list import AddressesList
24
24
  from onfido.models.applicant import Applicant
25
25
  from onfido.models.applicant_builder import ApplicantBuilder
26
+ from onfido.models.applicant_consent import ApplicantConsent
26
27
  from onfido.models.applicant_updater import ApplicantUpdater
27
28
  from onfido.models.applicants_list import ApplicantsList
28
29
  from onfido.models.check import Check
@@ -7293,6 +7294,267 @@ class DefaultApi:
7293
7294
 
7294
7295
 
7295
7296
 
7297
+ @validate_call
7298
+ def find_applicant_consents(
7299
+ self,
7300
+ applicant_id: StrictStr,
7301
+ _request_timeout: Union[
7302
+ None,
7303
+ Annotated[StrictFloat, Field(gt=0)],
7304
+ Tuple[
7305
+ Annotated[StrictFloat, Field(gt=0)],
7306
+ Annotated[StrictFloat, Field(gt=0)]
7307
+ ]
7308
+ ] = None,
7309
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
7310
+ _content_type: Optional[StrictStr] = None,
7311
+ _headers: Optional[Dict[StrictStr, Any]] = None,
7312
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
7313
+ ) -> List[ApplicantConsent]:
7314
+ """Retrieve Applicant Consents
7315
+
7316
+ Retrieves consents for single applicant.
7317
+
7318
+ :param applicant_id: (required)
7319
+ :type applicant_id: str
7320
+ :param _request_timeout: timeout setting for this request. If one
7321
+ number provided, it will be total request
7322
+ timeout. It can also be a pair (tuple) of
7323
+ (connection, read) timeouts.
7324
+ :type _request_timeout: int, tuple(int, int), optional
7325
+ :param _request_auth: set to override the auth_settings for an a single
7326
+ request; this effectively ignores the
7327
+ authentication in the spec for a single request.
7328
+ :type _request_auth: dict, optional
7329
+ :param _content_type: force content-type for the request.
7330
+ :type _content_type: str, Optional
7331
+ :param _headers: set to override the headers for a single
7332
+ request; this effectively ignores the headers
7333
+ in the spec for a single request.
7334
+ :type _headers: dict, optional
7335
+ :param _host_index: set to override the host_index for a single
7336
+ request; this effectively ignores the host_index
7337
+ in the spec for a single request.
7338
+ :type _host_index: int, optional
7339
+ :return: Returns the result object.
7340
+ """ # noqa: E501
7341
+
7342
+ _param = self._find_applicant_consents_serialize(
7343
+ applicant_id=applicant_id,
7344
+ _request_auth=_request_auth,
7345
+ _content_type=_content_type,
7346
+ _headers=_headers,
7347
+ _host_index=_host_index
7348
+ )
7349
+
7350
+ _response_types_map: Dict[str, Optional[str]] = {
7351
+ '200': "List[ApplicantConsent]",
7352
+ }
7353
+ response_data = self.api_client.call_api(
7354
+ *_param,
7355
+ _request_timeout=_request_timeout
7356
+ )
7357
+ response_data.read()
7358
+ return self.api_client.response_deserialize(
7359
+ response_data=response_data,
7360
+ response_types_map=_response_types_map,
7361
+ ).data
7362
+
7363
+
7364
+ @validate_call
7365
+ def find_applicant_consents_with_http_info(
7366
+ self,
7367
+ applicant_id: StrictStr,
7368
+ _request_timeout: Union[
7369
+ None,
7370
+ Annotated[StrictFloat, Field(gt=0)],
7371
+ Tuple[
7372
+ Annotated[StrictFloat, Field(gt=0)],
7373
+ Annotated[StrictFloat, Field(gt=0)]
7374
+ ]
7375
+ ] = None,
7376
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
7377
+ _content_type: Optional[StrictStr] = None,
7378
+ _headers: Optional[Dict[StrictStr, Any]] = None,
7379
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
7380
+ ) -> ApiResponse[List[ApplicantConsent]]:
7381
+ """Retrieve Applicant Consents
7382
+
7383
+ Retrieves consents for single applicant.
7384
+
7385
+ :param applicant_id: (required)
7386
+ :type applicant_id: str
7387
+ :param _request_timeout: timeout setting for this request. If one
7388
+ number provided, it will be total request
7389
+ timeout. It can also be a pair (tuple) of
7390
+ (connection, read) timeouts.
7391
+ :type _request_timeout: int, tuple(int, int), optional
7392
+ :param _request_auth: set to override the auth_settings for an a single
7393
+ request; this effectively ignores the
7394
+ authentication in the spec for a single request.
7395
+ :type _request_auth: dict, optional
7396
+ :param _content_type: force content-type for the request.
7397
+ :type _content_type: str, Optional
7398
+ :param _headers: set to override the headers for a single
7399
+ request; this effectively ignores the headers
7400
+ in the spec for a single request.
7401
+ :type _headers: dict, optional
7402
+ :param _host_index: set to override the host_index for a single
7403
+ request; this effectively ignores the host_index
7404
+ in the spec for a single request.
7405
+ :type _host_index: int, optional
7406
+ :return: Returns the result object.
7407
+ """ # noqa: E501
7408
+
7409
+ _param = self._find_applicant_consents_serialize(
7410
+ applicant_id=applicant_id,
7411
+ _request_auth=_request_auth,
7412
+ _content_type=_content_type,
7413
+ _headers=_headers,
7414
+ _host_index=_host_index
7415
+ )
7416
+
7417
+ _response_types_map: Dict[str, Optional[str]] = {
7418
+ '200': "List[ApplicantConsent]",
7419
+ }
7420
+ response_data = self.api_client.call_api(
7421
+ *_param,
7422
+ _request_timeout=_request_timeout
7423
+ )
7424
+ response_data.read()
7425
+ return self.api_client.response_deserialize(
7426
+ response_data=response_data,
7427
+ response_types_map=_response_types_map,
7428
+ )
7429
+
7430
+
7431
+ @validate_call
7432
+ def find_applicant_consents_without_preload_content(
7433
+ self,
7434
+ applicant_id: StrictStr,
7435
+ _request_timeout: Union[
7436
+ None,
7437
+ Annotated[StrictFloat, Field(gt=0)],
7438
+ Tuple[
7439
+ Annotated[StrictFloat, Field(gt=0)],
7440
+ Annotated[StrictFloat, Field(gt=0)]
7441
+ ]
7442
+ ] = None,
7443
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
7444
+ _content_type: Optional[StrictStr] = None,
7445
+ _headers: Optional[Dict[StrictStr, Any]] = None,
7446
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
7447
+ ) -> RESTResponseType:
7448
+ """Retrieve Applicant Consents
7449
+
7450
+ Retrieves consents for single applicant.
7451
+
7452
+ :param applicant_id: (required)
7453
+ :type applicant_id: str
7454
+ :param _request_timeout: timeout setting for this request. If one
7455
+ number provided, it will be total request
7456
+ timeout. It can also be a pair (tuple) of
7457
+ (connection, read) timeouts.
7458
+ :type _request_timeout: int, tuple(int, int), optional
7459
+ :param _request_auth: set to override the auth_settings for an a single
7460
+ request; this effectively ignores the
7461
+ authentication in the spec for a single request.
7462
+ :type _request_auth: dict, optional
7463
+ :param _content_type: force content-type for the request.
7464
+ :type _content_type: str, Optional
7465
+ :param _headers: set to override the headers for a single
7466
+ request; this effectively ignores the headers
7467
+ in the spec for a single request.
7468
+ :type _headers: dict, optional
7469
+ :param _host_index: set to override the host_index for a single
7470
+ request; this effectively ignores the host_index
7471
+ in the spec for a single request.
7472
+ :type _host_index: int, optional
7473
+ :return: Returns the result object.
7474
+ """ # noqa: E501
7475
+
7476
+ _param = self._find_applicant_consents_serialize(
7477
+ applicant_id=applicant_id,
7478
+ _request_auth=_request_auth,
7479
+ _content_type=_content_type,
7480
+ _headers=_headers,
7481
+ _host_index=_host_index
7482
+ )
7483
+
7484
+ _response_types_map: Dict[str, Optional[str]] = {
7485
+ '200': "List[ApplicantConsent]",
7486
+ }
7487
+ response_data = self.api_client.call_api(
7488
+ *_param,
7489
+ _request_timeout=_request_timeout
7490
+ )
7491
+ return response_data.response
7492
+
7493
+
7494
+ def _find_applicant_consents_serialize(
7495
+ self,
7496
+ applicant_id,
7497
+ _request_auth,
7498
+ _content_type,
7499
+ _headers,
7500
+ _host_index,
7501
+ ) -> RequestSerialized:
7502
+
7503
+ _host = None
7504
+
7505
+ _collection_formats: Dict[str, str] = {
7506
+ }
7507
+
7508
+ _path_params: Dict[str, str] = {}
7509
+ _query_params: List[Tuple[str, str]] = []
7510
+ _header_params: Dict[str, Optional[str]] = _headers or {}
7511
+ _form_params: List[Tuple[str, str]] = []
7512
+ _files: Dict[
7513
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
7514
+ ] = {}
7515
+ _body_params: Optional[bytes] = None
7516
+
7517
+ # process the path parameters
7518
+ if applicant_id is not None:
7519
+ _path_params['applicant_id'] = applicant_id
7520
+ # process the query parameters
7521
+ # process the header parameters
7522
+ # process the form parameters
7523
+ # process the body parameter
7524
+
7525
+
7526
+ # set the HTTP header `Accept`
7527
+ if 'Accept' not in _header_params:
7528
+ _header_params['Accept'] = self.api_client.select_header_accept(
7529
+ [
7530
+ 'application/json'
7531
+ ]
7532
+ )
7533
+
7534
+
7535
+ # authentication setting
7536
+ _auth_settings: List[str] = [
7537
+ 'Token'
7538
+ ]
7539
+
7540
+ return self.api_client.param_serialize(
7541
+ method='GET',
7542
+ resource_path='/applicants/{applicant_id}/consents',
7543
+ path_params=_path_params,
7544
+ query_params=_query_params,
7545
+ header_params=_header_params,
7546
+ body=_body_params,
7547
+ post_params=_form_params,
7548
+ files=_files,
7549
+ auth_settings=_auth_settings,
7550
+ collection_formats=_collection_formats,
7551
+ _host=_host,
7552
+ _request_auth=_request_auth
7553
+ )
7554
+
7555
+
7556
+
7557
+
7296
7558
  @validate_call
7297
7559
  def find_check(
7298
7560
  self,
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/5.0.0'
93
+ self.user_agent = 'onfido-python/5.1.0'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
onfido/configuration.py CHANGED
@@ -501,7 +501,7 @@ conf = onfido.Configuration(
501
501
  "OS: {env}\n"\
502
502
  "Python Version: {pyversion}\n"\
503
503
  "Version of the API: v3.6\n"\
504
- "SDK Package Version: 5.0.0".\
504
+ "SDK Package Version: 5.1.0".\
505
505
  format(env=sys.platform, pyversion=sys.version)
506
506
 
507
507
  def get_host_settings(self) -> List[HostSetting]:
onfido/models/__init__.py CHANGED
@@ -20,6 +20,7 @@ from onfido.models.address_shared import AddressShared
20
20
  from onfido.models.addresses_list import AddressesList
21
21
  from onfido.models.applicant import Applicant
22
22
  from onfido.models.applicant_builder import ApplicantBuilder
23
+ from onfido.models.applicant_consent import ApplicantConsent
23
24
  from onfido.models.applicant_consent_builder import ApplicantConsentBuilder
24
25
  from onfido.models.applicant_consent_name import ApplicantConsentName
25
26
  from onfido.models.applicant_create import ApplicantCreate
@@ -41,12 +42,13 @@ from onfido.models.complete_task_data_builder import CompleteTaskDataBuilder
41
42
  from onfido.models.country_codes import CountryCodes
42
43
  from onfido.models.device_intelligence_breakdown import DeviceIntelligenceBreakdown
43
44
  from onfido.models.device_intelligence_breakdown_breakdown import DeviceIntelligenceBreakdownBreakdown
44
- from onfido.models.device_intelligence_breakdown_breakdown_device import DeviceIntelligenceBreakdownBreakdownDevice
45
- from onfido.models.device_intelligence_breakdown_breakdown_device_breakdown import DeviceIntelligenceBreakdownBreakdownDeviceBreakdown
45
+ from onfido.models.device_intelligence_breakdown_device import DeviceIntelligenceBreakdownDevice
46
+ from onfido.models.device_intelligence_breakdown_device_breakdown import DeviceIntelligenceBreakdownDeviceBreakdown
46
47
  from onfido.models.device_intelligence_breakdown_properties import DeviceIntelligenceBreakdownProperties
47
48
  from onfido.models.device_intelligence_breakdown_properties_device import DeviceIntelligenceBreakdownPropertiesDevice
48
49
  from onfido.models.device_intelligence_breakdown_properties_geolocation import DeviceIntelligenceBreakdownPropertiesGeolocation
49
50
  from onfido.models.device_intelligence_breakdown_properties_ip import DeviceIntelligenceBreakdownPropertiesIp
51
+ from onfido.models.device_intelligence_properties import DeviceIntelligenceProperties
50
52
  from onfido.models.device_intelligence_report import DeviceIntelligenceReport
51
53
  from onfido.models.document import Document
52
54
  from onfido.models.document_breakdown import DocumentBreakdown
@@ -92,7 +94,7 @@ from onfido.models.document_properties_address_lines import DocumentPropertiesAd
92
94
  from onfido.models.document_properties_barcode_inner import DocumentPropertiesBarcodeInner
93
95
  from onfido.models.document_properties_document_classification import DocumentPropertiesDocumentClassification
94
96
  from onfido.models.document_properties_document_numbers_inner import DocumentPropertiesDocumentNumbersInner
95
- from onfido.models.document_properties_driving_licence_information import DocumentPropertiesDrivingLicenceInformation
97
+ from onfido.models.document_properties_driving_licence_information_item import DocumentPropertiesDrivingLicenceInformationItem
96
98
  from onfido.models.document_properties_extracted_data import DocumentPropertiesExtractedData
97
99
  from onfido.models.document_properties_nfc import DocumentPropertiesNfc
98
100
  from onfido.models.document_report import DocumentReport
@@ -0,0 +1,111 @@
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 datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from onfido.models.applicant_consent_name import ApplicantConsentName
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class ApplicantConsent(BaseModel):
28
+ """
29
+ ApplicantConsent
30
+ """ # noqa: E501
31
+ name: ApplicantConsentName
32
+ granted: StrictBool
33
+ granted_at: Optional[datetime] = Field(description="The date and time when this applicant consent was granted, if not granted the value is nil.")
34
+ additional_properties: Dict[str, Any] = {}
35
+ __properties: ClassVar[List[str]] = ["name", "granted", "granted_at"]
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 ApplicantConsent 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
+ # puts key-value pairs in additional_properties in the top level
79
+ if self.additional_properties is not None:
80
+ for _key, _value in self.additional_properties.items():
81
+ _dict[_key] = _value
82
+
83
+ # set to None if granted_at (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.granted_at is None and "granted_at" in self.model_fields_set:
86
+ _dict['granted_at'] = None
87
+
88
+ return _dict
89
+
90
+ @classmethod
91
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
92
+ """Create an instance of ApplicantConsent from a dict"""
93
+ if obj is None:
94
+ return None
95
+
96
+ if not isinstance(obj, dict):
97
+ return cls.model_validate(obj)
98
+
99
+ _obj = cls.model_validate({
100
+ "name": obj.get("name"),
101
+ "granted": obj.get("granted"),
102
+ "granted_at": obj.get("granted_at")
103
+ })
104
+ # store additional fields in additional_properties
105
+ for _key in obj.keys():
106
+ if _key not in cls.__properties:
107
+ _obj.additional_properties[_key] = obj.get(_key)
108
+
109
+ return _obj
110
+
111
+
@@ -20,6 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from onfido.models.device_intelligence_breakdown_breakdown import DeviceIntelligenceBreakdownBreakdown
23
+ from onfido.models.device_intelligence_breakdown_device import DeviceIntelligenceBreakdownDevice
23
24
  from onfido.models.device_intelligence_breakdown_properties import DeviceIntelligenceBreakdownProperties
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
@@ -28,10 +29,11 @@ class DeviceIntelligenceBreakdown(BaseModel):
28
29
  """
29
30
  DeviceIntelligenceBreakdown
30
31
  """ # noqa: E501
32
+ device: Optional[DeviceIntelligenceBreakdownDevice] = None
31
33
  breakdown: Optional[DeviceIntelligenceBreakdownBreakdown] = None
32
34
  properties: Optional[DeviceIntelligenceBreakdownProperties] = None
33
35
  additional_properties: Dict[str, Any] = {}
34
- __properties: ClassVar[List[str]] = ["breakdown", "properties"]
36
+ __properties: ClassVar[List[str]] = ["device", "breakdown", "properties"]
35
37
 
36
38
  model_config = ConfigDict(
37
39
  populate_by_name=True,
@@ -74,6 +76,9 @@ class DeviceIntelligenceBreakdown(BaseModel):
74
76
  exclude=excluded_fields,
75
77
  exclude_none=True,
76
78
  )
79
+ # override the default output from pydantic by calling `to_dict()` of device
80
+ if self.device:
81
+ _dict['device'] = self.device.to_dict()
77
82
  # override the default output from pydantic by calling `to_dict()` of breakdown
78
83
  if self.breakdown:
79
84
  _dict['breakdown'] = self.breakdown.to_dict()
@@ -97,6 +102,7 @@ class DeviceIntelligenceBreakdown(BaseModel):
97
102
  return cls.model_validate(obj)
98
103
 
99
104
  _obj = cls.model_validate({
105
+ "device": DeviceIntelligenceBreakdownDevice.from_dict(obj["device"]) if obj.get("device") is not None else None,
100
106
  "breakdown": DeviceIntelligenceBreakdownBreakdown.from_dict(obj["breakdown"]) if obj.get("breakdown") is not None else None,
101
107
  "properties": DeviceIntelligenceBreakdownProperties.from_dict(obj["properties"]) if obj.get("properties") is not None else None
102
108
  })
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from onfido.models.device_intelligence_breakdown_breakdown_device import DeviceIntelligenceBreakdownBreakdownDevice
22
+ from onfido.models.device_intelligence_breakdown_device import DeviceIntelligenceBreakdownDevice
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -27,7 +27,7 @@ class DeviceIntelligenceBreakdownBreakdown(BaseModel):
27
27
  """
28
28
  DeviceIntelligenceBreakdownBreakdown
29
29
  """ # noqa: E501
30
- device: Optional[DeviceIntelligenceBreakdownBreakdownDevice] = None
30
+ device: Optional[DeviceIntelligenceBreakdownDevice] = None
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties: ClassVar[List[str]] = ["device"]
33
33
 
@@ -92,7 +92,7 @@ class DeviceIntelligenceBreakdownBreakdown(BaseModel):
92
92
  return cls.model_validate(obj)
93
93
 
94
94
  _obj = cls.model_validate({
95
- "device": DeviceIntelligenceBreakdownBreakdownDevice.from_dict(obj["device"]) if obj.get("device") is not None else None
95
+ "device": DeviceIntelligenceBreakdownDevice.from_dict(obj["device"]) if obj.get("device") is not None else None
96
96
  })
97
97
  # store additional fields in additional_properties
98
98
  for _key in obj.keys():
@@ -19,15 +19,15 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from onfido.models.device_intelligence_breakdown_breakdown_device_breakdown import DeviceIntelligenceBreakdownBreakdownDeviceBreakdown
22
+ from onfido.models.device_intelligence_breakdown_device_breakdown import DeviceIntelligenceBreakdownDeviceBreakdown
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class DeviceIntelligenceBreakdownBreakdownDevice(BaseModel):
26
+ class DeviceIntelligenceBreakdownDevice(BaseModel):
27
27
  """
28
28
  Asserts whether the device used to upload the media is trustworthy, i.e. it is a real, physical device.
29
29
  """ # noqa: E501
30
- breakdown: Optional[DeviceIntelligenceBreakdownBreakdownDeviceBreakdown] = None
30
+ breakdown: Optional[DeviceIntelligenceBreakdownDeviceBreakdown] = None
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties: ClassVar[List[str]] = ["breakdown"]
33
33
 
@@ -49,7 +49,7 @@ class DeviceIntelligenceBreakdownBreakdownDevice(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of DeviceIntelligenceBreakdownBreakdownDevice from a JSON string"""
52
+ """Create an instance of DeviceIntelligenceBreakdownDevice from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -84,7 +84,7 @@ class DeviceIntelligenceBreakdownBreakdownDevice(BaseModel):
84
84
 
85
85
  @classmethod
86
86
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
- """Create an instance of DeviceIntelligenceBreakdownBreakdownDevice from a dict"""
87
+ """Create an instance of DeviceIntelligenceBreakdownDevice from a dict"""
88
88
  if obj is None:
89
89
  return None
90
90
 
@@ -92,7 +92,7 @@ class DeviceIntelligenceBreakdownBreakdownDevice(BaseModel):
92
92
  return cls.model_validate(obj)
93
93
 
94
94
  _obj = cls.model_validate({
95
- "breakdown": DeviceIntelligenceBreakdownBreakdownDeviceBreakdown.from_dict(obj["breakdown"]) if obj.get("breakdown") is not None else None
95
+ "breakdown": DeviceIntelligenceBreakdownDeviceBreakdown.from_dict(obj["breakdown"]) if obj.get("breakdown") is not None else None
96
96
  })
97
97
  # store additional fields in additional_properties
98
98
  for _key in obj.keys():
@@ -23,9 +23,9 @@ from onfido.models.document_breakdown_data_comparison_breakdown_issuing_country
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class DeviceIntelligenceBreakdownBreakdownDeviceBreakdown(BaseModel):
26
+ class DeviceIntelligenceBreakdownDeviceBreakdown(BaseModel):
27
27
  """
28
- DeviceIntelligenceBreakdownBreakdownDeviceBreakdown
28
+ DeviceIntelligenceBreakdownDeviceBreakdown
29
29
  """ # noqa: E501
30
30
  application_authenticity: Optional[DocumentBreakdownDataComparisonBreakdownIssuingCountry] = None
31
31
  device_integrity: Optional[DocumentBreakdownDataComparisonBreakdownIssuingCountry] = None
@@ -51,7 +51,7 @@ class DeviceIntelligenceBreakdownBreakdownDeviceBreakdown(BaseModel):
51
51
 
52
52
  @classmethod
53
53
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of DeviceIntelligenceBreakdownBreakdownDeviceBreakdown from a JSON string"""
54
+ """Create an instance of DeviceIntelligenceBreakdownDeviceBreakdown from a JSON string"""
55
55
  return cls.from_dict(json.loads(json_str))
56
56
 
57
57
  def to_dict(self) -> Dict[str, Any]:
@@ -92,7 +92,7 @@ class DeviceIntelligenceBreakdownBreakdownDeviceBreakdown(BaseModel):
92
92
 
93
93
  @classmethod
94
94
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
95
- """Create an instance of DeviceIntelligenceBreakdownBreakdownDeviceBreakdown from a dict"""
95
+ """Create an instance of DeviceIntelligenceBreakdownDeviceBreakdown from a dict"""
96
96
  if obj is None:
97
97
  return None
98
98
 
@@ -17,8 +17,8 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
- from typing import Any, ClassVar, Dict, List, Optional
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
@@ -36,7 +36,7 @@ class DeviceIntelligenceBreakdownPropertiesDevice(BaseModel):
36
36
  randomized_device: Optional[StrictBool] = Field(default=None, description="Whether the device is providing false randomized device and network information.")
37
37
  fake_network_request: Optional[StrictBool] = Field(default=None, description="Whether device is using stolen security tokens to send the network information.")
38
38
  ip_reputation: Optional[StrictStr] = Field(default=None, description="Whether there is highly suspicious traffic related to the IP address. The risk depends on the overall ratio of clear checks on a given IP.")
39
- device_fingerprint_reuse: Optional[StrictInt] = Field(default=None, description="The number of times the device was used to create a report for a new applicant. A value greater than 1 indicates potential device reuse.")
39
+ device_fingerprint_reuse: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The number of times the device was used to create a report for a new applicant. A value greater than 1 indicates potential device reuse.")
40
40
  single_device_used: Optional[StrictBool] = Field(default=None, description="Whether the document or biometric media were uploaded from a single device.")
41
41
  document_capture: Optional[StrictStr] = Field(default=None, description="Whether the document media were live captured from the device camera.")
42
42
  biometric_capture: Optional[StrictStr] = Field(default=None, description="Whether the biometric media were live captured from the device camera.")
@@ -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.device_intelligence_breakdown_properties_device import DeviceIntelligenceBreakdownPropertiesDevice
23
+ from onfido.models.device_intelligence_breakdown_properties_geolocation import DeviceIntelligenceBreakdownPropertiesGeolocation
24
+ from onfido.models.device_intelligence_breakdown_properties_ip import DeviceIntelligenceBreakdownPropertiesIp
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class DeviceIntelligenceProperties(BaseModel):
29
+ """
30
+ DeviceIntelligenceProperties
31
+ """ # noqa: E501
32
+ device: Optional[DeviceIntelligenceBreakdownPropertiesDevice] = None
33
+ ip: Optional[DeviceIntelligenceBreakdownPropertiesIp] = None
34
+ geolocation: Optional[DeviceIntelligenceBreakdownPropertiesGeolocation] = None
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties: ClassVar[List[str]] = ["device", "ip", "geolocation"]
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 DeviceIntelligenceProperties 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 device
80
+ if self.device:
81
+ _dict['device'] = self.device.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of ip
83
+ if self.ip:
84
+ _dict['ip'] = self.ip.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of geolocation
86
+ if self.geolocation:
87
+ _dict['geolocation'] = self.geolocation.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 DeviceIntelligenceProperties 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
+ "device": DeviceIntelligenceBreakdownPropertiesDevice.from_dict(obj["device"]) if obj.get("device") is not None else None,
106
+ "ip": DeviceIntelligenceBreakdownPropertiesIp.from_dict(obj["ip"]) if obj.get("ip") is not None else None,
107
+ "geolocation": DeviceIntelligenceBreakdownPropertiesGeolocation.from_dict(obj["geolocation"]) if obj.get("geolocation") 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
+
@@ -21,6 +21,7 @@ from datetime import datetime
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from onfido.models.device_intelligence_breakdown import DeviceIntelligenceBreakdown
24
+ from onfido.models.device_intelligence_properties import DeviceIntelligenceProperties
24
25
  from onfido.models.report_name import ReportName
25
26
  from onfido.models.report_result import ReportResult
26
27
  from onfido.models.report_status import ReportStatus
@@ -41,8 +42,9 @@ class DeviceIntelligenceReport(BaseModel):
41
42
  check_id: Optional[StrictStr] = Field(default=None, description="The ID of the check to which the report belongs. Read-only.")
42
43
  name: ReportName
43
44
  breakdown: Optional[DeviceIntelligenceBreakdown] = None
45
+ properties: Optional[DeviceIntelligenceProperties] = None
44
46
  additional_properties: Dict[str, Any] = {}
45
- __properties: ClassVar[List[str]] = ["id", "created_at", "href", "status", "result", "sub_result", "check_id", "name", "breakdown"]
47
+ __properties: ClassVar[List[str]] = ["id", "created_at", "href", "status", "result", "sub_result", "check_id", "name", "breakdown", "properties"]
46
48
 
47
49
  model_config = ConfigDict(
48
50
  populate_by_name=True,
@@ -88,6 +90,9 @@ class DeviceIntelligenceReport(BaseModel):
88
90
  # override the default output from pydantic by calling `to_dict()` of breakdown
89
91
  if self.breakdown:
90
92
  _dict['breakdown'] = self.breakdown.to_dict()
93
+ # override the default output from pydantic by calling `to_dict()` of properties
94
+ if self.properties:
95
+ _dict['properties'] = self.properties.to_dict()
91
96
  # puts key-value pairs in additional_properties in the top level
92
97
  if self.additional_properties is not None:
93
98
  for _key, _value in self.additional_properties.items():
@@ -113,7 +118,8 @@ class DeviceIntelligenceReport(BaseModel):
113
118
  "sub_result": obj.get("sub_result"),
114
119
  "check_id": obj.get("check_id"),
115
120
  "name": obj.get("name"),
116
- "breakdown": DeviceIntelligenceBreakdown.from_dict(obj["breakdown"]) if obj.get("breakdown") is not None else None
121
+ "breakdown": DeviceIntelligenceBreakdown.from_dict(obj["breakdown"]) if obj.get("breakdown") is not None else None,
122
+ "properties": DeviceIntelligenceProperties.from_dict(obj["properties"]) if obj.get("properties") is not None else None
117
123
  })
118
124
  # store additional fields in additional_properties
119
125
  for _key in obj.keys():
@@ -24,7 +24,7 @@ from onfido.models.document_properties_address_lines import DocumentPropertiesAd
24
24
  from onfido.models.document_properties_barcode_inner import DocumentPropertiesBarcodeInner
25
25
  from onfido.models.document_properties_document_classification import DocumentPropertiesDocumentClassification
26
26
  from onfido.models.document_properties_document_numbers_inner import DocumentPropertiesDocumentNumbersInner
27
- from onfido.models.document_properties_driving_licence_information import DocumentPropertiesDrivingLicenceInformation
27
+ from onfido.models.document_properties_driving_licence_information_item import DocumentPropertiesDrivingLicenceInformationItem
28
28
  from onfido.models.document_properties_extracted_data import DocumentPropertiesExtractedData
29
29
  from onfido.models.document_properties_nfc import DocumentPropertiesNfc
30
30
  from typing import Optional, Set
@@ -76,7 +76,7 @@ class DocumentProperties(BaseModel):
76
76
  address_lines: Optional[DocumentPropertiesAddressLines] = None
77
77
  barcode: Optional[List[DocumentPropertiesBarcodeInner]] = None
78
78
  nfc: Optional[DocumentPropertiesNfc] = None
79
- driving_licence_information: Optional[DocumentPropertiesDrivingLicenceInformation] = None
79
+ driving_licence_information: Optional[List[DocumentPropertiesDrivingLicenceInformationItem]] = None
80
80
  document_classification: Optional[DocumentPropertiesDocumentClassification] = None
81
81
  extracted_data: Optional[DocumentPropertiesExtractedData] = None
82
82
  additional_properties: Dict[str, Any] = {}
@@ -173,9 +173,13 @@ class DocumentProperties(BaseModel):
173
173
  # override the default output from pydantic by calling `to_dict()` of nfc
174
174
  if self.nfc:
175
175
  _dict['nfc'] = self.nfc.to_dict()
176
- # override the default output from pydantic by calling `to_dict()` of driving_licence_information
176
+ # override the default output from pydantic by calling `to_dict()` of each item in driving_licence_information (list)
177
+ _items = []
177
178
  if self.driving_licence_information:
178
- _dict['driving_licence_information'] = self.driving_licence_information.to_dict()
179
+ for _item_driving_licence_information in self.driving_licence_information:
180
+ if _item_driving_licence_information:
181
+ _items.append(_item_driving_licence_information.to_dict())
182
+ _dict['driving_licence_information'] = _items
179
183
  # override the default output from pydantic by calling `to_dict()` of document_classification
180
184
  if self.document_classification:
181
185
  _dict['document_classification'] = self.document_classification.to_dict()
@@ -241,7 +245,7 @@ class DocumentProperties(BaseModel):
241
245
  "address_lines": DocumentPropertiesAddressLines.from_dict(obj["address_lines"]) if obj.get("address_lines") is not None else None,
242
246
  "barcode": [DocumentPropertiesBarcodeInner.from_dict(_item) for _item in obj["barcode"]] if obj.get("barcode") is not None else None,
243
247
  "nfc": DocumentPropertiesNfc.from_dict(obj["nfc"]) if obj.get("nfc") is not None else None,
244
- "driving_licence_information": DocumentPropertiesDrivingLicenceInformation.from_dict(obj["driving_licence_information"]) if obj.get("driving_licence_information") is not None else None,
248
+ "driving_licence_information": [DocumentPropertiesDrivingLicenceInformationItem.from_dict(_item) for _item in obj["driving_licence_information"]] if obj.get("driving_licence_information") is not None else None,
245
249
  "document_classification": DocumentPropertiesDocumentClassification.from_dict(obj["document_classification"]) if obj.get("document_classification") is not None else None,
246
250
  "extracted_data": DocumentPropertiesExtractedData.from_dict(obj["extracted_data"]) if obj.get("extracted_data") is not None else None
247
251
  })
@@ -23,9 +23,9 @@ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class DocumentPropertiesDrivingLicenceInformation(BaseModel):
26
+ class DocumentPropertiesDrivingLicenceInformationItem(BaseModel):
27
27
  """
28
- DocumentPropertiesDrivingLicenceInformation
28
+ DocumentPropertiesDrivingLicenceInformationItem
29
29
  """ # noqa: E501
30
30
  category: Optional[StrictStr] = None
31
31
  obtainment_date: Optional[date] = None
@@ -52,7 +52,7 @@ class DocumentPropertiesDrivingLicenceInformation(BaseModel):
52
52
 
53
53
  @classmethod
54
54
  def from_json(cls, json_str: str) -> Optional[Self]:
55
- """Create an instance of DocumentPropertiesDrivingLicenceInformation from a JSON string"""
55
+ """Create an instance of DocumentPropertiesDrivingLicenceInformationItem from a JSON string"""
56
56
  return cls.from_dict(json.loads(json_str))
57
57
 
58
58
  def to_dict(self) -> Dict[str, Any]:
@@ -84,7 +84,7 @@ class DocumentPropertiesDrivingLicenceInformation(BaseModel):
84
84
 
85
85
  @classmethod
86
86
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
- """Create an instance of DocumentPropertiesDrivingLicenceInformation from a dict"""
87
+ """Create an instance of DocumentPropertiesDrivingLicenceInformationItem from a dict"""
88
88
  if obj is None:
89
89
  return None
90
90
 
@@ -24,7 +24,7 @@ from onfido.models.document_properties_address_lines import DocumentPropertiesAd
24
24
  from onfido.models.document_properties_barcode_inner import DocumentPropertiesBarcodeInner
25
25
  from onfido.models.document_properties_document_classification import DocumentPropertiesDocumentClassification
26
26
  from onfido.models.document_properties_document_numbers_inner import DocumentPropertiesDocumentNumbersInner
27
- from onfido.models.document_properties_driving_licence_information import DocumentPropertiesDrivingLicenceInformation
27
+ from onfido.models.document_properties_driving_licence_information_item import DocumentPropertiesDrivingLicenceInformationItem
28
28
  from onfido.models.document_properties_extracted_data import DocumentPropertiesExtractedData
29
29
  from onfido.models.document_properties_nfc import DocumentPropertiesNfc
30
30
  from onfido.models.document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle import DocumentWithDriverVerificationReportAllOfPropertiesAllOfPassengerVehicle
@@ -78,7 +78,7 @@ class DocumentWithDriverVerificationReportAllOfProperties(BaseModel):
78
78
  address_lines: Optional[DocumentPropertiesAddressLines] = None
79
79
  barcode: Optional[List[DocumentPropertiesBarcodeInner]] = None
80
80
  nfc: Optional[DocumentPropertiesNfc] = None
81
- driving_licence_information: Optional[DocumentPropertiesDrivingLicenceInformation] = None
81
+ driving_licence_information: Optional[List[DocumentPropertiesDrivingLicenceInformationItem]] = None
82
82
  document_classification: Optional[DocumentPropertiesDocumentClassification] = None
83
83
  extracted_data: Optional[DocumentPropertiesExtractedData] = None
84
84
  drivers_licence: Optional[StrictBool] = Field(default=None, description="True for **non-restricted** driving licences")
@@ -181,9 +181,13 @@ class DocumentWithDriverVerificationReportAllOfProperties(BaseModel):
181
181
  # override the default output from pydantic by calling `to_dict()` of nfc
182
182
  if self.nfc:
183
183
  _dict['nfc'] = self.nfc.to_dict()
184
- # override the default output from pydantic by calling `to_dict()` of driving_licence_information
184
+ # override the default output from pydantic by calling `to_dict()` of each item in driving_licence_information (list)
185
+ _items = []
185
186
  if self.driving_licence_information:
186
- _dict['driving_licence_information'] = self.driving_licence_information.to_dict()
187
+ for _item_driving_licence_information in self.driving_licence_information:
188
+ if _item_driving_licence_information:
189
+ _items.append(_item_driving_licence_information.to_dict())
190
+ _dict['driving_licence_information'] = _items
187
191
  # override the default output from pydantic by calling `to_dict()` of document_classification
188
192
  if self.document_classification:
189
193
  _dict['document_classification'] = self.document_classification.to_dict()
@@ -259,7 +263,7 @@ class DocumentWithDriverVerificationReportAllOfProperties(BaseModel):
259
263
  "address_lines": DocumentPropertiesAddressLines.from_dict(obj["address_lines"]) if obj.get("address_lines") is not None else None,
260
264
  "barcode": [DocumentPropertiesBarcodeInner.from_dict(_item) for _item in obj["barcode"]] if obj.get("barcode") is not None else None,
261
265
  "nfc": DocumentPropertiesNfc.from_dict(obj["nfc"]) if obj.get("nfc") is not None else None,
262
- "driving_licence_information": DocumentPropertiesDrivingLicenceInformation.from_dict(obj["driving_licence_information"]) if obj.get("driving_licence_information") is not None else None,
266
+ "driving_licence_information": [DocumentPropertiesDrivingLicenceInformationItem.from_dict(_item) for _item in obj["driving_licence_information"]] if obj.get("driving_licence_information") is not None else None,
263
267
  "document_classification": DocumentPropertiesDocumentClassification.from_dict(obj["document_classification"]) if obj.get("document_classification") is not None else None,
264
268
  "extracted_data": DocumentPropertiesExtractedData.from_dict(obj["extracted_data"]) if obj.get("extracted_data") is not None else None,
265
269
  "drivers_licence": obj.get("drivers_licence"),
onfido/models/webhook.py CHANGED
@@ -31,12 +31,17 @@ class Webhook(BaseModel):
31
31
  events: Optional[List[WebhookEventType]] = Field(default=None, description="The events that will be published to the webhook. If the events parameter is omitted all the events will be subscribed. ")
32
32
  environments: Optional[List[StrictStr]] = Field(default=None, description="The environments from which the webhook will receive events. Allowed values are “sandbox” and “live”. If the environments parameter is omitted the webhook will receive events from both environments. ")
33
33
  payload_version: Optional[StrictInt] = Field(default=None, description="Webhook version used to control the payload object when sending webhooks.")
34
+ oauth_enabled: Optional[StrictBool] = Field(default=None, description="Determines if the webhook will fetch OAuth access tokens to send in the Authorization header.")
35
+ oauth_server_url: Optional[StrictStr] = Field(default=None, description="The url to fetch the OAuth access token using client credentials grant.")
36
+ oauth_server_client_id: Optional[StrictStr] = Field(default=None, description="The client id to authenticate the client credentials grant.")
37
+ oauth_server_client_secret: Optional[StrictStr] = Field(default=None, description="The client secret to authenticate the client credentials grant.")
38
+ oauth_server_scope: Optional[StrictStr] = Field(default=None, description="The scopes to be sent when requesting the access token.")
34
39
  id: StrictStr = Field(description="The unique identifier of the webhook.")
35
40
  url: Optional[StrictStr] = Field(default=None, description="The url that will listen to notifications (must be https).")
36
41
  token: Optional[StrictStr] = Field(default=None, description="Webhook secret token used to sign the webhook's payload.")
37
42
  href: Optional[StrictStr] = Field(default=None, description="The API endpoint to retrieve the webhook.")
38
43
  additional_properties: Dict[str, Any] = {}
39
- __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "id", "url", "token", "href"]
44
+ __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "oauth_enabled", "oauth_server_url", "oauth_server_client_id", "oauth_server_client_secret", "oauth_server_scope", "id", "url", "token", "href"]
40
45
 
41
46
  model_config = ConfigDict(
42
47
  populate_by_name=True,
@@ -100,6 +105,11 @@ class Webhook(BaseModel):
100
105
  "events": obj.get("events"),
101
106
  "environments": obj.get("environments"),
102
107
  "payload_version": obj.get("payload_version"),
108
+ "oauth_enabled": obj.get("oauth_enabled"),
109
+ "oauth_server_url": obj.get("oauth_server_url"),
110
+ "oauth_server_client_id": obj.get("oauth_server_client_id"),
111
+ "oauth_server_client_secret": obj.get("oauth_server_client_secret"),
112
+ "oauth_server_scope": obj.get("oauth_server_scope"),
103
113
  "id": obj.get("id"),
104
114
  "url": obj.get("url"),
105
115
  "token": obj.get("token"),
@@ -31,9 +31,14 @@ class WebhookBuilder(BaseModel):
31
31
  events: Optional[List[WebhookEventType]] = Field(default=None, description="The events that will be published to the webhook. If the events parameter is omitted all the events will be subscribed. ")
32
32
  environments: Optional[List[StrictStr]] = Field(default=None, description="The environments from which the webhook will receive events. Allowed values are “sandbox” and “live”. If the environments parameter is omitted the webhook will receive events from both environments. ")
33
33
  payload_version: Optional[StrictInt] = Field(default=None, description="Webhook version used to control the payload object when sending webhooks.")
34
+ oauth_enabled: Optional[StrictBool] = Field(default=None, description="Determines if the webhook will fetch OAuth access tokens to send in the Authorization header.")
35
+ oauth_server_url: Optional[StrictStr] = Field(default=None, description="The url to fetch the OAuth access token using client credentials grant.")
36
+ oauth_server_client_id: Optional[StrictStr] = Field(default=None, description="The client id to authenticate the client credentials grant.")
37
+ oauth_server_client_secret: Optional[StrictStr] = Field(default=None, description="The client secret to authenticate the client credentials grant.")
38
+ oauth_server_scope: Optional[StrictStr] = Field(default=None, description="The scopes to be sent when requesting the access token.")
34
39
  url: StrictStr = Field(description="The url that will listen to notifications (must be https).")
35
40
  additional_properties: Dict[str, Any] = {}
36
- __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "url"]
41
+ __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "oauth_enabled", "oauth_server_url", "oauth_server_client_id", "oauth_server_client_secret", "oauth_server_scope", "url"]
37
42
 
38
43
  model_config = ConfigDict(
39
44
  populate_by_name=True,
@@ -97,6 +102,11 @@ class WebhookBuilder(BaseModel):
97
102
  "events": obj.get("events"),
98
103
  "environments": obj.get("environments"),
99
104
  "payload_version": obj.get("payload_version"),
105
+ "oauth_enabled": obj.get("oauth_enabled"),
106
+ "oauth_server_url": obj.get("oauth_server_url"),
107
+ "oauth_server_client_id": obj.get("oauth_server_client_id"),
108
+ "oauth_server_client_secret": obj.get("oauth_server_client_secret"),
109
+ "oauth_server_scope": obj.get("oauth_server_scope"),
100
110
  "url": obj.get("url")
101
111
  })
102
112
  # store additional fields in additional_properties
@@ -31,8 +31,13 @@ class WebhookShared(BaseModel):
31
31
  events: Optional[List[WebhookEventType]] = Field(default=None, description="The events that will be published to the webhook. If the events parameter is omitted all the events will be subscribed. ")
32
32
  environments: Optional[List[StrictStr]] = Field(default=None, description="The environments from which the webhook will receive events. Allowed values are “sandbox” and “live”. If the environments parameter is omitted the webhook will receive events from both environments. ")
33
33
  payload_version: Optional[StrictInt] = Field(default=None, description="Webhook version used to control the payload object when sending webhooks.")
34
+ oauth_enabled: Optional[StrictBool] = Field(default=None, description="Determines if the webhook will fetch OAuth access tokens to send in the Authorization header.")
35
+ oauth_server_url: Optional[StrictStr] = Field(default=None, description="The url to fetch the OAuth access token using client credentials grant.")
36
+ oauth_server_client_id: Optional[StrictStr] = Field(default=None, description="The client id to authenticate the client credentials grant.")
37
+ oauth_server_client_secret: Optional[StrictStr] = Field(default=None, description="The client secret to authenticate the client credentials grant.")
38
+ oauth_server_scope: Optional[StrictStr] = Field(default=None, description="The scopes to be sent when requesting the access token.")
34
39
  additional_properties: Dict[str, Any] = {}
35
- __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version"]
40
+ __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "oauth_enabled", "oauth_server_url", "oauth_server_client_id", "oauth_server_client_secret", "oauth_server_scope"]
36
41
 
37
42
  model_config = ConfigDict(
38
43
  populate_by_name=True,
@@ -95,7 +100,12 @@ class WebhookShared(BaseModel):
95
100
  "enabled": obj.get("enabled"),
96
101
  "events": obj.get("events"),
97
102
  "environments": obj.get("environments"),
98
- "payload_version": obj.get("payload_version")
103
+ "payload_version": obj.get("payload_version"),
104
+ "oauth_enabled": obj.get("oauth_enabled"),
105
+ "oauth_server_url": obj.get("oauth_server_url"),
106
+ "oauth_server_client_id": obj.get("oauth_server_client_id"),
107
+ "oauth_server_client_secret": obj.get("oauth_server_client_secret"),
108
+ "oauth_server_scope": obj.get("oauth_server_scope")
99
109
  })
100
110
  # store additional fields in additional_properties
101
111
  for _key in obj.keys():
@@ -31,9 +31,14 @@ class WebhookUpdater(BaseModel):
31
31
  events: Optional[List[WebhookEventType]] = Field(default=None, description="The events that will be published to the webhook. If the events parameter is omitted all the events will be subscribed. ")
32
32
  environments: Optional[List[StrictStr]] = Field(default=None, description="The environments from which the webhook will receive events. Allowed values are “sandbox” and “live”. If the environments parameter is omitted the webhook will receive events from both environments. ")
33
33
  payload_version: Optional[StrictInt] = Field(default=None, description="Webhook version used to control the payload object when sending webhooks.")
34
+ oauth_enabled: Optional[StrictBool] = Field(default=None, description="Determines if the webhook will fetch OAuth access tokens to send in the Authorization header.")
35
+ oauth_server_url: Optional[StrictStr] = Field(default=None, description="The url to fetch the OAuth access token using client credentials grant.")
36
+ oauth_server_client_id: Optional[StrictStr] = Field(default=None, description="The client id to authenticate the client credentials grant.")
37
+ oauth_server_client_secret: Optional[StrictStr] = Field(default=None, description="The client secret to authenticate the client credentials grant.")
38
+ oauth_server_scope: Optional[StrictStr] = Field(default=None, description="The scopes to be sent when requesting the access token.")
34
39
  url: Optional[StrictStr] = Field(default=None, description="The url that will listen to notifications (must be https).")
35
40
  additional_properties: Dict[str, Any] = {}
36
- __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "url"]
41
+ __properties: ClassVar[List[str]] = ["enabled", "events", "environments", "payload_version", "oauth_enabled", "oauth_server_url", "oauth_server_client_id", "oauth_server_client_secret", "oauth_server_scope", "url"]
37
42
 
38
43
  model_config = ConfigDict(
39
44
  populate_by_name=True,
@@ -97,6 +102,11 @@ class WebhookUpdater(BaseModel):
97
102
  "events": obj.get("events"),
98
103
  "environments": obj.get("environments"),
99
104
  "payload_version": obj.get("payload_version"),
105
+ "oauth_enabled": obj.get("oauth_enabled"),
106
+ "oauth_server_url": obj.get("oauth_server_url"),
107
+ "oauth_server_client_id": obj.get("oauth_server_client_id"),
108
+ "oauth_server_client_secret": obj.get("oauth_server_client_secret"),
109
+ "oauth_server_scope": obj.get("oauth_server_scope"),
100
110
  "url": obj.get("url")
101
111
  })
102
112
  # store additional fields in additional_properties
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: onfido-python
3
- Version: 5.0.0
3
+ Version: 5.1.0
4
4
  Summary: Python library for the Onfido API
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -19,6 +19,7 @@ Dynamic: description
19
19
  Dynamic: description-content-type
20
20
  Dynamic: keywords
21
21
  Dynamic: license
22
+ Dynamic: license-file
22
23
  Dynamic: requires-dist
23
24
  Dynamic: summary
24
25
 
@@ -1,20 +1,21 @@
1
- onfido/__init__.py,sha256=056tEO3p6M1NHMuHRFt8egOymMyalj0_yLWc4-5lz_E,28728
2
- onfido/api_client.py,sha256=TAD4uoiWtXk6GHSqKRs0utym8N92OOrZEXMaaFzfMJM,27336
1
+ onfido/__init__.py,sha256=RGMTWSKdU0a6Jbxhf7mjuUYfTDymzAj7E6euURKwl9I,28846
2
+ onfido/api_client.py,sha256=2dUUKSyp8A9chRaEIJOQMKJxotSmYK9PZzIak9l15d8,27336
3
3
  onfido/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- onfido/configuration.py,sha256=nGQzsUVjvHdOObHNVqEHgVBHEjVoUv-GbwuN89TFZPE,17499
4
+ onfido/configuration.py,sha256=ieBRtciwq2kOv9FZzTA9BkErOTQ5mfnaiWvPRFAXhVs,17499
5
5
  onfido/exceptions.py,sha256=WeiPD-xpPmBqoLZK859mtLTO5bM8aIsj_oSrkr4bUR4,6393
6
6
  onfido/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  onfido/rest.py,sha256=kI5k8RQ6_BemD6Zx99dJDmr7zwA1mSrHLlba2WwwoMM,9419
8
8
  onfido/webhook_event_verifier.py,sha256=RPoASdqspjgBn9Q_U4dRzOMuMVDYpXSaXluB_zydSIk,891
9
9
  onfido/api/__init__.py,sha256=hqeJm_GD67zukfFQ-H5PPPxYgZZ0DKOMPGTNRAjc3gw,94
10
- onfido/api/default_api.py,sha256=yJ7meWxCOsjHqHvtTzNjPq1BWe6Ohn-MIBBj8Xt2tYA,718164
11
- onfido/models/__init__.py,sha256=tfLRPpOt3cP_sinrG_ZYXBg-KQSFV3qbLy7sdmTEQyE,28076
10
+ onfido/api/default_api.py,sha256=Kuo7DV2b_syxWEv3o99NLotLjqupATmKL8P8ZYorTjY,728215
11
+ onfido/models/__init__.py,sha256=mvIdcOMTDxlyyk61hz0vjs2g5HgafRAo5lBctzwVxg8,28194
12
12
  onfido/models/address.py,sha256=47oVzKVhn6Qxd24HMIuAQmVKgHPyfOnlFmBnthi2wOE,6812
13
13
  onfido/models/address_builder.py,sha256=SjuOn2_T7Yic2l7qhaxd-euaijx85BziRkunp5j292M,6840
14
14
  onfido/models/address_shared.py,sha256=WSQNw_W-V63Jgsh1Jf6KYWb4qm-eOW1URx_8r0LBUMk,6836
15
15
  onfido/models/addresses_list.py,sha256=jRGJls3Q6Kp356ngIZBRLnMv5hi9iyvWbt2Ss0BkZ4w,3492
16
16
  onfido/models/applicant.py,sha256=vbNaqoa2SJf1jVzmmDwIFLeIPkX4UY01EujKbZ4q-h4,6721
17
17
  onfido/models/applicant_builder.py,sha256=TxQXfh-EVPNxmiE1GhVY5iccz9g2iDtcFjL2SiekVKY,6578
18
+ onfido/models/applicant_consent.py,sha256=IYuhM0BGuniQIQbnCkpIDi7mrp114UNFCn5nolCnRKM,3640
18
19
  onfido/models/applicant_consent_builder.py,sha256=56H283tjE430WgY7p_u5_X0ZH96v1j5uPyX3kjeAQRM,3185
19
20
  onfido/models/applicant_consent_name.py,sha256=o8eRcl-XgrJo9Q4EZtuBIUVFG8PKY4eiJTpS1BSCCkE,861
20
21
  onfido/models/applicant_create.py,sha256=whgIDGEObzjoPEbjq4UztQTgUAxzm5AP0YCtodIoqAs,3924
@@ -34,15 +35,16 @@ onfido/models/checks_list.py,sha256=_GDkN9e73HT0m2g3uGS_7i62_d6uDrEXqpryEARynJ8,
34
35
  onfido/models/complete_task_builder.py,sha256=ei2Xxhlnm5ZRuhz27Ptx_eLx7BzSDYb798w67Jf1MxI,3314
35
36
  onfido/models/complete_task_data_builder.py,sha256=jqn15cH3do9uIo1jKIRqgzq_fYgMsgssOgUxG0l4X9Q,5372
36
37
  onfido/models/country_codes.py,sha256=i9dgxc_DZkV2h2xWe5P09rAkRPlJrBKlYPzmXjFq6co,4685
37
- onfido/models/device_intelligence_breakdown.py,sha256=ge4lLA_3rwzgJa7FyTPepuHlXMIvVZPYhzaNC9Zp5jQ,3978
38
- onfido/models/device_intelligence_breakdown_breakdown.py,sha256=CXYtzMzTEIA1NXy4Gu60TQWSbZXHPKYr8U-qA4XfOnw,3504
39
- onfido/models/device_intelligence_breakdown_breakdown_device.py,sha256=qpgVFyE2KTnTHhp9lOWUiF--QFsiF15kL932AleeC-A,3653
40
- onfido/models/device_intelligence_breakdown_breakdown_device_breakdown.py,sha256=Cs5BfPLtGoUIJhjGI6hK8HlZM_fvgJ2GXwFmyzgIBjg,4767
38
+ onfido/models/device_intelligence_breakdown.py,sha256=Of9_f4p7ohqK2wNYkMLH8u9jrcwIAmn0g2nejaS_Zg4,4434
39
+ onfido/models/device_intelligence_breakdown_breakdown.py,sha256=2_wgbsN4UqV9f8OJmiQjvcYTzPxz_zWApHsvyqPc3pQ,3467
40
+ onfido/models/device_intelligence_breakdown_device.py,sha256=t3rQ5jmIoVT6hVMZ0GHgsEEwOrHKE0infiPduZR79MU,3589
41
+ onfido/models/device_intelligence_breakdown_device_breakdown.py,sha256=d-tihT0UYoO4aXHmo5x0tEBKCMt24B8JBc3WFE2gw6E,4731
41
42
  onfido/models/device_intelligence_breakdown_properties.py,sha256=K44aalsUKtaTEvyKnQRDjnxbi1vGWkZgh7YF3PifhqQ,4519
42
- onfido/models/device_intelligence_breakdown_properties_device.py,sha256=e8AHJTGbeXgr5XQ5fYalO0e0zPiAGdo1wZpVc2eCqX4,8776
43
+ onfido/models/device_intelligence_breakdown_properties_device.py,sha256=sQYwHHetd7UR0z7KIXhLd6sn8BQyivJutXI1R2RG8sc,8816
43
44
  onfido/models/device_intelligence_breakdown_properties_geolocation.py,sha256=78wKBOHlNHAc96ZWMPa6hQQPbYKX6ospdNYgyL56-qM,3618
44
45
  onfido/models/device_intelligence_breakdown_properties_ip.py,sha256=Wtm2BPyovvwlRCSk51OhpUAJHp1yZvtb2RktesPXPvg,3205
45
- onfido/models/device_intelligence_report.py,sha256=ivYsI_S-mpB0LKLfuHK7teciqipgG3Lsg-p0frEyJyw,4734
46
+ onfido/models/device_intelligence_properties.py,sha256=cZek94wE-s7P_ye3cZhAIna8B4jm99izNkDOZ_ubZ8U,4483
47
+ onfido/models/device_intelligence_report.py,sha256=Cf-6sTV2pK32LPyZJiA0enkMfuwHZ7W07NRS5s1pnEE,5205
46
48
  onfido/models/document.py,sha256=e0pLWAn6cfIkwieNUiVAW66aGd4WGLXpoP8UIIGRhsY,5321
47
49
  onfido/models/document_breakdown.py,sha256=x7lFBT2V2jJvW0JZ6-U_Ca9vjjPOvtCVJP0i__tYc_Y,7813
48
50
  onfido/models/document_breakdown_age_validation.py,sha256=ioeCHhNEJB4DnY7cqv-oBa87g46mpnq6BBzBIiafXB8,3699
@@ -82,12 +84,12 @@ onfido/models/document_breakdown_visual_authenticity_breakdown_template.py,sha25
82
84
  onfido/models/document_cdq_reasons.py,sha256=1m2qxLuIeC1HKVQim9TLt95l76FDi_rJi0uBYKtd03E,5214
83
85
  onfido/models/document_iq_reasons.py,sha256=OKiCuxShiJ4uBrALjsK_Z_z28fnLwPEYev5YV6cDOVc,5392
84
86
  onfido/models/document_odp_reasons.py,sha256=RQ6UAGnhkg7hfwOaEqAbuxdjIh2F1QyAhsoIpRsQfN0,3966
85
- onfido/models/document_properties.py,sha256=NC_eI8cnozD_3vBGm9SFsach5HdRAldbbXRVqs5Mu3c,13103
87
+ onfido/models/document_properties.py,sha256=Miaz_TMMXU7IfPdlp1hqgePNC0AabER2JYdZIDV0Cs8,13371
86
88
  onfido/models/document_properties_address_lines.py,sha256=KBEQPfyCQNpoA_VjP6vKroWqnOa_sy-G_UnyiBox-jI,3606
87
89
  onfido/models/document_properties_barcode_inner.py,sha256=FVPy1Gc65ECQDY3cuF8J5jhuUNBceyua0ldUepaGZmA,5150
88
90
  onfido/models/document_properties_document_classification.py,sha256=YRa0qNQBNXCPnHJn9_N0lKaXzhVCC-xKPezBBaYR7mU,3400
89
91
  onfido/models/document_properties_document_numbers_inner.py,sha256=xUZ4yR2OXisMrBjygBDhJGYySvfdcfc1VEvMLrOqN1k,3198
90
- onfido/models/document_properties_driving_licence_information.py,sha256=ij5akKUnk_-TZxXeh0jun4IGQf6d4NhmSURHeidjxpA,3486
92
+ onfido/models/document_properties_driving_licence_information_item.py,sha256=avQ-fOOqkW7FGZ-Y8NUFSlCWG3Y9SzPgRc97eCEuj8U,3502
91
93
  onfido/models/document_properties_extracted_data.py,sha256=vW-B2osOZhlGdeanDlgBDLTcDWYLT6-q5SudaSaBuo8,5376
92
94
  onfido/models/document_properties_nfc.py,sha256=0ToFxpEA45NN6Oy9jpOzmLktJpWLAWhBREjehJds-1Y,4475
93
95
  onfido/models/document_report.py,sha256=3TBwNCLsnAso7Mv0rWryIGRRTEBuL2bR3Sdx80A-G-4,5787
@@ -99,7 +101,7 @@ onfido/models/document_video_report.py,sha256=Tn4FmpTstClrDbX2WJWjBi46Bq3asDMSZO
99
101
  onfido/models/document_video_with_address_information_report.py,sha256=_lY0TXi9XbjLVqzIYBqc9lxP6GSn4MMYpK0iBpSrkyQ,5895
100
102
  onfido/models/document_with_address_information_report.py,sha256=zGEpWmcmzURrdDJFWhdJfVB_WdOpaTftdd_00dt7E30,5875
101
103
  onfido/models/document_with_driver_verification_report.py,sha256=h7Oi6QXBtksCQjw40VebLNBwDK0ZtibAje-b2VCE89c,6013
102
- onfido/models/document_with_driver_verification_report_all_of_properties.py,sha256=zJVCr0upQg4UbuqGBcGqdO3aqQiMK8oaaGGbf6DPb_c,15993
104
+ onfido/models/document_with_driver_verification_report_all_of_properties.py,sha256=qmQMfYGj3-jLwwNBK4OduzWy6rfucjOysmgf0fs5Uf0,16261
103
105
  onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle.py,sha256=xI7noUuOz8MIrJ7iErenQgww2EmgTukpYehLBcC1zZI,3792
104
106
  onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner.py,sha256=7IYp8uXyMjA2WKyEDkQw_3_ZixPVosy3x7XcXSksXVQ,3866
105
107
  onfido/models/document_with_driving_licence_information_report.py,sha256=ZNBwUXWK41K6OMSvaGHZVLZoVVBqRickt7MpbSxjqKA,5903
@@ -275,8 +277,8 @@ onfido/models/watchlist_sanctions_only_report.py,sha256=rmp04GCVBnLDjS_3uOEV9jNG
275
277
  onfido/models/watchlist_standard_breakdown.py,sha256=S-y95QaIFHX7mxpTM7Icw3MSf6zRIxvWP9sogqGLruQ,4837
276
278
  onfido/models/watchlist_standard_properties.py,sha256=H6PQLnRUJyVB6iEqNzbcq2b8sL0uHKvZ3bvlnjvAxMo,3258
277
279
  onfido/models/watchlist_standard_report.py,sha256=mh6YqlnlKGnKk9dt4Gs1qWrhuE71rKPu7k6X9AlHhvo,5193
278
- onfido/models/webhook.py,sha256=jfqOqga-muzPOTCX90N0yRY41FOWDHsRbwK-2SMHGBI,4613
279
- onfido/models/webhook_builder.py,sha256=pwhg4W9CuRSdup25LJAV099md70EHPJ9H9gEaREGHy0,4172
280
+ onfido/models/webhook.py,sha256=pMgD0U2WSquDQSa0dAjztD2AzuDl8ZYfpRJoPUZ5PTo,5820
281
+ onfido/models/webhook_builder.py,sha256=EAvRZdklz5zPoQ_tDl2Ywetq_kRaRAWV09l5rkKPA5I,5379
280
282
  onfido/models/webhook_create.py,sha256=8Ur6l4YhUAaIl4WCd-dWqPVmHGZ-2cxROA--U0BLVus,3070
281
283
  onfido/models/webhook_event.py,sha256=g5lobXwKJsA0J34puBVMcLbm7vcrVlZoFTuvRvCFE9o,3323
282
284
  onfido/models/webhook_event_object_status.py,sha256=5R3ggSbPedMyHsiRfx4DXfb-nkURFzhN7EteA3mhXQ8,1325
@@ -287,9 +289,9 @@ onfido/models/webhook_event_resource_type.py,sha256=OGkDFWQNxYZOv871DW5xc4eB-oeQ
287
289
  onfido/models/webhook_event_type.py,sha256=YY-PhXB_Hb9O5QOxinQgjRZYIH6XSu5QF5TJyCviWjg,1625
288
290
  onfido/models/webhook_resend.py,sha256=H_qpNUnh0y1FJQUy1B6ngY69iH7nHU9qjglRXLXKmPc,3478
289
291
  onfido/models/webhook_response.py,sha256=VpnpGMafbWR7oj2Tws-sQlVmNzP9RPEMKvQ_g6wrbt0,3557
290
- onfido/models/webhook_shared.py,sha256=5KI0bTRB_XbewC1xG1Uhezj5lBjnKGqCIXfrdJvgFJI,4025
292
+ onfido/models/webhook_shared.py,sha256=SWwKu5H9l7bDt1sKZD_SvrsDfEafVcnP_LNsbxXPHkE,5232
291
293
  onfido/models/webhook_update.py,sha256=gHE4t1uN84tbCLAcXv5ntfV-HHsWMNCcxjqsDG-r38E,3104
292
- onfido/models/webhook_updater.py,sha256=6Ff3y5eObsgIDFON-LOjPNyOCbCQ3PF7Eb-dvN6mpuc,4196
294
+ onfido/models/webhook_updater.py,sha256=rtB5nVG6BHjo4xihLLSq77RezySx8OV_SDt2ozJzSKs,5403
293
295
  onfido/models/webhooks_list.py,sha256=Mgq7ViW-WcNbQjxTkAyU-RxY3SOBqdDxY3RcwFu6yTU,3449
294
296
  onfido/models/webhooks_resend_item.py,sha256=huJSQx0TfXawHiGG7ftxQH399DeK0xWsvTTSLXKM4Nw,3356
295
297
  onfido/models/workflow_run.py,sha256=0LI2s-9Rv3VxRQfYU8kofRJcqp3k0hrB64tvNNXXgUw,6952
@@ -300,8 +302,8 @@ onfido/models/workflow_run_request.py,sha256=IGCpkcvqn6kJ2L2nZeuBHNeANqcSUfvx0Ig
300
302
  onfido/models/workflow_run_response.py,sha256=Ze469zDUWxZMxqIxas6Sjts3EB21z7PhZTfuWgs0Thw,5080
301
303
  onfido/models/workflow_run_shared.py,sha256=WP9qLkf79iaJTeK-QxkwzB2MvR4atT3LdZZRmZopPp4,4857
302
304
  onfido/models/workflow_run_status.py,sha256=JCHhcFSLM3aiW-fOve51psGJ0_RS-PI--NnvVNSG3fI,942
303
- onfido_python-5.0.0.dist-info/LICENSE,sha256=SKY_O1OkFX8yNWFuVVfYTsXvN46jsgtff-xReserHw4,1073
304
- onfido_python-5.0.0.dist-info/METADATA,sha256=MTsN_8L3kP6ms0hgl3l6jLrGoDXUN3D3n30jewdI458,654
305
- onfido_python-5.0.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
306
- onfido_python-5.0.0.dist-info/top_level.txt,sha256=NHu8xI4S4Avh7xUark3dpdk9atpIVgyf-ptjHXU0-Ns,7
307
- onfido_python-5.0.0.dist-info/RECORD,,
305
+ onfido_python-5.1.0.dist-info/licenses/LICENSE,sha256=SKY_O1OkFX8yNWFuVVfYTsXvN46jsgtff-xReserHw4,1073
306
+ onfido_python-5.1.0.dist-info/METADATA,sha256=DpwT6dz8L1dmdMnwApfyfwpnJ2qXq3ksKnf4XwNdPak,676
307
+ onfido_python-5.1.0.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
308
+ onfido_python-5.1.0.dist-info/top_level.txt,sha256=NHu8xI4S4Avh7xUark3dpdk9atpIVgyf-ptjHXU0-Ns,7
309
+ onfido_python-5.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5