lusid-sdk 2.1.131__py3-none-any.whl → 2.1.142__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.

Potentially problematic release.


This version of lusid-sdk might be problematic. Click here for more details.

Files changed (45) hide show
  1. lusid/__init__.py +21 -0
  2. lusid/api/aggregation_api.py +2 -2
  3. lusid/api/allocations_api.py +2 -2
  4. lusid/api/calendars_api.py +6 -6
  5. lusid/api/complex_market_data_api.py +2 -2
  6. lusid/api/custom_entities_api.py +6 -6
  7. lusid/api/entities_api.py +2 -2
  8. lusid/api/executions_api.py +4 -4
  9. lusid/api/funds_api.py +1148 -198
  10. lusid/api/instrument_events_api.py +2 -2
  11. lusid/api/instruments_api.py +4 -4
  12. lusid/api/legal_entities_api.py +20 -20
  13. lusid/api/orders_api.py +4 -4
  14. lusid/api/portfolio_groups_api.py +4 -4
  15. lusid/api/portfolios_api.py +16 -16
  16. lusid/api/property_definitions_api.py +2 -2
  17. lusid/api/quotes_api.py +2 -2
  18. lusid/api/relationships_api.py +2 -2
  19. lusid/api/structured_result_data_api.py +6 -6
  20. lusid/api/transaction_portfolios_api.py +6 -6
  21. lusid/configuration.py +1 -1
  22. lusid/extensions/__init__.py +2 -0
  23. lusid/extensions/configuration_loaders.py +68 -5
  24. lusid/extensions/file_access_token.py +42 -0
  25. lusid/models/__init__.py +18 -0
  26. lusid/models/access_metadata_operation.py +3 -3
  27. lusid/models/applicable_instrument_event.py +3 -1
  28. lusid/models/branch_step_request.py +91 -0
  29. lusid/models/check_step_request.py +91 -0
  30. lusid/models/compliance_step_request.py +41 -19
  31. lusid/models/compliance_step_type_request.py +0 -1
  32. lusid/models/deleted_entity_response.py +15 -1
  33. lusid/models/fee.py +217 -0
  34. lusid/models/fee_request.py +163 -0
  35. lusid/models/filter_step_request.py +91 -0
  36. lusid/models/group_by_step_request.py +91 -0
  37. lusid/models/group_filter_step_request.py +91 -0
  38. lusid/models/instrument_event_configuration.py +1 -1
  39. lusid/models/intermediate_compliance_step_request.py +91 -0
  40. lusid/models/operation_type.py +1 -0
  41. lusid/models/paged_resource_list_of_fee.py +113 -0
  42. lusid/models/staged_modifications_requested_change_interval.py +11 -14
  43. {lusid_sdk-2.1.131.dist-info → lusid_sdk-2.1.142.dist-info}/METADATA +63 -49
  44. {lusid_sdk-2.1.131.dist-info → lusid_sdk-2.1.142.dist-info}/RECORD +45 -35
  45. {lusid_sdk-2.1.131.dist-info → lusid_sdk-2.1.142.dist-info}/WHEEL +0 -0
lusid/api/funds_api.py CHANGED
@@ -28,10 +28,14 @@ from typing import Dict, Optional
28
28
 
29
29
  from lusid.models.deleted_entity_response import DeletedEntityResponse
30
30
  from lusid.models.diary_entry import DiaryEntry
31
+ from lusid.models.fee import Fee
32
+ from lusid.models.fee_request import FeeRequest
31
33
  from lusid.models.fund import Fund
32
34
  from lusid.models.fund_properties import FundProperties
33
35
  from lusid.models.fund_request import FundRequest
34
36
  from lusid.models.model_property import ModelProperty
37
+ from lusid.models.operation import Operation
38
+ from lusid.models.paged_resource_list_of_fee import PagedResourceListOfFee
35
39
  from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
36
40
  from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
37
41
  from lusid.models.upsert_valuation_point_request import UpsertValuationPointRequest
@@ -234,28 +238,32 @@ class FundsApi:
234
238
  _request_auth=_params.get('_request_auth'))
235
239
 
236
240
  @overload
237
- async def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], **kwargs) -> Fund: # noqa: E501
241
+ async def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> Fee: # noqa: E501
238
242
  ...
239
243
 
240
244
  @overload
241
- def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], async_req: Optional[bool]=True, **kwargs) -> Fund: # noqa: E501
245
+ def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
242
246
  ...
243
247
 
244
248
  @validate_arguments
245
- def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fund, Awaitable[Fund]]: # noqa: E501
246
- """[EXPERIMENTAL] CreateFund: Create a Fund. # noqa: E501
249
+ def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
250
+ """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
247
251
 
248
- Create the given Fund. # noqa: E501
252
+ Create the given Fee. # noqa: E501
249
253
  This method makes a synchronous HTTP request by default. To make an
250
254
  asynchronous HTTP request, please pass async_req=True
251
255
 
252
- >>> thread = api.create_fund(scope, fund_request, async_req=True)
256
+ >>> thread = api.create_fee(scope, code, fee_code, fee_request, async_req=True)
253
257
  >>> result = thread.get()
254
258
 
255
259
  :param scope: The scope of the Fund. (required)
256
260
  :type scope: str
257
- :param fund_request: The definition of the Fund. (required)
258
- :type fund_request: FundRequest
261
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
262
+ :type code: str
263
+ :param fee_code: The code of the Fee. (required)
264
+ :type fee_code: str
265
+ :param fee_request: The Fee to create. (required)
266
+ :type fee_request: FeeRequest
259
267
  :param async_req: Whether to execute the request asynchronously.
260
268
  :type async_req: bool, optional
261
269
  :param _request_timeout: timeout setting for this request.
@@ -265,31 +273,35 @@ class FundsApi:
265
273
  :return: Returns the result object.
266
274
  If the method is called asynchronously,
267
275
  returns the request thread.
268
- :rtype: Fund
276
+ :rtype: Fee
269
277
  """
270
278
  kwargs['_return_http_data_only'] = True
271
279
  if '_preload_content' in kwargs:
272
- message = "Error! Please call the create_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
280
+ message = "Error! Please call the create_fee_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
273
281
  raise ValueError(message)
274
282
  if async_req is not None:
275
283
  kwargs['async_req'] = async_req
276
- return self.create_fund_with_http_info(scope, fund_request, **kwargs) # noqa: E501
284
+ return self.create_fee_with_http_info(scope, code, fee_code, fee_request, **kwargs) # noqa: E501
277
285
 
278
286
  @validate_arguments
279
- def create_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], **kwargs) -> ApiResponse: # noqa: E501
280
- """[EXPERIMENTAL] CreateFund: Create a Fund. # noqa: E501
287
+ def create_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> ApiResponse: # noqa: E501
288
+ """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
281
289
 
282
- Create the given Fund. # noqa: E501
290
+ Create the given Fee. # noqa: E501
283
291
  This method makes a synchronous HTTP request by default. To make an
284
292
  asynchronous HTTP request, please pass async_req=True
285
293
 
286
- >>> thread = api.create_fund_with_http_info(scope, fund_request, async_req=True)
294
+ >>> thread = api.create_fee_with_http_info(scope, code, fee_code, fee_request, async_req=True)
287
295
  >>> result = thread.get()
288
296
 
289
297
  :param scope: The scope of the Fund. (required)
290
298
  :type scope: str
291
- :param fund_request: The definition of the Fund. (required)
292
- :type fund_request: FundRequest
299
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
300
+ :type code: str
301
+ :param fee_code: The code of the Fee. (required)
302
+ :type fee_code: str
303
+ :param fee_request: The Fee to create. (required)
304
+ :type fee_request: FeeRequest
293
305
  :param async_req: Whether to execute the request asynchronously.
294
306
  :type async_req: bool, optional
295
307
  :param _preload_content: if False, the ApiResponse.data will
@@ -312,14 +324,16 @@ class FundsApi:
312
324
  :return: Returns the result object.
313
325
  If the method is called asynchronously,
314
326
  returns the request thread.
315
- :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
327
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
316
328
  """
317
329
 
318
330
  _params = locals()
319
331
 
320
332
  _all_params = [
321
333
  'scope',
322
- 'fund_request'
334
+ 'code',
335
+ 'fee_code',
336
+ 'fee_request'
323
337
  ]
324
338
  _all_params.extend(
325
339
  [
@@ -338,7 +352,7 @@ class FundsApi:
338
352
  if _key not in _all_params:
339
353
  raise ApiTypeError(
340
354
  "Got an unexpected keyword argument '%s'"
341
- " to method create_fund" % _key
355
+ " to method create_fee" % _key
342
356
  )
343
357
  _params[_key] = _val
344
358
  del _params['kwargs']
@@ -350,6 +364,12 @@ class FundsApi:
350
364
  if _params['scope']:
351
365
  _path_params['scope'] = _params['scope']
352
366
 
367
+ if _params['code']:
368
+ _path_params['code'] = _params['code']
369
+
370
+ if _params['fee_code']:
371
+ _path_params['feeCode'] = _params['fee_code']
372
+
353
373
 
354
374
  # process the query parameters
355
375
  _query_params = []
@@ -360,8 +380,8 @@ class FundsApi:
360
380
  _files = {}
361
381
  # process the body parameter
362
382
  _body_params = None
363
- if _params['fund_request'] is not None:
364
- _body_params = _params['fund_request']
383
+ if _params['fee_request'] is not None:
384
+ _body_params = _params['fee_request']
365
385
 
366
386
  # set the HTTP header `Accept`
367
387
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -378,12 +398,12 @@ class FundsApi:
378
398
  _auth_settings = ['oauth2'] # noqa: E501
379
399
 
380
400
  _response_types_map = {
381
- '201': "Fund",
401
+ '201': "Fee",
382
402
  '400': "LusidValidationProblemDetails",
383
403
  }
384
404
 
385
405
  return self.api_client.call_api(
386
- '/api/funds/{scope}', 'POST',
406
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'POST',
387
407
  _path_params,
388
408
  _query_params,
389
409
  _header_params,
@@ -400,28 +420,28 @@ class FundsApi:
400
420
  _request_auth=_params.get('_request_auth'))
401
421
 
402
422
  @overload
403
- async def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
423
+ async def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], **kwargs) -> Fund: # noqa: E501
404
424
  ...
405
425
 
406
426
  @overload
407
- def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
427
+ def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], async_req: Optional[bool]=True, **kwargs) -> Fund: # noqa: E501
408
428
  ...
409
429
 
410
430
  @validate_arguments
411
- def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
412
- """[EXPERIMENTAL] DeleteFund: Delete a Fund. # noqa: E501
431
+ def create_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fund, Awaitable[Fund]]: # noqa: E501
432
+ """[EXPERIMENTAL] CreateFund: Create a Fund. # noqa: E501
413
433
 
414
- Delete the given Fund. # noqa: E501
434
+ Create the given Fund. # noqa: E501
415
435
  This method makes a synchronous HTTP request by default. To make an
416
436
  asynchronous HTTP request, please pass async_req=True
417
437
 
418
- >>> thread = api.delete_fund(scope, code, async_req=True)
438
+ >>> thread = api.create_fund(scope, fund_request, async_req=True)
419
439
  >>> result = thread.get()
420
440
 
421
- :param scope: The scope of the Fund to be deleted. (required)
441
+ :param scope: The scope of the Fund. (required)
422
442
  :type scope: str
423
- :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
424
- :type code: str
443
+ :param fund_request: The definition of the Fund. (required)
444
+ :type fund_request: FundRequest
425
445
  :param async_req: Whether to execute the request asynchronously.
426
446
  :type async_req: bool, optional
427
447
  :param _request_timeout: timeout setting for this request.
@@ -431,31 +451,31 @@ class FundsApi:
431
451
  :return: Returns the result object.
432
452
  If the method is called asynchronously,
433
453
  returns the request thread.
434
- :rtype: DeletedEntityResponse
454
+ :rtype: Fund
435
455
  """
436
456
  kwargs['_return_http_data_only'] = True
437
457
  if '_preload_content' in kwargs:
438
- message = "Error! Please call the delete_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
458
+ message = "Error! Please call the create_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
439
459
  raise ValueError(message)
440
460
  if async_req is not None:
441
461
  kwargs['async_req'] = async_req
442
- return self.delete_fund_with_http_info(scope, code, **kwargs) # noqa: E501
462
+ return self.create_fund_with_http_info(scope, fund_request, **kwargs) # noqa: E501
443
463
 
444
464
  @validate_arguments
445
- def delete_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], **kwargs) -> ApiResponse: # noqa: E501
446
- """[EXPERIMENTAL] DeleteFund: Delete a Fund. # noqa: E501
465
+ def create_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], fund_request : Annotated[FundRequest, Field(..., description="The definition of the Fund.")], **kwargs) -> ApiResponse: # noqa: E501
466
+ """[EXPERIMENTAL] CreateFund: Create a Fund. # noqa: E501
447
467
 
448
- Delete the given Fund. # noqa: E501
468
+ Create the given Fund. # noqa: E501
449
469
  This method makes a synchronous HTTP request by default. To make an
450
470
  asynchronous HTTP request, please pass async_req=True
451
471
 
452
- >>> thread = api.delete_fund_with_http_info(scope, code, async_req=True)
472
+ >>> thread = api.create_fund_with_http_info(scope, fund_request, async_req=True)
453
473
  >>> result = thread.get()
454
474
 
455
- :param scope: The scope of the Fund to be deleted. (required)
475
+ :param scope: The scope of the Fund. (required)
456
476
  :type scope: str
457
- :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
458
- :type code: str
477
+ :param fund_request: The definition of the Fund. (required)
478
+ :type fund_request: FundRequest
459
479
  :param async_req: Whether to execute the request asynchronously.
460
480
  :type async_req: bool, optional
461
481
  :param _preload_content: if False, the ApiResponse.data will
@@ -478,14 +498,14 @@ class FundsApi:
478
498
  :return: Returns the result object.
479
499
  If the method is called asynchronously,
480
500
  returns the request thread.
481
- :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
501
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
482
502
  """
483
503
 
484
504
  _params = locals()
485
505
 
486
506
  _all_params = [
487
507
  'scope',
488
- 'code'
508
+ 'fund_request'
489
509
  ]
490
510
  _all_params.extend(
491
511
  [
@@ -504,7 +524,7 @@ class FundsApi:
504
524
  if _key not in _all_params:
505
525
  raise ApiTypeError(
506
526
  "Got an unexpected keyword argument '%s'"
507
- " to method delete_fund" % _key
527
+ " to method create_fund" % _key
508
528
  )
509
529
  _params[_key] = _val
510
530
  del _params['kwargs']
@@ -516,9 +536,6 @@ class FundsApi:
516
536
  if _params['scope']:
517
537
  _path_params['scope'] = _params['scope']
518
538
 
519
- if _params['code']:
520
- _path_params['code'] = _params['code']
521
-
522
539
 
523
540
  # process the query parameters
524
541
  _query_params = []
@@ -529,20 +546,30 @@ class FundsApi:
529
546
  _files = {}
530
547
  # process the body parameter
531
548
  _body_params = None
549
+ if _params['fund_request'] is not None:
550
+ _body_params = _params['fund_request']
551
+
532
552
  # set the HTTP header `Accept`
533
553
  _header_params['Accept'] = self.api_client.select_header_accept(
534
554
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
535
555
 
556
+ # set the HTTP header `Content-Type`
557
+ _content_types_list = _params.get('_content_type',
558
+ self.api_client.select_header_content_type(
559
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
560
+ if _content_types_list:
561
+ _header_params['Content-Type'] = _content_types_list
562
+
536
563
  # authentication setting
537
564
  _auth_settings = ['oauth2'] # noqa: E501
538
565
 
539
566
  _response_types_map = {
540
- '200': "DeletedEntityResponse",
567
+ '201': "Fund",
541
568
  '400': "LusidValidationProblemDetails",
542
569
  }
543
570
 
544
571
  return self.api_client.call_api(
545
- '/api/funds/{scope}/{code}', 'DELETE',
572
+ '/api/funds/{scope}', 'POST',
546
573
  _path_params,
547
574
  _query_params,
548
575
  _header_params,
@@ -559,30 +586,30 @@ class FundsApi:
559
586
  _request_auth=_params.get('_request_auth'))
560
587
 
561
588
  @overload
562
- async def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
589
+ async def delete_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
563
590
  ...
564
591
 
565
592
  @overload
566
- def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
593
+ def delete_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
567
594
  ...
568
595
 
569
596
  @validate_arguments
570
- def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
571
- """[EXPERIMENTAL] DeleteValuationPoint: Delete a Valuation Point. # noqa: E501
597
+ def delete_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
598
+ """[EXPERIMENTAL] DeleteFee: Delete a Fee. # noqa: E501
572
599
 
573
- Deletes the given Valuation Point. # noqa: E501
600
+ Delete the given Fee. # noqa: E501
574
601
  This method makes a synchronous HTTP request by default. To make an
575
602
  asynchronous HTTP request, please pass async_req=True
576
603
 
577
- >>> thread = api.delete_valuation_point(scope, code, diary_entry_code, async_req=True)
604
+ >>> thread = api.delete_fee(scope, code, fee_code, async_req=True)
578
605
  >>> result = thread.get()
579
606
 
580
- :param scope: The scope of the Fund for the valuation point to be deleted. (required)
607
+ :param scope: The scope of the Fund (required)
581
608
  :type scope: str
582
- :param code: The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund. (required)
609
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
583
610
  :type code: str
584
- :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
585
- :type diary_entry_code: str
611
+ :param fee_code: The code of the Fee to be deleted. (required)
612
+ :type fee_code: str
586
613
  :param async_req: Whether to execute the request asynchronously.
587
614
  :type async_req: bool, optional
588
615
  :param _request_timeout: timeout setting for this request.
@@ -596,29 +623,29 @@ class FundsApi:
596
623
  """
597
624
  kwargs['_return_http_data_only'] = True
598
625
  if '_preload_content' in kwargs:
599
- message = "Error! Please call the delete_valuation_point_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
626
+ message = "Error! Please call the delete_fee_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
600
627
  raise ValueError(message)
601
628
  if async_req is not None:
602
629
  kwargs['async_req'] = async_req
603
- return self.delete_valuation_point_with_http_info(scope, code, diary_entry_code, **kwargs) # noqa: E501
630
+ return self.delete_fee_with_http_info(scope, code, fee_code, **kwargs) # noqa: E501
604
631
 
605
632
  @validate_arguments
606
- def delete_valuation_point_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
607
- """[EXPERIMENTAL] DeleteValuationPoint: Delete a Valuation Point. # noqa: E501
633
+ def delete_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
634
+ """[EXPERIMENTAL] DeleteFee: Delete a Fee. # noqa: E501
608
635
 
609
- Deletes the given Valuation Point. # noqa: E501
636
+ Delete the given Fee. # noqa: E501
610
637
  This method makes a synchronous HTTP request by default. To make an
611
638
  asynchronous HTTP request, please pass async_req=True
612
639
 
613
- >>> thread = api.delete_valuation_point_with_http_info(scope, code, diary_entry_code, async_req=True)
640
+ >>> thread = api.delete_fee_with_http_info(scope, code, fee_code, async_req=True)
614
641
  >>> result = thread.get()
615
642
 
616
- :param scope: The scope of the Fund for the valuation point to be deleted. (required)
643
+ :param scope: The scope of the Fund (required)
617
644
  :type scope: str
618
- :param code: The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund. (required)
645
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
619
646
  :type code: str
620
- :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
621
- :type diary_entry_code: str
647
+ :param fee_code: The code of the Fee to be deleted. (required)
648
+ :type fee_code: str
622
649
  :param async_req: Whether to execute the request asynchronously.
623
650
  :type async_req: bool, optional
624
651
  :param _preload_content: if False, the ApiResponse.data will
@@ -649,7 +676,7 @@ class FundsApi:
649
676
  _all_params = [
650
677
  'scope',
651
678
  'code',
652
- 'diary_entry_code'
679
+ 'fee_code'
653
680
  ]
654
681
  _all_params.extend(
655
682
  [
@@ -668,7 +695,7 @@ class FundsApi:
668
695
  if _key not in _all_params:
669
696
  raise ApiTypeError(
670
697
  "Got an unexpected keyword argument '%s'"
671
- " to method delete_valuation_point" % _key
698
+ " to method delete_fee" % _key
672
699
  )
673
700
  _params[_key] = _val
674
701
  del _params['kwargs']
@@ -683,8 +710,8 @@ class FundsApi:
683
710
  if _params['code']:
684
711
  _path_params['code'] = _params['code']
685
712
 
686
- if _params['diary_entry_code']:
687
- _path_params['diaryEntryCode'] = _params['diary_entry_code']
713
+ if _params['fee_code']:
714
+ _path_params['feeCode'] = _params['fee_code']
688
715
 
689
716
 
690
717
  # process the query parameters
@@ -709,7 +736,7 @@ class FundsApi:
709
736
  }
710
737
 
711
738
  return self.api_client.call_api(
712
- '/api/funds/{scope}/{code}/valuationpoints/{diaryEntryCode}', 'DELETE',
739
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'DELETE',
713
740
  _path_params,
714
741
  _query_params,
715
742
  _header_params,
@@ -726,30 +753,28 @@ class FundsApi:
726
753
  _request_auth=_params.get('_request_auth'))
727
754
 
728
755
  @overload
729
- async def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], **kwargs) -> ValuationPointDataResponse: # noqa: E501
756
+ async def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
730
757
  ...
731
758
 
732
759
  @overload
733
- def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], async_req: Optional[bool]=True, **kwargs) -> ValuationPointDataResponse: # noqa: E501
760
+ def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
734
761
  ...
735
762
 
736
763
  @validate_arguments
737
- def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointDataResponse, Awaitable[ValuationPointDataResponse]]: # noqa: E501
738
- """[EXPERIMENTAL] FinaliseCandidateValuation: Finalise Candidate. # noqa: E501
764
+ def delete_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
765
+ """[EXPERIMENTAL] DeleteFund: Delete a Fund. # noqa: E501
739
766
 
740
- Moves a 'Candidate' status Valuation Point to status 'Final'. # noqa: E501
767
+ Delete the given Fund. # noqa: E501
741
768
  This method makes a synchronous HTTP request by default. To make an
742
769
  asynchronous HTTP request, please pass async_req=True
743
770
 
744
- >>> thread = api.finalise_candidate_valuation(scope, code, valuation_point_data_request, async_req=True)
771
+ >>> thread = api.delete_fund(scope, code, async_req=True)
745
772
  >>> result = thread.get()
746
773
 
747
- :param scope: The scope of the Fund. (required)
774
+ :param scope: The scope of the Fund to be deleted. (required)
748
775
  :type scope: str
749
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
776
+ :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
750
777
  :type code: str
751
- :param valuation_point_data_request: The valuationPointDataRequest which contains the diary entry code to mark as final. (required)
752
- :type valuation_point_data_request: ValuationPointDataRequest
753
778
  :param async_req: Whether to execute the request asynchronously.
754
779
  :type async_req: bool, optional
755
780
  :param _request_timeout: timeout setting for this request.
@@ -759,33 +784,31 @@ class FundsApi:
759
784
  :return: Returns the result object.
760
785
  If the method is called asynchronously,
761
786
  returns the request thread.
762
- :rtype: ValuationPointDataResponse
787
+ :rtype: DeletedEntityResponse
763
788
  """
764
789
  kwargs['_return_http_data_only'] = True
765
790
  if '_preload_content' in kwargs:
766
- message = "Error! Please call the finalise_candidate_valuation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
791
+ message = "Error! Please call the delete_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
767
792
  raise ValueError(message)
768
793
  if async_req is not None:
769
794
  kwargs['async_req'] = async_req
770
- return self.finalise_candidate_valuation_with_http_info(scope, code, valuation_point_data_request, **kwargs) # noqa: E501
795
+ return self.delete_fund_with_http_info(scope, code, **kwargs) # noqa: E501
771
796
 
772
797
  @validate_arguments
773
- def finalise_candidate_valuation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], **kwargs) -> ApiResponse: # noqa: E501
774
- """[EXPERIMENTAL] FinaliseCandidateValuation: Finalise Candidate. # noqa: E501
798
+ def delete_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund.")], **kwargs) -> ApiResponse: # noqa: E501
799
+ """[EXPERIMENTAL] DeleteFund: Delete a Fund. # noqa: E501
775
800
 
776
- Moves a 'Candidate' status Valuation Point to status 'Final'. # noqa: E501
801
+ Delete the given Fund. # noqa: E501
777
802
  This method makes a synchronous HTTP request by default. To make an
778
803
  asynchronous HTTP request, please pass async_req=True
779
804
 
780
- >>> thread = api.finalise_candidate_valuation_with_http_info(scope, code, valuation_point_data_request, async_req=True)
805
+ >>> thread = api.delete_fund_with_http_info(scope, code, async_req=True)
781
806
  >>> result = thread.get()
782
807
 
783
- :param scope: The scope of the Fund. (required)
808
+ :param scope: The scope of the Fund to be deleted. (required)
784
809
  :type scope: str
785
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
810
+ :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
786
811
  :type code: str
787
- :param valuation_point_data_request: The valuationPointDataRequest which contains the diary entry code to mark as final. (required)
788
- :type valuation_point_data_request: ValuationPointDataRequest
789
812
  :param async_req: Whether to execute the request asynchronously.
790
813
  :type async_req: bool, optional
791
814
  :param _preload_content: if False, the ApiResponse.data will
@@ -808,15 +831,14 @@ class FundsApi:
808
831
  :return: Returns the result object.
809
832
  If the method is called asynchronously,
810
833
  returns the request thread.
811
- :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
834
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
812
835
  """
813
836
 
814
837
  _params = locals()
815
838
 
816
839
  _all_params = [
817
840
  'scope',
818
- 'code',
819
- 'valuation_point_data_request'
841
+ 'code'
820
842
  ]
821
843
  _all_params.extend(
822
844
  [
@@ -835,7 +857,7 @@ class FundsApi:
835
857
  if _key not in _all_params:
836
858
  raise ApiTypeError(
837
859
  "Got an unexpected keyword argument '%s'"
838
- " to method finalise_candidate_valuation" % _key
860
+ " to method delete_fund" % _key
839
861
  )
840
862
  _params[_key] = _val
841
863
  del _params['kwargs']
@@ -860,30 +882,20 @@ class FundsApi:
860
882
  _files = {}
861
883
  # process the body parameter
862
884
  _body_params = None
863
- if _params['valuation_point_data_request'] is not None:
864
- _body_params = _params['valuation_point_data_request']
865
-
866
885
  # set the HTTP header `Accept`
867
886
  _header_params['Accept'] = self.api_client.select_header_accept(
868
887
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
869
888
 
870
- # set the HTTP header `Content-Type`
871
- _content_types_list = _params.get('_content_type',
872
- self.api_client.select_header_content_type(
873
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
874
- if _content_types_list:
875
- _header_params['Content-Type'] = _content_types_list
876
-
877
889
  # authentication setting
878
890
  _auth_settings = ['oauth2'] # noqa: E501
879
891
 
880
892
  _response_types_map = {
881
- '200': "ValuationPointDataResponse",
893
+ '200': "DeletedEntityResponse",
882
894
  '400': "LusidValidationProblemDetails",
883
895
  }
884
896
 
885
897
  return self.api_client.call_api(
886
- '/api/funds/{scope}/{code}/valuationpoints/$finalisecandidate', 'POST',
898
+ '/api/funds/{scope}/{code}', 'DELETE',
887
899
  _path_params,
888
900
  _query_params,
889
901
  _header_params,
@@ -900,34 +912,30 @@ class FundsApi:
900
912
  _request_auth=_params.get('_request_auth'))
901
913
 
902
914
  @overload
903
- async def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> Fund: # noqa: E501
915
+ async def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
904
916
  ...
905
917
 
906
918
  @overload
907
- def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=True, **kwargs) -> Fund: # noqa: E501
919
+ def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
908
920
  ...
909
921
 
910
922
  @validate_arguments
911
- def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Fund, Awaitable[Fund]]: # noqa: E501
912
- """[EXPERIMENTAL] GetFund: Get a Fund. # noqa: E501
923
+ def delete_valuation_point(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
924
+ """[EXPERIMENTAL] DeleteValuationPoint: Delete a Valuation Point. # noqa: E501
913
925
 
914
- Retrieve the definition of a particular Fund. # noqa: E501
926
+ Deletes the given Valuation Point. # noqa: E501
915
927
  This method makes a synchronous HTTP request by default. To make an
916
928
  asynchronous HTTP request, please pass async_req=True
917
929
 
918
- >>> thread = api.get_fund(scope, code, effective_at, as_at, property_keys, async_req=True)
930
+ >>> thread = api.delete_valuation_point(scope, code, diary_entry_code, async_req=True)
919
931
  >>> result = thread.get()
920
932
 
921
- :param scope: The scope of the Fund. (required)
933
+ :param scope: The scope of the Fund for the valuation point to be deleted. (required)
922
934
  :type scope: str
923
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
935
+ :param code: The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund. (required)
924
936
  :type code: str
925
- :param effective_at: The effective datetime or cut label at which to retrieve the Fund properties. Defaults to the current LUSID system datetime if not specified.
926
- :type effective_at: str
927
- :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
928
- :type as_at: datetime
929
- :param property_keys: A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.
930
- :type property_keys: List[str]
937
+ :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
938
+ :type diary_entry_code: str
931
939
  :param async_req: Whether to execute the request asynchronously.
932
940
  :type async_req: bool, optional
933
941
  :param _request_timeout: timeout setting for this request.
@@ -937,37 +945,33 @@ class FundsApi:
937
945
  :return: Returns the result object.
938
946
  If the method is called asynchronously,
939
947
  returns the request thread.
940
- :rtype: Fund
948
+ :rtype: DeletedEntityResponse
941
949
  """
942
950
  kwargs['_return_http_data_only'] = True
943
951
  if '_preload_content' in kwargs:
944
- message = "Error! Please call the get_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
952
+ message = "Error! Please call the delete_valuation_point_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
945
953
  raise ValueError(message)
946
954
  if async_req is not None:
947
955
  kwargs['async_req'] = async_req
948
- return self.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
956
+ return self.delete_valuation_point_with_http_info(scope, code, diary_entry_code, **kwargs) # noqa: E501
949
957
 
950
958
  @validate_arguments
951
- def get_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ApiResponse: # noqa: E501
952
- """[EXPERIMENTAL] GetFund: Get a Fund. # noqa: E501
959
+ def delete_valuation_point_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund for the valuation point to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund.")], diary_entry_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The diary entry code for the valuation Point to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
960
+ """[EXPERIMENTAL] DeleteValuationPoint: Delete a Valuation Point. # noqa: E501
953
961
 
954
- Retrieve the definition of a particular Fund. # noqa: E501
962
+ Deletes the given Valuation Point. # noqa: E501
955
963
  This method makes a synchronous HTTP request by default. To make an
956
964
  asynchronous HTTP request, please pass async_req=True
957
965
 
958
- >>> thread = api.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
966
+ >>> thread = api.delete_valuation_point_with_http_info(scope, code, diary_entry_code, async_req=True)
959
967
  >>> result = thread.get()
960
968
 
961
- :param scope: The scope of the Fund. (required)
969
+ :param scope: The scope of the Fund for the valuation point to be deleted. (required)
962
970
  :type scope: str
963
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
971
+ :param code: The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund. (required)
964
972
  :type code: str
965
- :param effective_at: The effective datetime or cut label at which to retrieve the Fund properties. Defaults to the current LUSID system datetime if not specified.
966
- :type effective_at: str
967
- :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
968
- :type as_at: datetime
969
- :param property_keys: A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.
970
- :type property_keys: List[str]
973
+ :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
974
+ :type diary_entry_code: str
971
975
  :param async_req: Whether to execute the request asynchronously.
972
976
  :type async_req: bool, optional
973
977
  :param _preload_content: if False, the ApiResponse.data will
@@ -990,7 +994,7 @@ class FundsApi:
990
994
  :return: Returns the result object.
991
995
  If the method is called asynchronously,
992
996
  returns the request thread.
993
- :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
997
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
994
998
  """
995
999
 
996
1000
  _params = locals()
@@ -998,9 +1002,7 @@ class FundsApi:
998
1002
  _all_params = [
999
1003
  'scope',
1000
1004
  'code',
1001
- 'effective_at',
1002
- 'as_at',
1003
- 'property_keys'
1005
+ 'diary_entry_code'
1004
1006
  ]
1005
1007
  _all_params.extend(
1006
1008
  [
@@ -1019,7 +1021,7 @@ class FundsApi:
1019
1021
  if _key not in _all_params:
1020
1022
  raise ApiTypeError(
1021
1023
  "Got an unexpected keyword argument '%s'"
1022
- " to method get_fund" % _key
1024
+ " to method delete_valuation_point" % _key
1023
1025
  )
1024
1026
  _params[_key] = _val
1025
1027
  del _params['kwargs']
@@ -1034,22 +1036,12 @@ class FundsApi:
1034
1036
  if _params['code']:
1035
1037
  _path_params['code'] = _params['code']
1036
1038
 
1039
+ if _params['diary_entry_code']:
1040
+ _path_params['diaryEntryCode'] = _params['diary_entry_code']
1041
+
1037
1042
 
1038
1043
  # process the query parameters
1039
1044
  _query_params = []
1040
- if _params.get('effective_at') is not None: # noqa: E501
1041
- _query_params.append(('effectiveAt', _params['effective_at']))
1042
-
1043
- if _params.get('as_at') is not None: # noqa: E501
1044
- if isinstance(_params['as_at'], datetime):
1045
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1046
- else:
1047
- _query_params.append(('asAt', _params['as_at']))
1048
-
1049
- if _params.get('property_keys') is not None: # noqa: E501
1050
- _query_params.append(('propertyKeys', _params['property_keys']))
1051
- _collection_formats['propertyKeys'] = 'multi'
1052
-
1053
1045
  # process the header parameters
1054
1046
  _header_params = dict(_params.get('_headers', {}))
1055
1047
  # process the form parameters
@@ -1065,7 +1057,563 @@ class FundsApi:
1065
1057
  _auth_settings = ['oauth2'] # noqa: E501
1066
1058
 
1067
1059
  _response_types_map = {
1068
- '200': "Fund",
1060
+ '200': "DeletedEntityResponse",
1061
+ '400': "LusidValidationProblemDetails",
1062
+ }
1063
+
1064
+ return self.api_client.call_api(
1065
+ '/api/funds/{scope}/{code}/valuationpoints/{diaryEntryCode}', 'DELETE',
1066
+ _path_params,
1067
+ _query_params,
1068
+ _header_params,
1069
+ body=_body_params,
1070
+ post_params=_form_params,
1071
+ files=_files,
1072
+ response_types_map=_response_types_map,
1073
+ auth_settings=_auth_settings,
1074
+ async_req=_params.get('async_req'),
1075
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1076
+ _preload_content=_params.get('_preload_content', True),
1077
+ _request_timeout=_params.get('_request_timeout'),
1078
+ collection_formats=_collection_formats,
1079
+ _request_auth=_params.get('_request_auth'))
1080
+
1081
+ @overload
1082
+ async def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], **kwargs) -> ValuationPointDataResponse: # noqa: E501
1083
+ ...
1084
+
1085
+ @overload
1086
+ def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], async_req: Optional[bool]=True, **kwargs) -> ValuationPointDataResponse: # noqa: E501
1087
+ ...
1088
+
1089
+ @validate_arguments
1090
+ def finalise_candidate_valuation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointDataResponse, Awaitable[ValuationPointDataResponse]]: # noqa: E501
1091
+ """[EXPERIMENTAL] FinaliseCandidateValuation: Finalise Candidate. # noqa: E501
1092
+
1093
+ Moves a 'Candidate' status Valuation Point to status 'Final'. # noqa: E501
1094
+ This method makes a synchronous HTTP request by default. To make an
1095
+ asynchronous HTTP request, please pass async_req=True
1096
+
1097
+ >>> thread = api.finalise_candidate_valuation(scope, code, valuation_point_data_request, async_req=True)
1098
+ >>> result = thread.get()
1099
+
1100
+ :param scope: The scope of the Fund. (required)
1101
+ :type scope: str
1102
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1103
+ :type code: str
1104
+ :param valuation_point_data_request: The valuationPointDataRequest which contains the diary entry code to mark as final. (required)
1105
+ :type valuation_point_data_request: ValuationPointDataRequest
1106
+ :param async_req: Whether to execute the request asynchronously.
1107
+ :type async_req: bool, optional
1108
+ :param _request_timeout: timeout setting for this request.
1109
+ If one number provided, it will be total request
1110
+ timeout. It can also be a pair (tuple) of
1111
+ (connection, read) timeouts.
1112
+ :return: Returns the result object.
1113
+ If the method is called asynchronously,
1114
+ returns the request thread.
1115
+ :rtype: ValuationPointDataResponse
1116
+ """
1117
+ kwargs['_return_http_data_only'] = True
1118
+ if '_preload_content' in kwargs:
1119
+ message = "Error! Please call the finalise_candidate_valuation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1120
+ raise ValueError(message)
1121
+ if async_req is not None:
1122
+ kwargs['async_req'] = async_req
1123
+ return self.finalise_candidate_valuation_with_http_info(scope, code, valuation_point_data_request, **kwargs) # noqa: E501
1124
+
1125
+ @validate_arguments
1126
+ def finalise_candidate_valuation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_request : Annotated[ValuationPointDataRequest, Field(..., description="The valuationPointDataRequest which contains the diary entry code to mark as final.")], **kwargs) -> ApiResponse: # noqa: E501
1127
+ """[EXPERIMENTAL] FinaliseCandidateValuation: Finalise Candidate. # noqa: E501
1128
+
1129
+ Moves a 'Candidate' status Valuation Point to status 'Final'. # noqa: E501
1130
+ This method makes a synchronous HTTP request by default. To make an
1131
+ asynchronous HTTP request, please pass async_req=True
1132
+
1133
+ >>> thread = api.finalise_candidate_valuation_with_http_info(scope, code, valuation_point_data_request, async_req=True)
1134
+ >>> result = thread.get()
1135
+
1136
+ :param scope: The scope of the Fund. (required)
1137
+ :type scope: str
1138
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1139
+ :type code: str
1140
+ :param valuation_point_data_request: The valuationPointDataRequest which contains the diary entry code to mark as final. (required)
1141
+ :type valuation_point_data_request: ValuationPointDataRequest
1142
+ :param async_req: Whether to execute the request asynchronously.
1143
+ :type async_req: bool, optional
1144
+ :param _preload_content: if False, the ApiResponse.data will
1145
+ be set to none and raw_data will store the
1146
+ HTTP response body without reading/decoding.
1147
+ Default is True.
1148
+ :type _preload_content: bool, optional
1149
+ :param _return_http_data_only: response data instead of ApiResponse
1150
+ object with status code, headers, etc
1151
+ :type _return_http_data_only: bool, optional
1152
+ :param _request_timeout: timeout setting for this request. If one
1153
+ number provided, it will be total request
1154
+ timeout. It can also be a pair (tuple) of
1155
+ (connection, read) timeouts.
1156
+ :param _request_auth: set to override the auth_settings for an a single
1157
+ request; this effectively ignores the authentication
1158
+ in the spec for a single request.
1159
+ :type _request_auth: dict, optional
1160
+ :type _content_type: string, optional: force content-type for the request
1161
+ :return: Returns the result object.
1162
+ If the method is called asynchronously,
1163
+ returns the request thread.
1164
+ :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
1165
+ """
1166
+
1167
+ _params = locals()
1168
+
1169
+ _all_params = [
1170
+ 'scope',
1171
+ 'code',
1172
+ 'valuation_point_data_request'
1173
+ ]
1174
+ _all_params.extend(
1175
+ [
1176
+ 'async_req',
1177
+ '_return_http_data_only',
1178
+ '_preload_content',
1179
+ '_request_timeout',
1180
+ '_request_auth',
1181
+ '_content_type',
1182
+ '_headers'
1183
+ ]
1184
+ )
1185
+
1186
+ # validate the arguments
1187
+ for _key, _val in _params['kwargs'].items():
1188
+ if _key not in _all_params:
1189
+ raise ApiTypeError(
1190
+ "Got an unexpected keyword argument '%s'"
1191
+ " to method finalise_candidate_valuation" % _key
1192
+ )
1193
+ _params[_key] = _val
1194
+ del _params['kwargs']
1195
+
1196
+ _collection_formats = {}
1197
+
1198
+ # process the path parameters
1199
+ _path_params = {}
1200
+ if _params['scope']:
1201
+ _path_params['scope'] = _params['scope']
1202
+
1203
+ if _params['code']:
1204
+ _path_params['code'] = _params['code']
1205
+
1206
+
1207
+ # process the query parameters
1208
+ _query_params = []
1209
+ # process the header parameters
1210
+ _header_params = dict(_params.get('_headers', {}))
1211
+ # process the form parameters
1212
+ _form_params = []
1213
+ _files = {}
1214
+ # process the body parameter
1215
+ _body_params = None
1216
+ if _params['valuation_point_data_request'] is not None:
1217
+ _body_params = _params['valuation_point_data_request']
1218
+
1219
+ # set the HTTP header `Accept`
1220
+ _header_params['Accept'] = self.api_client.select_header_accept(
1221
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1222
+
1223
+ # set the HTTP header `Content-Type`
1224
+ _content_types_list = _params.get('_content_type',
1225
+ self.api_client.select_header_content_type(
1226
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1227
+ if _content_types_list:
1228
+ _header_params['Content-Type'] = _content_types_list
1229
+
1230
+ # authentication setting
1231
+ _auth_settings = ['oauth2'] # noqa: E501
1232
+
1233
+ _response_types_map = {
1234
+ '200': "ValuationPointDataResponse",
1235
+ '400': "LusidValidationProblemDetails",
1236
+ }
1237
+
1238
+ return self.api_client.call_api(
1239
+ '/api/funds/{scope}/{code}/valuationpoints/$finalisecandidate', 'POST',
1240
+ _path_params,
1241
+ _query_params,
1242
+ _header_params,
1243
+ body=_body_params,
1244
+ post_params=_form_params,
1245
+ files=_files,
1246
+ response_types_map=_response_types_map,
1247
+ auth_settings=_auth_settings,
1248
+ async_req=_params.get('async_req'),
1249
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1250
+ _preload_content=_params.get('_preload_content', True),
1251
+ _request_timeout=_params.get('_request_timeout'),
1252
+ collection_formats=_collection_formats,
1253
+ _request_auth=_params.get('_request_auth'))
1254
+
1255
+ @overload
1256
+ async def get_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fee properties. 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 Fee. Defaults to returning the latest version of the Fee if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> Fee: # noqa: E501
1257
+ ...
1258
+
1259
+ @overload
1260
+ def get_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fee properties. 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 Fee. Defaults to returning the latest version of the Fee if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
1261
+ ...
1262
+
1263
+ @validate_arguments
1264
+ def get_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fee properties. 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 Fee. Defaults to returning the latest version of the Fee if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
1265
+ """[EXPERIMENTAL] GetFee: Get a Fee for a specified Fund. # noqa: E501
1266
+
1267
+ Retrieve a fee for a specified Fund # noqa: E501
1268
+ This method makes a synchronous HTTP request by default. To make an
1269
+ asynchronous HTTP request, please pass async_req=True
1270
+
1271
+ >>> thread = api.get_fee(scope, code, fee_code, effective_at, as_at, property_keys, async_req=True)
1272
+ >>> result = thread.get()
1273
+
1274
+ :param scope: The scope of the Fund. (required)
1275
+ :type scope: str
1276
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1277
+ :type code: str
1278
+ :param fee_code: The code of the Fee. (required)
1279
+ :type fee_code: str
1280
+ :param effective_at: The effective datetime or cut label at which to retrieve the Fee properties. Defaults to the current LUSID system datetime if not specified.
1281
+ :type effective_at: str
1282
+ :param as_at: The asAt datetime at which to retrieve the Fee. Defaults to returning the latest version of the Fee if not specified.
1283
+ :type as_at: datetime
1284
+ :param property_keys: A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.
1285
+ :type property_keys: List[str]
1286
+ :param async_req: Whether to execute the request asynchronously.
1287
+ :type async_req: bool, optional
1288
+ :param _request_timeout: timeout setting for this request.
1289
+ If one number provided, it will be total request
1290
+ timeout. It can also be a pair (tuple) of
1291
+ (connection, read) timeouts.
1292
+ :return: Returns the result object.
1293
+ If the method is called asynchronously,
1294
+ returns the request thread.
1295
+ :rtype: Fee
1296
+ """
1297
+ kwargs['_return_http_data_only'] = True
1298
+ if '_preload_content' in kwargs:
1299
+ message = "Error! Please call the get_fee_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1300
+ raise ValueError(message)
1301
+ if async_req is not None:
1302
+ kwargs['async_req'] = async_req
1303
+ return self.get_fee_with_http_info(scope, code, fee_code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1304
+
1305
+ @validate_arguments
1306
+ def get_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fee properties. 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 Fee. Defaults to returning the latest version of the Fee if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1307
+ """[EXPERIMENTAL] GetFee: Get a Fee for a specified Fund. # noqa: E501
1308
+
1309
+ Retrieve a fee for a specified Fund # noqa: E501
1310
+ This method makes a synchronous HTTP request by default. To make an
1311
+ asynchronous HTTP request, please pass async_req=True
1312
+
1313
+ >>> thread = api.get_fee_with_http_info(scope, code, fee_code, effective_at, as_at, property_keys, async_req=True)
1314
+ >>> result = thread.get()
1315
+
1316
+ :param scope: The scope of the Fund. (required)
1317
+ :type scope: str
1318
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1319
+ :type code: str
1320
+ :param fee_code: The code of the Fee. (required)
1321
+ :type fee_code: str
1322
+ :param effective_at: The effective datetime or cut label at which to retrieve the Fee properties. Defaults to the current LUSID system datetime if not specified.
1323
+ :type effective_at: str
1324
+ :param as_at: The asAt datetime at which to retrieve the Fee. Defaults to returning the latest version of the Fee if not specified.
1325
+ :type as_at: datetime
1326
+ :param property_keys: A list of property keys from the 'Fee' domain to decorate onto the Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'. If no properties are specified, then no properties will be returned.
1327
+ :type property_keys: List[str]
1328
+ :param async_req: Whether to execute the request asynchronously.
1329
+ :type async_req: bool, optional
1330
+ :param _preload_content: if False, the ApiResponse.data will
1331
+ be set to none and raw_data will store the
1332
+ HTTP response body without reading/decoding.
1333
+ Default is True.
1334
+ :type _preload_content: bool, optional
1335
+ :param _return_http_data_only: response data instead of ApiResponse
1336
+ object with status code, headers, etc
1337
+ :type _return_http_data_only: bool, optional
1338
+ :param _request_timeout: timeout setting for this request. If one
1339
+ number provided, it will be total request
1340
+ timeout. It can also be a pair (tuple) of
1341
+ (connection, read) timeouts.
1342
+ :param _request_auth: set to override the auth_settings for an a single
1343
+ request; this effectively ignores the authentication
1344
+ in the spec for a single request.
1345
+ :type _request_auth: dict, optional
1346
+ :type _content_type: string, optional: force content-type for the request
1347
+ :return: Returns the result object.
1348
+ If the method is called asynchronously,
1349
+ returns the request thread.
1350
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
1351
+ """
1352
+
1353
+ _params = locals()
1354
+
1355
+ _all_params = [
1356
+ 'scope',
1357
+ 'code',
1358
+ 'fee_code',
1359
+ 'effective_at',
1360
+ 'as_at',
1361
+ 'property_keys'
1362
+ ]
1363
+ _all_params.extend(
1364
+ [
1365
+ 'async_req',
1366
+ '_return_http_data_only',
1367
+ '_preload_content',
1368
+ '_request_timeout',
1369
+ '_request_auth',
1370
+ '_content_type',
1371
+ '_headers'
1372
+ ]
1373
+ )
1374
+
1375
+ # validate the arguments
1376
+ for _key, _val in _params['kwargs'].items():
1377
+ if _key not in _all_params:
1378
+ raise ApiTypeError(
1379
+ "Got an unexpected keyword argument '%s'"
1380
+ " to method get_fee" % _key
1381
+ )
1382
+ _params[_key] = _val
1383
+ del _params['kwargs']
1384
+
1385
+ _collection_formats = {}
1386
+
1387
+ # process the path parameters
1388
+ _path_params = {}
1389
+ if _params['scope']:
1390
+ _path_params['scope'] = _params['scope']
1391
+
1392
+ if _params['code']:
1393
+ _path_params['code'] = _params['code']
1394
+
1395
+ if _params['fee_code']:
1396
+ _path_params['feeCode'] = _params['fee_code']
1397
+
1398
+
1399
+ # process the query parameters
1400
+ _query_params = []
1401
+ if _params.get('effective_at') is not None: # noqa: E501
1402
+ _query_params.append(('effectiveAt', _params['effective_at']))
1403
+
1404
+ if _params.get('as_at') is not None: # noqa: E501
1405
+ if isinstance(_params['as_at'], datetime):
1406
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1407
+ else:
1408
+ _query_params.append(('asAt', _params['as_at']))
1409
+
1410
+ if _params.get('property_keys') is not None: # noqa: E501
1411
+ _query_params.append(('propertyKeys', _params['property_keys']))
1412
+ _collection_formats['propertyKeys'] = 'multi'
1413
+
1414
+ # process the header parameters
1415
+ _header_params = dict(_params.get('_headers', {}))
1416
+ # process the form parameters
1417
+ _form_params = []
1418
+ _files = {}
1419
+ # process the body parameter
1420
+ _body_params = None
1421
+ # set the HTTP header `Accept`
1422
+ _header_params['Accept'] = self.api_client.select_header_accept(
1423
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1424
+
1425
+ # authentication setting
1426
+ _auth_settings = ['oauth2'] # noqa: E501
1427
+
1428
+ _response_types_map = {
1429
+ '200': "Fee",
1430
+ '400': "LusidValidationProblemDetails",
1431
+ }
1432
+
1433
+ return self.api_client.call_api(
1434
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'GET',
1435
+ _path_params,
1436
+ _query_params,
1437
+ _header_params,
1438
+ body=_body_params,
1439
+ post_params=_form_params,
1440
+ files=_files,
1441
+ response_types_map=_response_types_map,
1442
+ auth_settings=_auth_settings,
1443
+ async_req=_params.get('async_req'),
1444
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1445
+ _preload_content=_params.get('_preload_content', True),
1446
+ _request_timeout=_params.get('_request_timeout'),
1447
+ collection_formats=_collection_formats,
1448
+ _request_auth=_params.get('_request_auth'))
1449
+
1450
+ @overload
1451
+ async def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> Fund: # noqa: E501
1452
+ ...
1453
+
1454
+ @overload
1455
+ def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=True, **kwargs) -> Fund: # noqa: E501
1456
+ ...
1457
+
1458
+ @validate_arguments
1459
+ def get_fund(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Fund, Awaitable[Fund]]: # noqa: E501
1460
+ """[EXPERIMENTAL] GetFund: Get a Fund. # noqa: E501
1461
+
1462
+ Retrieve the definition of a particular Fund. # noqa: E501
1463
+ This method makes a synchronous HTTP request by default. To make an
1464
+ asynchronous HTTP request, please pass async_req=True
1465
+
1466
+ >>> thread = api.get_fund(scope, code, effective_at, as_at, property_keys, async_req=True)
1467
+ >>> result = thread.get()
1468
+
1469
+ :param scope: The scope of the Fund. (required)
1470
+ :type scope: str
1471
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1472
+ :type code: str
1473
+ :param effective_at: The effective datetime or cut label at which to retrieve the Fund properties. Defaults to the current LUSID system datetime if not specified.
1474
+ :type effective_at: str
1475
+ :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1476
+ :type as_at: datetime
1477
+ :param property_keys: A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.
1478
+ :type property_keys: List[str]
1479
+ :param async_req: Whether to execute the request asynchronously.
1480
+ :type async_req: bool, optional
1481
+ :param _request_timeout: timeout setting for this request.
1482
+ If one number provided, it will be total request
1483
+ timeout. It can also be a pair (tuple) of
1484
+ (connection, read) timeouts.
1485
+ :return: Returns the result object.
1486
+ If the method is called asynchronously,
1487
+ returns the request thread.
1488
+ :rtype: Fund
1489
+ """
1490
+ kwargs['_return_http_data_only'] = True
1491
+ if '_preload_content' in kwargs:
1492
+ message = "Error! Please call the get_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1493
+ raise ValueError(message)
1494
+ if async_req is not None:
1495
+ kwargs['async_req'] = async_req
1496
+ return self.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1497
+
1498
+ @validate_arguments
1499
+ def get_fund_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Fund properties. 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 Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1500
+ """[EXPERIMENTAL] GetFund: Get a Fund. # noqa: E501
1501
+
1502
+ Retrieve the definition of a particular Fund. # noqa: E501
1503
+ This method makes a synchronous HTTP request by default. To make an
1504
+ asynchronous HTTP request, please pass async_req=True
1505
+
1506
+ >>> thread = api.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
1507
+ >>> result = thread.get()
1508
+
1509
+ :param scope: The scope of the Fund. (required)
1510
+ :type scope: str
1511
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1512
+ :type code: str
1513
+ :param effective_at: The effective datetime or cut label at which to retrieve the Fund properties. Defaults to the current LUSID system datetime if not specified.
1514
+ :type effective_at: str
1515
+ :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1516
+ :type as_at: datetime
1517
+ :param property_keys: A list of property keys from the 'Fund' domain to decorate onto the Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'. If no properties are specified, then no properties will be returned.
1518
+ :type property_keys: List[str]
1519
+ :param async_req: Whether to execute the request asynchronously.
1520
+ :type async_req: bool, optional
1521
+ :param _preload_content: if False, the ApiResponse.data will
1522
+ be set to none and raw_data will store the
1523
+ HTTP response body without reading/decoding.
1524
+ Default is True.
1525
+ :type _preload_content: bool, optional
1526
+ :param _return_http_data_only: response data instead of ApiResponse
1527
+ object with status code, headers, etc
1528
+ :type _return_http_data_only: bool, optional
1529
+ :param _request_timeout: timeout setting for this request. If one
1530
+ number provided, it will be total request
1531
+ timeout. It can also be a pair (tuple) of
1532
+ (connection, read) timeouts.
1533
+ :param _request_auth: set to override the auth_settings for an a single
1534
+ request; this effectively ignores the authentication
1535
+ in the spec for a single request.
1536
+ :type _request_auth: dict, optional
1537
+ :type _content_type: string, optional: force content-type for the request
1538
+ :return: Returns the result object.
1539
+ If the method is called asynchronously,
1540
+ returns the request thread.
1541
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
1542
+ """
1543
+
1544
+ _params = locals()
1545
+
1546
+ _all_params = [
1547
+ 'scope',
1548
+ 'code',
1549
+ 'effective_at',
1550
+ 'as_at',
1551
+ 'property_keys'
1552
+ ]
1553
+ _all_params.extend(
1554
+ [
1555
+ 'async_req',
1556
+ '_return_http_data_only',
1557
+ '_preload_content',
1558
+ '_request_timeout',
1559
+ '_request_auth',
1560
+ '_content_type',
1561
+ '_headers'
1562
+ ]
1563
+ )
1564
+
1565
+ # validate the arguments
1566
+ for _key, _val in _params['kwargs'].items():
1567
+ if _key not in _all_params:
1568
+ raise ApiTypeError(
1569
+ "Got an unexpected keyword argument '%s'"
1570
+ " to method get_fund" % _key
1571
+ )
1572
+ _params[_key] = _val
1573
+ del _params['kwargs']
1574
+
1575
+ _collection_formats = {}
1576
+
1577
+ # process the path parameters
1578
+ _path_params = {}
1579
+ if _params['scope']:
1580
+ _path_params['scope'] = _params['scope']
1581
+
1582
+ if _params['code']:
1583
+ _path_params['code'] = _params['code']
1584
+
1585
+
1586
+ # process the query parameters
1587
+ _query_params = []
1588
+ if _params.get('effective_at') is not None: # noqa: E501
1589
+ _query_params.append(('effectiveAt', _params['effective_at']))
1590
+
1591
+ if _params.get('as_at') is not None: # noqa: E501
1592
+ if isinstance(_params['as_at'], datetime):
1593
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1594
+ else:
1595
+ _query_params.append(('asAt', _params['as_at']))
1596
+
1597
+ if _params.get('property_keys') is not None: # noqa: E501
1598
+ _query_params.append(('propertyKeys', _params['property_keys']))
1599
+ _collection_formats['propertyKeys'] = 'multi'
1600
+
1601
+ # process the header parameters
1602
+ _header_params = dict(_params.get('_headers', {}))
1603
+ # process the form parameters
1604
+ _form_params = []
1605
+ _files = {}
1606
+ # process the body parameter
1607
+ _body_params = None
1608
+ # set the HTTP header `Accept`
1609
+ _header_params['Accept'] = self.api_client.select_header_accept(
1610
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1611
+
1612
+ # authentication setting
1613
+ _auth_settings = ['oauth2'] # noqa: E501
1614
+
1615
+ _response_types_map = {
1616
+ '200': "Fund",
1069
1617
  '400': "LusidValidationProblemDetails",
1070
1618
  }
1071
1619
 
@@ -1087,32 +1635,227 @@ class FundsApi:
1087
1635
  _request_auth=_params.get('_request_auth'))
1088
1636
 
1089
1637
  @overload
1090
- async def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, **kwargs) -> ValuationPointDataResponse: # noqa: E501
1638
+ async def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, **kwargs) -> ValuationPointDataResponse: # noqa: E501
1639
+ ...
1640
+
1641
+ @overload
1642
+ def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointDataResponse: # noqa: E501
1643
+ ...
1644
+
1645
+ @validate_arguments
1646
+ def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointDataResponse, Awaitable[ValuationPointDataResponse]]: # noqa: E501
1647
+ """[EXPERIMENTAL] GetValuationPointData: Get Valuation Point Data for a Fund. # noqa: E501
1648
+
1649
+ Retrieves the Valuation Point data for a date or specified Diary Entry Id. The endpoint will internally extract all 'Assets' and 'Liabilities' from the related ABOR's Trial balance to produce a GAV. Start date will be assumed from the last 'official' DiaryEntry and EndDate will be as provided. # noqa: E501
1650
+ This method makes a synchronous HTTP request by default. To make an
1651
+ asynchronous HTTP request, please pass async_req=True
1652
+
1653
+ >>> thread = api.get_valuation_point_data(scope, code, valuation_point_data_query_parameters, as_at, async_req=True)
1654
+ >>> result = thread.get()
1655
+
1656
+ :param scope: The scope of the Fund. (required)
1657
+ :type scope: str
1658
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1659
+ :type code: str
1660
+ :param valuation_point_data_query_parameters: The arguments to use for querying the Valuation Point data (required)
1661
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1662
+ :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1663
+ :type as_at: datetime
1664
+ :param async_req: Whether to execute the request asynchronously.
1665
+ :type async_req: bool, optional
1666
+ :param _request_timeout: timeout setting for this request.
1667
+ If one number provided, it will be total request
1668
+ timeout. It can also be a pair (tuple) of
1669
+ (connection, read) timeouts.
1670
+ :return: Returns the result object.
1671
+ If the method is called asynchronously,
1672
+ returns the request thread.
1673
+ :rtype: ValuationPointDataResponse
1674
+ """
1675
+ kwargs['_return_http_data_only'] = True
1676
+ if '_preload_content' in kwargs:
1677
+ message = "Error! Please call the get_valuation_point_data_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1678
+ raise ValueError(message)
1679
+ if async_req is not None:
1680
+ kwargs['async_req'] = async_req
1681
+ return self.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, **kwargs) # noqa: E501
1682
+
1683
+ @validate_arguments
1684
+ def get_valuation_point_data_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1685
+ """[EXPERIMENTAL] GetValuationPointData: Get Valuation Point Data for a Fund. # noqa: E501
1686
+
1687
+ Retrieves the Valuation Point data for a date or specified Diary Entry Id. The endpoint will internally extract all 'Assets' and 'Liabilities' from the related ABOR's Trial balance to produce a GAV. Start date will be assumed from the last 'official' DiaryEntry and EndDate will be as provided. # noqa: E501
1688
+ This method makes a synchronous HTTP request by default. To make an
1689
+ asynchronous HTTP request, please pass async_req=True
1690
+
1691
+ >>> thread = api.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, async_req=True)
1692
+ >>> result = thread.get()
1693
+
1694
+ :param scope: The scope of the Fund. (required)
1695
+ :type scope: str
1696
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1697
+ :type code: str
1698
+ :param valuation_point_data_query_parameters: The arguments to use for querying the Valuation Point data (required)
1699
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1700
+ :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1701
+ :type as_at: datetime
1702
+ :param async_req: Whether to execute the request asynchronously.
1703
+ :type async_req: bool, optional
1704
+ :param _preload_content: if False, the ApiResponse.data will
1705
+ be set to none and raw_data will store the
1706
+ HTTP response body without reading/decoding.
1707
+ Default is True.
1708
+ :type _preload_content: bool, optional
1709
+ :param _return_http_data_only: response data instead of ApiResponse
1710
+ object with status code, headers, etc
1711
+ :type _return_http_data_only: bool, optional
1712
+ :param _request_timeout: timeout setting for this request. If one
1713
+ number provided, it will be total request
1714
+ timeout. It can also be a pair (tuple) of
1715
+ (connection, read) timeouts.
1716
+ :param _request_auth: set to override the auth_settings for an a single
1717
+ request; this effectively ignores the authentication
1718
+ in the spec for a single request.
1719
+ :type _request_auth: dict, optional
1720
+ :type _content_type: string, optional: force content-type for the request
1721
+ :return: Returns the result object.
1722
+ If the method is called asynchronously,
1723
+ returns the request thread.
1724
+ :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
1725
+ """
1726
+
1727
+ _params = locals()
1728
+
1729
+ _all_params = [
1730
+ 'scope',
1731
+ 'code',
1732
+ 'valuation_point_data_query_parameters',
1733
+ 'as_at'
1734
+ ]
1735
+ _all_params.extend(
1736
+ [
1737
+ 'async_req',
1738
+ '_return_http_data_only',
1739
+ '_preload_content',
1740
+ '_request_timeout',
1741
+ '_request_auth',
1742
+ '_content_type',
1743
+ '_headers'
1744
+ ]
1745
+ )
1746
+
1747
+ # validate the arguments
1748
+ for _key, _val in _params['kwargs'].items():
1749
+ if _key not in _all_params:
1750
+ raise ApiTypeError(
1751
+ "Got an unexpected keyword argument '%s'"
1752
+ " to method get_valuation_point_data" % _key
1753
+ )
1754
+ _params[_key] = _val
1755
+ del _params['kwargs']
1756
+
1757
+ _collection_formats = {}
1758
+
1759
+ # process the path parameters
1760
+ _path_params = {}
1761
+ if _params['scope']:
1762
+ _path_params['scope'] = _params['scope']
1763
+
1764
+ if _params['code']:
1765
+ _path_params['code'] = _params['code']
1766
+
1767
+
1768
+ # process the query parameters
1769
+ _query_params = []
1770
+ if _params.get('as_at') is not None: # noqa: E501
1771
+ if isinstance(_params['as_at'], datetime):
1772
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1773
+ else:
1774
+ _query_params.append(('asAt', _params['as_at']))
1775
+
1776
+ # process the header parameters
1777
+ _header_params = dict(_params.get('_headers', {}))
1778
+ # process the form parameters
1779
+ _form_params = []
1780
+ _files = {}
1781
+ # process the body parameter
1782
+ _body_params = None
1783
+ if _params['valuation_point_data_query_parameters'] is not None:
1784
+ _body_params = _params['valuation_point_data_query_parameters']
1785
+
1786
+ # set the HTTP header `Accept`
1787
+ _header_params['Accept'] = self.api_client.select_header_accept(
1788
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1789
+
1790
+ # set the HTTP header `Content-Type`
1791
+ _content_types_list = _params.get('_content_type',
1792
+ self.api_client.select_header_content_type(
1793
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1794
+ if _content_types_list:
1795
+ _header_params['Content-Type'] = _content_types_list
1796
+
1797
+ # authentication setting
1798
+ _auth_settings = ['oauth2'] # noqa: E501
1799
+
1800
+ _response_types_map = {
1801
+ '200': "ValuationPointDataResponse",
1802
+ '400': "LusidValidationProblemDetails",
1803
+ }
1804
+
1805
+ return self.api_client.call_api(
1806
+ '/api/funds/{scope}/{code}/valuationpoints', 'POST',
1807
+ _path_params,
1808
+ _query_params,
1809
+ _header_params,
1810
+ body=_body_params,
1811
+ post_params=_form_params,
1812
+ files=_files,
1813
+ response_types_map=_response_types_map,
1814
+ auth_settings=_auth_settings,
1815
+ async_req=_params.get('async_req'),
1816
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1817
+ _preload_content=_params.get('_preload_content', True),
1818
+ _request_timeout=_params.get('_request_timeout'),
1819
+ collection_formats=_collection_formats,
1820
+ _request_auth=_params.get('_request_auth'))
1821
+
1822
+ @overload
1823
+ async def list_fees(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.")] = None, **kwargs) -> PagedResourceListOfFee: # noqa: E501
1091
1824
  ...
1092
1825
 
1093
1826
  @overload
1094
- def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointDataResponse: # noqa: E501
1827
+ def list_fees(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfFee: # noqa: E501
1095
1828
  ...
1096
1829
 
1097
1830
  @validate_arguments
1098
- def get_valuation_point_data(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointDataResponse, Awaitable[ValuationPointDataResponse]]: # noqa: E501
1099
- """[EXPERIMENTAL] GetValuationPointData: Get Valuation Point Data for a Fund. # noqa: E501
1831
+ def list_fees(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfFee, Awaitable[PagedResourceListOfFee]]: # noqa: E501
1832
+ """[EXPERIMENTAL] ListFees: List Fees for a specified Fund. # noqa: E501
1100
1833
 
1101
- Retrieves the Valuation Point data for a date or specified Diary Entry Id. The endpoint will internally extract all 'Assets' and 'Liabilities' from the related ABOR's Trial balance to produce a GAV. Start date will be assumed from the last 'official' DiaryEntry and EndDate will be as provided. # noqa: E501
1834
+ List all the Fees matching a particular criteria. # noqa: E501
1102
1835
  This method makes a synchronous HTTP request by default. To make an
1103
1836
  asynchronous HTTP request, please pass async_req=True
1104
1837
 
1105
- >>> thread = api.get_valuation_point_data(scope, code, valuation_point_data_query_parameters, as_at, async_req=True)
1838
+ >>> thread = api.list_fees(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
1106
1839
  >>> result = thread.get()
1107
1840
 
1108
1841
  :param scope: The scope of the Fund. (required)
1109
1842
  :type scope: str
1110
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1843
+ :param code: The code of the Fund. (required)
1111
1844
  :type code: str
1112
- :param valuation_point_data_query_parameters: The arguments to use for querying the Valuation Point data (required)
1113
- :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1114
- :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1845
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.
1846
+ :type effective_at: str
1847
+ :param as_at: The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.
1115
1848
  :type as_at: datetime
1849
+ :param page: The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
1850
+ :type page: str
1851
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1852
+ :type limit: int
1853
+ :param filter: Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
1854
+ :type filter: str
1855
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
1856
+ :type sort_by: List[str]
1857
+ :param property_keys: A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.
1858
+ :type property_keys: List[str]
1116
1859
  :param async_req: Whether to execute the request asynchronously.
1117
1860
  :type async_req: bool, optional
1118
1861
  :param _request_timeout: timeout setting for this request.
@@ -1122,35 +1865,45 @@ class FundsApi:
1122
1865
  :return: Returns the result object.
1123
1866
  If the method is called asynchronously,
1124
1867
  returns the request thread.
1125
- :rtype: ValuationPointDataResponse
1868
+ :rtype: PagedResourceListOfFee
1126
1869
  """
1127
1870
  kwargs['_return_http_data_only'] = True
1128
1871
  if '_preload_content' in kwargs:
1129
- message = "Error! Please call the get_valuation_point_data_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1872
+ message = "Error! Please call the list_fees_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1130
1873
  raise ValueError(message)
1131
1874
  if async_req is not None:
1132
1875
  kwargs['async_req'] = async_req
1133
- return self.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, **kwargs) # noqa: E501
1876
+ return self.list_fees_with_http_info(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, **kwargs) # noqa: E501
1134
1877
 
1135
1878
  @validate_arguments
1136
- def get_valuation_point_data_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Valuation Point data")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1137
- """[EXPERIMENTAL] GetValuationPointData: Get Valuation Point Data for a Fund. # noqa: E501
1879
+ def list_fees_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1880
+ """[EXPERIMENTAL] ListFees: List Fees for a specified Fund. # noqa: E501
1138
1881
 
1139
- Retrieves the Valuation Point data for a date or specified Diary Entry Id. The endpoint will internally extract all 'Assets' and 'Liabilities' from the related ABOR's Trial balance to produce a GAV. Start date will be assumed from the last 'official' DiaryEntry and EndDate will be as provided. # noqa: E501
1882
+ List all the Fees matching a particular criteria. # noqa: E501
1140
1883
  This method makes a synchronous HTTP request by default. To make an
1141
1884
  asynchronous HTTP request, please pass async_req=True
1142
1885
 
1143
- >>> thread = api.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, async_req=True)
1886
+ >>> thread = api.list_fees_with_http_info(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
1144
1887
  >>> result = thread.get()
1145
1888
 
1146
1889
  :param scope: The scope of the Fund. (required)
1147
1890
  :type scope: str
1148
- :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1891
+ :param code: The code of the Fund. (required)
1149
1892
  :type code: str
1150
- :param valuation_point_data_query_parameters: The arguments to use for querying the Valuation Point data (required)
1151
- :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1152
- :param as_at: The asAt datetime at which to retrieve the Fund definition. Defaults to returning the latest version of the Fund definition if not specified.
1893
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Fees. Defaults to the current LUSID system datetime if not specified.
1894
+ :type effective_at: str
1895
+ :param as_at: The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.
1153
1896
  :type as_at: datetime
1897
+ :param page: The pagination token to use to continue listing fees; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
1898
+ :type page: str
1899
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1900
+ :type limit: int
1901
+ :param filter: Expression to filter the results. For example, to filter on the treatment, specify \"treatment eq 'Monthly'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
1902
+ :type filter: str
1903
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
1904
+ :type sort_by: List[str]
1905
+ :param property_keys: A list of property keys from the 'Fee' domain to decorate onto each Fee. These must take the format {domain}/{scope}/{code}, for example 'Fee/Account/Id'.
1906
+ :type property_keys: List[str]
1154
1907
  :param async_req: Whether to execute the request asynchronously.
1155
1908
  :type async_req: bool, optional
1156
1909
  :param _preload_content: if False, the ApiResponse.data will
@@ -1173,7 +1926,7 @@ class FundsApi:
1173
1926
  :return: Returns the result object.
1174
1927
  If the method is called asynchronously,
1175
1928
  returns the request thread.
1176
- :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
1929
+ :rtype: tuple(PagedResourceListOfFee, status_code(int), headers(HTTPHeaderDict))
1177
1930
  """
1178
1931
 
1179
1932
  _params = locals()
@@ -1181,8 +1934,13 @@ class FundsApi:
1181
1934
  _all_params = [
1182
1935
  'scope',
1183
1936
  'code',
1184
- 'valuation_point_data_query_parameters',
1185
- 'as_at'
1937
+ 'effective_at',
1938
+ 'as_at',
1939
+ 'page',
1940
+ 'limit',
1941
+ 'filter',
1942
+ 'sort_by',
1943
+ 'property_keys'
1186
1944
  ]
1187
1945
  _all_params.extend(
1188
1946
  [
@@ -1201,7 +1959,7 @@ class FundsApi:
1201
1959
  if _key not in _all_params:
1202
1960
  raise ApiTypeError(
1203
1961
  "Got an unexpected keyword argument '%s'"
1204
- " to method get_valuation_point_data" % _key
1962
+ " to method list_fees" % _key
1205
1963
  )
1206
1964
  _params[_key] = _val
1207
1965
  del _params['kwargs']
@@ -1219,12 +1977,32 @@ class FundsApi:
1219
1977
 
1220
1978
  # process the query parameters
1221
1979
  _query_params = []
1980
+ if _params.get('effective_at') is not None: # noqa: E501
1981
+ _query_params.append(('effectiveAt', _params['effective_at']))
1982
+
1222
1983
  if _params.get('as_at') is not None: # noqa: E501
1223
1984
  if isinstance(_params['as_at'], datetime):
1224
1985
  _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1225
1986
  else:
1226
1987
  _query_params.append(('asAt', _params['as_at']))
1227
1988
 
1989
+ if _params.get('page') is not None: # noqa: E501
1990
+ _query_params.append(('page', _params['page']))
1991
+
1992
+ if _params.get('limit') is not None: # noqa: E501
1993
+ _query_params.append(('limit', _params['limit']))
1994
+
1995
+ if _params.get('filter') is not None: # noqa: E501
1996
+ _query_params.append(('filter', _params['filter']))
1997
+
1998
+ if _params.get('sort_by') is not None: # noqa: E501
1999
+ _query_params.append(('sortBy', _params['sort_by']))
2000
+ _collection_formats['sortBy'] = 'multi'
2001
+
2002
+ if _params.get('property_keys') is not None: # noqa: E501
2003
+ _query_params.append(('propertyKeys', _params['property_keys']))
2004
+ _collection_formats['propertyKeys'] = 'multi'
2005
+
1228
2006
  # process the header parameters
1229
2007
  _header_params = dict(_params.get('_headers', {}))
1230
2008
  # process the form parameters
@@ -1232,30 +2010,20 @@ class FundsApi:
1232
2010
  _files = {}
1233
2011
  # process the body parameter
1234
2012
  _body_params = None
1235
- if _params['valuation_point_data_query_parameters'] is not None:
1236
- _body_params = _params['valuation_point_data_query_parameters']
1237
-
1238
2013
  # set the HTTP header `Accept`
1239
2014
  _header_params['Accept'] = self.api_client.select_header_accept(
1240
2015
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
1241
2016
 
1242
- # set the HTTP header `Content-Type`
1243
- _content_types_list = _params.get('_content_type',
1244
- self.api_client.select_header_content_type(
1245
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1246
- if _content_types_list:
1247
- _header_params['Content-Type'] = _content_types_list
1248
-
1249
2017
  # authentication setting
1250
2018
  _auth_settings = ['oauth2'] # noqa: E501
1251
2019
 
1252
2020
  _response_types_map = {
1253
- '200': "ValuationPointDataResponse",
2021
+ '200': "PagedResourceListOfFee",
1254
2022
  '400': "LusidValidationProblemDetails",
1255
2023
  }
1256
2024
 
1257
2025
  return self.api_client.call_api(
1258
- '/api/funds/{scope}/{code}/valuationpoints', 'POST',
2026
+ '/api/funds/{scope}/{code}/fees', 'GET',
1259
2027
  _path_params,
1260
2028
  _query_params,
1261
2029
  _header_params,
@@ -1475,6 +2243,188 @@ class FundsApi:
1475
2243
  collection_formats=_collection_formats,
1476
2244
  _request_auth=_params.get('_request_auth'))
1477
2245
 
2246
+ @overload
2247
+ async def patch_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], operation : Annotated[conlist(Operation), Field(..., description="The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902.")], **kwargs) -> Fee: # noqa: E501
2248
+ ...
2249
+
2250
+ @overload
2251
+ def patch_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], operation : Annotated[conlist(Operation), Field(..., description="The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902.")], async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
2252
+ ...
2253
+
2254
+ @validate_arguments
2255
+ def patch_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], operation : Annotated[conlist(Operation), Field(..., description="The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
2256
+ """[EXPERIMENTAL] PatchFee: Patch Fee. # noqa: E501
2257
+
2258
+ Create or update certain fields for a particular Fee. The behaviour is defined by the JSON Patch specification. Currently supported fields are: EndDate. # noqa: E501
2259
+ This method makes a synchronous HTTP request by default. To make an
2260
+ asynchronous HTTP request, please pass async_req=True
2261
+
2262
+ >>> thread = api.patch_fee(scope, code, fee_code, operation, async_req=True)
2263
+ >>> result = thread.get()
2264
+
2265
+ :param scope: The scope of the Fund. (required)
2266
+ :type scope: str
2267
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2268
+ :type code: str
2269
+ :param fee_code: The code of the Fee. (required)
2270
+ :type fee_code: str
2271
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
2272
+ :type operation: List[Operation]
2273
+ :param async_req: Whether to execute the request asynchronously.
2274
+ :type async_req: bool, optional
2275
+ :param _request_timeout: timeout setting for this request.
2276
+ If one number provided, it will be total request
2277
+ timeout. It can also be a pair (tuple) of
2278
+ (connection, read) timeouts.
2279
+ :return: Returns the result object.
2280
+ If the method is called asynchronously,
2281
+ returns the request thread.
2282
+ :rtype: Fee
2283
+ """
2284
+ kwargs['_return_http_data_only'] = True
2285
+ if '_preload_content' in kwargs:
2286
+ message = "Error! Please call the patch_fee_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2287
+ raise ValueError(message)
2288
+ if async_req is not None:
2289
+ kwargs['async_req'] = async_req
2290
+ return self.patch_fee_with_http_info(scope, code, fee_code, operation, **kwargs) # noqa: E501
2291
+
2292
+ @validate_arguments
2293
+ def patch_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], operation : Annotated[conlist(Operation), Field(..., description="The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902.")], **kwargs) -> ApiResponse: # noqa: E501
2294
+ """[EXPERIMENTAL] PatchFee: Patch Fee. # noqa: E501
2295
+
2296
+ Create or update certain fields for a particular Fee. The behaviour is defined by the JSON Patch specification. Currently supported fields are: EndDate. # noqa: E501
2297
+ This method makes a synchronous HTTP request by default. To make an
2298
+ asynchronous HTTP request, please pass async_req=True
2299
+
2300
+ >>> thread = api.patch_fee_with_http_info(scope, code, fee_code, operation, async_req=True)
2301
+ >>> result = thread.get()
2302
+
2303
+ :param scope: The scope of the Fund. (required)
2304
+ :type scope: str
2305
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2306
+ :type code: str
2307
+ :param fee_code: The code of the Fee. (required)
2308
+ :type fee_code: str
2309
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
2310
+ :type operation: List[Operation]
2311
+ :param async_req: Whether to execute the request asynchronously.
2312
+ :type async_req: bool, optional
2313
+ :param _preload_content: if False, the ApiResponse.data will
2314
+ be set to none and raw_data will store the
2315
+ HTTP response body without reading/decoding.
2316
+ Default is True.
2317
+ :type _preload_content: bool, optional
2318
+ :param _return_http_data_only: response data instead of ApiResponse
2319
+ object with status code, headers, etc
2320
+ :type _return_http_data_only: bool, optional
2321
+ :param _request_timeout: timeout setting for this request. If one
2322
+ number provided, it will be total request
2323
+ timeout. It can also be a pair (tuple) of
2324
+ (connection, read) timeouts.
2325
+ :param _request_auth: set to override the auth_settings for an a single
2326
+ request; this effectively ignores the authentication
2327
+ in the spec for a single request.
2328
+ :type _request_auth: dict, optional
2329
+ :type _content_type: string, optional: force content-type for the request
2330
+ :return: Returns the result object.
2331
+ If the method is called asynchronously,
2332
+ returns the request thread.
2333
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
2334
+ """
2335
+
2336
+ _params = locals()
2337
+
2338
+ _all_params = [
2339
+ 'scope',
2340
+ 'code',
2341
+ 'fee_code',
2342
+ 'operation'
2343
+ ]
2344
+ _all_params.extend(
2345
+ [
2346
+ 'async_req',
2347
+ '_return_http_data_only',
2348
+ '_preload_content',
2349
+ '_request_timeout',
2350
+ '_request_auth',
2351
+ '_content_type',
2352
+ '_headers'
2353
+ ]
2354
+ )
2355
+
2356
+ # validate the arguments
2357
+ for _key, _val in _params['kwargs'].items():
2358
+ if _key not in _all_params:
2359
+ raise ApiTypeError(
2360
+ "Got an unexpected keyword argument '%s'"
2361
+ " to method patch_fee" % _key
2362
+ )
2363
+ _params[_key] = _val
2364
+ del _params['kwargs']
2365
+
2366
+ _collection_formats = {}
2367
+
2368
+ # process the path parameters
2369
+ _path_params = {}
2370
+ if _params['scope']:
2371
+ _path_params['scope'] = _params['scope']
2372
+
2373
+ if _params['code']:
2374
+ _path_params['code'] = _params['code']
2375
+
2376
+ if _params['fee_code']:
2377
+ _path_params['feeCode'] = _params['fee_code']
2378
+
2379
+
2380
+ # process the query parameters
2381
+ _query_params = []
2382
+ # process the header parameters
2383
+ _header_params = dict(_params.get('_headers', {}))
2384
+ # process the form parameters
2385
+ _form_params = []
2386
+ _files = {}
2387
+ # process the body parameter
2388
+ _body_params = None
2389
+ if _params['operation'] is not None:
2390
+ _body_params = _params['operation']
2391
+
2392
+ # set the HTTP header `Accept`
2393
+ _header_params['Accept'] = self.api_client.select_header_accept(
2394
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2395
+
2396
+ # set the HTTP header `Content-Type`
2397
+ _content_types_list = _params.get('_content_type',
2398
+ self.api_client.select_header_content_type(
2399
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2400
+ if _content_types_list:
2401
+ _header_params['Content-Type'] = _content_types_list
2402
+
2403
+ # authentication setting
2404
+ _auth_settings = ['oauth2'] # noqa: E501
2405
+
2406
+ _response_types_map = {
2407
+ '200': "Fee",
2408
+ '400': "LusidValidationProblemDetails",
2409
+ }
2410
+
2411
+ return self.api_client.call_api(
2412
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'PATCH',
2413
+ _path_params,
2414
+ _query_params,
2415
+ _header_params,
2416
+ body=_body_params,
2417
+ post_params=_form_params,
2418
+ files=_files,
2419
+ response_types_map=_response_types_map,
2420
+ auth_settings=_auth_settings,
2421
+ async_req=_params.get('async_req'),
2422
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2423
+ _preload_content=_params.get('_preload_content', True),
2424
+ _request_timeout=_params.get('_request_timeout'),
2425
+ collection_formats=_collection_formats,
2426
+ _request_auth=_params.get('_request_auth'))
2427
+
1478
2428
  @overload
1479
2429
  async def set_share_class_instruments(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund.")], set_share_class_instruments_request : Annotated[SetShareClassInstrumentsRequest, Field(..., description="The scopes and instrument identifiers for the instruments to be set.")], **kwargs) -> Fund: # noqa: E501
1480
2430
  ...