onfido-python 3.3.0__py3-none-any.whl → 3.5.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.
onfido/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "3.3.0"
17
+ __version__ = "3.5.0"
18
18
 
19
19
  # import apis into sdk package
20
20
  from onfido.api.default_api import DefaultApi
@@ -271,6 +271,14 @@ from onfido.models.watchlist_aml_properties import WatchlistAmlProperties
271
271
  from onfido.models.watchlist_aml_report import WatchlistAmlReport
272
272
  from onfido.models.watchlist_enhanced_breakdown import WatchlistEnhancedBreakdown
273
273
  from onfido.models.watchlist_enhanced_properties import WatchlistEnhancedProperties
274
+ from onfido.models.watchlist_enhanced_properties_records_inner import WatchlistEnhancedPropertiesRecordsInner
275
+ from onfido.models.watchlist_enhanced_properties_records_inner_address_inner import WatchlistEnhancedPropertiesRecordsInnerAddressInner
276
+ from onfido.models.watchlist_enhanced_properties_records_inner_alias_inner import WatchlistEnhancedPropertiesRecordsInnerAliasInner
277
+ from onfido.models.watchlist_enhanced_properties_records_inner_associate_inner import WatchlistEnhancedPropertiesRecordsInnerAssociateInner
278
+ from onfido.models.watchlist_enhanced_properties_records_inner_attribute_inner import WatchlistEnhancedPropertiesRecordsInnerAttributeInner
279
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner import WatchlistEnhancedPropertiesRecordsInnerEventInner
280
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner_source import WatchlistEnhancedPropertiesRecordsInnerEventInnerSource
281
+ from onfido.models.watchlist_enhanced_properties_records_inner_source_inner import WatchlistEnhancedPropertiesRecordsInnerSourceInner
274
282
  from onfido.models.watchlist_enhanced_report import WatchlistEnhancedReport
275
283
  from onfido.models.watchlist_monitor import WatchlistMonitor
276
284
  from onfido.models.watchlist_monitor_builder import WatchlistMonitorBuilder
onfido/api_client.py CHANGED
@@ -88,7 +88,7 @@ class ApiClient:
88
88
  self.default_headers[header_name] = header_value
89
89
  self.cookie = cookie
90
90
  # Set default User-Agent.
91
- self.user_agent = 'onfido-python/3.3.0'
91
+ self.user_agent = 'onfido-python/3.5.0'
92
92
  self.client_side_validation = configuration.client_side_validation
93
93
 
94
94
  def __enter__(self):
onfido/configuration.py CHANGED
@@ -383,7 +383,7 @@ conf = onfido.Configuration(
383
383
  "OS: {env}\n"\
384
384
  "Python Version: {pyversion}\n"\
385
385
  "Version of the API: v3.6\n"\
386
- "SDK Package Version: 3.3.0".\
386
+ "SDK Package Version: 3.5.0".\
387
387
  format(env=sys.platform, pyversion=sys.version)
388
388
 
389
389
  def get_host_settings(self):
onfido/models/__init__.py CHANGED
@@ -254,6 +254,14 @@ from onfido.models.watchlist_aml_properties import WatchlistAmlProperties
254
254
  from onfido.models.watchlist_aml_report import WatchlistAmlReport
255
255
  from onfido.models.watchlist_enhanced_breakdown import WatchlistEnhancedBreakdown
256
256
  from onfido.models.watchlist_enhanced_properties import WatchlistEnhancedProperties
257
+ from onfido.models.watchlist_enhanced_properties_records_inner import WatchlistEnhancedPropertiesRecordsInner
258
+ from onfido.models.watchlist_enhanced_properties_records_inner_address_inner import WatchlistEnhancedPropertiesRecordsInnerAddressInner
259
+ from onfido.models.watchlist_enhanced_properties_records_inner_alias_inner import WatchlistEnhancedPropertiesRecordsInnerAliasInner
260
+ from onfido.models.watchlist_enhanced_properties_records_inner_associate_inner import WatchlistEnhancedPropertiesRecordsInnerAssociateInner
261
+ from onfido.models.watchlist_enhanced_properties_records_inner_attribute_inner import WatchlistEnhancedPropertiesRecordsInnerAttributeInner
262
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner import WatchlistEnhancedPropertiesRecordsInnerEventInner
263
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner_source import WatchlistEnhancedPropertiesRecordsInnerEventInnerSource
264
+ from onfido.models.watchlist_enhanced_properties_records_inner_source_inner import WatchlistEnhancedPropertiesRecordsInnerSourceInner
257
265
  from onfido.models.watchlist_enhanced_report import WatchlistEnhancedReport
258
266
  from onfido.models.watchlist_monitor import WatchlistMonitor
259
267
  from onfido.models.watchlist_monitor_builder import WatchlistMonitorBuilder
@@ -17,8 +17,9 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.watchlist_enhanced_properties_records_inner import WatchlistEnhancedPropertiesRecordsInner
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
@@ -26,7 +27,7 @@ class WatchlistEnhancedProperties(BaseModel):
26
27
  """
27
28
  WatchlistEnhancedProperties
28
29
  """ # noqa: E501
29
- records: Optional[List[StrictStr]] = Field(default=None, description="Returns any matches including, but not limited to, name and date of birth of match, aliases and associates, and relevant events and sources.")
30
+ records: Optional[List[WatchlistEnhancedPropertiesRecordsInner]] = Field(default=None, description="Returns any matches including, but not limited to, name and date of birth of match, aliases and associates, and relevant events and sources.")
30
31
  additional_properties: Dict[str, Any] = {}
31
32
  __properties: ClassVar[List[str]] = ["records"]
32
33
 
@@ -71,6 +72,13 @@ class WatchlistEnhancedProperties(BaseModel):
71
72
  exclude=excluded_fields,
72
73
  exclude_none=True,
73
74
  )
75
+ # override the default output from pydantic by calling `to_dict()` of each item in records (list)
76
+ _items = []
77
+ if self.records:
78
+ for _item in self.records:
79
+ if _item:
80
+ _items.append(_item.to_dict())
81
+ _dict['records'] = _items
74
82
  # puts key-value pairs in additional_properties in the top level
75
83
  if self.additional_properties is not None:
76
84
  for _key, _value in self.additional_properties.items():
@@ -88,7 +96,7 @@ class WatchlistEnhancedProperties(BaseModel):
88
96
  return cls.model_validate(obj)
89
97
 
90
98
  _obj = cls.model_validate({
91
- "records": obj.get("records")
99
+ "records": [WatchlistEnhancedPropertiesRecordsInner.from_dict(_item) for _item in obj["records"]] if obj.get("records") is not None else None
92
100
  })
93
101
  # store additional fields in additional_properties
94
102
  for _key in obj.keys():
@@ -0,0 +1,164 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.watchlist_enhanced_properties_records_inner_address_inner import WatchlistEnhancedPropertiesRecordsInnerAddressInner
23
+ from onfido.models.watchlist_enhanced_properties_records_inner_alias_inner import WatchlistEnhancedPropertiesRecordsInnerAliasInner
24
+ from onfido.models.watchlist_enhanced_properties_records_inner_associate_inner import WatchlistEnhancedPropertiesRecordsInnerAssociateInner
25
+ from onfido.models.watchlist_enhanced_properties_records_inner_attribute_inner import WatchlistEnhancedPropertiesRecordsInnerAttributeInner
26
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner import WatchlistEnhancedPropertiesRecordsInnerEventInner
27
+ from onfido.models.watchlist_enhanced_properties_records_inner_source_inner import WatchlistEnhancedPropertiesRecordsInnerSourceInner
28
+ from typing import Optional, Set
29
+ from typing_extensions import Self
30
+
31
+ class WatchlistEnhancedPropertiesRecordsInner(BaseModel):
32
+ """
33
+ WatchlistEnhancedPropertiesRecordsInner
34
+ """ # noqa: E501
35
+ address: Optional[List[WatchlistEnhancedPropertiesRecordsInnerAddressInner]] = Field(default=None, description="All addresses on file.")
36
+ alias: Optional[List[WatchlistEnhancedPropertiesRecordsInnerAliasInner]] = Field(default=None, description="Any names that the person is also known as.")
37
+ associate: Optional[List[WatchlistEnhancedPropertiesRecordsInnerAssociateInner]] = Field(default=None, description="Any linked persons, for example family relatives or business partners.")
38
+ attribute: Optional[List[WatchlistEnhancedPropertiesRecordsInnerAttributeInner]] = Field(default=None, description="Information about the person, for example hair color or nationality.")
39
+ date_of_birth: Optional[List[StrictStr]] = Field(default=None, description="All the date of births on file.")
40
+ event: Optional[List[WatchlistEnhancedPropertiesRecordsInnerEventInner]] = Field(default=None, description="Information about events that have occurred to the person, for example deportation or arrest.")
41
+ full_name: Optional[StrictStr] = Field(default=None, description="The name on file")
42
+ position: Optional[List[StrictStr]] = Field(default=None, description="The role, country and date of each position.")
43
+ source: Optional[List[WatchlistEnhancedPropertiesRecordsInnerSourceInner]] = Field(default=None, description="Details about where the information was obtained.")
44
+ additional_properties: Dict[str, Any] = {}
45
+ __properties: ClassVar[List[str]] = ["address", "alias", "associate", "attribute", "date_of_birth", "event", "full_name", "position", "source"]
46
+
47
+ model_config = ConfigDict(
48
+ populate_by_name=True,
49
+ validate_assignment=True,
50
+ protected_namespaces=(),
51
+ )
52
+
53
+
54
+ def to_str(self) -> str:
55
+ """Returns the string representation of the model using alias"""
56
+ return pprint.pformat(self.model_dump(by_alias=True))
57
+
58
+ def to_json(self) -> str:
59
+ """Returns the JSON representation of the model using alias"""
60
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
61
+ return json.dumps(self.to_dict())
62
+
63
+ @classmethod
64
+ def from_json(cls, json_str: str) -> Optional[Self]:
65
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInner from a JSON string"""
66
+ return cls.from_dict(json.loads(json_str))
67
+
68
+ def to_dict(self) -> Dict[str, Any]:
69
+ """Return the dictionary representation of the model using alias.
70
+
71
+ This has the following differences from calling pydantic's
72
+ `self.model_dump(by_alias=True)`:
73
+
74
+ * `None` is only added to the output dict for nullable fields that
75
+ were set at model initialization. Other fields with value `None`
76
+ are ignored.
77
+ * Fields in `self.additional_properties` are added to the output dict.
78
+ """
79
+ excluded_fields: Set[str] = set([
80
+ "additional_properties",
81
+ ])
82
+
83
+ _dict = self.model_dump(
84
+ by_alias=True,
85
+ exclude=excluded_fields,
86
+ exclude_none=True,
87
+ )
88
+ # override the default output from pydantic by calling `to_dict()` of each item in address (list)
89
+ _items = []
90
+ if self.address:
91
+ for _item in self.address:
92
+ if _item:
93
+ _items.append(_item.to_dict())
94
+ _dict['address'] = _items
95
+ # override the default output from pydantic by calling `to_dict()` of each item in alias (list)
96
+ _items = []
97
+ if self.alias:
98
+ for _item in self.alias:
99
+ if _item:
100
+ _items.append(_item.to_dict())
101
+ _dict['alias'] = _items
102
+ # override the default output from pydantic by calling `to_dict()` of each item in associate (list)
103
+ _items = []
104
+ if self.associate:
105
+ for _item in self.associate:
106
+ if _item:
107
+ _items.append(_item.to_dict())
108
+ _dict['associate'] = _items
109
+ # override the default output from pydantic by calling `to_dict()` of each item in attribute (list)
110
+ _items = []
111
+ if self.attribute:
112
+ for _item in self.attribute:
113
+ if _item:
114
+ _items.append(_item.to_dict())
115
+ _dict['attribute'] = _items
116
+ # override the default output from pydantic by calling `to_dict()` of each item in event (list)
117
+ _items = []
118
+ if self.event:
119
+ for _item in self.event:
120
+ if _item:
121
+ _items.append(_item.to_dict())
122
+ _dict['event'] = _items
123
+ # override the default output from pydantic by calling `to_dict()` of each item in source (list)
124
+ _items = []
125
+ if self.source:
126
+ for _item in self.source:
127
+ if _item:
128
+ _items.append(_item.to_dict())
129
+ _dict['source'] = _items
130
+ # puts key-value pairs in additional_properties in the top level
131
+ if self.additional_properties is not None:
132
+ for _key, _value in self.additional_properties.items():
133
+ _dict[_key] = _value
134
+
135
+ return _dict
136
+
137
+ @classmethod
138
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
139
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInner from a dict"""
140
+ if obj is None:
141
+ return None
142
+
143
+ if not isinstance(obj, dict):
144
+ return cls.model_validate(obj)
145
+
146
+ _obj = cls.model_validate({
147
+ "address": [WatchlistEnhancedPropertiesRecordsInnerAddressInner.from_dict(_item) for _item in obj["address"]] if obj.get("address") is not None else None,
148
+ "alias": [WatchlistEnhancedPropertiesRecordsInnerAliasInner.from_dict(_item) for _item in obj["alias"]] if obj.get("alias") is not None else None,
149
+ "associate": [WatchlistEnhancedPropertiesRecordsInnerAssociateInner.from_dict(_item) for _item in obj["associate"]] if obj.get("associate") is not None else None,
150
+ "attribute": [WatchlistEnhancedPropertiesRecordsInnerAttributeInner.from_dict(_item) for _item in obj["attribute"]] if obj.get("attribute") is not None else None,
151
+ "date_of_birth": obj.get("date_of_birth"),
152
+ "event": [WatchlistEnhancedPropertiesRecordsInnerEventInner.from_dict(_item) for _item in obj["event"]] if obj.get("event") is not None else None,
153
+ "full_name": obj.get("full_name"),
154
+ "position": obj.get("position"),
155
+ "source": [WatchlistEnhancedPropertiesRecordsInnerSourceInner.from_dict(_item) for _item in obj["source"]] if obj.get("source") is not None else None
156
+ })
157
+ # store additional fields in additional_properties
158
+ for _key in obj.keys():
159
+ if _key not in cls.__properties:
160
+ _obj.additional_properties[_key] = obj.get(_key)
161
+
162
+ return _obj
163
+
164
+
@@ -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 pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from onfido.models.country_codes import CountryCodes
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class WatchlistEnhancedPropertiesRecordsInnerAddressInner(BaseModel):
27
+ """
28
+ WatchlistEnhancedPropertiesRecordsInnerAddressInner
29
+ """ # noqa: E501
30
+ address_line1: Optional[StrictStr] = None
31
+ country: Optional[CountryCodes] = None
32
+ postal_code: Optional[StrictStr] = None
33
+ state_province: Optional[StrictStr] = None
34
+ town: Optional[StrictStr] = None
35
+ locator_type: Optional[StrictStr] = None
36
+ additional_properties: Dict[str, Any] = {}
37
+ __properties: ClassVar[List[str]] = ["address_line1", "country", "postal_code", "state_province", "town", "locator_type"]
38
+
39
+ model_config = ConfigDict(
40
+ populate_by_name=True,
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def to_str(self) -> str:
47
+ """Returns the string representation of the model using alias"""
48
+ return pprint.pformat(self.model_dump(by_alias=True))
49
+
50
+ def to_json(self) -> str:
51
+ """Returns the JSON representation of the model using alias"""
52
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
+ return json.dumps(self.to_dict())
54
+
55
+ @classmethod
56
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAddressInner from a JSON string"""
58
+ return cls.from_dict(json.loads(json_str))
59
+
60
+ def to_dict(self) -> Dict[str, Any]:
61
+ """Return the dictionary representation of the model using alias.
62
+
63
+ This has the following differences from calling pydantic's
64
+ `self.model_dump(by_alias=True)`:
65
+
66
+ * `None` is only added to the output dict for nullable fields that
67
+ were set at model initialization. Other fields with value `None`
68
+ are ignored.
69
+ * Fields in `self.additional_properties` are added to the output dict.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ "additional_properties",
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ # puts key-value pairs in additional_properties in the top level
81
+ if self.additional_properties is not None:
82
+ for _key, _value in self.additional_properties.items():
83
+ _dict[_key] = _value
84
+
85
+ return _dict
86
+
87
+ @classmethod
88
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
89
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAddressInner from a dict"""
90
+ if obj is None:
91
+ return None
92
+
93
+ if not isinstance(obj, dict):
94
+ return cls.model_validate(obj)
95
+
96
+ _obj = cls.model_validate({
97
+ "address_line1": obj.get("address_line1"),
98
+ "country": obj.get("country"),
99
+ "postal_code": obj.get("postal_code"),
100
+ "state_province": obj.get("state_province"),
101
+ "town": obj.get("town"),
102
+ "locator_type": obj.get("locator_type")
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
+
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class WatchlistEnhancedPropertiesRecordsInnerAliasInner(BaseModel):
26
+ """
27
+ WatchlistEnhancedPropertiesRecordsInnerAliasInner
28
+ """ # noqa: E501
29
+ alias_name: Optional[StrictStr] = None
30
+ alias_type: Optional[StrictStr] = None
31
+ additional_properties: Dict[str, Any] = {}
32
+ __properties: ClassVar[List[str]] = ["alias_name", "alias_type"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAliasInner from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ * Fields in `self.additional_properties` are added to the output dict.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ "additional_properties",
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # puts key-value pairs in additional_properties in the top level
76
+ if self.additional_properties is not None:
77
+ for _key, _value in self.additional_properties.items():
78
+ _dict[_key] = _value
79
+
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAliasInner from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "alias_name": obj.get("alias_name"),
93
+ "alias_type": obj.get("alias_type")
94
+ })
95
+ # store additional fields in additional_properties
96
+ for _key in obj.keys():
97
+ if _key not in cls.__properties:
98
+ _obj.additional_properties[_key] = obj.get(_key)
99
+
100
+ return _obj
101
+
102
+
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class WatchlistEnhancedPropertiesRecordsInnerAssociateInner(BaseModel):
26
+ """
27
+ WatchlistEnhancedPropertiesRecordsInnerAssociateInner
28
+ """ # noqa: E501
29
+ entity_name: Optional[StrictStr] = None
30
+ relationship_direction: Optional[StrictStr] = None
31
+ relationship_type: Optional[StrictStr] = None
32
+ additional_properties: Dict[str, Any] = {}
33
+ __properties: ClassVar[List[str]] = ["entity_name", "relationship_direction", "relationship_type"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAssociateInner from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ * Fields in `self.additional_properties` are added to the output dict.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ "additional_properties",
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # puts key-value pairs in additional_properties in the top level
77
+ if self.additional_properties is not None:
78
+ for _key, _value in self.additional_properties.items():
79
+ _dict[_key] = _value
80
+
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAssociateInner from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "entity_name": obj.get("entity_name"),
94
+ "relationship_direction": obj.get("relationship_direction"),
95
+ "relationship_type": obj.get("relationship_type")
96
+ })
97
+ # store additional fields in additional_properties
98
+ for _key in obj.keys():
99
+ if _key not in cls.__properties:
100
+ _obj.additional_properties[_key] = obj.get(_key)
101
+
102
+ return _obj
103
+
104
+
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class WatchlistEnhancedPropertiesRecordsInnerAttributeInner(BaseModel):
26
+ """
27
+ WatchlistEnhancedPropertiesRecordsInnerAttributeInner
28
+ """ # noqa: E501
29
+ attribute_type: Optional[StrictStr] = None
30
+ attribute_value: Optional[StrictStr] = None
31
+ additional_properties: Dict[str, Any] = {}
32
+ __properties: ClassVar[List[str]] = ["attribute_type", "attribute_value"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAttributeInner from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ * Fields in `self.additional_properties` are added to the output dict.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ "additional_properties",
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # puts key-value pairs in additional_properties in the top level
76
+ if self.additional_properties is not None:
77
+ for _key, _value in self.additional_properties.items():
78
+ _dict[_key] = _value
79
+
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerAttributeInner from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "attribute_type": obj.get("attribute_type"),
93
+ "attribute_value": obj.get("attribute_value")
94
+ })
95
+ # store additional fields in additional_properties
96
+ for _key in obj.keys():
97
+ if _key not in cls.__properties:
98
+ _obj.additional_properties[_key] = obj.get(_key)
99
+
100
+ return _obj
101
+
102
+
@@ -0,0 +1,113 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import date
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from onfido.models.watchlist_enhanced_properties_records_inner_event_inner_source import WatchlistEnhancedPropertiesRecordsInnerEventInnerSource
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class WatchlistEnhancedPropertiesRecordsInnerEventInner(BaseModel):
28
+ """
29
+ WatchlistEnhancedPropertiesRecordsInnerEventInner
30
+ """ # noqa: E501
31
+ category: Optional[StrictStr] = None
32
+ event_date: Optional[date] = None
33
+ event_description: Optional[StrictStr] = None
34
+ source: Optional[WatchlistEnhancedPropertiesRecordsInnerEventInnerSource] = None
35
+ sub_category: Optional[StrictStr] = None
36
+ additional_properties: Dict[str, Any] = {}
37
+ __properties: ClassVar[List[str]] = ["category", "event_date", "event_description", "source", "sub_category"]
38
+
39
+ model_config = ConfigDict(
40
+ populate_by_name=True,
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def to_str(self) -> str:
47
+ """Returns the string representation of the model using alias"""
48
+ return pprint.pformat(self.model_dump(by_alias=True))
49
+
50
+ def to_json(self) -> str:
51
+ """Returns the JSON representation of the model using alias"""
52
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
+ return json.dumps(self.to_dict())
54
+
55
+ @classmethod
56
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerEventInner from a JSON string"""
58
+ return cls.from_dict(json.loads(json_str))
59
+
60
+ def to_dict(self) -> Dict[str, Any]:
61
+ """Return the dictionary representation of the model using alias.
62
+
63
+ This has the following differences from calling pydantic's
64
+ `self.model_dump(by_alias=True)`:
65
+
66
+ * `None` is only added to the output dict for nullable fields that
67
+ were set at model initialization. Other fields with value `None`
68
+ are ignored.
69
+ * Fields in `self.additional_properties` are added to the output dict.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ "additional_properties",
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ # override the default output from pydantic by calling `to_dict()` of source
81
+ if self.source:
82
+ _dict['source'] = self.source.to_dict()
83
+ # puts key-value pairs in additional_properties in the top level
84
+ if self.additional_properties is not None:
85
+ for _key, _value in self.additional_properties.items():
86
+ _dict[_key] = _value
87
+
88
+ return _dict
89
+
90
+ @classmethod
91
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
92
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerEventInner 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
+ "category": obj.get("category"),
101
+ "event_date": obj.get("event_date"),
102
+ "event_description": obj.get("event_description"),
103
+ "source": WatchlistEnhancedPropertiesRecordsInnerEventInnerSource.from_dict(obj["source"]) if obj.get("source") is not None else None,
104
+ "sub_category": obj.get("sub_category")
105
+ })
106
+ # store additional fields in additional_properties
107
+ for _key in obj.keys():
108
+ if _key not in cls.__properties:
109
+ _obj.additional_properties[_key] = obj.get(_key)
110
+
111
+ return _obj
112
+
113
+
@@ -0,0 +1,107 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import date
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class WatchlistEnhancedPropertiesRecordsInnerEventInnerSource(BaseModel):
27
+ """
28
+ WatchlistEnhancedPropertiesRecordsInnerEventInnerSource
29
+ """ # noqa: E501
30
+ source_date: Optional[date] = None
31
+ source_format: Optional[StrictStr] = None
32
+ source_name: Optional[StrictStr] = None
33
+ source_url: Optional[StrictStr] = None
34
+ additional_properties: Dict[str, Any] = {}
35
+ __properties: ClassVar[List[str]] = ["source_date", "source_format", "source_name", "source_url"]
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 WatchlistEnhancedPropertiesRecordsInnerEventInnerSource 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
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerEventInnerSource from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "source_date": obj.get("source_date"),
96
+ "source_format": obj.get("source_format"),
97
+ "source_name": obj.get("source_name"),
98
+ "source_url": obj.get("source_url")
99
+ })
100
+ # store additional fields in additional_properties
101
+ for _key in obj.keys():
102
+ if _key not in cls.__properties:
103
+ _obj.additional_properties[_key] = obj.get(_key)
104
+
105
+ return _obj
106
+
107
+
@@ -0,0 +1,106 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Onfido API v3.6
5
+
6
+ The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class WatchlistEnhancedPropertiesRecordsInnerSourceInner(BaseModel):
26
+ """
27
+ WatchlistEnhancedPropertiesRecordsInnerSourceInner
28
+ """ # noqa: E501
29
+ source_headline: Optional[StrictStr] = None
30
+ source_name: Optional[StrictStr] = None
31
+ source_url: Optional[StrictStr] = None
32
+ source_format: Optional[StrictStr] = None
33
+ additional_properties: Dict[str, Any] = {}
34
+ __properties: ClassVar[List[str]] = ["source_headline", "source_name", "source_url", "source_format"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerSourceInner from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ * Fields in `self.additional_properties` are added to the output dict.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ "additional_properties",
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ # puts key-value pairs in additional_properties in the top level
78
+ if self.additional_properties is not None:
79
+ for _key, _value in self.additional_properties.items():
80
+ _dict[_key] = _value
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of WatchlistEnhancedPropertiesRecordsInnerSourceInner from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "source_headline": obj.get("source_headline"),
95
+ "source_name": obj.get("source_name"),
96
+ "source_url": obj.get("source_url"),
97
+ "source_format": obj.get("source_format")
98
+ })
99
+ # store additional fields in additional_properties
100
+ for _key in obj.keys():
101
+ if _key not in cls.__properties:
102
+ _obj.additional_properties[_key] = obj.get(_key)
103
+
104
+ return _obj
105
+
106
+
@@ -33,6 +33,7 @@ class WorkflowRun(BaseModel):
33
33
  applicant_id: StrictStr = Field(description="The unique identifier for the Applicant.")
34
34
  workflow_id: StrictStr = Field(description="The unique identifier for the Workflow.")
35
35
  tags: Optional[Annotated[List[Annotated[str, Field(min_length=1, strict=True, max_length=128)]], Field(max_length=30)]] = Field(default=None, description="Tags or labels assigned to the workflow run.")
36
+ customer_user_id: Optional[Annotated[str, Field(strict=True, max_length=256)]] = Field(default=None, description="Customer-provided user identifier.")
36
37
  link: Optional[WorkflowRunSharedLink] = None
37
38
  created_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was created.")
38
39
  updated_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was last updated.")
@@ -43,8 +44,9 @@ class WorkflowRun(BaseModel):
43
44
  output: Optional[Dict[str, Any]] = Field(default=None, description="Output object contains all of the properties configured on the Workflow version.")
44
45
  reasons: Optional[List[StrictStr]] = Field(default=None, description="The reasons the Workflow Run outcome was reached. Configurable when creating the Workflow version.")
45
46
  error: Optional[WorkflowRunResponseError] = None
47
+ sdk_token: Optional[StrictStr] = Field(default=None, description="Client token to use when loading this workflow run in the Onfido SDK.")
46
48
  additional_properties: Dict[str, Any] = {}
47
- __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "link", "created_at", "updated_at", "id", "workflow_version_id", "dashboard_url", "status", "output", "reasons", "error"]
49
+ __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "customer_user_id", "link", "created_at", "updated_at", "id", "workflow_version_id", "dashboard_url", "status", "output", "reasons", "error", "sdk_token"]
48
50
 
49
51
  @field_validator('status')
50
52
  def status_validate_enum(cls, value):
@@ -113,6 +115,11 @@ class WorkflowRun(BaseModel):
113
115
  if self.tags is None and "tags" in self.model_fields_set:
114
116
  _dict['tags'] = None
115
117
 
118
+ # set to None if sdk_token (nullable) is None
119
+ # and model_fields_set contains the field
120
+ if self.sdk_token is None and "sdk_token" in self.model_fields_set:
121
+ _dict['sdk_token'] = None
122
+
116
123
  return _dict
117
124
 
118
125
  @classmethod
@@ -128,6 +135,7 @@ class WorkflowRun(BaseModel):
128
135
  "applicant_id": obj.get("applicant_id"),
129
136
  "workflow_id": obj.get("workflow_id"),
130
137
  "tags": obj.get("tags"),
138
+ "customer_user_id": obj.get("customer_user_id"),
131
139
  "link": WorkflowRunSharedLink.from_dict(obj["link"]) if obj.get("link") is not None else None,
132
140
  "created_at": obj.get("created_at"),
133
141
  "updated_at": obj.get("updated_at"),
@@ -137,7 +145,8 @@ class WorkflowRun(BaseModel):
137
145
  "status": obj.get("status"),
138
146
  "output": obj.get("output"),
139
147
  "reasons": obj.get("reasons"),
140
- "error": WorkflowRunResponseError.from_dict(obj["error"]) if obj.get("error") is not None else None
148
+ "error": WorkflowRunResponseError.from_dict(obj["error"]) if obj.get("error") is not None else None,
149
+ "sdk_token": obj.get("sdk_token")
141
150
  })
142
151
  # store additional fields in additional_properties
143
152
  for _key in obj.keys():
@@ -32,12 +32,13 @@ class WorkflowRunBuilder(BaseModel):
32
32
  applicant_id: StrictStr = Field(description="The unique identifier for the Applicant.")
33
33
  workflow_id: StrictStr = Field(description="The unique identifier for the Workflow.")
34
34
  tags: Optional[Annotated[List[Annotated[str, Field(min_length=1, strict=True, max_length=128)]], Field(max_length=30)]] = Field(default=None, description="Tags or labels assigned to the workflow run.")
35
+ customer_user_id: Optional[Annotated[str, Field(strict=True, max_length=256)]] = Field(default=None, description="Customer-provided user identifier.")
35
36
  link: Optional[WorkflowRunSharedLink] = None
36
37
  created_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was created.")
37
38
  updated_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was last updated.")
38
39
  custom_data: Optional[Dict[str, Any]] = Field(default=None, description="Object with Custom Input Data to be used in the Workflow Run.")
39
40
  additional_properties: Dict[str, Any] = {}
40
- __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "link", "created_at", "updated_at", "custom_data"]
41
+ __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "customer_user_id", "link", "created_at", "updated_at", "custom_data"]
41
42
 
42
43
  model_config = ConfigDict(
43
44
  populate_by_name=True,
@@ -108,6 +109,7 @@ class WorkflowRunBuilder(BaseModel):
108
109
  "applicant_id": obj.get("applicant_id"),
109
110
  "workflow_id": obj.get("workflow_id"),
110
111
  "tags": obj.get("tags"),
112
+ "customer_user_id": obj.get("customer_user_id"),
111
113
  "link": WorkflowRunSharedLink.from_dict(obj["link"]) if obj.get("link") is not None else None,
112
114
  "created_at": obj.get("created_at"),
113
115
  "updated_at": obj.get("updated_at"),
@@ -34,8 +34,9 @@ class WorkflowRunResponse(BaseModel):
34
34
  output: Optional[Dict[str, Any]] = Field(default=None, description="Output object contains all of the properties configured on the Workflow version.")
35
35
  reasons: Optional[List[StrictStr]] = Field(default=None, description="The reasons the Workflow Run outcome was reached. Configurable when creating the Workflow version.")
36
36
  error: Optional[WorkflowRunResponseError] = None
37
+ sdk_token: Optional[StrictStr] = Field(default=None, description="Client token to use when loading this workflow run in the Onfido SDK.")
37
38
  additional_properties: Dict[str, Any] = {}
38
- __properties: ClassVar[List[str]] = ["id", "workflow_version_id", "dashboard_url", "status", "output", "reasons", "error"]
39
+ __properties: ClassVar[List[str]] = ["id", "workflow_version_id", "dashboard_url", "status", "output", "reasons", "error", "sdk_token"]
39
40
 
40
41
  @field_validator('status')
41
42
  def status_validate_enum(cls, value):
@@ -96,6 +97,11 @@ class WorkflowRunResponse(BaseModel):
96
97
  for _key, _value in self.additional_properties.items():
97
98
  _dict[_key] = _value
98
99
 
100
+ # set to None if sdk_token (nullable) is None
101
+ # and model_fields_set contains the field
102
+ if self.sdk_token is None and "sdk_token" in self.model_fields_set:
103
+ _dict['sdk_token'] = None
104
+
99
105
  return _dict
100
106
 
101
107
  @classmethod
@@ -114,7 +120,8 @@ class WorkflowRunResponse(BaseModel):
114
120
  "status": obj.get("status"),
115
121
  "output": obj.get("output"),
116
122
  "reasons": obj.get("reasons"),
117
- "error": WorkflowRunResponseError.from_dict(obj["error"]) if obj.get("error") is not None else None
123
+ "error": WorkflowRunResponseError.from_dict(obj["error"]) if obj.get("error") is not None else None,
124
+ "sdk_token": obj.get("sdk_token")
118
125
  })
119
126
  # store additional fields in additional_properties
120
127
  for _key in obj.keys():
@@ -32,11 +32,12 @@ class WorkflowRunShared(BaseModel):
32
32
  applicant_id: StrictStr = Field(description="The unique identifier for the Applicant.")
33
33
  workflow_id: StrictStr = Field(description="The unique identifier for the Workflow.")
34
34
  tags: Optional[Annotated[List[Annotated[str, Field(min_length=1, strict=True, max_length=128)]], Field(max_length=30)]] = Field(default=None, description="Tags or labels assigned to the workflow run.")
35
+ customer_user_id: Optional[Annotated[str, Field(strict=True, max_length=256)]] = Field(default=None, description="Customer-provided user identifier.")
35
36
  link: Optional[WorkflowRunSharedLink] = None
36
37
  created_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was created.")
37
38
  updated_at: Optional[datetime] = Field(default=None, description="The date and time when the Workflow Run was last updated.")
38
39
  additional_properties: Dict[str, Any] = {}
39
- __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "link", "created_at", "updated_at"]
40
+ __properties: ClassVar[List[str]] = ["applicant_id", "workflow_id", "tags", "customer_user_id", "link", "created_at", "updated_at"]
40
41
 
41
42
  model_config = ConfigDict(
42
43
  populate_by_name=True,
@@ -107,6 +108,7 @@ class WorkflowRunShared(BaseModel):
107
108
  "applicant_id": obj.get("applicant_id"),
108
109
  "workflow_id": obj.get("workflow_id"),
109
110
  "tags": obj.get("tags"),
111
+ "customer_user_id": obj.get("customer_user_id"),
110
112
  "link": WorkflowRunSharedLink.from_dict(obj["link"]) if obj.get("link") is not None else None,
111
113
  "created_at": obj.get("created_at"),
112
114
  "updated_at": obj.get("updated_at")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: onfido-python
3
- Version: 3.3.0
3
+ Version: 3.5.0
4
4
  Summary: Python library for the Onfido API
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -1,14 +1,14 @@
1
- onfido/__init__.py,sha256=oZ8T3TqtvOz-mDpbgg2FIAptR9vAbVUsYcGLmaJkv8Y,27053
2
- onfido/api_client.py,sha256=CGsFK2H5x8VO4yXLH8nA7YyxSob2FosUT3vauvu3u5w,26205
1
+ onfido/__init__.py,sha256=4QGns9SEWf_X0ehNok5nrkh0twv6vbuzqgMQulT9STE,28122
2
+ onfido/api_client.py,sha256=jFcZLl-A1o41-OuODqAeDg1kec0zV4l-UREnE2_G7z4,26205
3
3
  onfido/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- onfido/configuration.py,sha256=DiBi_YlOW9Hzhglao7GZB3LJGGqM4DOiDmfo5GnipNA,14613
4
+ onfido/configuration.py,sha256=1g7ptNPSv8xZJ6fptFN5K7oDGWLl7HnpQ2vK_9T9Xrc,14613
5
5
  onfido/exceptions.py,sha256=5W4DJIPVwIzljxoedh5czPXOTBaq6CTTVD92h5ZyN88,5894
6
6
  onfido/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  onfido/rest.py,sha256=NSJRLqL8U0UzO2YY0KCP4_BmvhOedRHC7zGVTrJ1VFU,9415
8
8
  onfido/webhook_event_verifier.py,sha256=3BSbY5D8NTXDbxCX0POuyu5a09dEeWgmikrTe_pttkI,814
9
9
  onfido/api/__init__.py,sha256=hqeJm_GD67zukfFQ-H5PPPxYgZZ0DKOMPGTNRAjc3gw,94
10
10
  onfido/api/default_api.py,sha256=Eelike5MvHvPpw8u8KchC9Bfn4sPkjMk7TH0LyeHTMs,687639
11
- onfido/models/__init__.py,sha256=XJ5d4YV52FNXwBYQabTrtVBd-Y61_po8BdxlCJd-prg,26401
11
+ onfido/models/__init__.py,sha256=-QcukmPFARoksV2q0eTy12YfkdWQdLhn9ROyLOMJT4U,27470
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
@@ -248,7 +248,15 @@ onfido/models/watchlist_aml_breakdown_sanction.py,sha256=E8ey_9TUZVRzRg1WRN_XxRs
248
248
  onfido/models/watchlist_aml_properties.py,sha256=VH3M6wqR8GY4DUsAkllaMVeH7osDNFcS89xqGrCpWqQ,3244
249
249
  onfido/models/watchlist_aml_report.py,sha256=PFdQjkyh61nxjcbb-CFisvaO8gklGG2LRvNNxkPpqaY,5867
250
250
  onfido/models/watchlist_enhanced_breakdown.py,sha256=DHuLezE2g-TArnMImvMeNlkuOGxjuyxinSRQeuuzJS0,5231
251
- onfido/models/watchlist_enhanced_properties.py,sha256=cOFo0at_AmldyezBsAgy2E1ym5z_7hsXwbqegtb2oK0,3264
251
+ onfido/models/watchlist_enhanced_properties.py,sha256=fjGJvhawrdezM4nuWxuQRfAM9JipJwm_gQgNH49f3TM,3810
252
+ onfido/models/watchlist_enhanced_properties_records_inner.py,sha256=Tnj1BuHGkzctM3FqqP5J5esFCseycG_y2g18LFu1_IY,8315
253
+ onfido/models/watchlist_enhanced_properties_records_inner_address_inner.py,sha256=qHo2B1hiZsRMjgOT5xmaJpv4r5FLt44sOb4G8i_PQCM,3778
254
+ onfido/models/watchlist_enhanced_properties_records_inner_alias_inner.py,sha256=iwYH-kOv-N8oPFn31T9drEl8ezxH84X1Th682Kh2fBs,3286
255
+ onfido/models/watchlist_enhanced_properties_records_inner_associate_inner.py,sha256=4VPf3enaMlXH8h7B64IVeup-8Uu1HjmPKrwslfzXI0Y,3488
256
+ onfido/models/watchlist_enhanced_properties_records_inner_attribute_inner.py,sha256=Hlo1PBhvhw8Y9SfhpdeT_vAaT0OZr7zkgqISV5uT36k,3338
257
+ onfido/models/watchlist_enhanced_properties_records_inner_event_inner.py,sha256=_RYJKwrt71ayppXfZS4jAaCb1WkRlxQdLwOjwpEzgTQ,4095
258
+ onfido/models/watchlist_enhanced_properties_records_inner_event_inner_source.py,sha256=XBLXd--mRvN-PNPqjtrCqfZwaLa45ul3Xwwj1hb3TOU,3563
259
+ onfido/models/watchlist_enhanced_properties_records_inner_source_inner.py,sha256=WijE3B3xOJWJYqNPrQrQxdqvfJ2_rTM4ZBD9GWSak-4,3538
252
260
  onfido/models/watchlist_enhanced_report.py,sha256=dMT9GqZZAGxYQUOT0yhck9TS_mjsu1bn_sPTOG2wHls,5927
253
261
  onfido/models/watchlist_monitor.py,sha256=J6YoiTB5FI4QjhvSGlgX1WWxds2pcKzLhLlE88mWOmQ,4680
254
262
  onfido/models/watchlist_monitor_builder.py,sha256=G0VuDZqa8XAQ4wYrDl-h4YYP2E5eMhUjH_02IxszThI,3866
@@ -277,15 +285,15 @@ onfido/models/webhook_update.py,sha256=gHE4t1uN84tbCLAcXv5ntfV-HHsWMNCcxjqsDG-r3
277
285
  onfido/models/webhook_updater.py,sha256=6Ff3y5eObsgIDFON-LOjPNyOCbCQ3PF7Eb-dvN6mpuc,4196
278
286
  onfido/models/webhooks_list.py,sha256=t3KMrohj-rTiW0VJN5KLsicNIsAYZXXV52aieIteI3E,3422
279
287
  onfido/models/webhooks_resend_item.py,sha256=huJSQx0TfXawHiGG7ftxQH399DeK0xWsvTTSLXKM4Nw,3356
280
- onfido/models/workflow_run.py,sha256=Dy7a7fLvT1Z7aZPwCdXw69QSb9kE26k2kXq8UBEkx1s,6566
281
- onfido/models/workflow_run_builder.py,sha256=_gi9ZqIP59_RHOQ0eatxwCiiELpXbNgZzXT_BqmoyaM,4772
288
+ onfido/models/workflow_run.py,sha256=aLrcrwxH8adftdhtAiaoi0D_7p9_IzBXtxUxWdzqJjs,7223
289
+ onfido/models/workflow_run_builder.py,sha256=gOyviRc3pira1qTmC17fDI7-4N_fPq6Ts82-WCvvXtQ,5008
282
290
  onfido/models/workflow_run_request.py,sha256=IGCpkcvqn6kJ2L2nZeuBHNeANqcSUfvx0IgcKOqv-4s,3153
283
- onfido/models/workflow_run_response.py,sha256=YKYOf78z7GA2IG0B_EDJMqEtdqssVdzzhC5il0Lceaw,4990
291
+ onfido/models/workflow_run_response.py,sha256=V02gQYrH43UK4kQcwxPjnadrty9Ffy2QiI7M62zCVA4,5411
284
292
  onfido/models/workflow_run_response_error.py,sha256=93xJUVTdo4PUsMzOdcsAifRWlZiTh6nO-nDPUc2SMTs,3311
285
- onfido/models/workflow_run_shared.py,sha256=fHcZBs61MokjwyaAD1tDKoefpoTwM-DCeiBkjV5n6E8,4561
293
+ onfido/models/workflow_run_shared.py,sha256=pzWbYKouw716jCiNAdSGfWyjdTdx-9T6ioKsoQDZ9hs,4797
286
294
  onfido/models/workflow_run_shared_link.py,sha256=8uAlWkhDF9g_7CuVfhoAXgZqcv6LZHOIc4c_CqMxths,4682
287
- onfido_python-3.3.0.dist-info/LICENSE,sha256=SKY_O1OkFX8yNWFuVVfYTsXvN46jsgtff-xReserHw4,1073
288
- onfido_python-3.3.0.dist-info/METADATA,sha256=40NH6GKoTftSKonaG_9fSJYypX6SsLHjEKpm3FP2Nxg,482
289
- onfido_python-3.3.0.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
290
- onfido_python-3.3.0.dist-info/top_level.txt,sha256=NHu8xI4S4Avh7xUark3dpdk9atpIVgyf-ptjHXU0-Ns,7
291
- onfido_python-3.3.0.dist-info/RECORD,,
295
+ onfido_python-3.5.0.dist-info/LICENSE,sha256=SKY_O1OkFX8yNWFuVVfYTsXvN46jsgtff-xReserHw4,1073
296
+ onfido_python-3.5.0.dist-info/METADATA,sha256=vUdG3DWR6Z-NxADlYoSprDNmWupK74f1CzEbZy8gDSE,482
297
+ onfido_python-3.5.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
298
+ onfido_python-3.5.0.dist-info/top_level.txt,sha256=NHu8xI4S4Avh7xUark3dpdk9atpIVgyf-ptjHXU0-Ns,7
299
+ onfido_python-3.5.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.3.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5