lusid-sdk 2.1.891__py3-none-any.whl → 2.1.893__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.
@@ -59,30 +59,32 @@ class InvestorRecordsApi:
59
59
 
60
60
 
61
61
  @overload
62
- async def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
62
+ async def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
63
63
  ...
64
64
 
65
65
  @overload
66
- def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
66
+ def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
67
67
  ...
68
68
 
69
69
  @validate_arguments
70
- def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
70
+ def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
71
71
  """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
72
72
 
73
73
  Delete an investor record. Deletion will be valid from the investor record's creation datetime. This means that the investor record will no longer exist at any effective datetime from the asAt datetime of deletion. # noqa: E501
74
74
  This method makes a synchronous HTTP request by default. To make an
75
75
  asynchronous HTTP request, please pass async_req=True
76
76
 
77
- >>> thread = api.delete_investor_record(id_type_scope, id_type_code, code, async_req=True)
77
+ >>> thread = api.delete_investor_record(identifier_type, identifier_value, scope, identifier_scope, async_req=True)
78
78
  >>> result = thread.get()
79
79
 
80
- :param id_type_scope: The scope of the investor record identifier type. (required)
81
- :type id_type_scope: str
82
- :param id_type_code: The code of the investor record identifier type. (required)
83
- :type id_type_code: str
84
- :param code: Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete. (required)
85
- :type code: str
80
+ :param identifier_type: Code of the investor record identifier type. (required)
81
+ :type identifier_type: str
82
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
83
+ :type identifier_value: str
84
+ :param scope: The scope of the investor record entity. (required)
85
+ :type scope: str
86
+ :param identifier_scope: Scope of the investor record identifier type. (required)
87
+ :type identifier_scope: str
86
88
  :param async_req: Whether to execute the request asynchronously.
87
89
  :type async_req: bool, optional
88
90
  :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
@@ -99,25 +101,27 @@ class InvestorRecordsApi:
99
101
  raise ValueError(message)
100
102
  if async_req is not None:
101
103
  kwargs['async_req'] = async_req
102
- return self.delete_investor_record_with_http_info(id_type_scope, id_type_code, code, **kwargs) # noqa: E501
104
+ return self.delete_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, **kwargs) # noqa: E501
103
105
 
104
106
  @validate_arguments
105
- def delete_investor_record_with_http_info(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], **kwargs) -> ApiResponse: # noqa: E501
107
+ def delete_investor_record_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], **kwargs) -> ApiResponse: # noqa: E501
106
108
  """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
107
109
 
108
110
  Delete an investor record. Deletion will be valid from the investor record's creation datetime. This means that the investor record will no longer exist at any effective datetime from the asAt datetime of deletion. # noqa: E501
109
111
  This method makes a synchronous HTTP request by default. To make an
110
112
  asynchronous HTTP request, please pass async_req=True
111
113
 
112
- >>> thread = api.delete_investor_record_with_http_info(id_type_scope, id_type_code, code, async_req=True)
114
+ >>> thread = api.delete_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, async_req=True)
113
115
  >>> result = thread.get()
114
116
 
115
- :param id_type_scope: The scope of the investor record identifier type. (required)
116
- :type id_type_scope: str
117
- :param id_type_code: The code of the investor record identifier type. (required)
118
- :type id_type_code: str
119
- :param code: Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete. (required)
120
- :type code: str
117
+ :param identifier_type: Code of the investor record identifier type. (required)
118
+ :type identifier_type: str
119
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
120
+ :type identifier_value: str
121
+ :param scope: The scope of the investor record entity. (required)
122
+ :type scope: str
123
+ :param identifier_scope: Scope of the investor record identifier type. (required)
124
+ :type identifier_scope: str
121
125
  :param async_req: Whether to execute the request asynchronously.
122
126
  :type async_req: bool, optional
123
127
  :param _preload_content: if False, the ApiResponse.data will
@@ -145,9 +149,10 @@ class InvestorRecordsApi:
145
149
  _params = locals()
146
150
 
147
151
  _all_params = [
148
- 'id_type_scope',
149
- 'id_type_code',
150
- 'code'
152
+ 'identifier_type',
153
+ 'identifier_value',
154
+ 'scope',
155
+ 'identifier_scope'
151
156
  ]
152
157
  _all_params.extend(
153
158
  [
@@ -176,18 +181,21 @@ class InvestorRecordsApi:
176
181
 
177
182
  # process the path parameters
178
183
  _path_params = {}
179
- if _params['id_type_scope']:
180
- _path_params['idTypeScope'] = _params['id_type_scope']
184
+ if _params['identifier_type']:
185
+ _path_params['identifierType'] = _params['identifier_type']
181
186
 
182
- if _params['id_type_code']:
183
- _path_params['idTypeCode'] = _params['id_type_code']
184
-
185
- if _params['code']:
186
- _path_params['code'] = _params['code']
187
+ if _params['identifier_value']:
188
+ _path_params['identifierValue'] = _params['identifier_value']
187
189
 
188
190
 
189
191
  # process the query parameters
190
192
  _query_params = []
193
+ if _params.get('scope') is not None: # noqa: E501
194
+ _query_params.append(('scope', _params['scope']))
195
+
196
+ if _params.get('identifier_scope') is not None: # noqa: E501
197
+ _query_params.append(('identifierScope', _params['identifier_scope']))
198
+
191
199
  # process the header parameters
192
200
  _header_params = dict(_params.get('_headers', {}))
193
201
  # process the form parameters
@@ -208,7 +216,7 @@ class InvestorRecordsApi:
208
216
  }
209
217
 
210
218
  return self.api_client.call_api(
211
- '/api/investorrecords/{idTypeScope}/{idTypeCode}/{code}', 'DELETE',
219
+ '/api/investorrecords/{identifierType}/{identifierValue}', 'DELETE',
212
220
  _path_params,
213
221
  _query_params,
214
222
  _header_params,
@@ -227,30 +235,32 @@ class InvestorRecordsApi:
227
235
 
228
236
 
229
237
  @overload
230
- async def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestorRecord: # noqa: E501
238
+ async def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestorRecord: # noqa: E501
231
239
  ...
232
240
 
233
241
  @overload
234
- def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestorRecord: # noqa: E501
242
+ def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestorRecord: # noqa: E501
235
243
  ...
236
244
 
237
245
  @validate_arguments
238
- def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestorRecord, Awaitable[InvestorRecord]]: # noqa: E501
246
+ def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestorRecord, Awaitable[InvestorRecord]]: # noqa: E501
239
247
  """[EARLY ACCESS] GetInvestorRecord: Get Investor Record # noqa: E501
240
248
 
241
249
  Retrieve the definition of a investor record. # noqa: E501
242
250
  This method makes a synchronous HTTP request by default. To make an
243
251
  asynchronous HTTP request, please pass async_req=True
244
252
 
245
- >>> thread = api.get_investor_record(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
253
+ >>> thread = api.get_investor_record(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
246
254
  >>> result = thread.get()
247
255
 
248
- :param id_type_scope: Scope of the investor record identifier type. (required)
249
- :type id_type_scope: str
250
- :param id_type_code: Code of the investor record identifier type. (required)
251
- :type id_type_code: str
252
- :param code: Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record. (required)
253
- :type code: str
256
+ :param identifier_type: Code of the investor record identifier type. (required)
257
+ :type identifier_type: str
258
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
259
+ :type identifier_value: str
260
+ :param scope: The scope of the investor record entity. (required)
261
+ :type scope: str
262
+ :param identifier_scope: Scope of the investor record identifier type. (required)
263
+ :type identifier_scope: str
254
264
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".
255
265
  :type property_keys: List[str]
256
266
  :param effective_at: The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.
@@ -275,25 +285,27 @@ class InvestorRecordsApi:
275
285
  raise ValueError(message)
276
286
  if async_req is not None:
277
287
  kwargs['async_req'] = async_req
278
- return self.get_investor_record_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
288
+ return self.get_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
279
289
 
280
290
  @validate_arguments
281
- def get_investor_record_with_http_info(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
291
+ def get_investor_record_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
282
292
  """[EARLY ACCESS] GetInvestorRecord: Get Investor Record # noqa: E501
283
293
 
284
294
  Retrieve the definition of a investor record. # noqa: E501
285
295
  This method makes a synchronous HTTP request by default. To make an
286
296
  asynchronous HTTP request, please pass async_req=True
287
297
 
288
- >>> thread = api.get_investor_record_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
298
+ >>> thread = api.get_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
289
299
  >>> result = thread.get()
290
300
 
291
- :param id_type_scope: Scope of the investor record identifier type. (required)
292
- :type id_type_scope: str
293
- :param id_type_code: Code of the investor record identifier type. (required)
294
- :type id_type_code: str
295
- :param code: Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record. (required)
296
- :type code: str
301
+ :param identifier_type: Code of the investor record identifier type. (required)
302
+ :type identifier_type: str
303
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
304
+ :type identifier_value: str
305
+ :param scope: The scope of the investor record entity. (required)
306
+ :type scope: str
307
+ :param identifier_scope: Scope of the investor record identifier type. (required)
308
+ :type identifier_scope: str
297
309
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".
298
310
  :type property_keys: List[str]
299
311
  :param effective_at: The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.
@@ -329,9 +341,10 @@ class InvestorRecordsApi:
329
341
  _params = locals()
330
342
 
331
343
  _all_params = [
332
- 'id_type_scope',
333
- 'id_type_code',
334
- 'code',
344
+ 'identifier_type',
345
+ 'identifier_value',
346
+ 'scope',
347
+ 'identifier_scope',
335
348
  'property_keys',
336
349
  'effective_at',
337
350
  'as_at',
@@ -364,18 +377,21 @@ class InvestorRecordsApi:
364
377
 
365
378
  # process the path parameters
366
379
  _path_params = {}
367
- if _params['id_type_scope']:
368
- _path_params['idTypeScope'] = _params['id_type_scope']
380
+ if _params['identifier_type']:
381
+ _path_params['identifierType'] = _params['identifier_type']
369
382
 
370
- if _params['id_type_code']:
371
- _path_params['idTypeCode'] = _params['id_type_code']
372
-
373
- if _params['code']:
374
- _path_params['code'] = _params['code']
383
+ if _params['identifier_value']:
384
+ _path_params['identifierValue'] = _params['identifier_value']
375
385
 
376
386
 
377
387
  # process the query parameters
378
388
  _query_params = []
389
+ if _params.get('scope') is not None: # noqa: E501
390
+ _query_params.append(('scope', _params['scope']))
391
+
392
+ if _params.get('identifier_scope') is not None: # noqa: E501
393
+ _query_params.append(('identifierScope', _params['identifier_scope']))
394
+
379
395
  if _params.get('property_keys') is not None: # noqa: E501
380
396
  _query_params.append(('propertyKeys', _params['property_keys']))
381
397
  _collection_formats['propertyKeys'] = 'multi'
@@ -413,7 +429,7 @@ class InvestorRecordsApi:
413
429
  }
414
430
 
415
431
  return self.api_client.call_api(
416
- '/api/investorrecords/{idTypeScope}/{idTypeCode}/{code}', 'GET',
432
+ '/api/investorrecords/{identifierType}/{identifierValue}', 'GET',
417
433
  _path_params,
418
434
  _query_params,
419
435
  _header_params,
lusid/api/orders_api.py CHANGED
@@ -399,15 +399,15 @@ class OrdersApi:
399
399
 
400
400
 
401
401
  @overload
402
- async def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.")] = None, **kwargs) -> PagedResourceListOfOrder: # noqa: E501
402
+ async def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.")] = None, **kwargs) -> PagedResourceListOfOrder: # noqa: E501
403
403
  ...
404
404
 
405
405
  @overload
406
- def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfOrder: # noqa: E501
406
+ def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfOrder: # noqa: E501
407
407
  ...
408
408
 
409
409
  @validate_arguments
410
- def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfOrder, Awaitable[PagedResourceListOfOrder]]: # noqa: E501
410
+ def list_orders(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfOrder, Awaitable[PagedResourceListOfOrder]]: # noqa: E501
411
411
  """ListOrders: List Orders # noqa: E501
412
412
 
413
413
  Fetch the last pre-AsAt date version of each order with optional filtering (does not fetch the entire history). # noqa: E501
@@ -433,7 +433,7 @@ class OrdersApi:
433
433
  :type data_model_scope: str
434
434
  :param data_model_code: The optional code of a Custom Data Model to use
435
435
  :type data_model_code: str
436
- :param membership_type: The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.
436
+ :param membership_type: The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.
437
437
  :type membership_type: str
438
438
  :param async_req: Whether to execute the request asynchronously.
439
439
  :type async_req: bool, optional
@@ -454,7 +454,7 @@ class OrdersApi:
454
454
  return self.list_orders_with_http_info(as_at, page, sort_by, limit, filter, property_keys, data_model_scope, data_model_code, membership_type, **kwargs) # noqa: E501
455
455
 
456
456
  @validate_arguments
457
- def list_orders_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.")] = None, **kwargs) -> ApiResponse: # noqa: E501
457
+ def list_orders_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the order. Defaults to return the latest version of the order if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing orders from a previous call to list orders. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Orders\" domain to decorate onto each order. These take the format {domain}/{scope}/{code} e.g. \"Orders/system/Name\". All properties, except derived properties, are returned by default, without specifying here.")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, membership_type : Annotated[Optional[StrictStr], Field( description="The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.")] = None, **kwargs) -> ApiResponse: # noqa: E501
458
458
  """ListOrders: List Orders # noqa: E501
459
459
 
460
460
  Fetch the last pre-AsAt date version of each order with optional filtering (does not fetch the entire history). # noqa: E501
@@ -480,7 +480,7 @@ class OrdersApi:
480
480
  :type data_model_scope: str
481
481
  :param data_model_code: The optional code of a Custom Data Model to use
482
482
  :type data_model_code: str
483
- :param membership_type: The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All.
483
+ :param membership_type: The membership types of the specified Custom Data Model to return. Allowable values are Member, Candidate and All. Defaults to Member.
484
484
  :type membership_type: str
485
485
  :param async_req: Whether to execute the request asynchronously.
486
486
  :type async_req: bool, optional
lusid/configuration.py CHANGED
@@ -445,7 +445,7 @@ class Configuration:
445
445
  return "Python SDK Debug Report:\n"\
446
446
  "OS: {env}\n"\
447
447
  "Python Version: {pyversion}\n"\
448
- "Version of the API: 0.11.8111\n"\
448
+ "Version of the API: 0.11.8121\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451
 
@@ -28,10 +28,11 @@ class AccountHolder(BaseModel):
28
28
  An Account Holder of an Investment Account. # noqa: E501
29
29
  """
30
30
  key: Optional[StrictStr] = Field(None,alias="key", description="A client-defined key used to identify the Account Holder, unique within the Investment Account")
31
+ scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope in which the Investor Record lies.")
31
32
  identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Single Account Holder identifier that should target the desired Investor Record.")
32
33
  entity_unique_id: Optional[StrictStr] = Field(None,alias="entityUniqueId", description="The unique InvestorRecord entity identifier")
33
34
  investor_record: Optional[InvestorRecord] = Field(None, alias="investorRecord")
34
- __properties = ["key", "identifiers", "entityUniqueId", "investorRecord"]
35
+ __properties = ["key", "scope", "identifiers", "entityUniqueId", "investorRecord"]
35
36
 
36
37
  class Config:
37
38
  """Pydantic configuration"""
@@ -80,6 +81,11 @@ class AccountHolder(BaseModel):
80
81
  if self.key is None and "key" in self.__fields_set__:
81
82
  _dict['key'] = None
82
83
 
84
+ # set to None if scope (nullable) is None
85
+ # and __fields_set__ contains the field
86
+ if self.scope is None and "scope" in self.__fields_set__:
87
+ _dict['scope'] = None
88
+
83
89
  # set to None if identifiers (nullable) is None
84
90
  # and __fields_set__ contains the field
85
91
  if self.identifiers is None and "identifiers" in self.__fields_set__:
@@ -103,6 +109,7 @@ class AccountHolder(BaseModel):
103
109
 
104
110
  _obj = AccountHolder.parse_obj({
105
111
  "key": obj.get("key"),
112
+ "scope": obj.get("scope"),
106
113
  "identifiers": dict(
107
114
  (_k, ModelProperty.from_dict(_v))
108
115
  for _k, _v in obj.get("identifiers").items()
@@ -27,8 +27,9 @@ class AccountHolderIdentifier(BaseModel):
27
27
  AccountHolderIdentifier
28
28
  """
29
29
  key: StrictStr = Field(...,alias="key", description="A client-defined key used to identify the Account Holder, unique within the Investment Account")
30
+ scope: StrictStr = Field(...,alias="scope", description="The scope in which the Investor Record lies.")
30
31
  identifiers: Dict[str, ModelProperty] = Field(..., description="Single Account Holder identifier that should target the desired Investor Record.")
31
- __properties = ["key", "identifiers"]
32
+ __properties = ["key", "scope", "identifiers"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -82,6 +83,7 @@ class AccountHolderIdentifier(BaseModel):
82
83
 
83
84
  _obj = AccountHolderIdentifier.parse_obj({
84
85
  "key": obj.get("key"),
86
+ "scope": obj.get("scope"),
85
87
  "identifiers": dict(
86
88
  (_k, ModelProperty.from_dict(_v))
87
89
  for _k, _v in obj.get("identifiers").items()
@@ -31,19 +31,20 @@ class InvestmentAccount(BaseModel):
31
31
  """
32
32
  Representation of an Investment Account on the LUSID API # noqa: E501
33
33
  """
34
- lusid_investment_account_id: Optional[StrictStr] = Field(None,alias="lusidInvestmentAccountId", description="The unique LUSID Investment Account Identifier of the Investment Account.")
34
+ scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope in which the Investment Account lies.")
35
+ identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investment Account.")
35
36
  display_name: Optional[StrictStr] = Field(None,alias="displayName", description="The display name of the Investment Account")
36
37
  description: Optional[StrictStr] = Field(None,alias="description", description="The description of the Investment Account")
37
- identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investment Account.")
38
38
  account_type: Optional[StrictStr] = Field(None,alias="accountType", description="The type of the of the Investment Account.")
39
39
  account_holders: Optional[conlist(AccountHolder)] = Field(None, alias="accountHolders", description="The Account Holders of the Investment Account.")
40
40
  investment_portfolios: Optional[conlist(InvestmentPortfolio)] = Field(None, alias="investmentPortfolios", description="The Investment Portfolios of the Investment Account.")
41
+ lusid_investment_account_id: Optional[StrictStr] = Field(None,alias="lusidInvestmentAccountId", description="The unique LUSID Investment Account Identifier of the Investment Account.")
41
42
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investment Account.")
42
43
  relationships: Optional[conlist(Relationship)] = Field(None, description="A set of relationships associated to the Investment Account.")
43
44
  href: Optional[StrictStr] = Field(None,alias="href", description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
44
45
  version: Optional[Version] = None
45
46
  links: Optional[conlist(Link)] = None
46
- __properties = ["lusidInvestmentAccountId", "displayName", "description", "identifiers", "accountType", "accountHolders", "investmentPortfolios", "properties", "relationships", "href", "version", "links"]
47
+ __properties = ["scope", "identifiers", "displayName", "description", "accountType", "accountHolders", "investmentPortfolios", "lusidInvestmentAccountId", "properties", "relationships", "href", "version", "links"]
47
48
 
48
49
  class Config:
49
50
  """Pydantic configuration"""
@@ -122,10 +123,15 @@ class InvestmentAccount(BaseModel):
122
123
  if _item:
123
124
  _items.append(_item.to_dict())
124
125
  _dict['links'] = _items
125
- # set to None if lusid_investment_account_id (nullable) is None
126
+ # set to None if scope (nullable) is None
126
127
  # and __fields_set__ contains the field
127
- if self.lusid_investment_account_id is None and "lusid_investment_account_id" in self.__fields_set__:
128
- _dict['lusidInvestmentAccountId'] = None
128
+ if self.scope is None and "scope" in self.__fields_set__:
129
+ _dict['scope'] = None
130
+
131
+ # set to None if identifiers (nullable) is None
132
+ # and __fields_set__ contains the field
133
+ if self.identifiers is None and "identifiers" in self.__fields_set__:
134
+ _dict['identifiers'] = None
129
135
 
130
136
  # set to None if display_name (nullable) is None
131
137
  # and __fields_set__ contains the field
@@ -137,11 +143,6 @@ class InvestmentAccount(BaseModel):
137
143
  if self.description is None and "description" in self.__fields_set__:
138
144
  _dict['description'] = None
139
145
 
140
- # set to None if identifiers (nullable) is None
141
- # and __fields_set__ contains the field
142
- if self.identifiers is None and "identifiers" in self.__fields_set__:
143
- _dict['identifiers'] = None
144
-
145
146
  # set to None if account_type (nullable) is None
146
147
  # and __fields_set__ contains the field
147
148
  if self.account_type is None and "account_type" in self.__fields_set__:
@@ -157,6 +158,11 @@ class InvestmentAccount(BaseModel):
157
158
  if self.investment_portfolios is None and "investment_portfolios" in self.__fields_set__:
158
159
  _dict['investmentPortfolios'] = None
159
160
 
161
+ # set to None if lusid_investment_account_id (nullable) is None
162
+ # and __fields_set__ contains the field
163
+ if self.lusid_investment_account_id is None and "lusid_investment_account_id" in self.__fields_set__:
164
+ _dict['lusidInvestmentAccountId'] = None
165
+
160
166
  # set to None if properties (nullable) is None
161
167
  # and __fields_set__ contains the field
162
168
  if self.properties is None and "properties" in self.__fields_set__:
@@ -189,18 +195,19 @@ class InvestmentAccount(BaseModel):
189
195
  return InvestmentAccount.parse_obj(obj)
190
196
 
191
197
  _obj = InvestmentAccount.parse_obj({
192
- "lusid_investment_account_id": obj.get("lusidInvestmentAccountId"),
193
- "display_name": obj.get("displayName"),
194
- "description": obj.get("description"),
198
+ "scope": obj.get("scope"),
195
199
  "identifiers": dict(
196
200
  (_k, ModelProperty.from_dict(_v))
197
201
  for _k, _v in obj.get("identifiers").items()
198
202
  )
199
203
  if obj.get("identifiers") is not None
200
204
  else None,
205
+ "display_name": obj.get("displayName"),
206
+ "description": obj.get("description"),
201
207
  "account_type": obj.get("accountType"),
202
208
  "account_holders": [AccountHolder.from_dict(_item) for _item in obj.get("accountHolders")] if obj.get("accountHolders") is not None else None,
203
209
  "investment_portfolios": [InvestmentPortfolio.from_dict(_item) for _item in obj.get("investmentPortfolios")] if obj.get("investmentPortfolios") is not None else None,
210
+ "lusid_investment_account_id": obj.get("lusidInvestmentAccountId"),
204
211
  "properties": dict(
205
212
  (_k, ModelProperty.from_dict(_v))
206
213
  for _k, _v in obj.get("properties").items()