lusid-sdk 2.1.896__py3-none-any.whl → 2.1.898__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. lusid/__init__.py +14 -0
  2. lusid/api/funds_api.py +230 -1
  3. lusid/api/transaction_portfolios_api.py +559 -2
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +14 -0
  6. lusid/models/accumulation_event.py +3 -3
  7. lusid/models/adjust_global_commitment_event.py +3 -3
  8. lusid/models/amortisation_event.py +3 -3
  9. lusid/models/bond_coupon_event.py +3 -3
  10. lusid/models/bond_default_event.py +3 -3
  11. lusid/models/bond_principal_event.py +3 -3
  12. lusid/models/bonus_issue_event.py +3 -3
  13. lusid/models/call_on_intermediate_securities_event.py +3 -3
  14. lusid/models/capital_distribution_event.py +3 -3
  15. lusid/models/cash_dividend_event.py +3 -3
  16. lusid/models/cash_flow_event.py +3 -3
  17. lusid/models/cds_credit_event.py +3 -3
  18. lusid/models/cdx_credit_event.py +3 -3
  19. lusid/models/close_event.py +3 -3
  20. lusid/models/contract_initialisation_event.py +3 -3
  21. lusid/models/conversion_event.py +3 -3
  22. lusid/models/create_derived_transaction_portfolio_request.py +8 -2
  23. lusid/models/create_transaction_portfolio_request.py +8 -2
  24. lusid/models/credit_premium_cash_flow_event.py +3 -3
  25. lusid/models/deposit_close_event.py +3 -3
  26. lusid/models/deposit_interest_payment_event.py +3 -3
  27. lusid/models/dividend_option_event.py +3 -3
  28. lusid/models/dividend_reinvestment_event.py +3 -3
  29. lusid/models/drawdown_event.py +3 -3
  30. lusid/models/early_redemption_event.py +3 -3
  31. lusid/models/exercise_event.py +3 -3
  32. lusid/models/expiry_event.py +3 -3
  33. lusid/models/flexible_repo_cash_flow_event.py +3 -3
  34. lusid/models/flexible_repo_collateral_event.py +3 -3
  35. lusid/models/flexible_repo_full_closure_event.py +153 -0
  36. lusid/models/flexible_repo_interest_payment_event.py +3 -3
  37. lusid/models/flexible_repo_partial_closure_event.py +3 -3
  38. lusid/models/future_expiry_event.py +3 -3
  39. lusid/models/future_mark_to_market_event.py +3 -3
  40. lusid/models/fx_forward_settlement_event.py +3 -3
  41. lusid/models/informational_error_event.py +3 -3
  42. lusid/models/informational_event.py +3 -3
  43. lusid/models/instrument_event.py +6 -5
  44. lusid/models/instrument_event_type.py +1 -0
  45. lusid/models/intermediate_securities_distribution_event.py +3 -3
  46. lusid/models/loan_facility_contract_rollover_event.py +3 -3
  47. lusid/models/loan_interest_repayment_event.py +3 -3
  48. lusid/models/loan_principal_repayment_event.py +3 -3
  49. lusid/models/maturity_event.py +3 -3
  50. lusid/models/mbs_coupon_event.py +3 -3
  51. lusid/models/mbs_interest_deferral_event.py +3 -3
  52. lusid/models/mbs_interest_shortfall_event.py +3 -3
  53. lusid/models/mbs_principal_event.py +3 -3
  54. lusid/models/mbs_principal_write_off_event.py +3 -3
  55. lusid/models/merger_event.py +3 -3
  56. lusid/models/open_event.py +3 -3
  57. lusid/models/option_exercise_cash_event.py +3 -3
  58. lusid/models/option_exercise_physical_event.py +3 -3
  59. lusid/models/order_update_request.py +18 -4
  60. lusid/models/portfolio.py +7 -1
  61. lusid/models/portfolio_details.py +7 -1
  62. lusid/models/portfolio_settlement_configuration.py +91 -0
  63. lusid/models/portfolio_without_href.py +7 -1
  64. lusid/models/protection_payout_cash_flow_event.py +3 -3
  65. lusid/models/raw_vendor_event.py +3 -3
  66. lusid/models/repo_cash_flow_event.py +3 -3
  67. lusid/models/repo_partial_closure_event.py +3 -3
  68. lusid/models/repurchase_offer_event.py +3 -3
  69. lusid/models/reset_event.py +3 -3
  70. lusid/models/resource_list_of_transaction_settlement_instruction.py +121 -0
  71. lusid/models/reverse_stock_split_event.py +3 -3
  72. lusid/models/scrip_dividend_event.py +3 -3
  73. lusid/models/settlement_configuration_category.py +82 -0
  74. lusid/models/settlement_instruction_request.py +101 -0
  75. lusid/models/single_valuation_point_query_parameters.py +81 -0
  76. lusid/models/spin_off_event.py +3 -3
  77. lusid/models/stock_dividend_event.py +3 -3
  78. lusid/models/stock_split_event.py +3 -3
  79. lusid/models/swap_cash_flow_event.py +3 -3
  80. lusid/models/swap_principal_event.py +3 -3
  81. lusid/models/tender_event.py +3 -3
  82. lusid/models/term_deposit_interest_event.py +3 -3
  83. lusid/models/term_deposit_principal_event.py +3 -3
  84. lusid/models/transaction_settlement_instruction.py +96 -0
  85. lusid/models/transaction_type_movement.py +9 -2
  86. lusid/models/transition_event.py +3 -3
  87. lusid/models/trigger_event.py +3 -3
  88. lusid/models/update_deposit_amount_event.py +3 -3
  89. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/METADATA +12 -1
  90. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/RECORD +91 -84
  91. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/WHEEL +0 -0
lusid/__init__.py CHANGED
@@ -510,6 +510,7 @@ from lusid.models.flexible_loan import FlexibleLoan
510
510
  from lusid.models.flexible_repo import FlexibleRepo
511
511
  from lusid.models.flexible_repo_cash_flow_event import FlexibleRepoCashFlowEvent
512
512
  from lusid.models.flexible_repo_collateral_event import FlexibleRepoCollateralEvent
513
+ from lusid.models.flexible_repo_full_closure_event import FlexibleRepoFullClosureEvent
513
514
  from lusid.models.flexible_repo_interest_payment_event import FlexibleRepoInterestPaymentEvent
514
515
  from lusid.models.flexible_repo_partial_closure_event import FlexibleRepoPartialClosureEvent
515
516
  from lusid.models.float_schedule import FloatSchedule
@@ -919,6 +920,7 @@ from lusid.models.portfolio_reconciliation_request import PortfolioReconciliatio
919
920
  from lusid.models.portfolio_result_data_key_rule import PortfolioResultDataKeyRule
920
921
  from lusid.models.portfolio_return_breakdown import PortfolioReturnBreakdown
921
922
  from lusid.models.portfolio_search_result import PortfolioSearchResult
923
+ from lusid.models.portfolio_settlement_configuration import PortfolioSettlementConfiguration
922
924
  from lusid.models.portfolio_trade_ticket import PortfolioTradeTicket
923
925
  from lusid.models.portfolio_type import PortfolioType
924
926
  from lusid.models.portfolio_without_href import PortfolioWithoutHref
@@ -1091,6 +1093,7 @@ from lusid.models.resource_list_of_side_definition import ResourceListOfSideDefi
1091
1093
  from lusid.models.resource_list_of_string import ResourceListOfString
1092
1094
  from lusid.models.resource_list_of_tax_rule_set import ResourceListOfTaxRuleSet
1093
1095
  from lusid.models.resource_list_of_transaction import ResourceListOfTransaction
1096
+ from lusid.models.resource_list_of_transaction_settlement_instruction import ResourceListOfTransactionSettlementInstruction
1094
1097
  from lusid.models.resource_list_of_transaction_type import ResourceListOfTransactionType
1095
1098
  from lusid.models.resource_list_of_value_type import ResourceListOfValueType
1096
1099
  from lusid.models.response_meta_data import ResponseMetaData
@@ -1133,7 +1136,9 @@ from lusid.models.set_person_properties_request import SetPersonPropertiesReques
1133
1136
  from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
1134
1137
  from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
1135
1138
  from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
1139
+ from lusid.models.settlement_configuration_category import SettlementConfigurationCategory
1136
1140
  from lusid.models.settlement_cycle import SettlementCycle
1141
+ from lusid.models.settlement_instruction_request import SettlementInstructionRequest
1137
1142
  from lusid.models.settlement_schedule import SettlementSchedule
1138
1143
  from lusid.models.share_class_amount import ShareClassAmount
1139
1144
  from lusid.models.share_class_breakdown import ShareClassBreakdown
@@ -1149,6 +1154,7 @@ from lusid.models.sides_definition_request import SidesDefinitionRequest
1149
1154
  from lusid.models.simple_cash_flow_loan import SimpleCashFlowLoan
1150
1155
  from lusid.models.simple_instrument import SimpleInstrument
1151
1156
  from lusid.models.simple_rounding_convention import SimpleRoundingConvention
1157
+ from lusid.models.single_valuation_point_query_parameters import SingleValuationPointQueryParameters
1152
1158
  from lusid.models.sort_order import SortOrder
1153
1159
  from lusid.models.specific_holding_pricing_info import SpecificHoldingPricingInfo
1154
1160
  from lusid.models.spin_off_event import SpinOffEvent
@@ -1220,6 +1226,7 @@ from lusid.models.transaction_request import TransactionRequest
1220
1226
  from lusid.models.transaction_roles import TransactionRoles
1221
1227
  from lusid.models.transaction_set_configuration_data import TransactionSetConfigurationData
1222
1228
  from lusid.models.transaction_set_configuration_data_request import TransactionSetConfigurationDataRequest
1229
+ from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
1223
1230
  from lusid.models.transaction_status import TransactionStatus
1224
1231
  from lusid.models.transaction_template import TransactionTemplate
1225
1232
  from lusid.models.transaction_template_request import TransactionTemplateRequest
@@ -1874,6 +1881,7 @@ __all__ = [
1874
1881
  "FlexibleRepo",
1875
1882
  "FlexibleRepoCashFlowEvent",
1876
1883
  "FlexibleRepoCollateralEvent",
1884
+ "FlexibleRepoFullClosureEvent",
1877
1885
  "FlexibleRepoInterestPaymentEvent",
1878
1886
  "FlexibleRepoPartialClosureEvent",
1879
1887
  "FloatSchedule",
@@ -2283,6 +2291,7 @@ __all__ = [
2283
2291
  "PortfolioResultDataKeyRule",
2284
2292
  "PortfolioReturnBreakdown",
2285
2293
  "PortfolioSearchResult",
2294
+ "PortfolioSettlementConfiguration",
2286
2295
  "PortfolioTradeTicket",
2287
2296
  "PortfolioType",
2288
2297
  "PortfolioWithoutHref",
@@ -2455,6 +2464,7 @@ __all__ = [
2455
2464
  "ResourceListOfString",
2456
2465
  "ResourceListOfTaxRuleSet",
2457
2466
  "ResourceListOfTransaction",
2467
+ "ResourceListOfTransactionSettlementInstruction",
2458
2468
  "ResourceListOfTransactionType",
2459
2469
  "ResourceListOfValueType",
2460
2470
  "ResponseMetaData",
@@ -2497,7 +2507,9 @@ __all__ = [
2497
2507
  "SetShareClassInstrumentsRequest",
2498
2508
  "SetTransactionConfigurationAlias",
2499
2509
  "SetTransactionConfigurationSourceRequest",
2510
+ "SettlementConfigurationCategory",
2500
2511
  "SettlementCycle",
2512
+ "SettlementInstructionRequest",
2501
2513
  "SettlementSchedule",
2502
2514
  "ShareClassAmount",
2503
2515
  "ShareClassBreakdown",
@@ -2513,6 +2525,7 @@ __all__ = [
2513
2525
  "SimpleCashFlowLoan",
2514
2526
  "SimpleInstrument",
2515
2527
  "SimpleRoundingConvention",
2528
+ "SingleValuationPointQueryParameters",
2516
2529
  "SortOrder",
2517
2530
  "SpecificHoldingPricingInfo",
2518
2531
  "SpinOffEvent",
@@ -2584,6 +2597,7 @@ __all__ = [
2584
2597
  "TransactionRoles",
2585
2598
  "TransactionSetConfigurationData",
2586
2599
  "TransactionSetConfigurationDataRequest",
2600
+ "TransactionSettlementInstruction",
2587
2601
  "TransactionStatus",
2588
2602
  "TransactionTemplate",
2589
2603
  "TransactionTemplateRequest",
lusid/api/funds_api.py CHANGED
@@ -22,7 +22,7 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from datetime import datetime
24
24
 
25
- from pydantic.v1 import Field, StrictInt, StrictStr, conint, conlist, constr, validator
25
+ from pydantic.v1 import Field, StrictBool, StrictInt, StrictStr, conint, conlist, constr, validator
26
26
 
27
27
  from typing import Dict, Optional
28
28
 
@@ -43,6 +43,7 @@ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
43
43
  from lusid.models.paged_resource_list_of_fund_calendar_entry import PagedResourceListOfFundCalendarEntry
44
44
  from lusid.models.paged_resource_list_of_valuation_point_overview import PagedResourceListOfValuationPointOverview
45
45
  from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
46
+ from lusid.models.single_valuation_point_query_parameters import SingleValuationPointQueryParameters
46
47
  from lusid.models.upsert_valuation_point_request import UpsertValuationPointRequest
47
48
  from lusid.models.valuation_point_data_query_parameters import ValuationPointDataQueryParameters
48
49
  from lusid.models.valuation_point_data_request import ValuationPointDataRequest
@@ -51,6 +52,7 @@ from lusid.models.valuation_point_resource_list_of_accounted_transaction import
51
52
  from lusid.models.valuation_point_resource_list_of_fund_journal_entry_line import ValuationPointResourceListOfFundJournalEntryLine
52
53
  from lusid.models.valuation_point_resource_list_of_pnl_journal_entry_line import ValuationPointResourceListOfPnlJournalEntryLine
53
54
  from lusid.models.valuation_point_resource_list_of_trial_balance import ValuationPointResourceListOfTrialBalance
55
+ from lusid.models.versioned_resource_list_of_portfolio_holding import VersionedResourceListOfPortfolioHolding
54
56
 
55
57
  from lusid.api_client import ApiClient
56
58
  from lusid.api_response import ApiResponse
@@ -2215,6 +2217,233 @@ class FundsApi:
2215
2217
  _request_auth=_params.get('_request_auth'))
2216
2218
 
2217
2219
 
2220
+ @overload
2221
+ async def get_holdings_for_fund(self, scope : Annotated[StrictStr, Field(..., description="The scope of the Fund.")], code : Annotated[StrictStr, Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], single_valuation_point_query_parameters : Annotated[SingleValuationPointQueryParameters, Field(..., description="The query parameters used for diary entry or effective date of Holdings")], nav_type_code : Annotated[Optional[StrictStr], Field( description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2222
+ ...
2223
+
2224
+ @overload
2225
+ def get_holdings_for_fund(self, scope : Annotated[StrictStr, Field(..., description="The scope of the Fund.")], code : Annotated[StrictStr, Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], single_valuation_point_query_parameters : Annotated[SingleValuationPointQueryParameters, Field(..., description="The query parameters used for diary entry or effective date of Holdings")], nav_type_code : Annotated[Optional[StrictStr], Field( description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2226
+ ...
2227
+
2228
+ @validate_arguments
2229
+ def get_holdings_for_fund(self, scope : Annotated[StrictStr, Field(..., description="The scope of the Fund.")], code : Annotated[StrictStr, Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], single_valuation_point_query_parameters : Annotated[SingleValuationPointQueryParameters, Field(..., description="The query parameters used for diary entry or effective date of Holdings")], nav_type_code : Annotated[Optional[StrictStr], Field( description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
2230
+ """[EXPERIMENTAL] GetHoldingsForFund: Get holdings for transaction portfolios in a Fund. # noqa: E501
2231
+
2232
+ Get the holdings of transaction portfolios in a specified Fund. # noqa: E501
2233
+ This method makes a synchronous HTTP request by default. To make an
2234
+ asynchronous HTTP request, please pass async_req=True
2235
+
2236
+ >>> thread = api.get_holdings_for_fund(scope, code, single_valuation_point_query_parameters, nav_type_code, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
2237
+ >>> result = thread.get()
2238
+
2239
+ :param scope: The scope of the Fund. (required)
2240
+ :type scope: str
2241
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2242
+ :type code: str
2243
+ :param single_valuation_point_query_parameters: The query parameters used for diary entry or effective date of Holdings (required)
2244
+ :type single_valuation_point_query_parameters: SingleValuationPointQueryParameters
2245
+ :param nav_type_code: When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.
2246
+ :type nav_type_code: str
2247
+ :param as_at: The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.
2248
+ :type as_at: datetime
2249
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
2250
+ :type filter: str
2251
+ :param property_keys: A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".
2252
+ :type property_keys: List[str]
2253
+ :param by_taxlots: Whether to expand the holdings to return the underlying tax-lots. Defaults to False.
2254
+ :type by_taxlots: bool
2255
+ :param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
2256
+ :type include_settlement_events_after_days: int
2257
+ :param async_req: Whether to execute the request asynchronously.
2258
+ :type async_req: bool, optional
2259
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2260
+ :param opts: Configuration options for this request
2261
+ :type opts: ConfigurationOptions, optional
2262
+ :return: Returns the result object.
2263
+ If the method is called asynchronously,
2264
+ returns the request thread.
2265
+ :rtype: VersionedResourceListOfPortfolioHolding
2266
+ """
2267
+ kwargs['_return_http_data_only'] = True
2268
+ if '_preload_content' in kwargs:
2269
+ message = "Error! Please call the get_holdings_for_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2270
+ raise ValueError(message)
2271
+ if async_req is not None:
2272
+ kwargs['async_req'] = async_req
2273
+ return self.get_holdings_for_fund_with_http_info(scope, code, single_valuation_point_query_parameters, nav_type_code, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, **kwargs) # noqa: E501
2274
+
2275
+ @validate_arguments
2276
+ def get_holdings_for_fund_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the Fund.")], code : Annotated[StrictStr, Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], single_valuation_point_query_parameters : Annotated[SingleValuationPointQueryParameters, Field(..., description="The query parameters used for diary entry or effective date of Holdings")], nav_type_code : Annotated[Optional[StrictStr], Field( description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> ApiResponse: # noqa: E501
2277
+ """[EXPERIMENTAL] GetHoldingsForFund: Get holdings for transaction portfolios in a Fund. # noqa: E501
2278
+
2279
+ Get the holdings of transaction portfolios in a specified Fund. # noqa: E501
2280
+ This method makes a synchronous HTTP request by default. To make an
2281
+ asynchronous HTTP request, please pass async_req=True
2282
+
2283
+ >>> thread = api.get_holdings_for_fund_with_http_info(scope, code, single_valuation_point_query_parameters, nav_type_code, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
2284
+ >>> result = thread.get()
2285
+
2286
+ :param scope: The scope of the Fund. (required)
2287
+ :type scope: str
2288
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2289
+ :type code: str
2290
+ :param single_valuation_point_query_parameters: The query parameters used for diary entry or effective date of Holdings (required)
2291
+ :type single_valuation_point_query_parameters: SingleValuationPointQueryParameters
2292
+ :param nav_type_code: When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.
2293
+ :type nav_type_code: str
2294
+ :param as_at: The asAt datetime at which to retrieve the holdings of transaction portfolios in the Fund. Defaults to return the latest version of the holdings if not specified.
2295
+ :type as_at: datetime
2296
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
2297
+ :type filter: str
2298
+ :param property_keys: A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".
2299
+ :type property_keys: List[str]
2300
+ :param by_taxlots: Whether to expand the holdings to return the underlying tax-lots. Defaults to False.
2301
+ :type by_taxlots: bool
2302
+ :param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
2303
+ :type include_settlement_events_after_days: int
2304
+ :param async_req: Whether to execute the request asynchronously.
2305
+ :type async_req: bool, optional
2306
+ :param _preload_content: if False, the ApiResponse.data will
2307
+ be set to none and raw_data will store the
2308
+ HTTP response body without reading/decoding.
2309
+ Default is True.
2310
+ :type _preload_content: bool, optional
2311
+ :param _return_http_data_only: response data instead of ApiResponse
2312
+ object with status code, headers, etc
2313
+ :type _return_http_data_only: bool, optional
2314
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2315
+ :param opts: Configuration options for this request
2316
+ :type opts: ConfigurationOptions, optional
2317
+ :param _request_auth: set to override the auth_settings for an a single
2318
+ request; this effectively ignores the authentication
2319
+ in the spec for a single request.
2320
+ :type _request_auth: dict, optional
2321
+ :type _content_type: string, optional: force content-type for the request
2322
+ :return: Returns the result object.
2323
+ If the method is called asynchronously,
2324
+ returns the request thread.
2325
+ :rtype: tuple(VersionedResourceListOfPortfolioHolding, status_code(int), headers(HTTPHeaderDict))
2326
+ """
2327
+
2328
+ _params = locals()
2329
+
2330
+ _all_params = [
2331
+ 'scope',
2332
+ 'code',
2333
+ 'single_valuation_point_query_parameters',
2334
+ 'nav_type_code',
2335
+ 'as_at',
2336
+ 'filter',
2337
+ 'property_keys',
2338
+ 'by_taxlots',
2339
+ 'include_settlement_events_after_days'
2340
+ ]
2341
+ _all_params.extend(
2342
+ [
2343
+ 'async_req',
2344
+ '_return_http_data_only',
2345
+ '_preload_content',
2346
+ '_request_timeout',
2347
+ '_request_auth',
2348
+ '_content_type',
2349
+ '_headers',
2350
+ 'opts'
2351
+ ]
2352
+ )
2353
+
2354
+ # validate the arguments
2355
+ for _key, _val in _params['kwargs'].items():
2356
+ if _key not in _all_params:
2357
+ raise ApiTypeError(
2358
+ "Got an unexpected keyword argument '%s'"
2359
+ " to method get_holdings_for_fund" % _key
2360
+ )
2361
+ _params[_key] = _val
2362
+ del _params['kwargs']
2363
+
2364
+ _collection_formats = {}
2365
+
2366
+ # process the path parameters
2367
+ _path_params = {}
2368
+ if _params['scope']:
2369
+ _path_params['scope'] = _params['scope']
2370
+
2371
+ if _params['code']:
2372
+ _path_params['code'] = _params['code']
2373
+
2374
+
2375
+ # process the query parameters
2376
+ _query_params = []
2377
+ if _params.get('nav_type_code') is not None: # noqa: E501
2378
+ _query_params.append(('navTypeCode', _params['nav_type_code']))
2379
+
2380
+ if _params.get('as_at') is not None: # noqa: E501
2381
+ if isinstance(_params['as_at'], datetime):
2382
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2383
+ else:
2384
+ _query_params.append(('asAt', _params['as_at']))
2385
+
2386
+ if _params.get('filter') is not None: # noqa: E501
2387
+ _query_params.append(('filter', _params['filter']))
2388
+
2389
+ if _params.get('property_keys') is not None: # noqa: E501
2390
+ _query_params.append(('propertyKeys', _params['property_keys']))
2391
+ _collection_formats['propertyKeys'] = 'multi'
2392
+
2393
+ if _params.get('by_taxlots') is not None: # noqa: E501
2394
+ _query_params.append(('byTaxlots', _params['by_taxlots']))
2395
+
2396
+ if _params.get('include_settlement_events_after_days') is not None: # noqa: E501
2397
+ _query_params.append(('includeSettlementEventsAfterDays', _params['include_settlement_events_after_days']))
2398
+
2399
+ # process the header parameters
2400
+ _header_params = dict(_params.get('_headers', {}))
2401
+ # process the form parameters
2402
+ _form_params = []
2403
+ _files = {}
2404
+ # process the body parameter
2405
+ _body_params = None
2406
+ if _params['single_valuation_point_query_parameters'] is not None:
2407
+ _body_params = _params['single_valuation_point_query_parameters']
2408
+
2409
+ # set the HTTP header `Accept`
2410
+ _header_params['Accept'] = self.api_client.select_header_accept(
2411
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2412
+
2413
+ # set the HTTP header `Content-Type`
2414
+ _content_types_list = _params.get('_content_type',
2415
+ self.api_client.select_header_content_type(
2416
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2417
+ if _content_types_list:
2418
+ _header_params['Content-Type'] = _content_types_list
2419
+
2420
+ # authentication setting
2421
+ _auth_settings = ['oauth2'] # noqa: E501
2422
+
2423
+ _response_types_map = {
2424
+ '200': "VersionedResourceListOfPortfolioHolding",
2425
+ '400': "LusidValidationProblemDetails",
2426
+ }
2427
+
2428
+ return self.api_client.call_api(
2429
+ '/api/funds/{scope}/{code}/$holdings', 'POST',
2430
+ _path_params,
2431
+ _query_params,
2432
+ _header_params,
2433
+ body=_body_params,
2434
+ post_params=_form_params,
2435
+ files=_files,
2436
+ response_types_map=_response_types_map,
2437
+ auth_settings=_auth_settings,
2438
+ async_req=_params.get('async_req'),
2439
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2440
+ _preload_content=_params.get('_preload_content', True),
2441
+ _request_timeout=_params.get('_request_timeout'),
2442
+ opts=_params.get('opts'),
2443
+ collection_formats=_collection_formats,
2444
+ _request_auth=_params.get('_request_auth'))
2445
+
2446
+
2218
2447
  @overload
2219
2448
  async def get_valuation_point_data(self, scope : Annotated[StrictStr, Field(..., description="The scope of the Fund.")], code : Annotated[StrictStr, 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, nav_type_code : Annotated[Optional[StrictStr], Field( description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")] = None, **kwargs) -> ValuationPointDataResponse: # noqa: E501
2220
2449
  ...