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.
- lusid/api/funds_api.py +16 -8
- lusid/api/instruments_api.py +6 -6
- lusid/api/investment_accounts_api.py +38 -30
- lusid/api/investor_records_api.py +76 -60
- lusid/api/orders_api.py +6 -6
- lusid/configuration.py +1 -1
- lusid/models/account_holder.py +8 -1
- lusid/models/account_holder_identifier.py +3 -1
- lusid/models/investment_account.py +21 -14
- lusid/models/investor_record.py +23 -16
- lusid/models/loan_principal_repayment_event.py +1 -1
- lusid/models/upsert_investment_account_request.py +22 -20
- lusid/models/upsert_investor_record_request.py +3 -1
- {lusid_sdk-2.1.891.dist-info → lusid_sdk-2.1.893.dist-info}/METADATA +4 -4
- {lusid_sdk-2.1.891.dist-info → lusid_sdk-2.1.893.dist-info}/RECORD +16 -16
- {lusid_sdk-2.1.891.dist-info → lusid_sdk-2.1.893.dist-info}/WHEEL +0 -0
@@ -59,30 +59,32 @@ class InvestorRecordsApi:
|
|
59
59
|
|
60
60
|
|
61
61
|
@overload
|
62
|
-
async def delete_investor_record(self,
|
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,
|
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,
|
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(
|
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
|
81
|
-
:type
|
82
|
-
:param
|
83
|
-
:type
|
84
|
-
:param
|
85
|
-
:type
|
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(
|
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,
|
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(
|
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
|
116
|
-
:type
|
117
|
-
:param
|
118
|
-
:type
|
119
|
-
:param
|
120
|
-
:type
|
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
|
-
'
|
149
|
-
'
|
150
|
-
'
|
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['
|
180
|
-
_path_params['
|
184
|
+
if _params['identifier_type']:
|
185
|
+
_path_params['identifierType'] = _params['identifier_type']
|
181
186
|
|
182
|
-
if _params['
|
183
|
-
_path_params['
|
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/{
|
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,
|
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,
|
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,
|
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(
|
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
|
249
|
-
:type
|
250
|
-
:param
|
251
|
-
:type
|
252
|
-
:param
|
253
|
-
:type
|
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(
|
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,
|
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(
|
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
|
292
|
-
:type
|
293
|
-
:param
|
294
|
-
:type
|
295
|
-
:param
|
296
|
-
:type
|
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
|
-
'
|
333
|
-
'
|
334
|
-
'
|
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['
|
368
|
-
_path_params['
|
380
|
+
if _params['identifier_type']:
|
381
|
+
_path_params['identifierType'] = _params['identifier_type']
|
369
382
|
|
370
|
-
if _params['
|
371
|
-
_path_params['
|
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/{
|
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.
|
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
|
|
lusid/models/account_holder.py
CHANGED
@@ -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
|
-
|
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 = ["
|
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
|
126
|
+
# set to None if scope (nullable) is None
|
126
127
|
# and __fields_set__ contains the field
|
127
|
-
if self.
|
128
|
-
_dict['
|
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
|
-
"
|
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()
|