lusid-sdk 1.1.131__py3-none-any.whl → 2.1.683__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1417) hide show
  1. lusid/__init__.py +1817 -135
  2. lusid/api/__init__.py +100 -2
  3. lusid/api/abor_api.py +2465 -0
  4. lusid/api/abor_configuration_api.py +945 -0
  5. lusid/api/address_key_definition_api.py +312 -284
  6. lusid/api/aggregation_api.py +486 -276
  7. lusid/api/allocations_api.py +452 -425
  8. lusid/api/amortisation_rule_sets_api.py +1101 -0
  9. lusid/api/application_metadata_api.py +282 -259
  10. lusid/api/blocks_api.py +428 -420
  11. lusid/api/calendars_api.py +1594 -1307
  12. lusid/api/chart_of_accounts_api.py +5931 -0
  13. lusid/api/complex_market_data_api.py +487 -325
  14. lusid/api/compliance_api.py +1796 -1181
  15. lusid/api/configuration_recipe_api.py +1528 -379
  16. lusid/api/conventions_api.py +1983 -0
  17. lusid/api/corporate_action_sources_api.py +1002 -925
  18. lusid/api/counterparties_api.py +770 -751
  19. lusid/api/custom_data_models_api.py +1043 -0
  20. lusid/api/custom_entities_api.py +1246 -1524
  21. lusid/api/custom_entity_definitions_api.py +408 -384
  22. lusid/api/custom_entity_types_api.py +414 -389
  23. lusid/api/cut_label_definitions_api.py +508 -476
  24. lusid/api/data_types_api.py +1072 -760
  25. lusid/api/derived_transaction_portfolios_api.py +215 -223
  26. lusid/api/entities_api.py +1214 -117
  27. lusid/api/executions_api.py +430 -422
  28. lusid/api/fee_types_api.py +1053 -0
  29. lusid/api/fund_configuration_api.py +1120 -0
  30. lusid/api/funds_api.py +4402 -0
  31. lusid/api/group_reconciliations_api.py +2497 -0
  32. lusid/api/instrument_event_types_api.py +1288 -0
  33. lusid/api/instrument_events_api.py +924 -0
  34. lusid/api/instruments_api.py +2651 -1785
  35. lusid/api/legacy_compliance_api.py +1450 -0
  36. lusid/api/legal_entities_api.py +2078 -2197
  37. lusid/api/order_graph_api.py +371 -377
  38. lusid/api/order_instructions_api.py +746 -0
  39. lusid/api/order_management_api.py +1613 -245
  40. lusid/api/orders_api.py +430 -422
  41. lusid/api/packages_api.py +746 -0
  42. lusid/api/participations_api.py +428 -420
  43. lusid/api/persons_api.py +2036 -2030
  44. lusid/api/placements_api.py +428 -420
  45. lusid/api/portfolio_groups_api.py +2943 -3099
  46. lusid/api/portfolios_api.py +3915 -3161
  47. lusid/api/property_definitions_api.py +1158 -1238
  48. lusid/api/queryable_keys_api.py +116 -100
  49. lusid/api/quotes_api.py +1320 -538
  50. lusid/api/reconciliations_api.py +1904 -778
  51. lusid/api/reference_lists_api.py +410 -409
  52. lusid/api/reference_portfolio_api.py +604 -450
  53. lusid/api/relation_definitions_api.py +539 -0
  54. lusid/api/relations_api.py +415 -0
  55. lusid/api/relationship_definitions_api.py +510 -519
  56. lusid/api/relationships_api.py +217 -234
  57. lusid/api/schemas_api.py +387 -342
  58. lusid/api/scopes_api.py +228 -188
  59. lusid/api/scripted_translation_api.py +807 -815
  60. lusid/api/search_api.py +429 -443
  61. lusid/api/sequences_api.py +397 -424
  62. lusid/api/simple_position_portfolios_api.py +213 -0
  63. lusid/api/staged_modifications_api.py +763 -0
  64. lusid/api/staging_rule_set_api.py +886 -0
  65. lusid/api/structured_result_data_api.py +1442 -294
  66. lusid/api/system_configuration_api.py +992 -155
  67. lusid/api/tax_rule_sets_api.py +901 -0
  68. lusid/api/timelines_api.py +1307 -0
  69. lusid/api/transaction_configuration_api.py +1111 -1148
  70. lusid/api/transaction_fees_api.py +936 -0
  71. lusid/api/transaction_portfolios_api.py +5819 -3540
  72. lusid/api/translation_api.py +365 -0
  73. lusid/api/workspace_api.py +3482 -0
  74. lusid/api_client.py +222 -140
  75. lusid/api_response.py +25 -0
  76. lusid/configuration.py +157 -86
  77. lusid/exceptions.py +17 -15
  78. lusid/extensions/__init__.py +20 -0
  79. lusid/extensions/api_client.py +774 -0
  80. lusid/extensions/api_client_factory.py +260 -0
  81. lusid/extensions/api_configuration.py +283 -0
  82. lusid/extensions/configuration_loaders.py +300 -0
  83. lusid/extensions/configuration_options.py +67 -0
  84. lusid/extensions/file_access_token.py +42 -0
  85. lusid/{utilities → extensions}/proxy_config.py +24 -6
  86. lusid/{utilities → extensions}/refreshing_token.py +82 -35
  87. lusid/extensions/rest.py +352 -0
  88. lusid/extensions/retry.py +429 -0
  89. lusid/extensions/socket_keep_alive.py +52 -0
  90. lusid/extensions/tcp_keep_alive_connector.py +113 -0
  91. lusid/models/__init__.py +1695 -128
  92. lusid/models/a2_b_breakdown.py +66 -180
  93. lusid/models/a2_b_category.py +63 -149
  94. lusid/models/a2_b_data_record.py +181 -535
  95. lusid/models/a2_b_movement_record.py +195 -630
  96. lusid/models/abor.py +165 -0
  97. lusid/models/abor_configuration.py +167 -0
  98. lusid/models/abor_configuration_properties.py +123 -0
  99. lusid/models/abor_configuration_request.py +153 -0
  100. lusid/models/abor_properties.py +123 -0
  101. lusid/models/abor_request.py +139 -0
  102. lusid/models/accept_estimate_valuation_point_response.py +108 -0
  103. lusid/models/access_controlled_action.py +90 -216
  104. lusid/models/access_controlled_resource.py +108 -278
  105. lusid/models/access_metadata_operation.py +87 -229
  106. lusid/models/access_metadata_value.py +61 -161
  107. lusid/models/account.py +139 -0
  108. lusid/models/account_properties.py +123 -0
  109. lusid/models/accounted_transaction.py +96 -0
  110. lusid/models/accounting_method.py +52 -0
  111. lusid/models/accounts_upsert_response.py +118 -0
  112. lusid/models/accumulation_event.py +90 -288
  113. lusid/models/action_id.py +58 -199
  114. lusid/models/add_business_days_to_date_request.py +66 -209
  115. lusid/models/add_business_days_to_date_response.py +55 -122
  116. lusid/models/additional_payment.py +61 -223
  117. lusid/models/address_definition.py +100 -279
  118. lusid/models/address_key_compliance_parameter.py +76 -161
  119. lusid/models/address_key_definition.py +77 -217
  120. lusid/models/address_key_filter.py +71 -185
  121. lusid/models/address_key_list.py +76 -165
  122. lusid/models/address_key_list_compliance_parameter.py +80 -159
  123. lusid/models/address_key_option_definition.py +74 -288
  124. lusid/models/adjust_global_commitment_event.py +101 -0
  125. lusid/models/adjust_holding.py +104 -211
  126. lusid/models/adjust_holding_for_date_request.py +112 -280
  127. lusid/models/adjust_holding_request.py +110 -245
  128. lusid/models/aggregate_spec.py +70 -191
  129. lusid/models/aggregated_return.py +109 -368
  130. lusid/models/aggregated_returns_dispersion_request.py +105 -286
  131. lusid/models/aggregated_returns_request.py +131 -398
  132. lusid/models/aggregated_returns_response.py +96 -179
  133. lusid/models/aggregated_transactions_request.py +139 -0
  134. lusid/models/aggregation_context.py +58 -120
  135. lusid/models/aggregation_measure_failure_detail.py +83 -233
  136. lusid/models/aggregation_op.py +50 -0
  137. lusid/models/aggregation_options.py +56 -182
  138. lusid/models/aggregation_query.py +110 -435
  139. lusid/models/aggregation_type.py +44 -0
  140. lusid/models/alias.py +79 -0
  141. lusid/models/allocation.py +210 -732
  142. lusid/models/allocation_request.py +178 -606
  143. lusid/models/allocation_service_run_response.py +110 -0
  144. lusid/models/allocation_set_request.py +67 -121
  145. lusid/models/amortisation_event.py +83 -261
  146. lusid/models/amortisation_rule.py +112 -0
  147. lusid/models/amortisation_rule_set.py +141 -0
  148. lusid/models/amount.py +77 -0
  149. lusid/models/annul_quotes_response.py +102 -212
  150. lusid/models/annul_single_structured_data_response.py +75 -181
  151. lusid/models/annul_structured_data_response.py +102 -212
  152. lusid/models/applicable_instrument_event.py +138 -0
  153. lusid/models/asset_class.py +44 -0
  154. lusid/models/asset_leg.py +60 -156
  155. lusid/models/barrier.py +65 -223
  156. lusid/models/basket.py +88 -224
  157. lusid/models/basket_identifier.py +60 -219
  158. lusid/models/batch_adjust_holdings_response.py +131 -211
  159. lusid/models/batch_update_user_review_for_comparison_result_request.py +89 -0
  160. lusid/models/batch_update_user_review_for_comparison_result_response.py +154 -0
  161. lusid/models/batch_upsert_dates_for_calendar_response.py +154 -0
  162. lusid/models/batch_upsert_instrument_properties_response.py +104 -218
  163. lusid/models/batch_upsert_portfolio_access_metadata_request.py +100 -0
  164. lusid/models/batch_upsert_portfolio_access_metadata_response.py +130 -0
  165. lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +100 -0
  166. lusid/models/batch_upsert_portfolio_transactions_response.py +131 -211
  167. lusid/models/batch_upsert_property_definition_properties_response.py +100 -218
  168. lusid/models/block.py +136 -539
  169. lusid/models/block_and_order_id_request.py +63 -151
  170. lusid/models/block_and_orders.py +68 -151
  171. lusid/models/block_and_orders_create_request.py +62 -129
  172. lusid/models/block_and_orders_request.py +120 -400
  173. lusid/models/block_request.py +111 -443
  174. lusid/models/block_set_request.py +67 -121
  175. lusid/models/blocked_order_request.py +116 -390
  176. lusid/models/bond.py +162 -567
  177. lusid/models/bond_conversion_entry.py +83 -0
  178. lusid/models/bond_conversion_schedule.py +138 -0
  179. lusid/models/bond_coupon_event.py +88 -258
  180. lusid/models/bond_default_event.py +77 -162
  181. lusid/models/bond_principal_event.py +88 -258
  182. lusid/models/bonus_issue_event.py +174 -0
  183. lusid/models/book_transactions_request.py +105 -0
  184. lusid/models/book_transactions_response.py +115 -0
  185. lusid/models/bool_compliance_parameter.py +76 -159
  186. lusid/models/bool_list_compliance_parameter.py +80 -159
  187. lusid/models/branch_step.py +86 -196
  188. lusid/models/branch_step_request.py +106 -0
  189. lusid/models/break_code_source.py +81 -0
  190. lusid/models/bucketed_cash_flow_request.py +180 -0
  191. lusid/models/bucketed_cash_flow_response.py +137 -0
  192. lusid/models/bucketing_schedule.py +82 -0
  193. lusid/models/calculation_info.py +81 -0
  194. lusid/models/calendar.py +106 -304
  195. lusid/models/calendar_date.py +87 -402
  196. lusid/models/calendar_dependency.py +76 -161
  197. lusid/models/call_on_intermediate_securities_event.py +147 -0
  198. lusid/models/cancel_order_and_move_remaining_result.py +92 -0
  199. lusid/models/cancel_orders_and_move_remaining_request.py +91 -0
  200. lusid/models/cancel_orders_and_move_remaining_response.py +161 -0
  201. lusid/models/cancel_orders_response.py +161 -0
  202. lusid/models/cancel_placements_response.py +161 -0
  203. lusid/models/cancel_single_holding_adjustment_request.py +104 -0
  204. lusid/models/cancelled_order_result.py +81 -0
  205. lusid/models/cancelled_placement_result.py +91 -0
  206. lusid/models/cap_floor.py +113 -290
  207. lusid/models/capital_distribution_event.py +125 -0
  208. lusid/models/cash.py +101 -0
  209. lusid/models/cash_and_security_offer_election.py +98 -0
  210. lusid/models/cash_dependency.py +79 -194
  211. lusid/models/cash_dividend_event.py +103 -286
  212. lusid/models/cash_election.py +76 -311
  213. lusid/models/cash_flow_event.py +83 -194
  214. lusid/models/cash_flow_lineage.py +94 -271
  215. lusid/models/cash_flow_value.py +93 -284
  216. lusid/models/cash_flow_value_set.py +89 -159
  217. lusid/models/cash_ladder_record.py +61 -211
  218. lusid/models/cash_offer_election.py +85 -0
  219. lusid/models/cash_perpetual.py +81 -226
  220. lusid/models/cds_credit_event.py +113 -0
  221. lusid/models/cds_flow_conventions.py +116 -509
  222. lusid/models/cds_index.py +120 -379
  223. lusid/models/cds_protection_detail_specification.py +60 -225
  224. lusid/models/cdx_credit_event.py +122 -0
  225. lusid/models/change.py +113 -352
  226. lusid/models/change_history.py +93 -294
  227. lusid/models/change_history_action.py +39 -0
  228. lusid/models/change_interval.py +131 -0
  229. lusid/models/change_interval_with_order_management_detail.py +145 -0
  230. lusid/models/change_item.py +83 -247
  231. lusid/models/chart_of_accounts.py +143 -0
  232. lusid/models/chart_of_accounts_properties.py +123 -0
  233. lusid/models/chart_of_accounts_request.py +128 -0
  234. lusid/models/check_step.py +95 -228
  235. lusid/models/check_step_request.py +106 -0
  236. lusid/models/cleardown_module_details.py +103 -0
  237. lusid/models/cleardown_module_request.py +125 -0
  238. lusid/models/cleardown_module_response.py +147 -0
  239. lusid/models/cleardown_module_rule.py +102 -0
  240. lusid/models/cleardown_module_rules_updated_response.py +118 -0
  241. lusid/models/client.py +83 -0
  242. lusid/models/close_event.py +79 -192
  243. lusid/models/close_period_diary_entry_request.py +157 -0
  244. lusid/models/closed_period.py +136 -0
  245. lusid/models/comparison_attribute_value_pair.py +84 -0
  246. lusid/models/complete_portfolio.py +152 -490
  247. lusid/models/complete_relation.py +104 -0
  248. lusid/models/complete_relationship.py +91 -373
  249. lusid/models/complex_bond.py +145 -321
  250. lusid/models/complex_market_data.py +85 -146
  251. lusid/models/complex_market_data_id.py +77 -269
  252. lusid/models/compliance_breached_order_info.py +91 -0
  253. lusid/models/compliance_parameter.py +90 -150
  254. lusid/models/compliance_parameter_type.py +58 -0
  255. lusid/models/compliance_rule.py +145 -0
  256. lusid/models/compliance_rule_breakdown.py +87 -252
  257. lusid/models/compliance_rule_breakdown_request.py +87 -247
  258. lusid/models/compliance_rule_response.py +152 -406
  259. lusid/models/compliance_rule_result.py +99 -0
  260. lusid/models/compliance_rule_result_detail.py +94 -409
  261. lusid/models/compliance_rule_result_portfolio_detail.py +60 -154
  262. lusid/models/compliance_rule_result_v2.py +71 -245
  263. lusid/models/compliance_rule_template.py +161 -0
  264. lusid/models/compliance_rule_upsert_request.py +186 -0
  265. lusid/models/compliance_rule_upsert_response.py +90 -0
  266. lusid/models/compliance_run_configuration.py +81 -0
  267. lusid/models/compliance_run_info.py +89 -0
  268. lusid/models/compliance_run_info_v2.py +67 -248
  269. lusid/models/compliance_step.py +81 -140
  270. lusid/models/compliance_step_request.py +107 -0
  271. lusid/models/compliance_step_type.py +43 -0
  272. lusid/models/compliance_step_type_request.py +42 -0
  273. lusid/models/compliance_summary_rule_result.py +97 -337
  274. lusid/models/compliance_summary_rule_result_request.py +97 -343
  275. lusid/models/compliance_template.py +92 -248
  276. lusid/models/compliance_template_parameter.py +58 -196
  277. lusid/models/compliance_template_variation.py +104 -287
  278. lusid/models/compliance_template_variation_dto.py +120 -0
  279. lusid/models/compliance_template_variation_request.py +120 -0
  280. lusid/models/component_filter.py +93 -0
  281. lusid/models/component_transaction.py +107 -0
  282. lusid/models/composite_breakdown.py +73 -181
  283. lusid/models/composite_breakdown_request.py +100 -276
  284. lusid/models/composite_breakdown_response.py +91 -181
  285. lusid/models/composite_dispersion.py +119 -334
  286. lusid/models/composite_dispersion_response.py +96 -179
  287. lusid/models/compounding.py +79 -294
  288. lusid/models/configuration_recipe.py +117 -357
  289. lusid/models/constant_volatility_surface.py +88 -263
  290. lusid/models/constituents_adjustment_header.py +74 -180
  291. lusid/models/contract_details.py +109 -0
  292. lusid/models/contract_for_difference.py +95 -425
  293. lusid/models/contract_initialisation_event.py +107 -0
  294. lusid/models/contribution_to_non_passing_rule_detail.py +97 -0
  295. lusid/models/corporate_action.py +85 -308
  296. lusid/models/corporate_action_source.py +107 -299
  297. lusid/models/corporate_action_transition.py +72 -150
  298. lusid/models/corporate_action_transition_component.py +62 -257
  299. lusid/models/corporate_action_transition_component_request.py +58 -187
  300. lusid/models/corporate_action_transition_request.py +72 -148
  301. lusid/models/counterparty_agreement.py +76 -287
  302. lusid/models/counterparty_risk_information.py +81 -192
  303. lusid/models/counterparty_signatory.py +60 -156
  304. lusid/models/create_address_key_definition_request.py +56 -158
  305. lusid/models/create_amortisation_rule_set_request.py +110 -0
  306. lusid/models/create_calendar_request.py +97 -257
  307. lusid/models/create_closed_period_request.py +104 -0
  308. lusid/models/create_compliance_template_request.py +103 -0
  309. lusid/models/create_corporate_action_source_request.py +103 -286
  310. lusid/models/create_custom_entity_type_request.py +82 -237
  311. lusid/models/create_cut_label_definition_request.py +88 -251
  312. lusid/models/create_data_map_request.py +87 -0
  313. lusid/models/create_data_type_request.py +146 -457
  314. lusid/models/create_date_request.py +114 -363
  315. lusid/models/create_derived_property_definition_request.py +84 -326
  316. lusid/models/create_derived_transaction_portfolio_request.py +174 -530
  317. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +105 -0
  318. lusid/models/create_group_reconciliation_definition_request.py +121 -0
  319. lusid/models/create_portfolio_details.py +58 -120
  320. lusid/models/create_portfolio_group_request.py +120 -309
  321. lusid/models/create_property_definition_request.py +108 -419
  322. lusid/models/create_recipe_request.py +98 -0
  323. lusid/models/create_reconciliation_request.py +148 -0
  324. lusid/models/create_reference_portfolio_request.py +105 -312
  325. lusid/models/create_relation_definition_request.py +103 -0
  326. lusid/models/create_relation_request.py +79 -0
  327. lusid/models/create_relationship_definition_request.py +115 -432
  328. lusid/models/create_relationship_request.py +90 -233
  329. lusid/models/create_sequence_request.py +108 -322
  330. lusid/models/create_simple_position_portfolio_request.py +196 -0
  331. lusid/models/create_staging_rule_set_request.py +94 -0
  332. lusid/models/create_tax_rule_set_request.py +111 -0
  333. lusid/models/create_timeline_request.py +110 -0
  334. lusid/models/create_trade_tickets_response.py +72 -151
  335. lusid/models/create_transaction_portfolio_request.py +167 -570
  336. lusid/models/create_unit_definition.py +86 -236
  337. lusid/models/credit_default_swap.py +125 -381
  338. lusid/models/credit_premium_cash_flow_event.py +110 -0
  339. lusid/models/credit_rating.py +70 -173
  340. lusid/models/credit_spread_curve_data.py +112 -415
  341. lusid/models/credit_support_annex.py +76 -427
  342. lusid/models/criterion_type.py +39 -0
  343. lusid/models/currency_and_amount.py +56 -148
  344. lusid/models/curve_options.py +118 -0
  345. lusid/models/custodian_account.py +96 -391
  346. lusid/models/custodian_account_properties.py +123 -0
  347. lusid/models/custodian_account_request.py +156 -0
  348. lusid/models/custodian_accounts_upsert_response.py +118 -0
  349. lusid/models/custom_data_model.py +97 -0
  350. lusid/models/custom_data_model_criteria.py +142 -0
  351. lusid/models/custom_data_model_identifier_type_specification.py +79 -0
  352. lusid/models/custom_data_model_identifier_type_specification_with_display_name.py +86 -0
  353. lusid/models/custom_data_model_property_specification.py +79 -0
  354. lusid/models/custom_data_model_property_specification_with_display_name.py +86 -0
  355. lusid/models/custom_entity_definition.py +103 -318
  356. lusid/models/custom_entity_definition_request.py +82 -237
  357. lusid/models/custom_entity_entity.py +154 -0
  358. lusid/models/custom_entity_field.py +76 -217
  359. lusid/models/custom_entity_field_definition.py +74 -291
  360. lusid/models/custom_entity_id.py +94 -275
  361. lusid/models/custom_entity_request.py +81 -223
  362. lusid/models/custom_entity_response.py +127 -377
  363. lusid/models/custom_entity_type.py +103 -318
  364. lusid/models/cut_label_definition.py +114 -319
  365. lusid/models/cut_local_time.py +58 -149
  366. lusid/models/data_definition.py +112 -0
  367. lusid/models/data_map_key.py +109 -0
  368. lusid/models/data_mapping.py +90 -0
  369. lusid/models/data_model_summary.py +120 -0
  370. lusid/models/data_scope.py +88 -0
  371. lusid/models/data_type.py +154 -472
  372. lusid/models/data_type_entity.py +139 -0
  373. lusid/models/data_type_summary.py +120 -393
  374. lusid/models/data_type_value_range.py +38 -0
  375. lusid/models/date_attributes.py +143 -366
  376. lusid/models/date_or_diary_entry.py +99 -0
  377. lusid/models/date_range.py +62 -150
  378. lusid/models/date_time_comparison_type.py +38 -0
  379. lusid/models/date_time_compliance_parameter.py +77 -160
  380. lusid/models/date_time_list_compliance_parameter.py +80 -159
  381. lusid/models/day_month.py +79 -0
  382. lusid/models/day_of_week.py +20 -102
  383. lusid/models/decimal_compliance_parameter.py +76 -159
  384. lusid/models/decimal_list.py +76 -165
  385. lusid/models/decimal_list_compliance_parameter.py +80 -159
  386. lusid/models/decorated_compliance_run_summary.py +68 -151
  387. lusid/models/delete_accounts_response.py +103 -0
  388. lusid/models/delete_custodian_accounts_response.py +111 -0
  389. lusid/models/delete_instrument_properties_response.py +76 -154
  390. lusid/models/delete_instrument_response.py +83 -184
  391. lusid/models/delete_instruments_response.py +98 -184
  392. lusid/models/delete_modes.py +38 -0
  393. lusid/models/delete_relation_request.py +79 -0
  394. lusid/models/delete_relationship_request.py +90 -233
  395. lusid/models/deleted_entity_response.py +104 -214
  396. lusid/models/dependency_source_filter.py +95 -193
  397. lusid/models/described_address_key.py +89 -0
  398. lusid/models/dialect.py +68 -178
  399. lusid/models/dialect_id.py +92 -325
  400. lusid/models/dialect_schema.py +61 -162
  401. lusid/models/diary_entry.py +163 -0
  402. lusid/models/diary_entry_request.py +137 -0
  403. lusid/models/discount_factor_curve_data.py +94 -291
  404. lusid/models/discounting_dependency.py +79 -194
  405. lusid/models/discounting_method.py +39 -0
  406. lusid/models/dividend_option_event.py +115 -349
  407. lusid/models/dividend_reinvestment_event.py +115 -351
  408. lusid/models/drawdown_event.py +107 -0
  409. lusid/models/early_redemption_election.py +81 -0
  410. lusid/models/early_redemption_event.py +132 -0
  411. lusid/models/economic_dependency.py +85 -145
  412. lusid/models/economic_dependency_type.py +50 -0
  413. lusid/models/economic_dependency_with_complex_market_data.py +64 -151
  414. lusid/models/economic_dependency_with_quote.py +69 -179
  415. lusid/models/effective_range.py +79 -0
  416. lusid/models/election_specification.py +81 -0
  417. lusid/models/eligibility_calculation.py +81 -0
  418. lusid/models/empty_model_options.py +74 -129
  419. lusid/models/entity_identifier.py +62 -184
  420. lusid/models/equity.py +89 -220
  421. lusid/models/equity_all_of_identifiers.py +86 -410
  422. lusid/models/equity_curve_by_prices_data.py +94 -291
  423. lusid/models/equity_curve_dependency.py +83 -276
  424. lusid/models/equity_model_options.py +76 -164
  425. lusid/models/equity_option.py +156 -549
  426. lusid/models/equity_swap.py +125 -482
  427. lusid/models/equity_vol_dependency.py +83 -270
  428. lusid/models/equity_vol_surface_data.py +104 -262
  429. lusid/models/error_detail.py +80 -211
  430. lusid/models/event_date_range.py +57 -150
  431. lusid/models/ex_dividend_configuration.py +60 -216
  432. lusid/models/exchange_traded_option.py +93 -256
  433. lusid/models/exchange_traded_option_contract_details.py +99 -530
  434. lusid/models/execution.py +147 -668
  435. lusid/models/execution_request.py +122 -572
  436. lusid/models/execution_set_request.py +67 -121
  437. lusid/models/exercise_event.py +86 -223
  438. lusid/models/exotic_instrument.py +82 -194
  439. lusid/models/expanded_group.py +124 -335
  440. lusid/models/expiry_event.py +77 -162
  441. lusid/models/external_fee_component_filter.py +102 -0
  442. lusid/models/fee.py +223 -0
  443. lusid/models/fee_accrual.py +113 -0
  444. lusid/models/fee_properties.py +123 -0
  445. lusid/models/fee_request.py +192 -0
  446. lusid/models/fee_rule.py +146 -0
  447. lusid/models/fee_rule_upsert_request.py +150 -0
  448. lusid/models/fee_rule_upsert_response.py +105 -0
  449. lusid/models/fee_transaction_template_specification.py +87 -0
  450. lusid/models/fee_type.py +123 -0
  451. lusid/models/fee_type_request.py +113 -0
  452. lusid/models/field_definition.py +72 -190
  453. lusid/models/field_schema.py +86 -242
  454. lusid/models/field_value.py +75 -160
  455. lusid/models/file_response.py +70 -174
  456. lusid/models/filter_predicate_compliance_parameter.py +76 -162
  457. lusid/models/filter_step.py +86 -196
  458. lusid/models/filter_step_request.py +106 -0
  459. lusid/models/fixed_leg.py +98 -282
  460. lusid/models/fixed_leg_all_of_overrides.py +68 -149
  461. lusid/models/fixed_schedule.py +139 -0
  462. lusid/models/flexible_deposit.py +113 -0
  463. lusid/models/flexible_loan.py +91 -258
  464. lusid/models/float_schedule.py +165 -0
  465. lusid/models/floating_leg.py +112 -344
  466. lusid/models/flow_convention_name.py +63 -188
  467. lusid/models/flow_conventions.py +136 -573
  468. lusid/models/forward_rate_agreement.py +93 -351
  469. lusid/models/from_recipe.py +89 -0
  470. lusid/models/fund.py +195 -0
  471. lusid/models/fund_amount.py +77 -0
  472. lusid/models/fund_configuration.py +201 -0
  473. lusid/models/fund_configuration_properties.py +123 -0
  474. lusid/models/fund_configuration_request.py +171 -0
  475. lusid/models/fund_details.py +82 -0
  476. lusid/models/fund_id_list.py +107 -0
  477. lusid/models/fund_pnl_breakdown.py +118 -0
  478. lusid/models/fund_previous_nav.py +77 -0
  479. lusid/models/fund_properties.py +123 -0
  480. lusid/models/fund_request.py +178 -0
  481. lusid/models/fund_share_class.py +99 -301
  482. lusid/models/fund_valuation_point_data.py +154 -0
  483. lusid/models/funding_leg.py +92 -254
  484. lusid/models/funding_leg_options.py +99 -0
  485. lusid/models/future.py +115 -383
  486. lusid/models/future_expiry_event.py +108 -0
  487. lusid/models/future_mark_to_market_event.py +108 -0
  488. lusid/models/futures_contract_details.py +127 -532
  489. lusid/models/fx_conventions.py +58 -193
  490. lusid/models/fx_dependency.py +81 -226
  491. lusid/models/fx_forward.py +102 -476
  492. lusid/models/fx_forward_curve_by_quote_reference.py +117 -382
  493. lusid/models/fx_forward_curve_data.py +98 -355
  494. lusid/models/fx_forward_model_options.py +94 -237
  495. lusid/models/fx_forward_pips_curve_data.py +98 -355
  496. lusid/models/fx_forward_settlement_event.py +130 -472
  497. lusid/models/fx_forward_tenor_curve_data.py +120 -415
  498. lusid/models/fx_forward_tenor_pips_curve_data.py +120 -415
  499. lusid/models/fx_forwards_dependency.py +83 -264
  500. lusid/models/fx_linked_notional_schedule.py +93 -250
  501. lusid/models/fx_option.py +162 -624
  502. lusid/models/fx_rate_schedule.py +119 -0
  503. lusid/models/fx_swap.py +92 -219
  504. lusid/models/fx_tenor_convention.py +56 -161
  505. lusid/models/fx_vol_dependency.py +83 -264
  506. lusid/models/fx_vol_surface_data.py +104 -262
  507. lusid/models/general_ledger_profile_mapping.py +86 -0
  508. lusid/models/general_ledger_profile_request.py +120 -0
  509. lusid/models/general_ledger_profile_response.py +154 -0
  510. lusid/models/generated_event_diagnostics.py +83 -0
  511. lusid/models/get_cds_flow_conventions_response.py +123 -0
  512. lusid/models/get_complex_market_data_response.py +114 -211
  513. lusid/models/get_counterparty_agreement_response.py +100 -210
  514. lusid/models/get_credit_support_annex_response.py +100 -210
  515. lusid/models/get_data_map_response.py +137 -0
  516. lusid/models/get_flow_conventions_response.py +123 -0
  517. lusid/models/get_index_convention_response.py +123 -0
  518. lusid/models/get_instruments_response.py +114 -211
  519. lusid/models/get_quotes_response.py +133 -241
  520. lusid/models/get_recipe_composer_response.py +103 -0
  521. lusid/models/get_recipe_response.py +78 -178
  522. lusid/models/get_reference_portfolio_constituents_response.py +120 -316
  523. lusid/models/get_structured_result_data_response.py +137 -0
  524. lusid/models/get_virtual_document_response.py +137 -0
  525. lusid/models/group_by_selector_compliance_parameter.py +76 -162
  526. lusid/models/group_by_step.py +86 -196
  527. lusid/models/group_by_step_request.py +106 -0
  528. lusid/models/group_calculation_compliance_parameter.py +99 -0
  529. lusid/models/group_filter_predicate_compliance_parameter.py +76 -162
  530. lusid/models/group_filter_step.py +86 -228
  531. lusid/models/group_filter_step_request.py +106 -0
  532. lusid/models/group_of_market_data_key_rules.py +64 -158
  533. lusid/models/group_reconciliation_aggregate_attribute_rule.py +92 -0
  534. lusid/models/group_reconciliation_aggregate_attribute_values.py +94 -0
  535. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +79 -0
  536. lusid/models/group_reconciliation_comparison_result.py +156 -0
  537. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +81 -0
  538. lusid/models/group_reconciliation_comparison_rule_tolerance.py +79 -0
  539. lusid/models/group_reconciliation_comparison_ruleset.py +133 -0
  540. lusid/models/group_reconciliation_core_attribute_rule.py +103 -0
  541. lusid/models/group_reconciliation_core_attribute_values.py +94 -0
  542. lusid/models/group_reconciliation_core_comparison_rule_operand.py +79 -0
  543. lusid/models/group_reconciliation_date_pair.py +89 -0
  544. lusid/models/group_reconciliation_dates.py +86 -0
  545. lusid/models/group_reconciliation_definition.py +144 -0
  546. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +91 -0
  547. lusid/models/group_reconciliation_definition_currencies.py +79 -0
  548. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +94 -0
  549. lusid/models/group_reconciliation_definition_recipe_ids.py +86 -0
  550. lusid/models/group_reconciliation_instance_id.py +79 -0
  551. lusid/models/group_reconciliation_result_statuses.py +97 -0
  552. lusid/models/group_reconciliation_result_types.py +104 -0
  553. lusid/models/group_reconciliation_review_statuses.py +104 -0
  554. lusid/models/group_reconciliation_run_details.py +84 -0
  555. lusid/models/group_reconciliation_run_request.py +83 -0
  556. lusid/models/group_reconciliation_run_response.py +85 -0
  557. lusid/models/group_reconciliation_summary.py +129 -0
  558. lusid/models/group_reconciliation_user_review.py +120 -0
  559. lusid/models/group_reconciliation_user_review_add.py +96 -0
  560. lusid/models/group_reconciliation_user_review_break_code.py +88 -0
  561. lusid/models/group_reconciliation_user_review_comment.py +88 -0
  562. lusid/models/group_reconciliation_user_review_match_key.py +88 -0
  563. lusid/models/group_reconciliation_user_review_remove.py +96 -0
  564. lusid/models/grouped_result_of_address_key.py +97 -0
  565. lusid/models/holding_adjustment.py +124 -308
  566. lusid/models/holding_adjustment_with_date.py +127 -340
  567. lusid/models/holding_context.py +54 -122
  568. lusid/models/holding_contributor.py +65 -121
  569. lusid/models/holding_ids_request.py +77 -0
  570. lusid/models/holding_pricing_info.py +118 -0
  571. lusid/models/holdings_adjustment.py +95 -254
  572. lusid/models/holdings_adjustment_header.py +85 -222
  573. lusid/models/i_unit_definition_dto.py +88 -212
  574. lusid/models/id_selector_definition.py +78 -222
  575. lusid/models/identifier_part_schema.py +77 -290
  576. lusid/models/index_convention.py +103 -383
  577. lusid/models/index_model_options.py +83 -167
  578. lusid/models/index_projection_dependency.py +83 -270
  579. lusid/models/industry_classifier.py +63 -167
  580. lusid/models/inflation_fixing_dependency.py +81 -232
  581. lusid/models/inflation_index_conventions.py +74 -302
  582. lusid/models/inflation_leg.py +123 -450
  583. lusid/models/inflation_linked_bond.py +171 -598
  584. lusid/models/inflation_swap.py +106 -254
  585. lusid/models/informational_error_event.py +81 -232
  586. lusid/models/informational_event.py +89 -257
  587. lusid/models/inline_valuation_request.py +153 -492
  588. lusid/models/inline_valuations_reconciliation_request.py +85 -211
  589. lusid/models/input_transition.py +56 -155
  590. lusid/models/instrument.py +175 -536
  591. lusid/models/instrument_capabilities.py +141 -0
  592. lusid/models/instrument_cash_flow.py +115 -0
  593. lusid/models/instrument_definition.py +102 -246
  594. lusid/models/instrument_definition_format.py +58 -196
  595. lusid/models/instrument_delete_modes.py +38 -0
  596. lusid/models/instrument_entity.py +154 -0
  597. lusid/models/instrument_event.py +122 -154
  598. lusid/models/instrument_event_configuration.py +65 -148
  599. lusid/models/instrument_event_holder.py +126 -455
  600. lusid/models/instrument_event_instruction.py +151 -0
  601. lusid/models/instrument_event_instruction_request.py +102 -0
  602. lusid/models/instrument_event_instructions_response.py +115 -0
  603. lusid/models/instrument_event_type.py +90 -0
  604. lusid/models/instrument_id_type_descriptor.py +58 -190
  605. lusid/models/instrument_id_value.py +57 -158
  606. lusid/models/instrument_leg.py +85 -138
  607. lusid/models/instrument_list.py +76 -165
  608. lusid/models/instrument_list_compliance_parameter.py +80 -159
  609. lusid/models/instrument_match.py +81 -151
  610. lusid/models/instrument_models.py +79 -179
  611. lusid/models/instrument_payment_diary.py +139 -0
  612. lusid/models/instrument_payment_diary_leg.py +99 -0
  613. lusid/models/instrument_payment_diary_row.py +140 -0
  614. lusid/models/instrument_properties.py +100 -210
  615. lusid/models/instrument_resolution_detail.py +127 -0
  616. lusid/models/instrument_search_property.py +56 -158
  617. lusid/models/instrument_type.py +79 -0
  618. lusid/models/interest_rate_swap.py +113 -317
  619. lusid/models/interest_rate_swaption.py +93 -291
  620. lusid/models/intermediate_compliance_step.py +118 -0
  621. lusid/models/intermediate_compliance_step_request.py +106 -0
  622. lusid/models/intermediate_securities_distribution_event.py +148 -0
  623. lusid/models/ir_vol_cube_data.py +104 -262
  624. lusid/models/ir_vol_dependency.py +81 -232
  625. lusid/models/is_business_day_response.py +57 -152
  626. lusid/models/journal_entry_line.py +248 -0
  627. lusid/models/journal_entry_lines_query_parameters.py +117 -0
  628. lusid/models/label_value_set.py +54 -124
  629. lusid/models/lapse_election.py +81 -0
  630. lusid/models/leg_definition.py +146 -614
  631. lusid/models/legal_entity.py +161 -389
  632. lusid/models/level_step.py +57 -156
  633. lusid/models/life_cycle_event_lineage.py +87 -241
  634. lusid/models/life_cycle_event_value.py +89 -219
  635. lusid/models/lineage_member.py +72 -271
  636. lusid/models/link.py +65 -217
  637. lusid/models/list_aggregation_reconciliation.py +76 -206
  638. lusid/models/list_aggregation_response.py +114 -321
  639. lusid/models/list_complex_market_data_with_meta_data_response.py +94 -0
  640. lusid/models/loan_facility.py +115 -0
  641. lusid/models/loan_interest_repayment_event.py +105 -0
  642. lusid/models/loan_period.py +57 -180
  643. lusid/models/lock_period_diary_entry_request.py +99 -0
  644. lusid/models/lusid_instrument.py +106 -160
  645. lusid/models/lusid_problem_details.py +98 -328
  646. lusid/models/lusid_trade_ticket.py +158 -634
  647. lusid/models/lusid_unique_id.py +56 -161
  648. lusid/models/lusid_validation_problem_details.py +109 -357
  649. lusid/models/mapped_string.py +75 -204
  650. lusid/models/mapping.py +96 -276
  651. lusid/models/mapping_rule.py +99 -303
  652. lusid/models/mark_to_market_conventions.py +82 -0
  653. lusid/models/market_context.py +114 -238
  654. lusid/models/market_context_suppliers.py +62 -236
  655. lusid/models/market_data_key_rule.py +119 -457
  656. lusid/models/market_data_options.py +75 -135
  657. lusid/models/market_data_options_type.py +37 -0
  658. lusid/models/market_data_overrides.py +82 -151
  659. lusid/models/market_data_specific_rule.py +120 -489
  660. lusid/models/market_data_type.py +50 -0
  661. lusid/models/market_observable_type.py +41 -0
  662. lusid/models/market_options.py +111 -313
  663. lusid/models/market_quote.py +63 -161
  664. lusid/models/mastered_instrument.py +147 -0
  665. lusid/models/match_criterion.py +103 -0
  666. lusid/models/maturity_event.py +77 -162
  667. lusid/models/mbs_coupon_event.py +110 -0
  668. lusid/models/mbs_interest_deferral_event.py +110 -0
  669. lusid/models/mbs_interest_shortfall_event.py +110 -0
  670. lusid/models/mbs_principal_event.py +110 -0
  671. lusid/models/mbs_principal_write_off_event.py +110 -0
  672. lusid/models/merger_event.py +180 -0
  673. lusid/models/metric_value.py +61 -150
  674. lusid/models/model_options.py +79 -139
  675. lusid/models/model_options_type.py +43 -0
  676. lusid/models/model_property.py +75 -213
  677. lusid/models/model_schema.py +124 -0
  678. lusid/models/model_selection.py +70 -167
  679. lusid/models/move_orders_to_different_blocks_request.py +62 -129
  680. lusid/models/moved_order_to_different_block_response.py +68 -176
  681. lusid/models/movement_type.py +58 -0
  682. lusid/models/multi_currency_amounts.py +79 -0
  683. lusid/models/new_instrument.py +101 -0
  684. lusid/models/next_value_in_sequence_response.py +69 -153
  685. lusid/models/numeric_comparison_type.py +39 -0
  686. lusid/models/opaque_dependency.py +74 -129
  687. lusid/models/opaque_market_data.py +87 -270
  688. lusid/models/opaque_model_options.py +76 -159
  689. lusid/models/open_event.py +77 -161
  690. lusid/models/operand_type.py +38 -0
  691. lusid/models/operation.py +70 -222
  692. lusid/models/operation_type.py +38 -0
  693. lusid/models/operator.py +43 -0
  694. lusid/models/option_entry.py +86 -0
  695. lusid/models/option_exercise_cash_event.py +159 -0
  696. lusid/models/option_exercise_election.py +81 -0
  697. lusid/models/option_exercise_physical_event.py +164 -0
  698. lusid/models/optionality_schedule.py +126 -0
  699. lusid/models/order.py +176 -701
  700. lusid/models/order_by_spec.py +63 -161
  701. lusid/models/order_flow_configuration.py +54 -124
  702. lusid/models/order_graph_block.py +94 -376
  703. lusid/models/order_graph_block_allocation_detail.py +58 -121
  704. lusid/models/order_graph_block_allocation_synopsis.py +64 -155
  705. lusid/models/order_graph_block_execution_detail.py +58 -121
  706. lusid/models/order_graph_block_execution_synopsis.py +64 -155
  707. lusid/models/order_graph_block_order_detail.py +101 -309
  708. lusid/models/order_graph_block_order_synopsis.py +70 -184
  709. lusid/models/order_graph_block_placement_detail.py +58 -121
  710. lusid/models/order_graph_block_placement_synopsis.py +70 -184
  711. lusid/models/order_graph_block_transaction_detail.py +54 -126
  712. lusid/models/order_graph_block_transaction_synopsis.py +64 -155
  713. lusid/models/order_graph_placement.py +97 -336
  714. lusid/models/order_graph_placement_allocation_detail.py +58 -121
  715. lusid/models/order_graph_placement_allocation_synopsis.py +64 -155
  716. lusid/models/order_graph_placement_child_placement_detail.py +58 -121
  717. lusid/models/order_graph_placement_execution_detail.py +58 -121
  718. lusid/models/order_graph_placement_execution_synopsis.py +64 -155
  719. lusid/models/order_graph_placement_order_detail.py +58 -121
  720. lusid/models/order_graph_placement_order_synopsis.py +62 -123
  721. lusid/models/order_graph_placement_placement_synopsis.py +64 -155
  722. lusid/models/order_instruction.py +165 -0
  723. lusid/models/order_instruction_request.py +135 -0
  724. lusid/models/order_instruction_set_request.py +90 -0
  725. lusid/models/order_request.py +144 -575
  726. lusid/models/order_set_request.py +67 -121
  727. lusid/models/order_update_request.py +129 -0
  728. lusid/models/otc_confirmation.py +58 -120
  729. lusid/models/output_transaction.py +230 -873
  730. lusid/models/output_transition.py +80 -276
  731. lusid/models/package.py +140 -0
  732. lusid/models/package_request.py +119 -0
  733. lusid/models/package_set_request.py +90 -0
  734. lusid/models/paged_resource_list_of_abor.py +121 -0
  735. lusid/models/paged_resource_list_of_abor_configuration.py +121 -0
  736. lusid/models/paged_resource_list_of_account.py +121 -0
  737. lusid/models/paged_resource_list_of_address_key_definition.py +98 -243
  738. lusid/models/paged_resource_list_of_allocation.py +98 -243
  739. lusid/models/paged_resource_list_of_amortisation_rule_set.py +121 -0
  740. lusid/models/paged_resource_list_of_block.py +98 -243
  741. lusid/models/paged_resource_list_of_calendar.py +98 -243
  742. lusid/models/paged_resource_list_of_chart_of_accounts.py +121 -0
  743. lusid/models/paged_resource_list_of_cleardown_module_response.py +121 -0
  744. lusid/models/paged_resource_list_of_cleardown_module_rule.py +121 -0
  745. lusid/models/paged_resource_list_of_closed_period.py +121 -0
  746. lusid/models/paged_resource_list_of_compliance_rule_response.py +98 -243
  747. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +98 -243
  748. lusid/models/paged_resource_list_of_compliance_template.py +98 -243
  749. lusid/models/paged_resource_list_of_corporate_action_source.py +98 -243
  750. lusid/models/paged_resource_list_of_custodian_account.py +121 -0
  751. lusid/models/paged_resource_list_of_custom_entity_definition.py +98 -243
  752. lusid/models/paged_resource_list_of_custom_entity_response.py +98 -243
  753. lusid/models/paged_resource_list_of_custom_entity_type.py +98 -243
  754. lusid/models/paged_resource_list_of_cut_label_definition.py +98 -243
  755. lusid/models/paged_resource_list_of_data_type_summary.py +98 -243
  756. lusid/models/paged_resource_list_of_dialect_id.py +98 -243
  757. lusid/models/paged_resource_list_of_diary_entry.py +121 -0
  758. lusid/models/paged_resource_list_of_execution.py +98 -243
  759. lusid/models/paged_resource_list_of_fee.py +121 -0
  760. lusid/models/paged_resource_list_of_fee_type.py +121 -0
  761. lusid/models/paged_resource_list_of_fund.py +121 -0
  762. lusid/models/paged_resource_list_of_fund_configuration.py +121 -0
  763. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +121 -0
  764. lusid/models/paged_resource_list_of_group_reconciliation_comparison_result.py +121 -0
  765. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +121 -0
  766. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +121 -0
  767. lusid/models/paged_resource_list_of_instrument.py +98 -243
  768. lusid/models/paged_resource_list_of_instrument_event_holder.py +98 -243
  769. lusid/models/paged_resource_list_of_instrument_event_instruction.py +121 -0
  770. lusid/models/paged_resource_list_of_legal_entity.py +98 -243
  771. lusid/models/paged_resource_list_of_order.py +98 -243
  772. lusid/models/paged_resource_list_of_order_graph_block.py +98 -243
  773. lusid/models/paged_resource_list_of_order_graph_placement.py +98 -243
  774. lusid/models/paged_resource_list_of_order_instruction.py +121 -0
  775. lusid/models/paged_resource_list_of_package.py +121 -0
  776. lusid/models/paged_resource_list_of_participation.py +98 -243
  777. lusid/models/paged_resource_list_of_person.py +98 -243
  778. lusid/models/paged_resource_list_of_placement.py +98 -243
  779. lusid/models/paged_resource_list_of_portfolio_group.py +98 -243
  780. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +98 -243
  781. lusid/models/paged_resource_list_of_portfolio_search_result.py +98 -243
  782. lusid/models/paged_resource_list_of_posting_module_response.py +121 -0
  783. lusid/models/paged_resource_list_of_posting_module_rule.py +121 -0
  784. lusid/models/paged_resource_list_of_property_definition.py +98 -243
  785. lusid/models/paged_resource_list_of_property_definition_search_result.py +98 -243
  786. lusid/models/paged_resource_list_of_reconciliation.py +121 -0
  787. lusid/models/paged_resource_list_of_reference_list_response.py +98 -243
  788. lusid/models/paged_resource_list_of_relationship_definition.py +98 -243
  789. lusid/models/paged_resource_list_of_sequence_definition.py +98 -243
  790. lusid/models/paged_resource_list_of_staged_modification.py +121 -0
  791. lusid/models/paged_resource_list_of_staged_modifications_requested_change_interval.py +121 -0
  792. lusid/models/paged_resource_list_of_staging_rule_set.py +121 -0
  793. lusid/models/paged_resource_list_of_transaction_template.py +121 -0
  794. lusid/models/paged_resource_list_of_transaction_template_specification.py +121 -0
  795. lusid/models/paged_resource_list_of_translation_script_id.py +98 -243
  796. lusid/models/paged_resource_list_of_valuation_point_overview.py +121 -0
  797. lusid/models/paged_resource_list_of_virtual_row.py +98 -243
  798. lusid/models/paged_resource_list_of_workspace.py +121 -0
  799. lusid/models/paged_resource_list_of_workspace_item.py +121 -0
  800. lusid/models/participation.py +89 -240
  801. lusid/models/participation_request.py +66 -179
  802. lusid/models/participation_set_request.py +67 -121
  803. lusid/models/percent_check_step.py +118 -0
  804. lusid/models/percent_check_step_request.py +106 -0
  805. lusid/models/performance_return.py +78 -246
  806. lusid/models/performance_returns_metric.py +86 -304
  807. lusid/models/period_diary_entries_reopened_response.py +112 -0
  808. lusid/models/period_type.py +41 -0
  809. lusid/models/perpetual_entity_state.py +39 -0
  810. lusid/models/perpetual_property.py +60 -152
  811. lusid/models/person.py +155 -330
  812. lusid/models/place_blocks_request.py +62 -129
  813. lusid/models/placement.py +164 -693
  814. lusid/models/placement_request.py +139 -609
  815. lusid/models/placement_set_request.py +67 -121
  816. lusid/models/placement_update_request.py +129 -0
  817. lusid/models/pnl_journal_entry_line.py +103 -0
  818. lusid/models/portfolio.py +215 -742
  819. lusid/models/portfolio_cash_flow.py +142 -588
  820. lusid/models/portfolio_cash_ladder.py +119 -245
  821. lusid/models/portfolio_details.py +157 -515
  822. lusid/models/portfolio_entity.py +154 -0
  823. lusid/models/portfolio_entity_id.py +77 -205
  824. lusid/models/portfolio_group.py +141 -397
  825. lusid/models/portfolio_group_id_compliance_parameter.py +80 -159
  826. lusid/models/portfolio_group_id_list.py +84 -162
  827. lusid/models/portfolio_group_id_list_compliance_parameter.py +80 -159
  828. lusid/models/portfolio_group_properties.py +100 -210
  829. lusid/models/portfolio_group_search_result.py +126 -367
  830. lusid/models/portfolio_holding.py +185 -639
  831. lusid/models/portfolio_id.py +88 -0
  832. lusid/models/portfolio_id_compliance_parameter.py +80 -159
  833. lusid/models/portfolio_id_list.py +84 -162
  834. lusid/models/portfolio_id_list_compliance_parameter.py +80 -159
  835. lusid/models/portfolio_properties.py +106 -210
  836. lusid/models/portfolio_reconciliation_request.py +67 -186
  837. lusid/models/portfolio_result_data_key_rule.py +136 -387
  838. lusid/models/portfolio_return_breakdown.py +112 -487
  839. lusid/models/portfolio_search_result.py +131 -437
  840. lusid/models/portfolio_trade_ticket.py +87 -0
  841. lusid/models/portfolio_type.py +40 -0
  842. lusid/models/portfolio_without_href.py +228 -0
  843. lusid/models/portfolios_reconciliation_request.py +63 -181
  844. lusid/models/posting_module_details.py +103 -0
  845. lusid/models/posting_module_request.py +125 -0
  846. lusid/models/posting_module_response.py +147 -0
  847. lusid/models/posting_module_rule.py +102 -0
  848. lusid/models/posting_module_rules_updated_response.py +118 -0
  849. lusid/models/pre_trade_configuration.py +77 -0
  850. lusid/models/premium.py +59 -188
  851. lusid/models/previous_fund_valuation_point_data.py +81 -0
  852. lusid/models/previous_nav.py +81 -0
  853. lusid/models/previous_share_class_breakdown.py +89 -0
  854. lusid/models/pricing_context.py +114 -210
  855. lusid/models/pricing_model.py +56 -0
  856. lusid/models/pricing_options.py +89 -429
  857. lusid/models/processed_command.py +70 -219
  858. lusid/models/property_definition.py +246 -732
  859. lusid/models/property_definition_entity.py +154 -0
  860. lusid/models/property_definition_search_result.py +207 -643
  861. lusid/models/property_definition_type.py +38 -0
  862. lusid/models/property_domain.py +114 -0
  863. lusid/models/property_filter.py +90 -223
  864. lusid/models/property_interval.py +71 -216
  865. lusid/models/property_key_compliance_parameter.py +76 -161
  866. lusid/models/property_key_list_compliance_parameter.py +80 -159
  867. lusid/models/property_life_time.py +38 -0
  868. lusid/models/property_list.py +84 -165
  869. lusid/models/property_list_compliance_parameter.py +80 -159
  870. lusid/models/property_schema.py +92 -175
  871. lusid/models/property_type.py +39 -0
  872. lusid/models/property_value.py +69 -177
  873. lusid/models/property_value_equals.py +101 -0
  874. lusid/models/property_value_in.py +101 -0
  875. lusid/models/protection_payout_cash_flow_event.py +110 -0
  876. lusid/models/query_applicable_instrument_events_request.py +97 -0
  877. lusid/models/query_bucketed_cash_flows_request.py +170 -0
  878. lusid/models/query_cash_flows_request.py +104 -0
  879. lusid/models/query_instrument_events_request.py +121 -0
  880. lusid/models/query_trade_tickets_request.py +104 -0
  881. lusid/models/queryable_key.py +110 -486
  882. lusid/models/quote.py +90 -308
  883. lusid/models/quote_access_metadata_rule.py +100 -0
  884. lusid/models/quote_access_metadata_rule_id.py +137 -0
  885. lusid/models/quote_dependency.py +81 -235
  886. lusid/models/quote_id.py +60 -156
  887. lusid/models/quote_instrument_id_type.py +45 -0
  888. lusid/models/quote_series_id.py +83 -298
  889. lusid/models/quote_type.py +53 -0
  890. lusid/models/raw_vendor_event.py +85 -227
  891. lusid/models/re_open_period_diary_entry_request.py +92 -0
  892. lusid/models/realised_gain_loss.py +118 -457
  893. lusid/models/recipe_block.py +95 -0
  894. lusid/models/recipe_composer.py +108 -0
  895. lusid/models/recipe_value.py +95 -0
  896. lusid/models/recombine_step.py +86 -196
  897. lusid/models/recommended_sort_by.py +84 -0
  898. lusid/models/reconcile_date_time_rule.py +91 -228
  899. lusid/models/reconcile_numeric_rule.py +91 -228
  900. lusid/models/reconcile_string_rule.py +105 -227
  901. lusid/models/reconciled_transaction.py +72 -210
  902. lusid/models/reconciliation.py +173 -0
  903. lusid/models/reconciliation_break.py +108 -406
  904. lusid/models/reconciliation_configuration.py +92 -0
  905. lusid/models/reconciliation_id.py +88 -0
  906. lusid/models/reconciliation_left_right_address_key_pair.py +56 -155
  907. lusid/models/reconciliation_line.py +80 -211
  908. lusid/models/reconciliation_request.py +100 -241
  909. lusid/models/reconciliation_response.py +73 -150
  910. lusid/models/reconciliation_rule.py +77 -138
  911. lusid/models/reconciliation_rule_type.py +40 -0
  912. lusid/models/reconciliation_side_configuration.py +102 -0
  913. lusid/models/reconciliation_transactions.py +87 -0
  914. lusid/models/reference_data.py +72 -151
  915. lusid/models/reference_instrument.py +80 -234
  916. lusid/models/reference_list.py +81 -141
  917. lusid/models/reference_list_request.py +80 -246
  918. lusid/models/reference_list_response.py +101 -306
  919. lusid/models/reference_list_type.py +44 -0
  920. lusid/models/reference_portfolio_constituent.py +99 -302
  921. lusid/models/reference_portfolio_constituent_request.py +83 -209
  922. lusid/models/reference_portfolio_weight_type.py +39 -0
  923. lusid/models/related_entity.py +108 -344
  924. lusid/models/relation.py +73 -276
  925. lusid/models/relation_definition.py +151 -0
  926. lusid/models/relationship.py +79 -313
  927. lusid/models/relationship_definition.py +114 -443
  928. lusid/models/relative_date_offset.py +63 -188
  929. lusid/models/repo.py +139 -471
  930. lusid/models/requested_changes.py +84 -0
  931. lusid/models/reset_event.py +93 -257
  932. lusid/models/resource_id.py +56 -167
  933. lusid/models/resource_list_of_access_controlled_resource.py +98 -243
  934. lusid/models/resource_list_of_access_metadata_value_of.py +103 -243
  935. lusid/models/resource_list_of_address_key_definition.py +98 -243
  936. lusid/models/resource_list_of_aggregated_return.py +98 -243
  937. lusid/models/resource_list_of_aggregation_query.py +98 -243
  938. lusid/models/resource_list_of_allocation.py +98 -243
  939. lusid/models/resource_list_of_applicable_instrument_event.py +121 -0
  940. lusid/models/resource_list_of_block.py +98 -243
  941. lusid/models/resource_list_of_block_and_orders.py +98 -243
  942. lusid/models/resource_list_of_calendar_date.py +98 -243
  943. lusid/models/resource_list_of_change.py +98 -243
  944. lusid/models/resource_list_of_change_history.py +98 -243
  945. lusid/models/resource_list_of_change_interval.py +121 -0
  946. lusid/models/resource_list_of_change_interval_with_order_management_detail.py +121 -0
  947. lusid/models/resource_list_of_compliance_breached_order_info.py +121 -0
  948. lusid/models/resource_list_of_compliance_rule.py +121 -0
  949. lusid/models/resource_list_of_compliance_rule_result.py +121 -0
  950. lusid/models/resource_list_of_compliance_run_info.py +121 -0
  951. lusid/models/resource_list_of_constituents_adjustment_header.py +98 -243
  952. lusid/models/resource_list_of_corporate_action.py +98 -243
  953. lusid/models/resource_list_of_data_model_summary.py +121 -0
  954. lusid/models/resource_list_of_data_type.py +98 -243
  955. lusid/models/resource_list_of_execution.py +98 -243
  956. lusid/models/resource_list_of_fee_rule.py +121 -0
  957. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +121 -0
  958. lusid/models/resource_list_of_get_counterparty_agreement_response.py +98 -243
  959. lusid/models/resource_list_of_get_credit_support_annex_response.py +98 -243
  960. lusid/models/resource_list_of_get_flow_conventions_response.py +121 -0
  961. lusid/models/resource_list_of_get_index_convention_response.py +121 -0
  962. lusid/models/resource_list_of_get_recipe_composer_response.py +121 -0
  963. lusid/models/resource_list_of_get_recipe_response.py +98 -243
  964. lusid/models/resource_list_of_holdings_adjustment_header.py +98 -243
  965. lusid/models/resource_list_of_i_unit_definition_dto.py +98 -243
  966. lusid/models/resource_list_of_instrument_cash_flow.py +121 -0
  967. lusid/models/resource_list_of_instrument_event_holder.py +121 -0
  968. lusid/models/resource_list_of_instrument_id_type_descriptor.py +98 -243
  969. lusid/models/resource_list_of_legal_entity.py +98 -243
  970. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +121 -0
  971. lusid/models/resource_list_of_mapping.py +98 -243
  972. lusid/models/resource_list_of_moved_order_to_different_block_response.py +98 -243
  973. lusid/models/resource_list_of_order.py +98 -243
  974. lusid/models/resource_list_of_order_instruction.py +121 -0
  975. lusid/models/resource_list_of_output_transaction.py +121 -0
  976. lusid/models/resource_list_of_package.py +121 -0
  977. lusid/models/resource_list_of_participation.py +98 -243
  978. lusid/models/resource_list_of_performance_return.py +98 -243
  979. lusid/models/resource_list_of_person.py +98 -243
  980. lusid/models/resource_list_of_placement.py +98 -243
  981. lusid/models/resource_list_of_portfolio.py +98 -243
  982. lusid/models/resource_list_of_portfolio_cash_flow.py +98 -243
  983. lusid/models/resource_list_of_portfolio_cash_ladder.py +98 -243
  984. lusid/models/resource_list_of_portfolio_trade_ticket.py +121 -0
  985. lusid/models/resource_list_of_processed_command.py +98 -243
  986. lusid/models/resource_list_of_property.py +98 -243
  987. lusid/models/resource_list_of_property_definition.py +98 -243
  988. lusid/models/resource_list_of_property_interval.py +98 -243
  989. lusid/models/resource_list_of_queryable_key.py +98 -243
  990. lusid/models/resource_list_of_quote.py +98 -243
  991. lusid/models/resource_list_of_quote_access_metadata_rule.py +121 -0
  992. lusid/models/resource_list_of_reconciliation_break.py +98 -243
  993. lusid/models/resource_list_of_relation.py +98 -243
  994. lusid/models/resource_list_of_relationship.py +98 -243
  995. lusid/models/resource_list_of_scope_definition.py +98 -243
  996. lusid/models/resource_list_of_side_definition.py +98 -243
  997. lusid/models/resource_list_of_string.py +90 -243
  998. lusid/models/resource_list_of_tax_rule_set.py +121 -0
  999. lusid/models/resource_list_of_transaction.py +121 -0
  1000. lusid/models/resource_list_of_transaction_type.py +98 -243
  1001. lusid/models/resource_list_of_value_type.py +91 -243
  1002. lusid/models/response_meta_data.py +80 -211
  1003. lusid/models/result_data_key_rule.py +106 -384
  1004. lusid/models/result_data_schema.py +109 -177
  1005. lusid/models/result_key_rule.py +76 -137
  1006. lusid/models/result_key_rule_type.py +39 -0
  1007. lusid/models/result_value.py +83 -144
  1008. lusid/models/result_value0_d.py +90 -220
  1009. lusid/models/result_value_bool.py +76 -160
  1010. lusid/models/result_value_currency.py +81 -159
  1011. lusid/models/result_value_date_time_offset.py +84 -191
  1012. lusid/models/result_value_decimal.py +83 -190
  1013. lusid/models/result_value_dictionary.py +93 -159
  1014. lusid/models/result_value_int.py +83 -190
  1015. lusid/models/result_value_string.py +81 -159
  1016. lusid/models/result_value_type.py +48 -0
  1017. lusid/models/return_zero_pv_options.py +77 -0
  1018. lusid/models/reverse_stock_split_event.py +113 -284
  1019. lusid/models/rounding_configuration.py +58 -120
  1020. lusid/models/rounding_configuration_component.py +54 -126
  1021. lusid/models/rounding_convention.py +70 -213
  1022. lusid/models/rules_interval.py +91 -0
  1023. lusid/models/scaling_methodology.py +39 -0
  1024. lusid/models/schedule.py +81 -137
  1025. lusid/models/schedule_type.py +45 -0
  1026. lusid/models/scope_definition.py +54 -126
  1027. lusid/models/scrip_dividend_event.py +113 -284
  1028. lusid/models/script_map_reference.py +79 -214
  1029. lusid/models/security_election.py +71 -247
  1030. lusid/models/security_offer_election.py +87 -0
  1031. lusid/models/sequence_definition.py +97 -371
  1032. lusid/models/set_amortisation_rules_request.py +81 -0
  1033. lusid/models/set_legal_entity_identifiers_request.py +72 -121
  1034. lusid/models/set_legal_entity_properties_request.py +72 -121
  1035. lusid/models/set_person_identifiers_request.py +72 -121
  1036. lusid/models/set_person_properties_request.py +67 -123
  1037. lusid/models/set_share_class_instruments_request.py +87 -0
  1038. lusid/models/set_transaction_configuration_alias.py +92 -0
  1039. lusid/models/set_transaction_configuration_source_request.py +115 -0
  1040. lusid/models/settlement_cycle.py +87 -0
  1041. lusid/models/settlement_schedule.py +86 -0
  1042. lusid/models/share_class_amount.py +79 -0
  1043. lusid/models/share_class_breakdown.py +162 -0
  1044. lusid/models/share_class_data.py +87 -0
  1045. lusid/models/share_class_dealing_breakdown.py +105 -0
  1046. lusid/models/share_class_details.py +135 -0
  1047. lusid/models/share_class_pnl_breakdown.py +118 -0
  1048. lusid/models/side_configuration_data.py +79 -331
  1049. lusid/models/side_configuration_data_request.py +87 -0
  1050. lusid/models/side_definition.py +93 -385
  1051. lusid/models/side_definition_request.py +76 -317
  1052. lusid/models/sides_definition_request.py +60 -159
  1053. lusid/models/simple_cash_flow_loan.py +91 -258
  1054. lusid/models/simple_instrument.py +97 -296
  1055. lusid/models/simple_rounding_convention.py +84 -0
  1056. lusid/models/sort_order.py +38 -0
  1057. lusid/models/specific_holding_pricing_info.py +83 -0
  1058. lusid/models/spin_off_event.py +148 -0
  1059. lusid/models/staged_modification.py +197 -0
  1060. lusid/models/staged_modification_decision.py +105 -0
  1061. lusid/models/staged_modification_decision_request.py +79 -0
  1062. lusid/models/staged_modification_effective_range.py +79 -0
  1063. lusid/models/staged_modification_staging_rule.py +93 -0
  1064. lusid/models/staged_modifications_entity_hrefs.py +111 -0
  1065. lusid/models/staged_modifications_info.py +62 -184
  1066. lusid/models/staged_modifications_requested_change_interval.py +121 -0
  1067. lusid/models/staging_rule.py +98 -0
  1068. lusid/models/staging_rule_approval_criteria.py +96 -0
  1069. lusid/models/staging_rule_match_criteria.py +103 -0
  1070. lusid/models/staging_rule_set.py +126 -0
  1071. lusid/models/step_schedule.py +88 -231
  1072. lusid/models/stock_dividend_event.py +113 -284
  1073. lusid/models/stock_split_event.py +113 -284
  1074. lusid/models/strategy.py +89 -0
  1075. lusid/models/stream.py +73 -323
  1076. lusid/models/string_comparison_type.py +41 -0
  1077. lusid/models/string_compliance_parameter.py +76 -162
  1078. lusid/models/string_list.py +76 -165
  1079. lusid/models/string_list_compliance_parameter.py +80 -159
  1080. lusid/models/structured_result_data.py +99 -0
  1081. lusid/models/structured_result_data_id.py +115 -0
  1082. lusid/models/sub_holding_key_value_equals.py +101 -0
  1083. lusid/models/swap_cash_flow_event.py +105 -0
  1084. lusid/models/swap_principal_event.py +105 -0
  1085. lusid/models/target_tax_lot.py +110 -273
  1086. lusid/models/target_tax_lot_request.py +110 -273
  1087. lusid/models/tax_rule.py +105 -0
  1088. lusid/models/tax_rule_set.py +132 -0
  1089. lusid/models/template_field.py +87 -0
  1090. lusid/models/tender_event.py +180 -0
  1091. lusid/models/term_deposit.py +96 -318
  1092. lusid/models/term_deposit_interest_event.py +108 -0
  1093. lusid/models/term_deposit_principal_event.py +108 -0
  1094. lusid/models/timeline.py +143 -0
  1095. lusid/models/total_return_swap.py +106 -254
  1096. lusid/models/touch.py +65 -223
  1097. lusid/models/trade_ticket.py +84 -0
  1098. lusid/models/trade_ticket_type.py +38 -0
  1099. lusid/models/trading_conventions.py +81 -0
  1100. lusid/models/transaction.py +213 -778
  1101. lusid/models/transaction_configuration_data.py +91 -184
  1102. lusid/models/transaction_configuration_data_request.py +91 -184
  1103. lusid/models/transaction_configuration_movement_data.py +114 -316
  1104. lusid/models/transaction_configuration_movement_data_request.py +114 -316
  1105. lusid/models/transaction_configuration_type_alias.py +93 -334
  1106. lusid/models/transaction_currency_and_amount.py +89 -0
  1107. lusid/models/transaction_date_windows.py +93 -0
  1108. lusid/models/transaction_diagnostics.py +79 -0
  1109. lusid/models/transaction_field_map.py +110 -0
  1110. lusid/models/transaction_price.py +66 -157
  1111. lusid/models/transaction_price_and_type.py +89 -0
  1112. lusid/models/transaction_price_type.py +42 -0
  1113. lusid/models/transaction_property_map.py +89 -0
  1114. lusid/models/transaction_property_mapping.py +66 -181
  1115. lusid/models/transaction_property_mapping_request.py +66 -181
  1116. lusid/models/transaction_query_mode.py +38 -0
  1117. lusid/models/transaction_query_parameters.py +70 -229
  1118. lusid/models/transaction_reconciliation_request.py +87 -297
  1119. lusid/models/transaction_reconciliation_request_v2.py +123 -0
  1120. lusid/models/transaction_request.py +168 -620
  1121. lusid/models/transaction_roles.py +44 -0
  1122. lusid/models/transaction_set_configuration_data.py +90 -181
  1123. lusid/models/transaction_set_configuration_data_request.py +100 -0
  1124. lusid/models/transaction_status.py +39 -0
  1125. lusid/models/transaction_template.py +108 -0
  1126. lusid/models/transaction_template_request.py +87 -0
  1127. lusid/models/transaction_template_specification.py +107 -0
  1128. lusid/models/transaction_type.py +122 -245
  1129. lusid/models/transaction_type_alias.py +76 -277
  1130. lusid/models/transaction_type_calculation.py +68 -167
  1131. lusid/models/transaction_type_details.py +81 -0
  1132. lusid/models/transaction_type_movement.py +148 -361
  1133. lusid/models/transaction_type_property_mapping.py +102 -192
  1134. lusid/models/transaction_type_request.py +107 -215
  1135. lusid/models/transactions_reconciliations_response.py +73 -150
  1136. lusid/models/transition_event.py +104 -313
  1137. lusid/models/translate_entities_inlined_request.py +75 -190
  1138. lusid/models/translate_entities_request.py +77 -180
  1139. lusid/models/translate_entities_response.py +105 -179
  1140. lusid/models/translate_instrument_definitions_request.py +99 -0
  1141. lusid/models/translate_instrument_definitions_response.py +137 -0
  1142. lusid/models/translate_trade_ticket_request.py +99 -0
  1143. lusid/models/translate_trade_tickets_response.py +137 -0
  1144. lusid/models/translation_context.py +60 -149
  1145. lusid/models/translation_input.py +54 -129
  1146. lusid/models/translation_result.py +69 -158
  1147. lusid/models/translation_script.py +66 -188
  1148. lusid/models/translation_script_id.py +79 -214
  1149. lusid/models/trial_balance.py +146 -0
  1150. lusid/models/trial_balance_query_parameters.py +119 -0
  1151. lusid/models/trigger_event.py +85 -296
  1152. lusid/models/typed_resource_id.py +79 -214
  1153. lusid/models/unit_schema.py +39 -0
  1154. lusid/models/unitisation_data.py +81 -0
  1155. lusid/models/units_ratio.py +56 -155
  1156. lusid/models/unmatched_holding_method.py +38 -0
  1157. lusid/models/update_amortisation_rule_set_details_request.py +101 -0
  1158. lusid/models/update_calendar_request.py +77 -190
  1159. lusid/models/update_compliance_template_request.py +103 -0
  1160. lusid/models/update_custom_entity_definition_request.py +80 -199
  1161. lusid/models/update_custom_entity_type_request.py +80 -199
  1162. lusid/models/update_cut_label_definition_request.py +86 -221
  1163. lusid/models/update_data_type_request.py +108 -229
  1164. lusid/models/update_derived_property_definition_request.py +71 -224
  1165. lusid/models/update_fee_type_request.py +104 -0
  1166. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +99 -0
  1167. lusid/models/update_group_reconciliation_definition_request.py +115 -0
  1168. lusid/models/update_instrument_identifier_request.py +67 -185
  1169. lusid/models/update_orders_response.py +161 -0
  1170. lusid/models/update_placements_response.py +161 -0
  1171. lusid/models/update_portfolio_group_request.py +61 -156
  1172. lusid/models/update_portfolio_request.py +61 -156
  1173. lusid/models/update_property_definition_request.py +61 -159
  1174. lusid/models/update_reconciliation_request.py +139 -0
  1175. lusid/models/update_reference_data_request.py +95 -0
  1176. lusid/models/update_relationship_definition_request.py +79 -214
  1177. lusid/models/update_staging_rule_set_request.py +94 -0
  1178. lusid/models/update_tax_rule_set_request.py +103 -0
  1179. lusid/models/update_timeline_request.py +104 -0
  1180. lusid/models/update_unit_request.py +103 -202
  1181. lusid/models/upsert_cds_flow_conventions_request.py +81 -0
  1182. lusid/models/upsert_complex_market_data_request.py +64 -151
  1183. lusid/models/upsert_compliance_rule_request.py +116 -375
  1184. lusid/models/upsert_compliance_run_summary_request.py +75 -245
  1185. lusid/models/upsert_compliance_run_summary_result.py +75 -245
  1186. lusid/models/upsert_corporate_action_request.py +97 -332
  1187. lusid/models/upsert_corporate_actions_response.py +114 -211
  1188. lusid/models/upsert_counterparty_agreement_request.py +58 -121
  1189. lusid/models/upsert_credit_support_annex_request.py +58 -120
  1190. lusid/models/upsert_custom_data_model_request.py +176 -0
  1191. lusid/models/upsert_custom_entities_response.py +133 -211
  1192. lusid/models/upsert_custom_entity_access_metadata_request.py +67 -121
  1193. lusid/models/upsert_dialect_request.py +64 -151
  1194. lusid/models/upsert_flow_conventions_request.py +81 -0
  1195. lusid/models/upsert_index_convention_request.py +81 -0
  1196. lusid/models/upsert_instrument_event_request.py +110 -324
  1197. lusid/models/upsert_instrument_events_response.py +114 -211
  1198. lusid/models/upsert_instrument_properties_response.py +70 -154
  1199. lusid/models/upsert_instrument_property_request.py +71 -191
  1200. lusid/models/upsert_instruments_response.py +157 -241
  1201. lusid/models/upsert_legal_entities_response.py +114 -211
  1202. lusid/models/upsert_legal_entity_access_metadata_request.py +67 -121
  1203. lusid/models/upsert_legal_entity_request.py +118 -262
  1204. lusid/models/upsert_person_access_metadata_request.py +67 -121
  1205. lusid/models/upsert_person_request.py +95 -227
  1206. lusid/models/upsert_persons_response.py +122 -0
  1207. lusid/models/upsert_portfolio_access_metadata_request.py +62 -123
  1208. lusid/models/upsert_portfolio_group_access_metadata_request.py +62 -123
  1209. lusid/models/upsert_portfolio_transactions_response.py +104 -211
  1210. lusid/models/upsert_quote_access_metadata_rule_request.py +100 -0
  1211. lusid/models/upsert_quote_request.py +78 -210
  1212. lusid/models/upsert_quotes_response.py +114 -211
  1213. lusid/models/upsert_recipe_composer_request.py +81 -0
  1214. lusid/models/upsert_recipe_request.py +58 -120
  1215. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +92 -0
  1216. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +123 -0
  1217. lusid/models/upsert_reference_portfolio_constituents_request.py +97 -260
  1218. lusid/models/upsert_reference_portfolio_constituents_response.py +78 -176
  1219. lusid/models/upsert_result_values_data_request.py +101 -0
  1220. lusid/models/upsert_returns_response.py +103 -242
  1221. lusid/models/upsert_single_structured_data_response.py +75 -181
  1222. lusid/models/upsert_structured_data_response.py +102 -212
  1223. lusid/models/upsert_structured_result_data_request.py +87 -0
  1224. lusid/models/upsert_transaction_properties_response.py +100 -208
  1225. lusid/models/upsert_translation_script_request.py +60 -159
  1226. lusid/models/upsert_valuation_point_request.py +130 -0
  1227. lusid/models/user.py +59 -121
  1228. lusid/models/valuation_point_data_query_parameters.py +81 -0
  1229. lusid/models/valuation_point_data_request.py +84 -0
  1230. lusid/models/valuation_point_data_response.py +164 -0
  1231. lusid/models/valuation_point_overview.py +133 -0
  1232. lusid/models/valuation_point_resource_list_of_accounted_transaction.py +133 -0
  1233. lusid/models/valuation_point_resource_list_of_journal_entry_line.py +133 -0
  1234. lusid/models/valuation_point_resource_list_of_pnl_journal_entry_line.py +133 -0
  1235. lusid/models/valuation_point_resource_list_of_trial_balance.py +133 -0
  1236. lusid/models/valuation_request.py +159 -523
  1237. lusid/models/valuation_schedule.py +96 -324
  1238. lusid/models/valuations_reconciliation_request.py +85 -211
  1239. lusid/models/value_type.py +34 -116
  1240. lusid/models/vendor_dependency.py +103 -0
  1241. lusid/models/vendor_library.py +43 -0
  1242. lusid/models/vendor_model_rule.py +100 -330
  1243. lusid/models/version.py +120 -426
  1244. lusid/models/version_summary_dto.py +88 -205
  1245. lusid/models/versioned_resource_list_of_a2_b_data_record.py +104 -273
  1246. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +104 -273
  1247. lusid/models/versioned_resource_list_of_holding_contributor.py +104 -273
  1248. lusid/models/versioned_resource_list_of_journal_entry_line.py +127 -0
  1249. lusid/models/versioned_resource_list_of_output_transaction.py +104 -273
  1250. lusid/models/versioned_resource_list_of_portfolio_holding.py +104 -273
  1251. lusid/models/versioned_resource_list_of_transaction.py +104 -273
  1252. lusid/models/versioned_resource_list_of_trial_balance.py +127 -0
  1253. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +142 -0
  1254. lusid/models/virtual_document.py +96 -0
  1255. lusid/models/virtual_document_row.py +88 -0
  1256. lusid/models/virtual_row.py +79 -151
  1257. lusid/models/warning.py +79 -0
  1258. lusid/models/weekend_mask.py +64 -160
  1259. lusid/models/weighted_instrument.py +85 -215
  1260. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +74 -410
  1261. lusid/models/weighted_instruments.py +62 -123
  1262. lusid/models/workspace.py +100 -0
  1263. lusid/models/workspace_creation_request.py +86 -0
  1264. lusid/models/workspace_item.py +120 -0
  1265. lusid/models/workspace_item_creation_request.py +113 -0
  1266. lusid/models/workspace_item_update_request.py +95 -0
  1267. lusid/models/workspace_update_request.py +77 -0
  1268. lusid/models/yield_curve_data.py +110 -291
  1269. lusid/py.typed +0 -0
  1270. lusid/rest.py +230 -243
  1271. lusid_sdk-2.1.683.dist-info/METADATA +1829 -0
  1272. lusid_sdk-2.1.683.dist-info/RECORD +1273 -0
  1273. {lusid_sdk-1.1.131.dist-info → lusid_sdk-2.1.683.dist-info}/WHEEL +1 -2
  1274. lusid/__version__.py +0 -1
  1275. lusid/models/accumulation_event_all_of.py +0 -310
  1276. lusid/models/action_result_of_portfolio.py +0 -172
  1277. lusid/models/address_key_compliance_parameter_all_of.py +0 -184
  1278. lusid/models/address_key_list_all_of.py +0 -188
  1279. lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
  1280. lusid/models/amortisation_event_all_of.py +0 -283
  1281. lusid/models/basket_all_of.py +0 -247
  1282. lusid/models/bond_all_of.py +0 -587
  1283. lusid/models/bond_coupon_event_all_of.py +0 -280
  1284. lusid/models/bond_default_event_all_of.py +0 -184
  1285. lusid/models/bond_principal_event_all_of.py +0 -280
  1286. lusid/models/bool_compliance_parameter_all_of.py +0 -182
  1287. lusid/models/branch_step_all_of.py +0 -219
  1288. lusid/models/calendar_dependency_all_of.py +0 -184
  1289. lusid/models/cap_floor_all_of.py +0 -313
  1290. lusid/models/cash_dependency_all_of.py +0 -216
  1291. lusid/models/cash_dividend_event_all_of.py +0 -308
  1292. lusid/models/cash_flow_event_all_of.py +0 -217
  1293. lusid/models/cash_flow_value_all_of.py +0 -306
  1294. lusid/models/cash_flow_value_set_all_of.py +0 -182
  1295. lusid/models/cash_perpetual_all_of.py +0 -248
  1296. lusid/models/cds_index_all_of.py +0 -399
  1297. lusid/models/check_step_all_of.py +0 -251
  1298. lusid/models/close_event_all_of.py +0 -214
  1299. lusid/models/complex_bond_all_of.py +0 -344
  1300. lusid/models/compliance_run_summary.py +0 -267
  1301. lusid/models/configuration_recipe_snippet.py +0 -372
  1302. lusid/models/constant_volatility_surface_all_of.py +0 -285
  1303. lusid/models/contract_for_difference_all_of.py +0 -447
  1304. lusid/models/credit_default_swap_all_of.py +0 -401
  1305. lusid/models/credit_spread_curve_data_all_of.py +0 -437
  1306. lusid/models/date_time_compliance_parameter_all_of.py +0 -182
  1307. lusid/models/decimal_compliance_parameter_all_of.py +0 -182
  1308. lusid/models/decimal_list_all_of.py +0 -188
  1309. lusid/models/discount_factor_curve_data_all_of.py +0 -313
  1310. lusid/models/discounting_dependency_all_of.py +0 -216
  1311. lusid/models/dividend_option_event_all_of.py +0 -371
  1312. lusid/models/dividend_reinvestment_event_all_of.py +0 -373
  1313. lusid/models/empty_model_options_all_of.py +0 -152
  1314. lusid/models/equity_all_of.py +0 -243
  1315. lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
  1316. lusid/models/equity_curve_dependency_all_of.py +0 -298
  1317. lusid/models/equity_model_options_all_of.py +0 -187
  1318. lusid/models/equity_option_all_of.py +0 -571
  1319. lusid/models/equity_swap_all_of.py +0 -504
  1320. lusid/models/equity_vol_dependency_all_of.py +0 -292
  1321. lusid/models/equity_vol_surface_data_all_of.py +0 -284
  1322. lusid/models/exchange_traded_option_all_of.py +0 -278
  1323. lusid/models/exercise_event_all_of.py +0 -245
  1324. lusid/models/exotic_instrument_all_of.py +0 -217
  1325. lusid/models/expiry_event_all_of.py +0 -184
  1326. lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
  1327. lusid/models/fixed_leg_all_of.py +0 -304
  1328. lusid/models/flexible_loan_all_of.py +0 -280
  1329. lusid/models/floating_leg_all_of.py +0 -366
  1330. lusid/models/forward_rate_agreement_all_of.py +0 -373
  1331. lusid/models/fund_share_class_all_of.py +0 -324
  1332. lusid/models/funding_leg_all_of.py +0 -276
  1333. lusid/models/future_all_of.py +0 -405
  1334. lusid/models/fx_dependency_all_of.py +0 -248
  1335. lusid/models/fx_forward_all_of.py +0 -498
  1336. lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
  1337. lusid/models/fx_forward_curve_data_all_of.py +0 -377
  1338. lusid/models/fx_forward_model_options_all_of.py +0 -260
  1339. lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
  1340. lusid/models/fx_forward_settlement_event_all_of.py +0 -494
  1341. lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
  1342. lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
  1343. lusid/models/fx_forwards_dependency_all_of.py +0 -286
  1344. lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
  1345. lusid/models/fx_option_all_of.py +0 -646
  1346. lusid/models/fx_swap_all_of.py +0 -242
  1347. lusid/models/fx_vol_dependency_all_of.py +0 -286
  1348. lusid/models/index_model_options_all_of.py +0 -190
  1349. lusid/models/index_projection_dependency_all_of.py +0 -292
  1350. lusid/models/inflation_fixing_dependency_all_of.py +0 -254
  1351. lusid/models/inflation_leg_all_of.py +0 -472
  1352. lusid/models/inflation_linked_bond_all_of.py +0 -618
  1353. lusid/models/inflation_swap_all_of.py +0 -276
  1354. lusid/models/informational_error_event_all_of.py +0 -254
  1355. lusid/models/informational_event_all_of.py +0 -279
  1356. lusid/models/instrument_leg_all_of.py +0 -152
  1357. lusid/models/instrument_list_all_of.py +0 -188
  1358. lusid/models/interest_rate_swap_all_of.py +0 -339
  1359. lusid/models/interest_rate_swaption_all_of.py +0 -313
  1360. lusid/models/ir_vol_cube_data_all_of.py +0 -284
  1361. lusid/models/ir_vol_dependency_all_of.py +0 -254
  1362. lusid/models/life_cycle_event_value_all_of.py +0 -241
  1363. lusid/models/look_up_pricing_model_options.py +0 -216
  1364. lusid/models/look_up_pricing_model_options_all_of.py +0 -216
  1365. lusid/models/maturity_event_all_of.py +0 -184
  1366. lusid/models/opaque_dependency_all_of.py +0 -152
  1367. lusid/models/opaque_market_data_all_of.py +0 -293
  1368. lusid/models/opaque_model_options_all_of.py +0 -182
  1369. lusid/models/open_event_all_of.py +0 -183
  1370. lusid/models/portfolio_group_id_list_all_of.py +0 -185
  1371. lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
  1372. lusid/models/property_key_compliance_parameter_all_of.py +0 -184
  1373. lusid/models/property_list_all_of.py +0 -188
  1374. lusid/models/quote_dependency_all_of.py +0 -257
  1375. lusid/models/raw_vendor_event_all_of.py +0 -249
  1376. lusid/models/reconcile_date_time_rule_all_of.py +0 -251
  1377. lusid/models/reconcile_numeric_rule_all_of.py +0 -251
  1378. lusid/models/reconcile_string_rule_all_of.py +0 -250
  1379. lusid/models/reference_instrument_all_of.py +0 -257
  1380. lusid/models/repo_all_of.py +0 -493
  1381. lusid/models/reset_event_all_of.py +0 -279
  1382. lusid/models/result_data_key_rule_all_of.py +0 -406
  1383. lusid/models/result_value0_d_all_of.py +0 -243
  1384. lusid/models/result_value_bool_all_of.py +0 -183
  1385. lusid/models/result_value_currency_all_of.py +0 -182
  1386. lusid/models/result_value_date_time_offset_all_of.py +0 -213
  1387. lusid/models/result_value_decimal_all_of.py +0 -213
  1388. lusid/models/result_value_dictionary_all_of.py +0 -182
  1389. lusid/models/result_value_int_all_of.py +0 -213
  1390. lusid/models/result_value_string_all_of.py +0 -182
  1391. lusid/models/reverse_stock_split_event_all_of.py +0 -306
  1392. lusid/models/schema.py +0 -228
  1393. lusid/models/scrip_dividend_event_all_of.py +0 -306
  1394. lusid/models/simple_cash_flow_loan_all_of.py +0 -280
  1395. lusid/models/simple_instrument_all_of.py +0 -318
  1396. lusid/models/step_schedule_all_of.py +0 -254
  1397. lusid/models/stock_dividend_event_all_of.py +0 -306
  1398. lusid/models/stock_split_event_all_of.py +0 -306
  1399. lusid/models/string_compliance_parameter_all_of.py +0 -185
  1400. lusid/models/term_deposit_all_of.py +0 -340
  1401. lusid/models/total_return_swap_all_of.py +0 -276
  1402. lusid/models/transition_event_all_of.py +0 -335
  1403. lusid/models/trigger_event_all_of.py +0 -318
  1404. lusid/models/yield_curve_data_all_of.py +0 -313
  1405. lusid/tcp/__init__.py +0 -1
  1406. lusid/tcp/tcp_keep_alive_probes.py +0 -110
  1407. lusid/utilities/__init__.py +0 -8
  1408. lusid/utilities/api_client_builder.py +0 -145
  1409. lusid/utilities/api_client_factory.py +0 -132
  1410. lusid/utilities/api_configuration.py +0 -126
  1411. lusid/utilities/api_configuration_loader.py +0 -87
  1412. lusid/utilities/config_keys.json +0 -50
  1413. lusid/utilities/config_keys.py +0 -13
  1414. lusid/utilities/lusid_retry.py +0 -47
  1415. lusid_sdk-1.1.131.dist-info/METADATA +0 -21
  1416. lusid_sdk-1.1.131.dist-info/RECORD +0 -866
  1417. lusid_sdk-1.1.131.dist-info/top_level.txt +0 -1
lusid/api/funds_api.py ADDED
@@ -0,0 +1,4402 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ import re # noqa: F401
16
+ import io
17
+ import warnings
18
+
19
+ from pydantic.v1 import validate_arguments, ValidationError
20
+ from typing import overload, Optional, Union, Awaitable
21
+
22
+ from typing_extensions import Annotated
23
+ from datetime import datetime
24
+
25
+ from pydantic.v1 import Field, StrictInt, StrictStr, conint, conlist, constr, validator
26
+
27
+ from typing import Dict, Optional
28
+
29
+ from lusid.models.accept_estimate_valuation_point_response import AcceptEstimateValuationPointResponse
30
+ from lusid.models.deleted_entity_response import DeletedEntityResponse
31
+ from lusid.models.diary_entry import DiaryEntry
32
+ from lusid.models.fee import Fee
33
+ from lusid.models.fee_properties import FeeProperties
34
+ from lusid.models.fee_request import FeeRequest
35
+ from lusid.models.fund import Fund
36
+ from lusid.models.fund_properties import FundProperties
37
+ from lusid.models.fund_request import FundRequest
38
+ from lusid.models.model_property import ModelProperty
39
+ from lusid.models.operation import Operation
40
+ from lusid.models.paged_resource_list_of_fee import PagedResourceListOfFee
41
+ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
42
+ from lusid.models.paged_resource_list_of_valuation_point_overview import PagedResourceListOfValuationPointOverview
43
+ from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
44
+ from lusid.models.upsert_valuation_point_request import UpsertValuationPointRequest
45
+ from lusid.models.valuation_point_data_query_parameters import ValuationPointDataQueryParameters
46
+ from lusid.models.valuation_point_data_request import ValuationPointDataRequest
47
+ from lusid.models.valuation_point_data_response import ValuationPointDataResponse
48
+ from lusid.models.valuation_point_resource_list_of_accounted_transaction import ValuationPointResourceListOfAccountedTransaction
49
+ from lusid.models.valuation_point_resource_list_of_journal_entry_line import ValuationPointResourceListOfJournalEntryLine
50
+ from lusid.models.valuation_point_resource_list_of_pnl_journal_entry_line import ValuationPointResourceListOfPnlJournalEntryLine
51
+ from lusid.models.valuation_point_resource_list_of_trial_balance import ValuationPointResourceListOfTrialBalance
52
+
53
+ from lusid.api_client import ApiClient
54
+ from lusid.api_response import ApiResponse
55
+ from lusid.exceptions import ( # noqa: F401
56
+ ApiTypeError,
57
+ ApiValueError
58
+ )
59
+ from lusid.extensions.configuration_options import ConfigurationOptions
60
+
61
+
62
+ class FundsApi:
63
+ """NOTE: This class is auto generated by OpenAPI Generator
64
+ Ref: https://openapi-generator.tech
65
+
66
+ Do not edit the class manually.
67
+ """
68
+
69
+ def __init__(self, api_client=None) -> None:
70
+ if api_client is None:
71
+ api_client = ApiClient.get_default()
72
+ self.api_client = api_client
73
+
74
+ @overload
75
+ async def accept_estimate_valuation_point(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 for the Estimate Valuation Point to move to Candidate or Final state.")], **kwargs) -> AcceptEstimateValuationPointResponse: # noqa: E501
76
+ ...
77
+
78
+ @overload
79
+ def accept_estimate_valuation_point(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 for the Estimate Valuation Point to move to Candidate or Final state.")], async_req: Optional[bool]=True, **kwargs) -> AcceptEstimateValuationPointResponse: # noqa: E501
80
+ ...
81
+
82
+ @validate_arguments
83
+ def accept_estimate_valuation_point(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 for the Estimate Valuation Point to move to Candidate or Final state.")], async_req: Optional[bool]=None, **kwargs) -> Union[AcceptEstimateValuationPointResponse, Awaitable[AcceptEstimateValuationPointResponse]]: # noqa: E501
84
+ """[EXPERIMENTAL] AcceptEstimateValuationPoint: Accepts an Estimate Valuation Point. # noqa: E501
85
+
86
+ Accepts the specified estimate Valuation Point. Should the Valuation Point differ since the Valuation Point was last run, both Valuation Points will be returned and status will be marked as 'Candidate', otherwise it will be marked as 'Final'. # noqa: E501
87
+ This method makes a synchronous HTTP request by default. To make an
88
+ asynchronous HTTP request, please pass async_req=True
89
+
90
+ >>> thread = api.accept_estimate_valuation_point(scope, code, valuation_point_data_request, async_req=True)
91
+ >>> result = thread.get()
92
+
93
+ :param scope: The scope of the Fund. (required)
94
+ :type scope: str
95
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
96
+ :type code: str
97
+ :param valuation_point_data_request: The valuationPointDataRequest which contains the Diary Entry code for the Estimate Valuation Point to move to Candidate or Final state. (required)
98
+ :type valuation_point_data_request: ValuationPointDataRequest
99
+ :param async_req: Whether to execute the request asynchronously.
100
+ :type async_req: bool, optional
101
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
102
+ :param opts: Configuration options for this request
103
+ :type opts: ConfigurationOptions, optional
104
+ :return: Returns the result object.
105
+ If the method is called asynchronously,
106
+ returns the request thread.
107
+ :rtype: AcceptEstimateValuationPointResponse
108
+ """
109
+ kwargs['_return_http_data_only'] = True
110
+ if '_preload_content' in kwargs:
111
+ message = "Error! Please call the accept_estimate_valuation_point_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
112
+ raise ValueError(message)
113
+ if async_req is not None:
114
+ kwargs['async_req'] = async_req
115
+ return self.accept_estimate_valuation_point_with_http_info(scope, code, valuation_point_data_request, **kwargs) # noqa: E501
116
+
117
+ @validate_arguments
118
+ def accept_estimate_valuation_point_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 for the Estimate Valuation Point to move to Candidate or Final state.")], **kwargs) -> ApiResponse: # noqa: E501
119
+ """[EXPERIMENTAL] AcceptEstimateValuationPoint: Accepts an Estimate Valuation Point. # noqa: E501
120
+
121
+ Accepts the specified estimate Valuation Point. Should the Valuation Point differ since the Valuation Point was last run, both Valuation Points will be returned and status will be marked as 'Candidate', otherwise it will be marked as 'Final'. # noqa: E501
122
+ This method makes a synchronous HTTP request by default. To make an
123
+ asynchronous HTTP request, please pass async_req=True
124
+
125
+ >>> thread = api.accept_estimate_valuation_point_with_http_info(scope, code, valuation_point_data_request, async_req=True)
126
+ >>> result = thread.get()
127
+
128
+ :param scope: The scope of the Fund. (required)
129
+ :type scope: str
130
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
131
+ :type code: str
132
+ :param valuation_point_data_request: The valuationPointDataRequest which contains the Diary Entry code for the Estimate Valuation Point to move to Candidate or Final state. (required)
133
+ :type valuation_point_data_request: ValuationPointDataRequest
134
+ :param async_req: Whether to execute the request asynchronously.
135
+ :type async_req: bool, optional
136
+ :param _preload_content: if False, the ApiResponse.data will
137
+ be set to none and raw_data will store the
138
+ HTTP response body without reading/decoding.
139
+ Default is True.
140
+ :type _preload_content: bool, optional
141
+ :param _return_http_data_only: response data instead of ApiResponse
142
+ object with status code, headers, etc
143
+ :type _return_http_data_only: bool, optional
144
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
145
+ :param opts: Configuration options for this request
146
+ :type opts: ConfigurationOptions, optional
147
+ :param _request_auth: set to override the auth_settings for an a single
148
+ request; this effectively ignores the authentication
149
+ in the spec for a single request.
150
+ :type _request_auth: dict, optional
151
+ :type _content_type: string, optional: force content-type for the request
152
+ :return: Returns the result object.
153
+ If the method is called asynchronously,
154
+ returns the request thread.
155
+ :rtype: tuple(AcceptEstimateValuationPointResponse, status_code(int), headers(HTTPHeaderDict))
156
+ """
157
+
158
+ _params = locals()
159
+
160
+ _all_params = [
161
+ 'scope',
162
+ 'code',
163
+ 'valuation_point_data_request'
164
+ ]
165
+ _all_params.extend(
166
+ [
167
+ 'async_req',
168
+ '_return_http_data_only',
169
+ '_preload_content',
170
+ '_request_timeout',
171
+ '_request_auth',
172
+ '_content_type',
173
+ '_headers',
174
+ 'opts'
175
+ ]
176
+ )
177
+
178
+ # validate the arguments
179
+ for _key, _val in _params['kwargs'].items():
180
+ if _key not in _all_params:
181
+ raise ApiTypeError(
182
+ "Got an unexpected keyword argument '%s'"
183
+ " to method accept_estimate_valuation_point" % _key
184
+ )
185
+ _params[_key] = _val
186
+ del _params['kwargs']
187
+
188
+ _collection_formats = {}
189
+
190
+ # process the path parameters
191
+ _path_params = {}
192
+ if _params['scope']:
193
+ _path_params['scope'] = _params['scope']
194
+
195
+ if _params['code']:
196
+ _path_params['code'] = _params['code']
197
+
198
+
199
+ # process the query parameters
200
+ _query_params = []
201
+ # process the header parameters
202
+ _header_params = dict(_params.get('_headers', {}))
203
+ # process the form parameters
204
+ _form_params = []
205
+ _files = {}
206
+ # process the body parameter
207
+ _body_params = None
208
+ if _params['valuation_point_data_request'] is not None:
209
+ _body_params = _params['valuation_point_data_request']
210
+
211
+ # set the HTTP header `Accept`
212
+ _header_params['Accept'] = self.api_client.select_header_accept(
213
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
214
+
215
+ # set the HTTP header `Content-Type`
216
+ _content_types_list = _params.get('_content_type',
217
+ self.api_client.select_header_content_type(
218
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
219
+ if _content_types_list:
220
+ _header_params['Content-Type'] = _content_types_list
221
+
222
+ # authentication setting
223
+ _auth_settings = ['oauth2'] # noqa: E501
224
+
225
+ _response_types_map = {
226
+ '200': "AcceptEstimateValuationPointResponse",
227
+ '400': "LusidValidationProblemDetails",
228
+ }
229
+
230
+ return self.api_client.call_api(
231
+ '/api/funds/{scope}/{code}/valuationpoints/$acceptestimate', 'POST',
232
+ _path_params,
233
+ _query_params,
234
+ _header_params,
235
+ body=_body_params,
236
+ post_params=_form_params,
237
+ files=_files,
238
+ response_types_map=_response_types_map,
239
+ auth_settings=_auth_settings,
240
+ async_req=_params.get('async_req'),
241
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
242
+ _preload_content=_params.get('_preload_content', True),
243
+ _request_timeout=_params.get('_request_timeout'),
244
+ opts=_params.get('opts'),
245
+ collection_formats=_collection_formats,
246
+ _request_auth=_params.get('_request_auth'))
247
+
248
+ @overload
249
+ 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_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> Fee: # noqa: E501
250
+ ...
251
+
252
+ @overload
253
+ 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_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
254
+ ...
255
+
256
+ @validate_arguments
257
+ 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_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
258
+ """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
259
+
260
+ Create the given Fee. # noqa: E501
261
+ This method makes a synchronous HTTP request by default. To make an
262
+ asynchronous HTTP request, please pass async_req=True
263
+
264
+ >>> thread = api.create_fee(scope, code, fee_request, async_req=True)
265
+ >>> result = thread.get()
266
+
267
+ :param scope: The scope of the Fund. (required)
268
+ :type scope: str
269
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
270
+ :type code: str
271
+ :param fee_request: The Fee to create. (required)
272
+ :type fee_request: FeeRequest
273
+ :param async_req: Whether to execute the request asynchronously.
274
+ :type async_req: bool, optional
275
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
276
+ :param opts: Configuration options for this request
277
+ :type opts: ConfigurationOptions, optional
278
+ :return: Returns the result object.
279
+ If the method is called asynchronously,
280
+ returns the request thread.
281
+ :rtype: Fee
282
+ """
283
+ kwargs['_return_http_data_only'] = True
284
+ if '_preload_content' in kwargs:
285
+ 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
286
+ raise ValueError(message)
287
+ if async_req is not None:
288
+ kwargs['async_req'] = async_req
289
+ return self.create_fee_with_http_info(scope, code, fee_request, **kwargs) # noqa: E501
290
+
291
+ @validate_arguments
292
+ 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_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> ApiResponse: # noqa: E501
293
+ """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
294
+
295
+ Create the given Fee. # noqa: E501
296
+ This method makes a synchronous HTTP request by default. To make an
297
+ asynchronous HTTP request, please pass async_req=True
298
+
299
+ >>> thread = api.create_fee_with_http_info(scope, code, fee_request, async_req=True)
300
+ >>> result = thread.get()
301
+
302
+ :param scope: The scope of the Fund. (required)
303
+ :type scope: str
304
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
305
+ :type code: str
306
+ :param fee_request: The Fee to create. (required)
307
+ :type fee_request: FeeRequest
308
+ :param async_req: Whether to execute the request asynchronously.
309
+ :type async_req: bool, optional
310
+ :param _preload_content: if False, the ApiResponse.data will
311
+ be set to none and raw_data will store the
312
+ HTTP response body without reading/decoding.
313
+ Default is True.
314
+ :type _preload_content: bool, optional
315
+ :param _return_http_data_only: response data instead of ApiResponse
316
+ object with status code, headers, etc
317
+ :type _return_http_data_only: bool, optional
318
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
319
+ :param opts: Configuration options for this request
320
+ :type opts: ConfigurationOptions, optional
321
+ :param _request_auth: set to override the auth_settings for an a single
322
+ request; this effectively ignores the authentication
323
+ in the spec for a single request.
324
+ :type _request_auth: dict, optional
325
+ :type _content_type: string, optional: force content-type for the request
326
+ :return: Returns the result object.
327
+ If the method is called asynchronously,
328
+ returns the request thread.
329
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
330
+ """
331
+
332
+ _params = locals()
333
+
334
+ _all_params = [
335
+ 'scope',
336
+ 'code',
337
+ 'fee_request'
338
+ ]
339
+ _all_params.extend(
340
+ [
341
+ 'async_req',
342
+ '_return_http_data_only',
343
+ '_preload_content',
344
+ '_request_timeout',
345
+ '_request_auth',
346
+ '_content_type',
347
+ '_headers',
348
+ 'opts'
349
+ ]
350
+ )
351
+
352
+ # validate the arguments
353
+ for _key, _val in _params['kwargs'].items():
354
+ if _key not in _all_params:
355
+ raise ApiTypeError(
356
+ "Got an unexpected keyword argument '%s'"
357
+ " to method create_fee" % _key
358
+ )
359
+ _params[_key] = _val
360
+ del _params['kwargs']
361
+
362
+ _collection_formats = {}
363
+
364
+ # process the path parameters
365
+ _path_params = {}
366
+ if _params['scope']:
367
+ _path_params['scope'] = _params['scope']
368
+
369
+ if _params['code']:
370
+ _path_params['code'] = _params['code']
371
+
372
+
373
+ # process the query parameters
374
+ _query_params = []
375
+ # process the header parameters
376
+ _header_params = dict(_params.get('_headers', {}))
377
+ # process the form parameters
378
+ _form_params = []
379
+ _files = {}
380
+ # process the body parameter
381
+ _body_params = None
382
+ if _params['fee_request'] is not None:
383
+ _body_params = _params['fee_request']
384
+
385
+ # set the HTTP header `Accept`
386
+ _header_params['Accept'] = self.api_client.select_header_accept(
387
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
388
+
389
+ # set the HTTP header `Content-Type`
390
+ _content_types_list = _params.get('_content_type',
391
+ self.api_client.select_header_content_type(
392
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
393
+ if _content_types_list:
394
+ _header_params['Content-Type'] = _content_types_list
395
+
396
+ # authentication setting
397
+ _auth_settings = ['oauth2'] # noqa: E501
398
+
399
+ _response_types_map = {
400
+ '201': "Fee",
401
+ '400': "LusidValidationProblemDetails",
402
+ }
403
+
404
+ return self.api_client.call_api(
405
+ '/api/funds/{scope}/{code}/fees', 'POST',
406
+ _path_params,
407
+ _query_params,
408
+ _header_params,
409
+ body=_body_params,
410
+ post_params=_form_params,
411
+ files=_files,
412
+ response_types_map=_response_types_map,
413
+ auth_settings=_auth_settings,
414
+ async_req=_params.get('async_req'),
415
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
416
+ _preload_content=_params.get('_preload_content', True),
417
+ _request_timeout=_params.get('_request_timeout'),
418
+ opts=_params.get('opts'),
419
+ collection_formats=_collection_formats,
420
+ _request_auth=_params.get('_request_auth'))
421
+
422
+ @overload
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
424
+ ...
425
+
426
+ @overload
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
428
+ ...
429
+
430
+ @validate_arguments
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
433
+
434
+ Create the given Fund. # noqa: E501
435
+ This method makes a synchronous HTTP request by default. To make an
436
+ asynchronous HTTP request, please pass async_req=True
437
+
438
+ >>> thread = api.create_fund(scope, fund_request, async_req=True)
439
+ >>> result = thread.get()
440
+
441
+ :param scope: The scope of the Fund. (required)
442
+ :type scope: str
443
+ :param fund_request: The definition of the Fund. (required)
444
+ :type fund_request: FundRequest
445
+ :param async_req: Whether to execute the request asynchronously.
446
+ :type async_req: bool, optional
447
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
448
+ :param opts: Configuration options for this request
449
+ :type opts: ConfigurationOptions, optional
450
+ :return: Returns the result object.
451
+ If the method is called asynchronously,
452
+ returns the request thread.
453
+ :rtype: Fund
454
+ """
455
+ kwargs['_return_http_data_only'] = True
456
+ if '_preload_content' in kwargs:
457
+ 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
458
+ raise ValueError(message)
459
+ if async_req is not None:
460
+ kwargs['async_req'] = async_req
461
+ return self.create_fund_with_http_info(scope, fund_request, **kwargs) # noqa: E501
462
+
463
+ @validate_arguments
464
+ 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
465
+ """[EXPERIMENTAL] CreateFund: Create a Fund. # noqa: E501
466
+
467
+ Create the given Fund. # noqa: E501
468
+ This method makes a synchronous HTTP request by default. To make an
469
+ asynchronous HTTP request, please pass async_req=True
470
+
471
+ >>> thread = api.create_fund_with_http_info(scope, fund_request, async_req=True)
472
+ >>> result = thread.get()
473
+
474
+ :param scope: The scope of the Fund. (required)
475
+ :type scope: str
476
+ :param fund_request: The definition of the Fund. (required)
477
+ :type fund_request: FundRequest
478
+ :param async_req: Whether to execute the request asynchronously.
479
+ :type async_req: bool, optional
480
+ :param _preload_content: if False, the ApiResponse.data will
481
+ be set to none and raw_data will store the
482
+ HTTP response body without reading/decoding.
483
+ Default is True.
484
+ :type _preload_content: bool, optional
485
+ :param _return_http_data_only: response data instead of ApiResponse
486
+ object with status code, headers, etc
487
+ :type _return_http_data_only: bool, optional
488
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
489
+ :param opts: Configuration options for this request
490
+ :type opts: ConfigurationOptions, optional
491
+ :param _request_auth: set to override the auth_settings for an a single
492
+ request; this effectively ignores the authentication
493
+ in the spec for a single request.
494
+ :type _request_auth: dict, optional
495
+ :type _content_type: string, optional: force content-type for the request
496
+ :return: Returns the result object.
497
+ If the method is called asynchronously,
498
+ returns the request thread.
499
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
500
+ """
501
+
502
+ _params = locals()
503
+
504
+ _all_params = [
505
+ 'scope',
506
+ 'fund_request'
507
+ ]
508
+ _all_params.extend(
509
+ [
510
+ 'async_req',
511
+ '_return_http_data_only',
512
+ '_preload_content',
513
+ '_request_timeout',
514
+ '_request_auth',
515
+ '_content_type',
516
+ '_headers',
517
+ 'opts'
518
+ ]
519
+ )
520
+
521
+ # validate the arguments
522
+ for _key, _val in _params['kwargs'].items():
523
+ if _key not in _all_params:
524
+ raise ApiTypeError(
525
+ "Got an unexpected keyword argument '%s'"
526
+ " to method create_fund" % _key
527
+ )
528
+ _params[_key] = _val
529
+ del _params['kwargs']
530
+
531
+ _collection_formats = {}
532
+
533
+ # process the path parameters
534
+ _path_params = {}
535
+ if _params['scope']:
536
+ _path_params['scope'] = _params['scope']
537
+
538
+
539
+ # process the query parameters
540
+ _query_params = []
541
+ # process the header parameters
542
+ _header_params = dict(_params.get('_headers', {}))
543
+ # process the form parameters
544
+ _form_params = []
545
+ _files = {}
546
+ # process the body parameter
547
+ _body_params = None
548
+ if _params['fund_request'] is not None:
549
+ _body_params = _params['fund_request']
550
+
551
+ # set the HTTP header `Accept`
552
+ _header_params['Accept'] = self.api_client.select_header_accept(
553
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
554
+
555
+ # set the HTTP header `Content-Type`
556
+ _content_types_list = _params.get('_content_type',
557
+ self.api_client.select_header_content_type(
558
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
559
+ if _content_types_list:
560
+ _header_params['Content-Type'] = _content_types_list
561
+
562
+ # authentication setting
563
+ _auth_settings = ['oauth2'] # noqa: E501
564
+
565
+ _response_types_map = {
566
+ '201': "Fund",
567
+ '400': "LusidValidationProblemDetails",
568
+ }
569
+
570
+ return self.api_client.call_api(
571
+ '/api/funds/{scope}', 'POST',
572
+ _path_params,
573
+ _query_params,
574
+ _header_params,
575
+ body=_body_params,
576
+ post_params=_form_params,
577
+ files=_files,
578
+ response_types_map=_response_types_map,
579
+ auth_settings=_auth_settings,
580
+ async_req=_params.get('async_req'),
581
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
582
+ _preload_content=_params.get('_preload_content', True),
583
+ _request_timeout=_params.get('_request_timeout'),
584
+ opts=_params.get('opts'),
585
+ collection_formats=_collection_formats,
586
+ _request_auth=_params.get('_request_auth'))
587
+
588
+ @overload
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
590
+ ...
591
+
592
+ @overload
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
594
+ ...
595
+
596
+ @validate_arguments
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
599
+
600
+ Delete the given Fee. # noqa: E501
601
+ This method makes a synchronous HTTP request by default. To make an
602
+ asynchronous HTTP request, please pass async_req=True
603
+
604
+ >>> thread = api.delete_fee(scope, code, fee_code, async_req=True)
605
+ >>> result = thread.get()
606
+
607
+ :param scope: The scope of the Fund (required)
608
+ :type scope: str
609
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
610
+ :type code: str
611
+ :param fee_code: The code of the Fee to be deleted. (required)
612
+ :type fee_code: str
613
+ :param async_req: Whether to execute the request asynchronously.
614
+ :type async_req: bool, optional
615
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
616
+ :param opts: Configuration options for this request
617
+ :type opts: ConfigurationOptions, optional
618
+ :return: Returns the result object.
619
+ If the method is called asynchronously,
620
+ returns the request thread.
621
+ :rtype: DeletedEntityResponse
622
+ """
623
+ kwargs['_return_http_data_only'] = True
624
+ if '_preload_content' in kwargs:
625
+ 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
626
+ raise ValueError(message)
627
+ if async_req is not None:
628
+ kwargs['async_req'] = async_req
629
+ return self.delete_fee_with_http_info(scope, code, fee_code, **kwargs) # noqa: E501
630
+
631
+ @validate_arguments
632
+ 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
633
+ """[EXPERIMENTAL] DeleteFee: Delete a Fee. # noqa: E501
634
+
635
+ Delete the given Fee. # noqa: E501
636
+ This method makes a synchronous HTTP request by default. To make an
637
+ asynchronous HTTP request, please pass async_req=True
638
+
639
+ >>> thread = api.delete_fee_with_http_info(scope, code, fee_code, async_req=True)
640
+ >>> result = thread.get()
641
+
642
+ :param scope: The scope of the Fund (required)
643
+ :type scope: str
644
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
645
+ :type code: str
646
+ :param fee_code: The code of the Fee to be deleted. (required)
647
+ :type fee_code: str
648
+ :param async_req: Whether to execute the request asynchronously.
649
+ :type async_req: bool, optional
650
+ :param _preload_content: if False, the ApiResponse.data will
651
+ be set to none and raw_data will store the
652
+ HTTP response body without reading/decoding.
653
+ Default is True.
654
+ :type _preload_content: bool, optional
655
+ :param _return_http_data_only: response data instead of ApiResponse
656
+ object with status code, headers, etc
657
+ :type _return_http_data_only: bool, optional
658
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
659
+ :param opts: Configuration options for this request
660
+ :type opts: ConfigurationOptions, optional
661
+ :param _request_auth: set to override the auth_settings for an a single
662
+ request; this effectively ignores the authentication
663
+ in the spec for a single request.
664
+ :type _request_auth: dict, optional
665
+ :type _content_type: string, optional: force content-type for the request
666
+ :return: Returns the result object.
667
+ If the method is called asynchronously,
668
+ returns the request thread.
669
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
670
+ """
671
+
672
+ _params = locals()
673
+
674
+ _all_params = [
675
+ 'scope',
676
+ 'code',
677
+ 'fee_code'
678
+ ]
679
+ _all_params.extend(
680
+ [
681
+ 'async_req',
682
+ '_return_http_data_only',
683
+ '_preload_content',
684
+ '_request_timeout',
685
+ '_request_auth',
686
+ '_content_type',
687
+ '_headers',
688
+ 'opts'
689
+ ]
690
+ )
691
+
692
+ # validate the arguments
693
+ for _key, _val in _params['kwargs'].items():
694
+ if _key not in _all_params:
695
+ raise ApiTypeError(
696
+ "Got an unexpected keyword argument '%s'"
697
+ " to method delete_fee" % _key
698
+ )
699
+ _params[_key] = _val
700
+ del _params['kwargs']
701
+
702
+ _collection_formats = {}
703
+
704
+ # process the path parameters
705
+ _path_params = {}
706
+ if _params['scope']:
707
+ _path_params['scope'] = _params['scope']
708
+
709
+ if _params['code']:
710
+ _path_params['code'] = _params['code']
711
+
712
+ if _params['fee_code']:
713
+ _path_params['feeCode'] = _params['fee_code']
714
+
715
+
716
+ # process the query parameters
717
+ _query_params = []
718
+ # process the header parameters
719
+ _header_params = dict(_params.get('_headers', {}))
720
+ # process the form parameters
721
+ _form_params = []
722
+ _files = {}
723
+ # process the body parameter
724
+ _body_params = None
725
+ # set the HTTP header `Accept`
726
+ _header_params['Accept'] = self.api_client.select_header_accept(
727
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
728
+
729
+ # authentication setting
730
+ _auth_settings = ['oauth2'] # noqa: E501
731
+
732
+ _response_types_map = {
733
+ '200': "DeletedEntityResponse",
734
+ '400': "LusidValidationProblemDetails",
735
+ }
736
+
737
+ return self.api_client.call_api(
738
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'DELETE',
739
+ _path_params,
740
+ _query_params,
741
+ _header_params,
742
+ body=_body_params,
743
+ post_params=_form_params,
744
+ files=_files,
745
+ response_types_map=_response_types_map,
746
+ auth_settings=_auth_settings,
747
+ async_req=_params.get('async_req'),
748
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
749
+ _preload_content=_params.get('_preload_content', True),
750
+ _request_timeout=_params.get('_request_timeout'),
751
+ opts=_params.get('opts'),
752
+ collection_formats=_collection_formats,
753
+ _request_auth=_params.get('_request_auth'))
754
+
755
+ @overload
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
757
+ ...
758
+
759
+ @overload
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
761
+ ...
762
+
763
+ @validate_arguments
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
766
+
767
+ Delete the given Fund. # noqa: E501
768
+ This method makes a synchronous HTTP request by default. To make an
769
+ asynchronous HTTP request, please pass async_req=True
770
+
771
+ >>> thread = api.delete_fund(scope, code, async_req=True)
772
+ >>> result = thread.get()
773
+
774
+ :param scope: The scope of the Fund to be deleted. (required)
775
+ :type scope: str
776
+ :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
777
+ :type code: str
778
+ :param async_req: Whether to execute the request asynchronously.
779
+ :type async_req: bool, optional
780
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
781
+ :param opts: Configuration options for this request
782
+ :type opts: ConfigurationOptions, optional
783
+ :return: Returns the result object.
784
+ If the method is called asynchronously,
785
+ returns the request thread.
786
+ :rtype: DeletedEntityResponse
787
+ """
788
+ kwargs['_return_http_data_only'] = True
789
+ if '_preload_content' in kwargs:
790
+ 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
791
+ raise ValueError(message)
792
+ if async_req is not None:
793
+ kwargs['async_req'] = async_req
794
+ return self.delete_fund_with_http_info(scope, code, **kwargs) # noqa: E501
795
+
796
+ @validate_arguments
797
+ 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
798
+ """[EXPERIMENTAL] DeleteFund: Delete a Fund. # noqa: E501
799
+
800
+ Delete the given Fund. # noqa: E501
801
+ This method makes a synchronous HTTP request by default. To make an
802
+ asynchronous HTTP request, please pass async_req=True
803
+
804
+ >>> thread = api.delete_fund_with_http_info(scope, code, async_req=True)
805
+ >>> result = thread.get()
806
+
807
+ :param scope: The scope of the Fund to be deleted. (required)
808
+ :type scope: str
809
+ :param code: The code of the Fund to be deleted. Together with the scope this uniquely identifies the Fund. (required)
810
+ :type code: str
811
+ :param async_req: Whether to execute the request asynchronously.
812
+ :type async_req: bool, optional
813
+ :param _preload_content: if False, the ApiResponse.data will
814
+ be set to none and raw_data will store the
815
+ HTTP response body without reading/decoding.
816
+ Default is True.
817
+ :type _preload_content: bool, optional
818
+ :param _return_http_data_only: response data instead of ApiResponse
819
+ object with status code, headers, etc
820
+ :type _return_http_data_only: bool, optional
821
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
822
+ :param opts: Configuration options for this request
823
+ :type opts: ConfigurationOptions, optional
824
+ :param _request_auth: set to override the auth_settings for an a single
825
+ request; this effectively ignores the authentication
826
+ in the spec for a single request.
827
+ :type _request_auth: dict, optional
828
+ :type _content_type: string, optional: force content-type for the request
829
+ :return: Returns the result object.
830
+ If the method is called asynchronously,
831
+ returns the request thread.
832
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
833
+ """
834
+
835
+ _params = locals()
836
+
837
+ _all_params = [
838
+ 'scope',
839
+ 'code'
840
+ ]
841
+ _all_params.extend(
842
+ [
843
+ 'async_req',
844
+ '_return_http_data_only',
845
+ '_preload_content',
846
+ '_request_timeout',
847
+ '_request_auth',
848
+ '_content_type',
849
+ '_headers',
850
+ 'opts'
851
+ ]
852
+ )
853
+
854
+ # validate the arguments
855
+ for _key, _val in _params['kwargs'].items():
856
+ if _key not in _all_params:
857
+ raise ApiTypeError(
858
+ "Got an unexpected keyword argument '%s'"
859
+ " to method delete_fund" % _key
860
+ )
861
+ _params[_key] = _val
862
+ del _params['kwargs']
863
+
864
+ _collection_formats = {}
865
+
866
+ # process the path parameters
867
+ _path_params = {}
868
+ if _params['scope']:
869
+ _path_params['scope'] = _params['scope']
870
+
871
+ if _params['code']:
872
+ _path_params['code'] = _params['code']
873
+
874
+
875
+ # process the query parameters
876
+ _query_params = []
877
+ # process the header parameters
878
+ _header_params = dict(_params.get('_headers', {}))
879
+ # process the form parameters
880
+ _form_params = []
881
+ _files = {}
882
+ # process the body parameter
883
+ _body_params = None
884
+ # set the HTTP header `Accept`
885
+ _header_params['Accept'] = self.api_client.select_header_accept(
886
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
887
+
888
+ # authentication setting
889
+ _auth_settings = ['oauth2'] # noqa: E501
890
+
891
+ _response_types_map = {
892
+ '200': "DeletedEntityResponse",
893
+ '400': "LusidValidationProblemDetails",
894
+ }
895
+
896
+ return self.api_client.call_api(
897
+ '/api/funds/{scope}/{code}', 'DELETE',
898
+ _path_params,
899
+ _query_params,
900
+ _header_params,
901
+ body=_body_params,
902
+ post_params=_form_params,
903
+ files=_files,
904
+ response_types_map=_response_types_map,
905
+ auth_settings=_auth_settings,
906
+ async_req=_params.get('async_req'),
907
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
908
+ _preload_content=_params.get('_preload_content', True),
909
+ _request_timeout=_params.get('_request_timeout'),
910
+ opts=_params.get('opts'),
911
+ collection_formats=_collection_formats,
912
+ _request_auth=_params.get('_request_auth'))
913
+
914
+ @overload
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
916
+ ...
917
+
918
+ @overload
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
920
+ ...
921
+
922
+ @validate_arguments
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
925
+
926
+ Deletes the given Valuation Point. # noqa: E501
927
+ This method makes a synchronous HTTP request by default. To make an
928
+ asynchronous HTTP request, please pass async_req=True
929
+
930
+ >>> thread = api.delete_valuation_point(scope, code, diary_entry_code, async_req=True)
931
+ >>> result = thread.get()
932
+
933
+ :param scope: The scope of the Fund for the valuation point to be deleted. (required)
934
+ :type scope: str
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)
936
+ :type code: str
937
+ :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
938
+ :type diary_entry_code: str
939
+ :param async_req: Whether to execute the request asynchronously.
940
+ :type async_req: bool, optional
941
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
942
+ :param opts: Configuration options for this request
943
+ :type opts: ConfigurationOptions, optional
944
+ :return: Returns the result object.
945
+ If the method is called asynchronously,
946
+ returns the request thread.
947
+ :rtype: DeletedEntityResponse
948
+ """
949
+ kwargs['_return_http_data_only'] = True
950
+ if '_preload_content' in kwargs:
951
+ 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
952
+ raise ValueError(message)
953
+ if async_req is not None:
954
+ kwargs['async_req'] = async_req
955
+ return self.delete_valuation_point_with_http_info(scope, code, diary_entry_code, **kwargs) # noqa: E501
956
+
957
+ @validate_arguments
958
+ 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
959
+ """[EXPERIMENTAL] DeleteValuationPoint: Delete a Valuation Point. # noqa: E501
960
+
961
+ Deletes the given Valuation Point. # noqa: E501
962
+ This method makes a synchronous HTTP request by default. To make an
963
+ asynchronous HTTP request, please pass async_req=True
964
+
965
+ >>> thread = api.delete_valuation_point_with_http_info(scope, code, diary_entry_code, async_req=True)
966
+ >>> result = thread.get()
967
+
968
+ :param scope: The scope of the Fund for the valuation point to be deleted. (required)
969
+ :type scope: str
970
+ :param code: The code of the Fund containing the Valuation Point to be deleted. Together with the scope this uniquely identifies the Fund. (required)
971
+ :type code: str
972
+ :param diary_entry_code: The diary entry code for the valuation Point to be deleted. (required)
973
+ :type diary_entry_code: str
974
+ :param async_req: Whether to execute the request asynchronously.
975
+ :type async_req: bool, optional
976
+ :param _preload_content: if False, the ApiResponse.data will
977
+ be set to none and raw_data will store the
978
+ HTTP response body without reading/decoding.
979
+ Default is True.
980
+ :type _preload_content: bool, optional
981
+ :param _return_http_data_only: response data instead of ApiResponse
982
+ object with status code, headers, etc
983
+ :type _return_http_data_only: bool, optional
984
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
985
+ :param opts: Configuration options for this request
986
+ :type opts: ConfigurationOptions, optional
987
+ :param _request_auth: set to override the auth_settings for an a single
988
+ request; this effectively ignores the authentication
989
+ in the spec for a single request.
990
+ :type _request_auth: dict, optional
991
+ :type _content_type: string, optional: force content-type for the request
992
+ :return: Returns the result object.
993
+ If the method is called asynchronously,
994
+ returns the request thread.
995
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
996
+ """
997
+
998
+ _params = locals()
999
+
1000
+ _all_params = [
1001
+ 'scope',
1002
+ 'code',
1003
+ 'diary_entry_code'
1004
+ ]
1005
+ _all_params.extend(
1006
+ [
1007
+ 'async_req',
1008
+ '_return_http_data_only',
1009
+ '_preload_content',
1010
+ '_request_timeout',
1011
+ '_request_auth',
1012
+ '_content_type',
1013
+ '_headers',
1014
+ 'opts'
1015
+ ]
1016
+ )
1017
+
1018
+ # validate the arguments
1019
+ for _key, _val in _params['kwargs'].items():
1020
+ if _key not in _all_params:
1021
+ raise ApiTypeError(
1022
+ "Got an unexpected keyword argument '%s'"
1023
+ " to method delete_valuation_point" % _key
1024
+ )
1025
+ _params[_key] = _val
1026
+ del _params['kwargs']
1027
+
1028
+ _collection_formats = {}
1029
+
1030
+ # process the path parameters
1031
+ _path_params = {}
1032
+ if _params['scope']:
1033
+ _path_params['scope'] = _params['scope']
1034
+
1035
+ if _params['code']:
1036
+ _path_params['code'] = _params['code']
1037
+
1038
+ if _params['diary_entry_code']:
1039
+ _path_params['diaryEntryCode'] = _params['diary_entry_code']
1040
+
1041
+
1042
+ # process the query parameters
1043
+ _query_params = []
1044
+ # process the header parameters
1045
+ _header_params = dict(_params.get('_headers', {}))
1046
+ # process the form parameters
1047
+ _form_params = []
1048
+ _files = {}
1049
+ # process the body parameter
1050
+ _body_params = None
1051
+ # set the HTTP header `Accept`
1052
+ _header_params['Accept'] = self.api_client.select_header_accept(
1053
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1054
+
1055
+ # authentication setting
1056
+ _auth_settings = ['oauth2'] # noqa: E501
1057
+
1058
+ _response_types_map = {
1059
+ '200': "DeletedEntityResponse",
1060
+ '400': "LusidValidationProblemDetails",
1061
+ }
1062
+
1063
+ return self.api_client.call_api(
1064
+ '/api/funds/{scope}/{code}/valuationpoints/{diaryEntryCode}', 'DELETE',
1065
+ _path_params,
1066
+ _query_params,
1067
+ _header_params,
1068
+ body=_body_params,
1069
+ post_params=_form_params,
1070
+ files=_files,
1071
+ response_types_map=_response_types_map,
1072
+ auth_settings=_auth_settings,
1073
+ async_req=_params.get('async_req'),
1074
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1075
+ _preload_content=_params.get('_preload_content', True),
1076
+ _request_timeout=_params.get('_request_timeout'),
1077
+ opts=_params.get('opts'),
1078
+ collection_formats=_collection_formats,
1079
+ _request_auth=_params.get('_request_auth'))
1080
+
1081
+ @overload
1082
+ async def finalise_candidate_valuation_point(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_point(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_point(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] FinaliseCandidateValuationPoint: 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_point(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. Do not use - use the opts parameter instead
1109
+ :param opts: Configuration options for this request
1110
+ :type opts: ConfigurationOptions, optional
1111
+ :return: Returns the result object.
1112
+ If the method is called asynchronously,
1113
+ returns the request thread.
1114
+ :rtype: ValuationPointDataResponse
1115
+ """
1116
+ kwargs['_return_http_data_only'] = True
1117
+ if '_preload_content' in kwargs:
1118
+ message = "Error! Please call the finalise_candidate_valuation_point_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1119
+ raise ValueError(message)
1120
+ if async_req is not None:
1121
+ kwargs['async_req'] = async_req
1122
+ return self.finalise_candidate_valuation_point_with_http_info(scope, code, valuation_point_data_request, **kwargs) # noqa: E501
1123
+
1124
+ @validate_arguments
1125
+ def finalise_candidate_valuation_point_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
1126
+ """[EXPERIMENTAL] FinaliseCandidateValuationPoint: Finalise Candidate. # noqa: E501
1127
+
1128
+ Moves a 'Candidate' status Valuation Point to status 'Final'. # noqa: E501
1129
+ This method makes a synchronous HTTP request by default. To make an
1130
+ asynchronous HTTP request, please pass async_req=True
1131
+
1132
+ >>> thread = api.finalise_candidate_valuation_point_with_http_info(scope, code, valuation_point_data_request, async_req=True)
1133
+ >>> result = thread.get()
1134
+
1135
+ :param scope: The scope of the Fund. (required)
1136
+ :type scope: str
1137
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1138
+ :type code: str
1139
+ :param valuation_point_data_request: The valuationPointDataRequest which contains the diary entry code to mark as final. (required)
1140
+ :type valuation_point_data_request: ValuationPointDataRequest
1141
+ :param async_req: Whether to execute the request asynchronously.
1142
+ :type async_req: bool, optional
1143
+ :param _preload_content: if False, the ApiResponse.data will
1144
+ be set to none and raw_data will store the
1145
+ HTTP response body without reading/decoding.
1146
+ Default is True.
1147
+ :type _preload_content: bool, optional
1148
+ :param _return_http_data_only: response data instead of ApiResponse
1149
+ object with status code, headers, etc
1150
+ :type _return_http_data_only: bool, optional
1151
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1152
+ :param opts: Configuration options for this request
1153
+ :type opts: ConfigurationOptions, optional
1154
+ :param _request_auth: set to override the auth_settings for an a single
1155
+ request; this effectively ignores the authentication
1156
+ in the spec for a single request.
1157
+ :type _request_auth: dict, optional
1158
+ :type _content_type: string, optional: force content-type for the request
1159
+ :return: Returns the result object.
1160
+ If the method is called asynchronously,
1161
+ returns the request thread.
1162
+ :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
1163
+ """
1164
+
1165
+ _params = locals()
1166
+
1167
+ _all_params = [
1168
+ 'scope',
1169
+ 'code',
1170
+ 'valuation_point_data_request'
1171
+ ]
1172
+ _all_params.extend(
1173
+ [
1174
+ 'async_req',
1175
+ '_return_http_data_only',
1176
+ '_preload_content',
1177
+ '_request_timeout',
1178
+ '_request_auth',
1179
+ '_content_type',
1180
+ '_headers',
1181
+ 'opts'
1182
+ ]
1183
+ )
1184
+
1185
+ # validate the arguments
1186
+ for _key, _val in _params['kwargs'].items():
1187
+ if _key not in _all_params:
1188
+ raise ApiTypeError(
1189
+ "Got an unexpected keyword argument '%s'"
1190
+ " to method finalise_candidate_valuation_point" % _key
1191
+ )
1192
+ _params[_key] = _val
1193
+ del _params['kwargs']
1194
+
1195
+ _collection_formats = {}
1196
+
1197
+ # process the path parameters
1198
+ _path_params = {}
1199
+ if _params['scope']:
1200
+ _path_params['scope'] = _params['scope']
1201
+
1202
+ if _params['code']:
1203
+ _path_params['code'] = _params['code']
1204
+
1205
+
1206
+ # process the query parameters
1207
+ _query_params = []
1208
+ # process the header parameters
1209
+ _header_params = dict(_params.get('_headers', {}))
1210
+ # process the form parameters
1211
+ _form_params = []
1212
+ _files = {}
1213
+ # process the body parameter
1214
+ _body_params = None
1215
+ if _params['valuation_point_data_request'] is not None:
1216
+ _body_params = _params['valuation_point_data_request']
1217
+
1218
+ # set the HTTP header `Accept`
1219
+ _header_params['Accept'] = self.api_client.select_header_accept(
1220
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1221
+
1222
+ # set the HTTP header `Content-Type`
1223
+ _content_types_list = _params.get('_content_type',
1224
+ self.api_client.select_header_content_type(
1225
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1226
+ if _content_types_list:
1227
+ _header_params['Content-Type'] = _content_types_list
1228
+
1229
+ # authentication setting
1230
+ _auth_settings = ['oauth2'] # noqa: E501
1231
+
1232
+ _response_types_map = {
1233
+ '200': "ValuationPointDataResponse",
1234
+ '400': "LusidValidationProblemDetails",
1235
+ }
1236
+
1237
+ return self.api_client.call_api(
1238
+ '/api/funds/{scope}/{code}/valuationpoints/$finalisecandidate', 'POST',
1239
+ _path_params,
1240
+ _query_params,
1241
+ _header_params,
1242
+ body=_body_params,
1243
+ post_params=_form_params,
1244
+ files=_files,
1245
+ response_types_map=_response_types_map,
1246
+ auth_settings=_auth_settings,
1247
+ async_req=_params.get('async_req'),
1248
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1249
+ _preload_content=_params.get('_preload_content', True),
1250
+ _request_timeout=_params.get('_request_timeout'),
1251
+ opts=_params.get('opts'),
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. Do not use - use the opts parameter instead
1289
+ :param opts: Configuration options for this request
1290
+ :type opts: ConfigurationOptions, optional
1291
+ :return: Returns the result object.
1292
+ If the method is called asynchronously,
1293
+ returns the request thread.
1294
+ :rtype: Fee
1295
+ """
1296
+ kwargs['_return_http_data_only'] = True
1297
+ if '_preload_content' in kwargs:
1298
+ 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
1299
+ raise ValueError(message)
1300
+ if async_req is not None:
1301
+ kwargs['async_req'] = async_req
1302
+ return self.get_fee_with_http_info(scope, code, fee_code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1303
+
1304
+ @validate_arguments
1305
+ 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
1306
+ """[EXPERIMENTAL] GetFee: Get a Fee for a specified Fund. # noqa: E501
1307
+
1308
+ Retrieve a fee for a specified Fund # noqa: E501
1309
+ This method makes a synchronous HTTP request by default. To make an
1310
+ asynchronous HTTP request, please pass async_req=True
1311
+
1312
+ >>> thread = api.get_fee_with_http_info(scope, code, fee_code, effective_at, as_at, property_keys, async_req=True)
1313
+ >>> result = thread.get()
1314
+
1315
+ :param scope: The scope of the Fund. (required)
1316
+ :type scope: str
1317
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1318
+ :type code: str
1319
+ :param fee_code: The code of the Fee. (required)
1320
+ :type fee_code: str
1321
+ :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.
1322
+ :type effective_at: str
1323
+ :param as_at: The asAt datetime at which to retrieve the Fee. Defaults to returning the latest version of the Fee if not specified.
1324
+ :type as_at: datetime
1325
+ :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.
1326
+ :type property_keys: List[str]
1327
+ :param async_req: Whether to execute the request asynchronously.
1328
+ :type async_req: bool, optional
1329
+ :param _preload_content: if False, the ApiResponse.data will
1330
+ be set to none and raw_data will store the
1331
+ HTTP response body without reading/decoding.
1332
+ Default is True.
1333
+ :type _preload_content: bool, optional
1334
+ :param _return_http_data_only: response data instead of ApiResponse
1335
+ object with status code, headers, etc
1336
+ :type _return_http_data_only: bool, optional
1337
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1338
+ :param opts: Configuration options for this request
1339
+ :type opts: ConfigurationOptions, optional
1340
+ :param _request_auth: set to override the auth_settings for an a single
1341
+ request; this effectively ignores the authentication
1342
+ in the spec for a single request.
1343
+ :type _request_auth: dict, optional
1344
+ :type _content_type: string, optional: force content-type for the request
1345
+ :return: Returns the result object.
1346
+ If the method is called asynchronously,
1347
+ returns the request thread.
1348
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
1349
+ """
1350
+
1351
+ _params = locals()
1352
+
1353
+ _all_params = [
1354
+ 'scope',
1355
+ 'code',
1356
+ 'fee_code',
1357
+ 'effective_at',
1358
+ 'as_at',
1359
+ 'property_keys'
1360
+ ]
1361
+ _all_params.extend(
1362
+ [
1363
+ 'async_req',
1364
+ '_return_http_data_only',
1365
+ '_preload_content',
1366
+ '_request_timeout',
1367
+ '_request_auth',
1368
+ '_content_type',
1369
+ '_headers',
1370
+ 'opts'
1371
+ ]
1372
+ )
1373
+
1374
+ # validate the arguments
1375
+ for _key, _val in _params['kwargs'].items():
1376
+ if _key not in _all_params:
1377
+ raise ApiTypeError(
1378
+ "Got an unexpected keyword argument '%s'"
1379
+ " to method get_fee" % _key
1380
+ )
1381
+ _params[_key] = _val
1382
+ del _params['kwargs']
1383
+
1384
+ _collection_formats = {}
1385
+
1386
+ # process the path parameters
1387
+ _path_params = {}
1388
+ if _params['scope']:
1389
+ _path_params['scope'] = _params['scope']
1390
+
1391
+ if _params['code']:
1392
+ _path_params['code'] = _params['code']
1393
+
1394
+ if _params['fee_code']:
1395
+ _path_params['feeCode'] = _params['fee_code']
1396
+
1397
+
1398
+ # process the query parameters
1399
+ _query_params = []
1400
+ if _params.get('effective_at') is not None: # noqa: E501
1401
+ _query_params.append(('effectiveAt', _params['effective_at']))
1402
+
1403
+ if _params.get('as_at') is not None: # noqa: E501
1404
+ if isinstance(_params['as_at'], datetime):
1405
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1406
+ else:
1407
+ _query_params.append(('asAt', _params['as_at']))
1408
+
1409
+ if _params.get('property_keys') is not None: # noqa: E501
1410
+ _query_params.append(('propertyKeys', _params['property_keys']))
1411
+ _collection_formats['propertyKeys'] = 'multi'
1412
+
1413
+ # process the header parameters
1414
+ _header_params = dict(_params.get('_headers', {}))
1415
+ # process the form parameters
1416
+ _form_params = []
1417
+ _files = {}
1418
+ # process the body parameter
1419
+ _body_params = None
1420
+ # set the HTTP header `Accept`
1421
+ _header_params['Accept'] = self.api_client.select_header_accept(
1422
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1423
+
1424
+ # authentication setting
1425
+ _auth_settings = ['oauth2'] # noqa: E501
1426
+
1427
+ _response_types_map = {
1428
+ '200': "Fee",
1429
+ '400': "LusidValidationProblemDetails",
1430
+ }
1431
+
1432
+ return self.api_client.call_api(
1433
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'GET',
1434
+ _path_params,
1435
+ _query_params,
1436
+ _header_params,
1437
+ body=_body_params,
1438
+ post_params=_form_params,
1439
+ files=_files,
1440
+ response_types_map=_response_types_map,
1441
+ auth_settings=_auth_settings,
1442
+ async_req=_params.get('async_req'),
1443
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1444
+ _preload_content=_params.get('_preload_content', True),
1445
+ _request_timeout=_params.get('_request_timeout'),
1446
+ opts=_params.get('opts'),
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. Do not use - use the opts parameter instead
1482
+ :param opts: Configuration options for this request
1483
+ :type opts: ConfigurationOptions, optional
1484
+ :return: Returns the result object.
1485
+ If the method is called asynchronously,
1486
+ returns the request thread.
1487
+ :rtype: Fund
1488
+ """
1489
+ kwargs['_return_http_data_only'] = True
1490
+ if '_preload_content' in kwargs:
1491
+ 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
1492
+ raise ValueError(message)
1493
+ if async_req is not None:
1494
+ kwargs['async_req'] = async_req
1495
+ return self.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1496
+
1497
+ @validate_arguments
1498
+ 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
1499
+ """[EXPERIMENTAL] GetFund: Get a Fund. # noqa: E501
1500
+
1501
+ Retrieve the definition of a particular Fund. # noqa: E501
1502
+ This method makes a synchronous HTTP request by default. To make an
1503
+ asynchronous HTTP request, please pass async_req=True
1504
+
1505
+ >>> thread = api.get_fund_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
1506
+ >>> result = thread.get()
1507
+
1508
+ :param scope: The scope of the Fund. (required)
1509
+ :type scope: str
1510
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1511
+ :type code: str
1512
+ :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.
1513
+ :type effective_at: str
1514
+ :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.
1515
+ :type as_at: datetime
1516
+ :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.
1517
+ :type property_keys: List[str]
1518
+ :param async_req: Whether to execute the request asynchronously.
1519
+ :type async_req: bool, optional
1520
+ :param _preload_content: if False, the ApiResponse.data will
1521
+ be set to none and raw_data will store the
1522
+ HTTP response body without reading/decoding.
1523
+ Default is True.
1524
+ :type _preload_content: bool, optional
1525
+ :param _return_http_data_only: response data instead of ApiResponse
1526
+ object with status code, headers, etc
1527
+ :type _return_http_data_only: bool, optional
1528
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1529
+ :param opts: Configuration options for this request
1530
+ :type opts: ConfigurationOptions, optional
1531
+ :param _request_auth: set to override the auth_settings for an a single
1532
+ request; this effectively ignores the authentication
1533
+ in the spec for a single request.
1534
+ :type _request_auth: dict, optional
1535
+ :type _content_type: string, optional: force content-type for the request
1536
+ :return: Returns the result object.
1537
+ If the method is called asynchronously,
1538
+ returns the request thread.
1539
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
1540
+ """
1541
+
1542
+ _params = locals()
1543
+
1544
+ _all_params = [
1545
+ 'scope',
1546
+ 'code',
1547
+ 'effective_at',
1548
+ 'as_at',
1549
+ 'property_keys'
1550
+ ]
1551
+ _all_params.extend(
1552
+ [
1553
+ 'async_req',
1554
+ '_return_http_data_only',
1555
+ '_preload_content',
1556
+ '_request_timeout',
1557
+ '_request_auth',
1558
+ '_content_type',
1559
+ '_headers',
1560
+ 'opts'
1561
+ ]
1562
+ )
1563
+
1564
+ # validate the arguments
1565
+ for _key, _val in _params['kwargs'].items():
1566
+ if _key not in _all_params:
1567
+ raise ApiTypeError(
1568
+ "Got an unexpected keyword argument '%s'"
1569
+ " to method get_fund" % _key
1570
+ )
1571
+ _params[_key] = _val
1572
+ del _params['kwargs']
1573
+
1574
+ _collection_formats = {}
1575
+
1576
+ # process the path parameters
1577
+ _path_params = {}
1578
+ if _params['scope']:
1579
+ _path_params['scope'] = _params['scope']
1580
+
1581
+ if _params['code']:
1582
+ _path_params['code'] = _params['code']
1583
+
1584
+
1585
+ # process the query parameters
1586
+ _query_params = []
1587
+ if _params.get('effective_at') is not None: # noqa: E501
1588
+ _query_params.append(('effectiveAt', _params['effective_at']))
1589
+
1590
+ if _params.get('as_at') is not None: # noqa: E501
1591
+ if isinstance(_params['as_at'], datetime):
1592
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1593
+ else:
1594
+ _query_params.append(('asAt', _params['as_at']))
1595
+
1596
+ if _params.get('property_keys') is not None: # noqa: E501
1597
+ _query_params.append(('propertyKeys', _params['property_keys']))
1598
+ _collection_formats['propertyKeys'] = 'multi'
1599
+
1600
+ # process the header parameters
1601
+ _header_params = dict(_params.get('_headers', {}))
1602
+ # process the form parameters
1603
+ _form_params = []
1604
+ _files = {}
1605
+ # process the body parameter
1606
+ _body_params = None
1607
+ # set the HTTP header `Accept`
1608
+ _header_params['Accept'] = self.api_client.select_header_accept(
1609
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1610
+
1611
+ # authentication setting
1612
+ _auth_settings = ['oauth2'] # noqa: E501
1613
+
1614
+ _response_types_map = {
1615
+ '200': "Fund",
1616
+ '400': "LusidValidationProblemDetails",
1617
+ }
1618
+
1619
+ return self.api_client.call_api(
1620
+ '/api/funds/{scope}/{code}', 'GET',
1621
+ _path_params,
1622
+ _query_params,
1623
+ _header_params,
1624
+ body=_body_params,
1625
+ post_params=_form_params,
1626
+ files=_files,
1627
+ response_types_map=_response_types_map,
1628
+ auth_settings=_auth_settings,
1629
+ async_req=_params.get('async_req'),
1630
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1631
+ _preload_content=_params.get('_preload_content', True),
1632
+ _request_timeout=_params.get('_request_timeout'),
1633
+ opts=_params.get('opts'),
1634
+ collection_formats=_collection_formats,
1635
+ _request_auth=_params.get('_request_auth'))
1636
+
1637
+ @overload
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. Do not use - use the opts parameter instead
1667
+ :param opts: Configuration options for this request
1668
+ :type opts: ConfigurationOptions, optional
1669
+ :return: Returns the result object.
1670
+ If the method is called asynchronously,
1671
+ returns the request thread.
1672
+ :rtype: ValuationPointDataResponse
1673
+ """
1674
+ kwargs['_return_http_data_only'] = True
1675
+ if '_preload_content' in kwargs:
1676
+ 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
1677
+ raise ValueError(message)
1678
+ if async_req is not None:
1679
+ kwargs['async_req'] = async_req
1680
+ return self.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, **kwargs) # noqa: E501
1681
+
1682
+ @validate_arguments
1683
+ 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
1684
+ """[EXPERIMENTAL] GetValuationPointData: Get Valuation Point Data for a Fund. # noqa: E501
1685
+
1686
+ 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
1687
+ This method makes a synchronous HTTP request by default. To make an
1688
+ asynchronous HTTP request, please pass async_req=True
1689
+
1690
+ >>> thread = api.get_valuation_point_data_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, async_req=True)
1691
+ >>> result = thread.get()
1692
+
1693
+ :param scope: The scope of the Fund. (required)
1694
+ :type scope: str
1695
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
1696
+ :type code: str
1697
+ :param valuation_point_data_query_parameters: The arguments to use for querying the Valuation Point data (required)
1698
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1699
+ :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.
1700
+ :type as_at: datetime
1701
+ :param async_req: Whether to execute the request asynchronously.
1702
+ :type async_req: bool, optional
1703
+ :param _preload_content: if False, the ApiResponse.data will
1704
+ be set to none and raw_data will store the
1705
+ HTTP response body without reading/decoding.
1706
+ Default is True.
1707
+ :type _preload_content: bool, optional
1708
+ :param _return_http_data_only: response data instead of ApiResponse
1709
+ object with status code, headers, etc
1710
+ :type _return_http_data_only: bool, optional
1711
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1712
+ :param opts: Configuration options for this request
1713
+ :type opts: ConfigurationOptions, optional
1714
+ :param _request_auth: set to override the auth_settings for an a single
1715
+ request; this effectively ignores the authentication
1716
+ in the spec for a single request.
1717
+ :type _request_auth: dict, optional
1718
+ :type _content_type: string, optional: force content-type for the request
1719
+ :return: Returns the result object.
1720
+ If the method is called asynchronously,
1721
+ returns the request thread.
1722
+ :rtype: tuple(ValuationPointDataResponse, status_code(int), headers(HTTPHeaderDict))
1723
+ """
1724
+
1725
+ _params = locals()
1726
+
1727
+ _all_params = [
1728
+ 'scope',
1729
+ 'code',
1730
+ 'valuation_point_data_query_parameters',
1731
+ 'as_at'
1732
+ ]
1733
+ _all_params.extend(
1734
+ [
1735
+ 'async_req',
1736
+ '_return_http_data_only',
1737
+ '_preload_content',
1738
+ '_request_timeout',
1739
+ '_request_auth',
1740
+ '_content_type',
1741
+ '_headers',
1742
+ 'opts'
1743
+ ]
1744
+ )
1745
+
1746
+ # validate the arguments
1747
+ for _key, _val in _params['kwargs'].items():
1748
+ if _key not in _all_params:
1749
+ raise ApiTypeError(
1750
+ "Got an unexpected keyword argument '%s'"
1751
+ " to method get_valuation_point_data" % _key
1752
+ )
1753
+ _params[_key] = _val
1754
+ del _params['kwargs']
1755
+
1756
+ _collection_formats = {}
1757
+
1758
+ # process the path parameters
1759
+ _path_params = {}
1760
+ if _params['scope']:
1761
+ _path_params['scope'] = _params['scope']
1762
+
1763
+ if _params['code']:
1764
+ _path_params['code'] = _params['code']
1765
+
1766
+
1767
+ # process the query parameters
1768
+ _query_params = []
1769
+ if _params.get('as_at') is not None: # noqa: E501
1770
+ if isinstance(_params['as_at'], datetime):
1771
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1772
+ else:
1773
+ _query_params.append(('asAt', _params['as_at']))
1774
+
1775
+ # process the header parameters
1776
+ _header_params = dict(_params.get('_headers', {}))
1777
+ # process the form parameters
1778
+ _form_params = []
1779
+ _files = {}
1780
+ # process the body parameter
1781
+ _body_params = None
1782
+ if _params['valuation_point_data_query_parameters'] is not None:
1783
+ _body_params = _params['valuation_point_data_query_parameters']
1784
+
1785
+ # set the HTTP header `Accept`
1786
+ _header_params['Accept'] = self.api_client.select_header_accept(
1787
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1788
+
1789
+ # set the HTTP header `Content-Type`
1790
+ _content_types_list = _params.get('_content_type',
1791
+ self.api_client.select_header_content_type(
1792
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1793
+ if _content_types_list:
1794
+ _header_params['Content-Type'] = _content_types_list
1795
+
1796
+ # authentication setting
1797
+ _auth_settings = ['oauth2'] # noqa: E501
1798
+
1799
+ _response_types_map = {
1800
+ '200': "ValuationPointDataResponse",
1801
+ '400': "LusidValidationProblemDetails",
1802
+ }
1803
+
1804
+ return self.api_client.call_api(
1805
+ '/api/funds/{scope}/{code}/valuationpoints/$query', 'POST',
1806
+ _path_params,
1807
+ _query_params,
1808
+ _header_params,
1809
+ body=_body_params,
1810
+ post_params=_form_params,
1811
+ files=_files,
1812
+ response_types_map=_response_types_map,
1813
+ auth_settings=_auth_settings,
1814
+ async_req=_params.get('async_req'),
1815
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1816
+ _preload_content=_params.get('_preload_content', True),
1817
+ _request_timeout=_params.get('_request_timeout'),
1818
+ opts=_params.get('opts'),
1819
+ collection_formats=_collection_formats,
1820
+ _request_auth=_params.get('_request_auth'))
1821
+
1822
+ @overload
1823
+ async def get_valuation_point_journal_entry_lines(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Journal Entry lines.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ValuationPointResourceListOfJournalEntryLine: # noqa: E501
1824
+ ...
1825
+
1826
+ @overload
1827
+ def get_valuation_point_journal_entry_lines(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Journal Entry lines.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfJournalEntryLine: # noqa: E501
1828
+ ...
1829
+
1830
+ @validate_arguments
1831
+ def get_valuation_point_journal_entry_lines(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Journal Entry lines.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfJournalEntryLine, Awaitable[ValuationPointResourceListOfJournalEntryLine]]: # noqa: E501
1832
+ """[EXPERIMENTAL] GetValuationPointJournalEntryLines: Get the Journal Entry lines for the given Fund. # noqa: E501
1833
+
1834
+ Gets the Journal Entry lines for the given Valuation Point for a Fund The Journal Entry lines have been generated from transactions, translated via posting rules and used in the valuation point # noqa: E501
1835
+ This method makes a synchronous HTTP request by default. To make an
1836
+ asynchronous HTTP request, please pass async_req=True
1837
+
1838
+ >>> thread = api.get_valuation_point_journal_entry_lines(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, async_req=True)
1839
+ >>> result = thread.get()
1840
+
1841
+ :param scope: The scope of the Fund. (required)
1842
+ :type scope: str
1843
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
1844
+ :type code: str
1845
+ :param valuation_point_data_query_parameters: The arguments to use for querying the Journal Entry lines. (required)
1846
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1847
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
1848
+ :type general_ledger_profile_code: str
1849
+ :param as_at: The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.
1850
+ :type as_at: datetime
1851
+ :param filter: Expression to filter the result set.
1852
+ :type filter: str
1853
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
1854
+ :type limit: int
1855
+ :param page: The pagination token to use to continue listing Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.
1856
+ :type page: str
1857
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
1858
+ :type property_keys: List[str]
1859
+ :param async_req: Whether to execute the request asynchronously.
1860
+ :type async_req: bool, optional
1861
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1862
+ :param opts: Configuration options for this request
1863
+ :type opts: ConfigurationOptions, optional
1864
+ :return: Returns the result object.
1865
+ If the method is called asynchronously,
1866
+ returns the request thread.
1867
+ :rtype: ValuationPointResourceListOfJournalEntryLine
1868
+ """
1869
+ kwargs['_return_http_data_only'] = True
1870
+ if '_preload_content' in kwargs:
1871
+ message = "Error! Please call the get_valuation_point_journal_entry_lines_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1872
+ raise ValueError(message)
1873
+ if async_req is not None:
1874
+ kwargs['async_req'] = async_req
1875
+ return self.get_valuation_point_journal_entry_lines_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, **kwargs) # noqa: E501
1876
+
1877
+ @validate_arguments
1878
+ def get_valuation_point_journal_entry_lines_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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the Journal Entry lines.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1879
+ """[EXPERIMENTAL] GetValuationPointJournalEntryLines: Get the Journal Entry lines for the given Fund. # noqa: E501
1880
+
1881
+ Gets the Journal Entry lines for the given Valuation Point for a Fund The Journal Entry lines have been generated from transactions, translated via posting rules and used in the valuation point # noqa: E501
1882
+ This method makes a synchronous HTTP request by default. To make an
1883
+ asynchronous HTTP request, please pass async_req=True
1884
+
1885
+ >>> thread = api.get_valuation_point_journal_entry_lines_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, async_req=True)
1886
+ >>> result = thread.get()
1887
+
1888
+ :param scope: The scope of the Fund. (required)
1889
+ :type scope: str
1890
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
1891
+ :type code: str
1892
+ :param valuation_point_data_query_parameters: The arguments to use for querying the Journal Entry lines. (required)
1893
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
1894
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
1895
+ :type general_ledger_profile_code: str
1896
+ :param as_at: The asAt datetime at which to retrieve Journal Entry lines. Defaults to returning the latest version of each transaction if not specified.
1897
+ :type as_at: datetime
1898
+ :param filter: Expression to filter the result set.
1899
+ :type filter: str
1900
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
1901
+ :type limit: int
1902
+ :param page: The pagination token to use to continue listing Journal Entry lines from a previous call to GetValuationPointJournalEntryLines.
1903
+ :type page: str
1904
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
1905
+ :type property_keys: List[str]
1906
+ :param async_req: Whether to execute the request asynchronously.
1907
+ :type async_req: bool, optional
1908
+ :param _preload_content: if False, the ApiResponse.data will
1909
+ be set to none and raw_data will store the
1910
+ HTTP response body without reading/decoding.
1911
+ Default is True.
1912
+ :type _preload_content: bool, optional
1913
+ :param _return_http_data_only: response data instead of ApiResponse
1914
+ object with status code, headers, etc
1915
+ :type _return_http_data_only: bool, optional
1916
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1917
+ :param opts: Configuration options for this request
1918
+ :type opts: ConfigurationOptions, optional
1919
+ :param _request_auth: set to override the auth_settings for an a single
1920
+ request; this effectively ignores the authentication
1921
+ in the spec for a single request.
1922
+ :type _request_auth: dict, optional
1923
+ :type _content_type: string, optional: force content-type for the request
1924
+ :return: Returns the result object.
1925
+ If the method is called asynchronously,
1926
+ returns the request thread.
1927
+ :rtype: tuple(ValuationPointResourceListOfJournalEntryLine, status_code(int), headers(HTTPHeaderDict))
1928
+ """
1929
+
1930
+ _params = locals()
1931
+
1932
+ _all_params = [
1933
+ 'scope',
1934
+ 'code',
1935
+ 'valuation_point_data_query_parameters',
1936
+ 'general_ledger_profile_code',
1937
+ 'as_at',
1938
+ 'filter',
1939
+ 'limit',
1940
+ 'page',
1941
+ 'property_keys'
1942
+ ]
1943
+ _all_params.extend(
1944
+ [
1945
+ 'async_req',
1946
+ '_return_http_data_only',
1947
+ '_preload_content',
1948
+ '_request_timeout',
1949
+ '_request_auth',
1950
+ '_content_type',
1951
+ '_headers',
1952
+ 'opts'
1953
+ ]
1954
+ )
1955
+
1956
+ # validate the arguments
1957
+ for _key, _val in _params['kwargs'].items():
1958
+ if _key not in _all_params:
1959
+ raise ApiTypeError(
1960
+ "Got an unexpected keyword argument '%s'"
1961
+ " to method get_valuation_point_journal_entry_lines" % _key
1962
+ )
1963
+ _params[_key] = _val
1964
+ del _params['kwargs']
1965
+
1966
+ _collection_formats = {}
1967
+
1968
+ # process the path parameters
1969
+ _path_params = {}
1970
+ if _params['scope']:
1971
+ _path_params['scope'] = _params['scope']
1972
+
1973
+ if _params['code']:
1974
+ _path_params['code'] = _params['code']
1975
+
1976
+
1977
+ # process the query parameters
1978
+ _query_params = []
1979
+ if _params.get('general_ledger_profile_code') is not None: # noqa: E501
1980
+ _query_params.append(('generalLedgerProfileCode', _params['general_ledger_profile_code']))
1981
+
1982
+ if _params.get('as_at') is not None: # noqa: E501
1983
+ if isinstance(_params['as_at'], datetime):
1984
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1985
+ else:
1986
+ _query_params.append(('asAt', _params['as_at']))
1987
+
1988
+ if _params.get('filter') is not None: # noqa: E501
1989
+ _query_params.append(('filter', _params['filter']))
1990
+
1991
+ if _params.get('limit') is not None: # noqa: E501
1992
+ _query_params.append(('limit', _params['limit']))
1993
+
1994
+ if _params.get('page') is not None: # noqa: E501
1995
+ _query_params.append(('page', _params['page']))
1996
+
1997
+ if _params.get('property_keys') is not None: # noqa: E501
1998
+ _query_params.append(('propertyKeys', _params['property_keys']))
1999
+ _collection_formats['propertyKeys'] = 'multi'
2000
+
2001
+ # process the header parameters
2002
+ _header_params = dict(_params.get('_headers', {}))
2003
+ # process the form parameters
2004
+ _form_params = []
2005
+ _files = {}
2006
+ # process the body parameter
2007
+ _body_params = None
2008
+ if _params['valuation_point_data_query_parameters'] is not None:
2009
+ _body_params = _params['valuation_point_data_query_parameters']
2010
+
2011
+ # set the HTTP header `Accept`
2012
+ _header_params['Accept'] = self.api_client.select_header_accept(
2013
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2014
+
2015
+ # set the HTTP header `Content-Type`
2016
+ _content_types_list = _params.get('_content_type',
2017
+ self.api_client.select_header_content_type(
2018
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2019
+ if _content_types_list:
2020
+ _header_params['Content-Type'] = _content_types_list
2021
+
2022
+ # authentication setting
2023
+ _auth_settings = ['oauth2'] # noqa: E501
2024
+
2025
+ _response_types_map = {
2026
+ '200': "ValuationPointResourceListOfJournalEntryLine",
2027
+ '400': "LusidValidationProblemDetails",
2028
+ }
2029
+
2030
+ return self.api_client.call_api(
2031
+ '/api/funds/{scope}/{code}/valuationpoints/journalentrylines/$query', 'POST',
2032
+ _path_params,
2033
+ _query_params,
2034
+ _header_params,
2035
+ body=_body_params,
2036
+ post_params=_form_params,
2037
+ files=_files,
2038
+ response_types_map=_response_types_map,
2039
+ auth_settings=_auth_settings,
2040
+ async_req=_params.get('async_req'),
2041
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2042
+ _preload_content=_params.get('_preload_content', True),
2043
+ _request_timeout=_params.get('_request_timeout'),
2044
+ opts=_params.get('opts'),
2045
+ collection_formats=_collection_formats,
2046
+ _request_auth=_params.get('_request_auth'))
2047
+
2048
+ @overload
2049
+ async def get_valuation_point_pnl_summary(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 is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Trial balance from a previous call to Trial balance.")] = None, **kwargs) -> ValuationPointResourceListOfPnlJournalEntryLine: # noqa: E501
2050
+ ...
2051
+
2052
+ @overload
2053
+ def get_valuation_point_pnl_summary(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 is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Trial balance from a previous call to Trial balance.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfPnlJournalEntryLine: # noqa: E501
2054
+ ...
2055
+
2056
+ @validate_arguments
2057
+ def get_valuation_point_pnl_summary(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 is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Trial balance from a previous call to Trial balance.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfPnlJournalEntryLine, Awaitable[ValuationPointResourceListOfPnlJournalEntryLine]]: # noqa: E501
2058
+ """[EXPERIMENTAL] GetValuationPointPnlSummary: Get a PnL summary for the given Valuation Point in the Fund. # noqa: E501
2059
+
2060
+ Gets the PnL Summary lines from the journal entry lines produced when calculating the valuation point. # noqa: E501
2061
+ This method makes a synchronous HTTP request by default. To make an
2062
+ asynchronous HTTP request, please pass async_req=True
2063
+
2064
+ >>> thread = api.get_valuation_point_pnl_summary(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, async_req=True)
2065
+ >>> result = thread.get()
2066
+
2067
+ :param scope: The scope of the Fund. (required)
2068
+ :type scope: str
2069
+ :param code: The code of the Fund. Together with the scope is the unique identifier for the given Fund. (required)
2070
+ :type code: str
2071
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the PnL summary (required)
2072
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2073
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2074
+ :type general_ledger_profile_code: str
2075
+ :param as_at: The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.
2076
+ :type as_at: datetime
2077
+ :param filter: \"Expression to filter the result set.\"
2078
+ :type filter: str
2079
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2080
+ :type limit: int
2081
+ :param page: The pagination token to use to continue listing Trial balance from a previous call to Trial balance.
2082
+ :type page: str
2083
+ :param async_req: Whether to execute the request asynchronously.
2084
+ :type async_req: bool, optional
2085
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2086
+ :param opts: Configuration options for this request
2087
+ :type opts: ConfigurationOptions, optional
2088
+ :return: Returns the result object.
2089
+ If the method is called asynchronously,
2090
+ returns the request thread.
2091
+ :rtype: ValuationPointResourceListOfPnlJournalEntryLine
2092
+ """
2093
+ kwargs['_return_http_data_only'] = True
2094
+ if '_preload_content' in kwargs:
2095
+ message = "Error! Please call the get_valuation_point_pnl_summary_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2096
+ raise ValueError(message)
2097
+ if async_req is not None:
2098
+ kwargs['async_req'] = async_req
2099
+ return self.get_valuation_point_pnl_summary_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, **kwargs) # noqa: E501
2100
+
2101
+ @validate_arguments
2102
+ def get_valuation_point_pnl_summary_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 is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 Trial balance from a previous call to Trial balance.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2103
+ """[EXPERIMENTAL] GetValuationPointPnlSummary: Get a PnL summary for the given Valuation Point in the Fund. # noqa: E501
2104
+
2105
+ Gets the PnL Summary lines from the journal entry lines produced when calculating the valuation point. # noqa: E501
2106
+ This method makes a synchronous HTTP request by default. To make an
2107
+ asynchronous HTTP request, please pass async_req=True
2108
+
2109
+ >>> thread = api.get_valuation_point_pnl_summary_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, async_req=True)
2110
+ >>> result = thread.get()
2111
+
2112
+ :param scope: The scope of the Fund. (required)
2113
+ :type scope: str
2114
+ :param code: The code of the Fund. Together with the scope is the unique identifier for the given Fund. (required)
2115
+ :type code: str
2116
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the PnL summary (required)
2117
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2118
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2119
+ :type general_ledger_profile_code: str
2120
+ :param as_at: The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.
2121
+ :type as_at: datetime
2122
+ :param filter: \"Expression to filter the result set.\"
2123
+ :type filter: str
2124
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2125
+ :type limit: int
2126
+ :param page: The pagination token to use to continue listing Trial balance from a previous call to Trial balance.
2127
+ :type page: str
2128
+ :param async_req: Whether to execute the request asynchronously.
2129
+ :type async_req: bool, optional
2130
+ :param _preload_content: if False, the ApiResponse.data will
2131
+ be set to none and raw_data will store the
2132
+ HTTP response body without reading/decoding.
2133
+ Default is True.
2134
+ :type _preload_content: bool, optional
2135
+ :param _return_http_data_only: response data instead of ApiResponse
2136
+ object with status code, headers, etc
2137
+ :type _return_http_data_only: bool, optional
2138
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2139
+ :param opts: Configuration options for this request
2140
+ :type opts: ConfigurationOptions, optional
2141
+ :param _request_auth: set to override the auth_settings for an a single
2142
+ request; this effectively ignores the authentication
2143
+ in the spec for a single request.
2144
+ :type _request_auth: dict, optional
2145
+ :type _content_type: string, optional: force content-type for the request
2146
+ :return: Returns the result object.
2147
+ If the method is called asynchronously,
2148
+ returns the request thread.
2149
+ :rtype: tuple(ValuationPointResourceListOfPnlJournalEntryLine, status_code(int), headers(HTTPHeaderDict))
2150
+ """
2151
+
2152
+ _params = locals()
2153
+
2154
+ _all_params = [
2155
+ 'scope',
2156
+ 'code',
2157
+ 'valuation_point_data_query_parameters',
2158
+ 'general_ledger_profile_code',
2159
+ 'as_at',
2160
+ 'filter',
2161
+ 'limit',
2162
+ 'page'
2163
+ ]
2164
+ _all_params.extend(
2165
+ [
2166
+ 'async_req',
2167
+ '_return_http_data_only',
2168
+ '_preload_content',
2169
+ '_request_timeout',
2170
+ '_request_auth',
2171
+ '_content_type',
2172
+ '_headers',
2173
+ 'opts'
2174
+ ]
2175
+ )
2176
+
2177
+ # validate the arguments
2178
+ for _key, _val in _params['kwargs'].items():
2179
+ if _key not in _all_params:
2180
+ raise ApiTypeError(
2181
+ "Got an unexpected keyword argument '%s'"
2182
+ " to method get_valuation_point_pnl_summary" % _key
2183
+ )
2184
+ _params[_key] = _val
2185
+ del _params['kwargs']
2186
+
2187
+ _collection_formats = {}
2188
+
2189
+ # process the path parameters
2190
+ _path_params = {}
2191
+ if _params['scope']:
2192
+ _path_params['scope'] = _params['scope']
2193
+
2194
+ if _params['code']:
2195
+ _path_params['code'] = _params['code']
2196
+
2197
+
2198
+ # process the query parameters
2199
+ _query_params = []
2200
+ if _params.get('general_ledger_profile_code') is not None: # noqa: E501
2201
+ _query_params.append(('generalLedgerProfileCode', _params['general_ledger_profile_code']))
2202
+
2203
+ if _params.get('as_at') is not None: # noqa: E501
2204
+ if isinstance(_params['as_at'], datetime):
2205
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2206
+ else:
2207
+ _query_params.append(('asAt', _params['as_at']))
2208
+
2209
+ if _params.get('filter') is not None: # noqa: E501
2210
+ _query_params.append(('filter', _params['filter']))
2211
+
2212
+ if _params.get('limit') is not None: # noqa: E501
2213
+ _query_params.append(('limit', _params['limit']))
2214
+
2215
+ if _params.get('page') is not None: # noqa: E501
2216
+ _query_params.append(('page', _params['page']))
2217
+
2218
+ # process the header parameters
2219
+ _header_params = dict(_params.get('_headers', {}))
2220
+ # process the form parameters
2221
+ _form_params = []
2222
+ _files = {}
2223
+ # process the body parameter
2224
+ _body_params = None
2225
+ if _params['valuation_point_data_query_parameters'] is not None:
2226
+ _body_params = _params['valuation_point_data_query_parameters']
2227
+
2228
+ # set the HTTP header `Accept`
2229
+ _header_params['Accept'] = self.api_client.select_header_accept(
2230
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2231
+
2232
+ # set the HTTP header `Content-Type`
2233
+ _content_types_list = _params.get('_content_type',
2234
+ self.api_client.select_header_content_type(
2235
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2236
+ if _content_types_list:
2237
+ _header_params['Content-Type'] = _content_types_list
2238
+
2239
+ # authentication setting
2240
+ _auth_settings = ['oauth2'] # noqa: E501
2241
+
2242
+ _response_types_map = {
2243
+ '200': "ValuationPointResourceListOfPnlJournalEntryLine",
2244
+ '400': "LusidValidationProblemDetails",
2245
+ }
2246
+
2247
+ return self.api_client.call_api(
2248
+ '/api/funds/{scope}/{code}/valuationpoints/pnlsummary/$query', 'POST',
2249
+ _path_params,
2250
+ _query_params,
2251
+ _header_params,
2252
+ body=_body_params,
2253
+ post_params=_form_params,
2254
+ files=_files,
2255
+ response_types_map=_response_types_map,
2256
+ auth_settings=_auth_settings,
2257
+ async_req=_params.get('async_req'),
2258
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2259
+ _preload_content=_params.get('_preload_content', True),
2260
+ _request_timeout=_params.get('_request_timeout'),
2261
+ opts=_params.get('opts'),
2262
+ collection_formats=_collection_formats,
2263
+ _request_auth=_params.get('_request_auth'))
2264
+
2265
+ @overload
2266
+ async def get_valuation_point_transactions(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ValuationPointResourceListOfAccountedTransaction: # noqa: E501
2267
+ ...
2268
+
2269
+ @overload
2270
+ def get_valuation_point_transactions(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfAccountedTransaction: # noqa: E501
2271
+ ...
2272
+
2273
+ @validate_arguments
2274
+ def get_valuation_point_transactions(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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfAccountedTransaction, Awaitable[ValuationPointResourceListOfAccountedTransaction]]: # noqa: E501
2275
+ """[EXPERIMENTAL] GetValuationPointTransactions: Get the Transactions for the given Fund. # noqa: E501
2276
+
2277
+ Gets the Transactions for the given Valuation Point for a Fund # noqa: E501
2278
+ This method makes a synchronous HTTP request by default. To make an
2279
+ asynchronous HTTP request, please pass async_req=True
2280
+
2281
+ >>> thread = api.get_valuation_point_transactions(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, async_req=True)
2282
+ >>> result = thread.get()
2283
+
2284
+ :param scope: The scope of the Fund. (required)
2285
+ :type scope: str
2286
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
2287
+ :type code: str
2288
+ :param valuation_point_data_query_parameters: The arguments to use for querying the transactions. (required)
2289
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2290
+ :param as_at: The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.
2291
+ :type as_at: datetime
2292
+ :param filter: Expression to filter the result set.
2293
+ :type filter: str
2294
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2295
+ :type limit: int
2296
+ :param page: The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.
2297
+ :type page: str
2298
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2299
+ :type property_keys: List[str]
2300
+ :param async_req: Whether to execute the request asynchronously.
2301
+ :type async_req: bool, optional
2302
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2303
+ :param opts: Configuration options for this request
2304
+ :type opts: ConfigurationOptions, optional
2305
+ :return: Returns the result object.
2306
+ If the method is called asynchronously,
2307
+ returns the request thread.
2308
+ :rtype: ValuationPointResourceListOfAccountedTransaction
2309
+ """
2310
+ kwargs['_return_http_data_only'] = True
2311
+ if '_preload_content' in kwargs:
2312
+ message = "Error! Please call the get_valuation_point_transactions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2313
+ raise ValueError(message)
2314
+ if async_req is not None:
2315
+ kwargs['async_req'] = async_req
2316
+ return self.get_valuation_point_transactions_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, **kwargs) # noqa: E501
2317
+
2318
+ @validate_arguments
2319
+ def get_valuation_point_transactions_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 is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 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 transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2320
+ """[EXPERIMENTAL] GetValuationPointTransactions: Get the Transactions for the given Fund. # noqa: E501
2321
+
2322
+ Gets the Transactions for the given Valuation Point for a Fund # noqa: E501
2323
+ This method makes a synchronous HTTP request by default. To make an
2324
+ asynchronous HTTP request, please pass async_req=True
2325
+
2326
+ >>> thread = api.get_valuation_point_transactions_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, async_req=True)
2327
+ >>> result = thread.get()
2328
+
2329
+ :param scope: The scope of the Fund. (required)
2330
+ :type scope: str
2331
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
2332
+ :type code: str
2333
+ :param valuation_point_data_query_parameters: The arguments to use for querying the transactions. (required)
2334
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2335
+ :param as_at: The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.
2336
+ :type as_at: datetime
2337
+ :param filter: Expression to filter the result set.
2338
+ :type filter: str
2339
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2340
+ :type limit: int
2341
+ :param page: The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.
2342
+ :type page: str
2343
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2344
+ :type property_keys: List[str]
2345
+ :param async_req: Whether to execute the request asynchronously.
2346
+ :type async_req: bool, optional
2347
+ :param _preload_content: if False, the ApiResponse.data will
2348
+ be set to none and raw_data will store the
2349
+ HTTP response body without reading/decoding.
2350
+ Default is True.
2351
+ :type _preload_content: bool, optional
2352
+ :param _return_http_data_only: response data instead of ApiResponse
2353
+ object with status code, headers, etc
2354
+ :type _return_http_data_only: bool, optional
2355
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2356
+ :param opts: Configuration options for this request
2357
+ :type opts: ConfigurationOptions, optional
2358
+ :param _request_auth: set to override the auth_settings for an a single
2359
+ request; this effectively ignores the authentication
2360
+ in the spec for a single request.
2361
+ :type _request_auth: dict, optional
2362
+ :type _content_type: string, optional: force content-type for the request
2363
+ :return: Returns the result object.
2364
+ If the method is called asynchronously,
2365
+ returns the request thread.
2366
+ :rtype: tuple(ValuationPointResourceListOfAccountedTransaction, status_code(int), headers(HTTPHeaderDict))
2367
+ """
2368
+
2369
+ _params = locals()
2370
+
2371
+ _all_params = [
2372
+ 'scope',
2373
+ 'code',
2374
+ 'valuation_point_data_query_parameters',
2375
+ 'as_at',
2376
+ 'filter',
2377
+ 'limit',
2378
+ 'page',
2379
+ 'property_keys'
2380
+ ]
2381
+ _all_params.extend(
2382
+ [
2383
+ 'async_req',
2384
+ '_return_http_data_only',
2385
+ '_preload_content',
2386
+ '_request_timeout',
2387
+ '_request_auth',
2388
+ '_content_type',
2389
+ '_headers',
2390
+ 'opts'
2391
+ ]
2392
+ )
2393
+
2394
+ # validate the arguments
2395
+ for _key, _val in _params['kwargs'].items():
2396
+ if _key not in _all_params:
2397
+ raise ApiTypeError(
2398
+ "Got an unexpected keyword argument '%s'"
2399
+ " to method get_valuation_point_transactions" % _key
2400
+ )
2401
+ _params[_key] = _val
2402
+ del _params['kwargs']
2403
+
2404
+ _collection_formats = {}
2405
+
2406
+ # process the path parameters
2407
+ _path_params = {}
2408
+ if _params['scope']:
2409
+ _path_params['scope'] = _params['scope']
2410
+
2411
+ if _params['code']:
2412
+ _path_params['code'] = _params['code']
2413
+
2414
+
2415
+ # process the query parameters
2416
+ _query_params = []
2417
+ if _params.get('as_at') is not None: # noqa: E501
2418
+ if isinstance(_params['as_at'], datetime):
2419
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2420
+ else:
2421
+ _query_params.append(('asAt', _params['as_at']))
2422
+
2423
+ if _params.get('filter') is not None: # noqa: E501
2424
+ _query_params.append(('filter', _params['filter']))
2425
+
2426
+ if _params.get('limit') is not None: # noqa: E501
2427
+ _query_params.append(('limit', _params['limit']))
2428
+
2429
+ if _params.get('page') is not None: # noqa: E501
2430
+ _query_params.append(('page', _params['page']))
2431
+
2432
+ if _params.get('property_keys') is not None: # noqa: E501
2433
+ _query_params.append(('propertyKeys', _params['property_keys']))
2434
+ _collection_formats['propertyKeys'] = 'multi'
2435
+
2436
+ # process the header parameters
2437
+ _header_params = dict(_params.get('_headers', {}))
2438
+ # process the form parameters
2439
+ _form_params = []
2440
+ _files = {}
2441
+ # process the body parameter
2442
+ _body_params = None
2443
+ if _params['valuation_point_data_query_parameters'] is not None:
2444
+ _body_params = _params['valuation_point_data_query_parameters']
2445
+
2446
+ # set the HTTP header `Accept`
2447
+ _header_params['Accept'] = self.api_client.select_header_accept(
2448
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2449
+
2450
+ # set the HTTP header `Content-Type`
2451
+ _content_types_list = _params.get('_content_type',
2452
+ self.api_client.select_header_content_type(
2453
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2454
+ if _content_types_list:
2455
+ _header_params['Content-Type'] = _content_types_list
2456
+
2457
+ # authentication setting
2458
+ _auth_settings = ['oauth2'] # noqa: E501
2459
+
2460
+ _response_types_map = {
2461
+ '200': "ValuationPointResourceListOfAccountedTransaction",
2462
+ '400': "LusidValidationProblemDetails",
2463
+ }
2464
+
2465
+ return self.api_client.call_api(
2466
+ '/api/funds/{scope}/{code}/valuationpoints/transactions/$query', 'POST',
2467
+ _path_params,
2468
+ _query_params,
2469
+ _header_params,
2470
+ body=_body_params,
2471
+ post_params=_form_params,
2472
+ files=_files,
2473
+ response_types_map=_response_types_map,
2474
+ auth_settings=_auth_settings,
2475
+ async_req=_params.get('async_req'),
2476
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2477
+ _preload_content=_params.get('_preload_content', True),
2478
+ _request_timeout=_params.get('_request_timeout'),
2479
+ opts=_params.get('opts'),
2480
+ collection_formats=_collection_formats,
2481
+ _request_auth=_params.get('_request_auth'))
2482
+
2483
+ @overload
2484
+ async def get_valuation_point_trial_balance(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 query parameters used in running the generation of the Trial Balance.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 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 Trial Balances. This token 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ValuationPointResourceListOfTrialBalance: # noqa: E501
2485
+ ...
2486
+
2487
+ @overload
2488
+ def get_valuation_point_trial_balance(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 query parameters used in running the generation of the Trial Balance.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 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 Trial Balances. This token 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfTrialBalance: # noqa: E501
2489
+ ...
2490
+
2491
+ @validate_arguments
2492
+ def get_valuation_point_trial_balance(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 query parameters used in running the generation of the Trial Balance.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 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 Trial Balances. This token 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfTrialBalance, Awaitable[ValuationPointResourceListOfTrialBalance]]: # noqa: E501
2493
+ """[EXPERIMENTAL] GetValuationPointTrialBalance: Get Trial Balance for the given Fund. # noqa: E501
2494
+
2495
+ Gets the Trial Balance for the given Valuation Point for a Fund. The Trial Balance has been generated from transactions, translated via Posting Rules and aggregated based on a General Ledger Profile (where specified). # noqa: E501
2496
+ This method makes a synchronous HTTP request by default. To make an
2497
+ asynchronous HTTP request, please pass async_req=True
2498
+
2499
+ >>> thread = api.get_valuation_point_trial_balance(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, async_req=True)
2500
+ >>> result = thread.get()
2501
+
2502
+ :param scope: The scope of the Fund. (required)
2503
+ :type scope: str
2504
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2505
+ :type code: str
2506
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the Trial Balance. (required)
2507
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2508
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2509
+ :type general_ledger_profile_code: str
2510
+ :param as_at: The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.
2511
+ :type as_at: datetime
2512
+ :param filter: Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2513
+ :type filter: str
2514
+ :param limit: When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.
2515
+ :type limit: int
2516
+ :param page: The pagination token to use to continue listing Trial Balances. This token 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.
2517
+ :type page: str
2518
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2519
+ :type property_keys: List[str]
2520
+ :param async_req: Whether to execute the request asynchronously.
2521
+ :type async_req: bool, optional
2522
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2523
+ :param opts: Configuration options for this request
2524
+ :type opts: ConfigurationOptions, optional
2525
+ :return: Returns the result object.
2526
+ If the method is called asynchronously,
2527
+ returns the request thread.
2528
+ :rtype: ValuationPointResourceListOfTrialBalance
2529
+ """
2530
+ kwargs['_return_http_data_only'] = True
2531
+ if '_preload_content' in kwargs:
2532
+ message = "Error! Please call the get_valuation_point_trial_balance_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2533
+ raise ValueError(message)
2534
+ if async_req is not None:
2535
+ kwargs['async_req'] = async_req
2536
+ return self.get_valuation_point_trial_balance_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, **kwargs) # noqa: E501
2537
+
2538
+ @validate_arguments
2539
+ def get_valuation_point_trial_balance_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 query parameters used in running the generation of the Trial Balance.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 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 Trial Balances. This token 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, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2540
+ """[EXPERIMENTAL] GetValuationPointTrialBalance: Get Trial Balance for the given Fund. # noqa: E501
2541
+
2542
+ Gets the Trial Balance for the given Valuation Point for a Fund. The Trial Balance has been generated from transactions, translated via Posting Rules and aggregated based on a General Ledger Profile (where specified). # noqa: E501
2543
+ This method makes a synchronous HTTP request by default. To make an
2544
+ asynchronous HTTP request, please pass async_req=True
2545
+
2546
+ >>> thread = api.get_valuation_point_trial_balance_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, property_keys, async_req=True)
2547
+ >>> result = thread.get()
2548
+
2549
+ :param scope: The scope of the Fund. (required)
2550
+ :type scope: str
2551
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
2552
+ :type code: str
2553
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the Trial Balance. (required)
2554
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2555
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2556
+ :type general_ledger_profile_code: str
2557
+ :param as_at: The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.
2558
+ :type as_at: datetime
2559
+ :param filter: Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2560
+ :type filter: str
2561
+ :param limit: When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.
2562
+ :type limit: int
2563
+ :param page: The pagination token to use to continue listing Trial Balances. This token 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.
2564
+ :type page: str
2565
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2566
+ :type property_keys: List[str]
2567
+ :param async_req: Whether to execute the request asynchronously.
2568
+ :type async_req: bool, optional
2569
+ :param _preload_content: if False, the ApiResponse.data will
2570
+ be set to none and raw_data will store the
2571
+ HTTP response body without reading/decoding.
2572
+ Default is True.
2573
+ :type _preload_content: bool, optional
2574
+ :param _return_http_data_only: response data instead of ApiResponse
2575
+ object with status code, headers, etc
2576
+ :type _return_http_data_only: bool, optional
2577
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2578
+ :param opts: Configuration options for this request
2579
+ :type opts: ConfigurationOptions, optional
2580
+ :param _request_auth: set to override the auth_settings for an a single
2581
+ request; this effectively ignores the authentication
2582
+ in the spec for a single request.
2583
+ :type _request_auth: dict, optional
2584
+ :type _content_type: string, optional: force content-type for the request
2585
+ :return: Returns the result object.
2586
+ If the method is called asynchronously,
2587
+ returns the request thread.
2588
+ :rtype: tuple(ValuationPointResourceListOfTrialBalance, status_code(int), headers(HTTPHeaderDict))
2589
+ """
2590
+
2591
+ _params = locals()
2592
+
2593
+ _all_params = [
2594
+ 'scope',
2595
+ 'code',
2596
+ 'valuation_point_data_query_parameters',
2597
+ 'general_ledger_profile_code',
2598
+ 'as_at',
2599
+ 'filter',
2600
+ 'limit',
2601
+ 'page',
2602
+ 'property_keys'
2603
+ ]
2604
+ _all_params.extend(
2605
+ [
2606
+ 'async_req',
2607
+ '_return_http_data_only',
2608
+ '_preload_content',
2609
+ '_request_timeout',
2610
+ '_request_auth',
2611
+ '_content_type',
2612
+ '_headers',
2613
+ 'opts'
2614
+ ]
2615
+ )
2616
+
2617
+ # validate the arguments
2618
+ for _key, _val in _params['kwargs'].items():
2619
+ if _key not in _all_params:
2620
+ raise ApiTypeError(
2621
+ "Got an unexpected keyword argument '%s'"
2622
+ " to method get_valuation_point_trial_balance" % _key
2623
+ )
2624
+ _params[_key] = _val
2625
+ del _params['kwargs']
2626
+
2627
+ _collection_formats = {}
2628
+
2629
+ # process the path parameters
2630
+ _path_params = {}
2631
+ if _params['scope']:
2632
+ _path_params['scope'] = _params['scope']
2633
+
2634
+ if _params['code']:
2635
+ _path_params['code'] = _params['code']
2636
+
2637
+
2638
+ # process the query parameters
2639
+ _query_params = []
2640
+ if _params.get('general_ledger_profile_code') is not None: # noqa: E501
2641
+ _query_params.append(('generalLedgerProfileCode', _params['general_ledger_profile_code']))
2642
+
2643
+ if _params.get('as_at') is not None: # noqa: E501
2644
+ if isinstance(_params['as_at'], datetime):
2645
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2646
+ else:
2647
+ _query_params.append(('asAt', _params['as_at']))
2648
+
2649
+ if _params.get('filter') is not None: # noqa: E501
2650
+ _query_params.append(('filter', _params['filter']))
2651
+
2652
+ if _params.get('limit') is not None: # noqa: E501
2653
+ _query_params.append(('limit', _params['limit']))
2654
+
2655
+ if _params.get('page') is not None: # noqa: E501
2656
+ _query_params.append(('page', _params['page']))
2657
+
2658
+ if _params.get('property_keys') is not None: # noqa: E501
2659
+ _query_params.append(('propertyKeys', _params['property_keys']))
2660
+ _collection_formats['propertyKeys'] = 'multi'
2661
+
2662
+ # process the header parameters
2663
+ _header_params = dict(_params.get('_headers', {}))
2664
+ # process the form parameters
2665
+ _form_params = []
2666
+ _files = {}
2667
+ # process the body parameter
2668
+ _body_params = None
2669
+ if _params['valuation_point_data_query_parameters'] is not None:
2670
+ _body_params = _params['valuation_point_data_query_parameters']
2671
+
2672
+ # set the HTTP header `Accept`
2673
+ _header_params['Accept'] = self.api_client.select_header_accept(
2674
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2675
+
2676
+ # set the HTTP header `Content-Type`
2677
+ _content_types_list = _params.get('_content_type',
2678
+ self.api_client.select_header_content_type(
2679
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2680
+ if _content_types_list:
2681
+ _header_params['Content-Type'] = _content_types_list
2682
+
2683
+ # authentication setting
2684
+ _auth_settings = ['oauth2'] # noqa: E501
2685
+
2686
+ _response_types_map = {
2687
+ '200': "ValuationPointResourceListOfTrialBalance",
2688
+ '400': "LusidValidationProblemDetails",
2689
+ }
2690
+
2691
+ return self.api_client.call_api(
2692
+ '/api/funds/{scope}/{code}/valuationpoints/trialbalance/$query', 'POST',
2693
+ _path_params,
2694
+ _query_params,
2695
+ _header_params,
2696
+ body=_body_params,
2697
+ post_params=_form_params,
2698
+ files=_files,
2699
+ response_types_map=_response_types_map,
2700
+ auth_settings=_auth_settings,
2701
+ async_req=_params.get('async_req'),
2702
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2703
+ _preload_content=_params.get('_preload_content', True),
2704
+ _request_timeout=_params.get('_request_timeout'),
2705
+ opts=_params.get('opts'),
2706
+ collection_formats=_collection_formats,
2707
+ _request_auth=_params.get('_request_auth'))
2708
+
2709
+ @overload
2710
+ 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
2711
+ ...
2712
+
2713
+ @overload
2714
+ 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
2715
+ ...
2716
+
2717
+ @validate_arguments
2718
+ 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
2719
+ """[EXPERIMENTAL] ListFees: List Fees for a specified Fund. # noqa: E501
2720
+
2721
+ List all the Fees matching a particular criteria. # noqa: E501
2722
+ This method makes a synchronous HTTP request by default. To make an
2723
+ asynchronous HTTP request, please pass async_req=True
2724
+
2725
+ >>> thread = api.list_fees(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
2726
+ >>> result = thread.get()
2727
+
2728
+ :param scope: The scope of the Fund. (required)
2729
+ :type scope: str
2730
+ :param code: The code of the Fund. (required)
2731
+ :type code: str
2732
+ :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.
2733
+ :type effective_at: str
2734
+ :param as_at: The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.
2735
+ :type as_at: datetime
2736
+ :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.
2737
+ :type page: str
2738
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2739
+ :type limit: int
2740
+ :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.
2741
+ :type filter: str
2742
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
2743
+ :type sort_by: List[str]
2744
+ :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'.
2745
+ :type property_keys: List[str]
2746
+ :param async_req: Whether to execute the request asynchronously.
2747
+ :type async_req: bool, optional
2748
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2749
+ :param opts: Configuration options for this request
2750
+ :type opts: ConfigurationOptions, optional
2751
+ :return: Returns the result object.
2752
+ If the method is called asynchronously,
2753
+ returns the request thread.
2754
+ :rtype: PagedResourceListOfFee
2755
+ """
2756
+ kwargs['_return_http_data_only'] = True
2757
+ if '_preload_content' in kwargs:
2758
+ 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
2759
+ raise ValueError(message)
2760
+ if async_req is not None:
2761
+ kwargs['async_req'] = async_req
2762
+ return self.list_fees_with_http_info(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, **kwargs) # noqa: E501
2763
+
2764
+ @validate_arguments
2765
+ 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
2766
+ """[EXPERIMENTAL] ListFees: List Fees for a specified Fund. # noqa: E501
2767
+
2768
+ List all the Fees matching a particular criteria. # noqa: E501
2769
+ This method makes a synchronous HTTP request by default. To make an
2770
+ asynchronous HTTP request, please pass async_req=True
2771
+
2772
+ >>> thread = api.list_fees_with_http_info(scope, code, effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
2773
+ >>> result = thread.get()
2774
+
2775
+ :param scope: The scope of the Fund. (required)
2776
+ :type scope: str
2777
+ :param code: The code of the Fund. (required)
2778
+ :type code: str
2779
+ :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.
2780
+ :type effective_at: str
2781
+ :param as_at: The asAt datetime at which to list the Fees. Defaults to returning the latest version of each Fee if not specified.
2782
+ :type as_at: datetime
2783
+ :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.
2784
+ :type page: str
2785
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2786
+ :type limit: int
2787
+ :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.
2788
+ :type filter: str
2789
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
2790
+ :type sort_by: List[str]
2791
+ :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'.
2792
+ :type property_keys: List[str]
2793
+ :param async_req: Whether to execute the request asynchronously.
2794
+ :type async_req: bool, optional
2795
+ :param _preload_content: if False, the ApiResponse.data will
2796
+ be set to none and raw_data will store the
2797
+ HTTP response body without reading/decoding.
2798
+ Default is True.
2799
+ :type _preload_content: bool, optional
2800
+ :param _return_http_data_only: response data instead of ApiResponse
2801
+ object with status code, headers, etc
2802
+ :type _return_http_data_only: bool, optional
2803
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2804
+ :param opts: Configuration options for this request
2805
+ :type opts: ConfigurationOptions, optional
2806
+ :param _request_auth: set to override the auth_settings for an a single
2807
+ request; this effectively ignores the authentication
2808
+ in the spec for a single request.
2809
+ :type _request_auth: dict, optional
2810
+ :type _content_type: string, optional: force content-type for the request
2811
+ :return: Returns the result object.
2812
+ If the method is called asynchronously,
2813
+ returns the request thread.
2814
+ :rtype: tuple(PagedResourceListOfFee, status_code(int), headers(HTTPHeaderDict))
2815
+ """
2816
+
2817
+ _params = locals()
2818
+
2819
+ _all_params = [
2820
+ 'scope',
2821
+ 'code',
2822
+ 'effective_at',
2823
+ 'as_at',
2824
+ 'page',
2825
+ 'limit',
2826
+ 'filter',
2827
+ 'sort_by',
2828
+ 'property_keys'
2829
+ ]
2830
+ _all_params.extend(
2831
+ [
2832
+ 'async_req',
2833
+ '_return_http_data_only',
2834
+ '_preload_content',
2835
+ '_request_timeout',
2836
+ '_request_auth',
2837
+ '_content_type',
2838
+ '_headers',
2839
+ 'opts'
2840
+ ]
2841
+ )
2842
+
2843
+ # validate the arguments
2844
+ for _key, _val in _params['kwargs'].items():
2845
+ if _key not in _all_params:
2846
+ raise ApiTypeError(
2847
+ "Got an unexpected keyword argument '%s'"
2848
+ " to method list_fees" % _key
2849
+ )
2850
+ _params[_key] = _val
2851
+ del _params['kwargs']
2852
+
2853
+ _collection_formats = {}
2854
+
2855
+ # process the path parameters
2856
+ _path_params = {}
2857
+ if _params['scope']:
2858
+ _path_params['scope'] = _params['scope']
2859
+
2860
+ if _params['code']:
2861
+ _path_params['code'] = _params['code']
2862
+
2863
+
2864
+ # process the query parameters
2865
+ _query_params = []
2866
+ if _params.get('effective_at') is not None: # noqa: E501
2867
+ _query_params.append(('effectiveAt', _params['effective_at']))
2868
+
2869
+ if _params.get('as_at') is not None: # noqa: E501
2870
+ if isinstance(_params['as_at'], datetime):
2871
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2872
+ else:
2873
+ _query_params.append(('asAt', _params['as_at']))
2874
+
2875
+ if _params.get('page') is not None: # noqa: E501
2876
+ _query_params.append(('page', _params['page']))
2877
+
2878
+ if _params.get('limit') is not None: # noqa: E501
2879
+ _query_params.append(('limit', _params['limit']))
2880
+
2881
+ if _params.get('filter') is not None: # noqa: E501
2882
+ _query_params.append(('filter', _params['filter']))
2883
+
2884
+ if _params.get('sort_by') is not None: # noqa: E501
2885
+ _query_params.append(('sortBy', _params['sort_by']))
2886
+ _collection_formats['sortBy'] = 'multi'
2887
+
2888
+ if _params.get('property_keys') is not None: # noqa: E501
2889
+ _query_params.append(('propertyKeys', _params['property_keys']))
2890
+ _collection_formats['propertyKeys'] = 'multi'
2891
+
2892
+ # process the header parameters
2893
+ _header_params = dict(_params.get('_headers', {}))
2894
+ # process the form parameters
2895
+ _form_params = []
2896
+ _files = {}
2897
+ # process the body parameter
2898
+ _body_params = None
2899
+ # set the HTTP header `Accept`
2900
+ _header_params['Accept'] = self.api_client.select_header_accept(
2901
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2902
+
2903
+ # authentication setting
2904
+ _auth_settings = ['oauth2'] # noqa: E501
2905
+
2906
+ _response_types_map = {
2907
+ '200': "PagedResourceListOfFee",
2908
+ '400': "LusidValidationProblemDetails",
2909
+ }
2910
+
2911
+ return self.api_client.call_api(
2912
+ '/api/funds/{scope}/{code}/fees', 'GET',
2913
+ _path_params,
2914
+ _query_params,
2915
+ _header_params,
2916
+ body=_body_params,
2917
+ post_params=_form_params,
2918
+ files=_files,
2919
+ response_types_map=_response_types_map,
2920
+ auth_settings=_auth_settings,
2921
+ async_req=_params.get('async_req'),
2922
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2923
+ _preload_content=_params.get('_preload_content', True),
2924
+ _request_timeout=_params.get('_request_timeout'),
2925
+ opts=_params.get('opts'),
2926
+ collection_formats=_collection_formats,
2927
+ _request_auth=_params.get('_request_auth'))
2928
+
2929
+ @overload
2930
+ async def list_funds(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Funds. 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 Funds. Defaults to returning the latest version of each Fund 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 Funds; 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 Fund type, specify \"id.Code eq 'Fund1'\". 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 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.")] = None, **kwargs) -> PagedResourceListOfFund: # noqa: E501
2931
+ ...
2932
+
2933
+ @overload
2934
+ def list_funds(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Funds. 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 Funds. Defaults to returning the latest version of each Fund 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 Funds; 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 Fund type, specify \"id.Code eq 'Fund1'\". 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 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfFund: # noqa: E501
2935
+ ...
2936
+
2937
+ @validate_arguments
2938
+ def list_funds(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Funds. 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 Funds. Defaults to returning the latest version of each Fund 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 Funds; 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 Fund type, specify \"id.Code eq 'Fund1'\". 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 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfFund, Awaitable[PagedResourceListOfFund]]: # noqa: E501
2939
+ """[EXPERIMENTAL] ListFunds: List Funds. # noqa: E501
2940
+
2941
+ List all the Funds matching particular criteria. # noqa: E501
2942
+ This method makes a synchronous HTTP request by default. To make an
2943
+ asynchronous HTTP request, please pass async_req=True
2944
+
2945
+ >>> thread = api.list_funds(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
2946
+ >>> result = thread.get()
2947
+
2948
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Funds. Defaults to the current LUSID system datetime if not specified.
2949
+ :type effective_at: str
2950
+ :param as_at: The asAt datetime at which to list the Funds. Defaults to returning the latest version of each Fund if not specified.
2951
+ :type as_at: datetime
2952
+ :param page: The pagination token to use to continue listing Funds; 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.
2953
+ :type page: str
2954
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2955
+ :type limit: int
2956
+ :param filter: Expression to filter the results. For example, to filter on the Fund type, specify \"id.Code eq 'Fund1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2957
+ :type filter: str
2958
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
2959
+ :type sort_by: List[str]
2960
+ :param property_keys: A list of property keys from the 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.
2961
+ :type property_keys: List[str]
2962
+ :param async_req: Whether to execute the request asynchronously.
2963
+ :type async_req: bool, optional
2964
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2965
+ :param opts: Configuration options for this request
2966
+ :type opts: ConfigurationOptions, optional
2967
+ :return: Returns the result object.
2968
+ If the method is called asynchronously,
2969
+ returns the request thread.
2970
+ :rtype: PagedResourceListOfFund
2971
+ """
2972
+ kwargs['_return_http_data_only'] = True
2973
+ if '_preload_content' in kwargs:
2974
+ message = "Error! Please call the list_funds_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2975
+ raise ValueError(message)
2976
+ if async_req is not None:
2977
+ kwargs['async_req'] = async_req
2978
+ return self.list_funds_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, **kwargs) # noqa: E501
2979
+
2980
+ @validate_arguments
2981
+ def list_funds_with_http_info(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Funds. 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 Funds. Defaults to returning the latest version of each Fund 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 Funds; 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 Fund type, specify \"id.Code eq 'Fund1'\". 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 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2982
+ """[EXPERIMENTAL] ListFunds: List Funds. # noqa: E501
2983
+
2984
+ List all the Funds matching particular criteria. # noqa: E501
2985
+ This method makes a synchronous HTTP request by default. To make an
2986
+ asynchronous HTTP request, please pass async_req=True
2987
+
2988
+ >>> thread = api.list_funds_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
2989
+ >>> result = thread.get()
2990
+
2991
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Funds. Defaults to the current LUSID system datetime if not specified.
2992
+ :type effective_at: str
2993
+ :param as_at: The asAt datetime at which to list the Funds. Defaults to returning the latest version of each Fund if not specified.
2994
+ :type as_at: datetime
2995
+ :param page: The pagination token to use to continue listing Funds; 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.
2996
+ :type page: str
2997
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2998
+ :type limit: int
2999
+ :param filter: Expression to filter the results. For example, to filter on the Fund type, specify \"id.Code eq 'Fund1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3000
+ :type filter: str
3001
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\"
3002
+ :type sort_by: List[str]
3003
+ :param property_keys: A list of property keys from the 'Fund' domain to decorate onto each Fund. These must take the format {domain}/{scope}/{code}, for example 'Fund/Manager/Id'.
3004
+ :type property_keys: List[str]
3005
+ :param async_req: Whether to execute the request asynchronously.
3006
+ :type async_req: bool, optional
3007
+ :param _preload_content: if False, the ApiResponse.data will
3008
+ be set to none and raw_data will store the
3009
+ HTTP response body without reading/decoding.
3010
+ Default is True.
3011
+ :type _preload_content: bool, optional
3012
+ :param _return_http_data_only: response data instead of ApiResponse
3013
+ object with status code, headers, etc
3014
+ :type _return_http_data_only: bool, optional
3015
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3016
+ :param opts: Configuration options for this request
3017
+ :type opts: ConfigurationOptions, optional
3018
+ :param _request_auth: set to override the auth_settings for an a single
3019
+ request; this effectively ignores the authentication
3020
+ in the spec for a single request.
3021
+ :type _request_auth: dict, optional
3022
+ :type _content_type: string, optional: force content-type for the request
3023
+ :return: Returns the result object.
3024
+ If the method is called asynchronously,
3025
+ returns the request thread.
3026
+ :rtype: tuple(PagedResourceListOfFund, status_code(int), headers(HTTPHeaderDict))
3027
+ """
3028
+
3029
+ _params = locals()
3030
+
3031
+ _all_params = [
3032
+ 'effective_at',
3033
+ 'as_at',
3034
+ 'page',
3035
+ 'limit',
3036
+ 'filter',
3037
+ 'sort_by',
3038
+ 'property_keys'
3039
+ ]
3040
+ _all_params.extend(
3041
+ [
3042
+ 'async_req',
3043
+ '_return_http_data_only',
3044
+ '_preload_content',
3045
+ '_request_timeout',
3046
+ '_request_auth',
3047
+ '_content_type',
3048
+ '_headers',
3049
+ 'opts'
3050
+ ]
3051
+ )
3052
+
3053
+ # validate the arguments
3054
+ for _key, _val in _params['kwargs'].items():
3055
+ if _key not in _all_params:
3056
+ raise ApiTypeError(
3057
+ "Got an unexpected keyword argument '%s'"
3058
+ " to method list_funds" % _key
3059
+ )
3060
+ _params[_key] = _val
3061
+ del _params['kwargs']
3062
+
3063
+ _collection_formats = {}
3064
+
3065
+ # process the path parameters
3066
+ _path_params = {}
3067
+
3068
+ # process the query parameters
3069
+ _query_params = []
3070
+ if _params.get('effective_at') is not None: # noqa: E501
3071
+ _query_params.append(('effectiveAt', _params['effective_at']))
3072
+
3073
+ if _params.get('as_at') is not None: # noqa: E501
3074
+ if isinstance(_params['as_at'], datetime):
3075
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
3076
+ else:
3077
+ _query_params.append(('asAt', _params['as_at']))
3078
+
3079
+ if _params.get('page') is not None: # noqa: E501
3080
+ _query_params.append(('page', _params['page']))
3081
+
3082
+ if _params.get('limit') is not None: # noqa: E501
3083
+ _query_params.append(('limit', _params['limit']))
3084
+
3085
+ if _params.get('filter') is not None: # noqa: E501
3086
+ _query_params.append(('filter', _params['filter']))
3087
+
3088
+ if _params.get('sort_by') is not None: # noqa: E501
3089
+ _query_params.append(('sortBy', _params['sort_by']))
3090
+ _collection_formats['sortBy'] = 'multi'
3091
+
3092
+ if _params.get('property_keys') is not None: # noqa: E501
3093
+ _query_params.append(('propertyKeys', _params['property_keys']))
3094
+ _collection_formats['propertyKeys'] = 'multi'
3095
+
3096
+ # process the header parameters
3097
+ _header_params = dict(_params.get('_headers', {}))
3098
+ # process the form parameters
3099
+ _form_params = []
3100
+ _files = {}
3101
+ # process the body parameter
3102
+ _body_params = None
3103
+ # set the HTTP header `Accept`
3104
+ _header_params['Accept'] = self.api_client.select_header_accept(
3105
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3106
+
3107
+ # authentication setting
3108
+ _auth_settings = ['oauth2'] # noqa: E501
3109
+
3110
+ _response_types_map = {
3111
+ '200': "PagedResourceListOfFund",
3112
+ '400': "LusidValidationProblemDetails",
3113
+ }
3114
+
3115
+ return self.api_client.call_api(
3116
+ '/api/funds', 'GET',
3117
+ _path_params,
3118
+ _query_params,
3119
+ _header_params,
3120
+ body=_body_params,
3121
+ post_params=_form_params,
3122
+ files=_files,
3123
+ response_types_map=_response_types_map,
3124
+ auth_settings=_auth_settings,
3125
+ async_req=_params.get('async_req'),
3126
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3127
+ _preload_content=_params.get('_preload_content', True),
3128
+ _request_timeout=_params.get('_request_timeout'),
3129
+ opts=_params.get('opts'),
3130
+ collection_formats=_collection_formats,
3131
+ _request_auth=_params.get('_request_auth'))
3132
+
3133
+ @overload
3134
+ async def list_valuation_point_overview(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 ValuationPoints. 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 ValuationPoints. Defaults to returning the latest version of each ValuationPoint 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 ValuationPoints; 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 by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.")] = None, **kwargs) -> PagedResourceListOfValuationPointOverview: # noqa: E501
3135
+ ...
3136
+
3137
+ @overload
3138
+ def list_valuation_point_overview(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 ValuationPoints. 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 ValuationPoints. Defaults to returning the latest version of each ValuationPoint 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 ValuationPoints; 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 by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfValuationPointOverview: # noqa: E501
3139
+ ...
3140
+
3141
+ @validate_arguments
3142
+ def list_valuation_point_overview(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 ValuationPoints. 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 ValuationPoints. Defaults to returning the latest version of each ValuationPoint 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 ValuationPoints; 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 by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfValuationPointOverview, Awaitable[PagedResourceListOfValuationPointOverview]]: # noqa: E501
3143
+ """[EXPERIMENTAL] ListValuationPointOverview: List Valuation Points Overview for a given Fund. # noqa: E501
3144
+
3145
+ List all the Valuation Points that match the given criteria for a given Fund. # noqa: E501
3146
+ This method makes a synchronous HTTP request by default. To make an
3147
+ asynchronous HTTP request, please pass async_req=True
3148
+
3149
+ >>> thread = api.list_valuation_point_overview(scope, code, effective_at, as_at, page, limit, filter, property_keys, async_req=True)
3150
+ >>> result = thread.get()
3151
+
3152
+ :param scope: The scope of the Fund. (required)
3153
+ :type scope: str
3154
+ :param code: The code of the Fund. (required)
3155
+ :type code: str
3156
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the ValuationPoints. Defaults to the current LUSID system datetime if not specified.
3157
+ :type effective_at: str
3158
+ :param as_at: The asAt datetime at which to list the ValuationPoints. Defaults to returning the latest version of each ValuationPoint if not specified.
3159
+ :type as_at: datetime
3160
+ :param page: The pagination token to use to continue listing ValuationPoints; 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.
3161
+ :type page: str
3162
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3163
+ :type limit: int
3164
+ :param filter: Expression to filter the results by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3165
+ :type filter: str
3166
+ :param property_keys: A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.
3167
+ :type property_keys: List[str]
3168
+ :param async_req: Whether to execute the request asynchronously.
3169
+ :type async_req: bool, optional
3170
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3171
+ :param opts: Configuration options for this request
3172
+ :type opts: ConfigurationOptions, optional
3173
+ :return: Returns the result object.
3174
+ If the method is called asynchronously,
3175
+ returns the request thread.
3176
+ :rtype: PagedResourceListOfValuationPointOverview
3177
+ """
3178
+ kwargs['_return_http_data_only'] = True
3179
+ if '_preload_content' in kwargs:
3180
+ message = "Error! Please call the list_valuation_point_overview_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3181
+ raise ValueError(message)
3182
+ if async_req is not None:
3183
+ kwargs['async_req'] = async_req
3184
+ return self.list_valuation_point_overview_with_http_info(scope, code, effective_at, as_at, page, limit, filter, property_keys, **kwargs) # noqa: E501
3185
+
3186
+ @validate_arguments
3187
+ def list_valuation_point_overview_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 ValuationPoints. 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 ValuationPoints. Defaults to returning the latest version of each ValuationPoint 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 ValuationPoints; 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 by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
3188
+ """[EXPERIMENTAL] ListValuationPointOverview: List Valuation Points Overview for a given Fund. # noqa: E501
3189
+
3190
+ List all the Valuation Points that match the given criteria for a given Fund. # noqa: E501
3191
+ This method makes a synchronous HTTP request by default. To make an
3192
+ asynchronous HTTP request, please pass async_req=True
3193
+
3194
+ >>> thread = api.list_valuation_point_overview_with_http_info(scope, code, effective_at, as_at, page, limit, filter, property_keys, async_req=True)
3195
+ >>> result = thread.get()
3196
+
3197
+ :param scope: The scope of the Fund. (required)
3198
+ :type scope: str
3199
+ :param code: The code of the Fund. (required)
3200
+ :type code: str
3201
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the ValuationPoints. Defaults to the current LUSID system datetime if not specified.
3202
+ :type effective_at: str
3203
+ :param as_at: The asAt datetime at which to list the ValuationPoints. Defaults to returning the latest version of each ValuationPoint if not specified.
3204
+ :type as_at: datetime
3205
+ :param page: The pagination token to use to continue listing ValuationPoints; 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.
3206
+ :type page: str
3207
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3208
+ :type limit: int
3209
+ :param filter: Expression to filter the results by. For example, to filter on the NAV, specify \"NAV gt 300\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3210
+ :type filter: str
3211
+ :param property_keys: A list of property keys from the 'DiaryEntry' domain to decorate onto each ValuationPoint. These must take the format {domain}/{scope}/{code}, for example 'DiaryEntry/ValuationPoint/Id'.
3212
+ :type property_keys: List[str]
3213
+ :param async_req: Whether to execute the request asynchronously.
3214
+ :type async_req: bool, optional
3215
+ :param _preload_content: if False, the ApiResponse.data will
3216
+ be set to none and raw_data will store the
3217
+ HTTP response body without reading/decoding.
3218
+ Default is True.
3219
+ :type _preload_content: bool, optional
3220
+ :param _return_http_data_only: response data instead of ApiResponse
3221
+ object with status code, headers, etc
3222
+ :type _return_http_data_only: bool, optional
3223
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3224
+ :param opts: Configuration options for this request
3225
+ :type opts: ConfigurationOptions, optional
3226
+ :param _request_auth: set to override the auth_settings for an a single
3227
+ request; this effectively ignores the authentication
3228
+ in the spec for a single request.
3229
+ :type _request_auth: dict, optional
3230
+ :type _content_type: string, optional: force content-type for the request
3231
+ :return: Returns the result object.
3232
+ If the method is called asynchronously,
3233
+ returns the request thread.
3234
+ :rtype: tuple(PagedResourceListOfValuationPointOverview, status_code(int), headers(HTTPHeaderDict))
3235
+ """
3236
+
3237
+ _params = locals()
3238
+
3239
+ _all_params = [
3240
+ 'scope',
3241
+ 'code',
3242
+ 'effective_at',
3243
+ 'as_at',
3244
+ 'page',
3245
+ 'limit',
3246
+ 'filter',
3247
+ 'property_keys'
3248
+ ]
3249
+ _all_params.extend(
3250
+ [
3251
+ 'async_req',
3252
+ '_return_http_data_only',
3253
+ '_preload_content',
3254
+ '_request_timeout',
3255
+ '_request_auth',
3256
+ '_content_type',
3257
+ '_headers',
3258
+ 'opts'
3259
+ ]
3260
+ )
3261
+
3262
+ # validate the arguments
3263
+ for _key, _val in _params['kwargs'].items():
3264
+ if _key not in _all_params:
3265
+ raise ApiTypeError(
3266
+ "Got an unexpected keyword argument '%s'"
3267
+ " to method list_valuation_point_overview" % _key
3268
+ )
3269
+ _params[_key] = _val
3270
+ del _params['kwargs']
3271
+
3272
+ _collection_formats = {}
3273
+
3274
+ # process the path parameters
3275
+ _path_params = {}
3276
+ if _params['scope']:
3277
+ _path_params['scope'] = _params['scope']
3278
+
3279
+ if _params['code']:
3280
+ _path_params['code'] = _params['code']
3281
+
3282
+
3283
+ # process the query parameters
3284
+ _query_params = []
3285
+ if _params.get('effective_at') is not None: # noqa: E501
3286
+ _query_params.append(('effectiveAt', _params['effective_at']))
3287
+
3288
+ if _params.get('as_at') is not None: # noqa: E501
3289
+ if isinstance(_params['as_at'], datetime):
3290
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
3291
+ else:
3292
+ _query_params.append(('asAt', _params['as_at']))
3293
+
3294
+ if _params.get('page') is not None: # noqa: E501
3295
+ _query_params.append(('page', _params['page']))
3296
+
3297
+ if _params.get('limit') is not None: # noqa: E501
3298
+ _query_params.append(('limit', _params['limit']))
3299
+
3300
+ if _params.get('filter') is not None: # noqa: E501
3301
+ _query_params.append(('filter', _params['filter']))
3302
+
3303
+ if _params.get('property_keys') is not None: # noqa: E501
3304
+ _query_params.append(('propertyKeys', _params['property_keys']))
3305
+ _collection_formats['propertyKeys'] = 'multi'
3306
+
3307
+ # process the header parameters
3308
+ _header_params = dict(_params.get('_headers', {}))
3309
+ # process the form parameters
3310
+ _form_params = []
3311
+ _files = {}
3312
+ # process the body parameter
3313
+ _body_params = None
3314
+ # set the HTTP header `Accept`
3315
+ _header_params['Accept'] = self.api_client.select_header_accept(
3316
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3317
+
3318
+ # authentication setting
3319
+ _auth_settings = ['oauth2'] # noqa: E501
3320
+
3321
+ _response_types_map = {
3322
+ '200': "PagedResourceListOfValuationPointOverview",
3323
+ '400': "LusidValidationProblemDetails",
3324
+ }
3325
+
3326
+ return self.api_client.call_api(
3327
+ '/api/funds/{scope}/{code}/valuationPointOverview', 'GET',
3328
+ _path_params,
3329
+ _query_params,
3330
+ _header_params,
3331
+ body=_body_params,
3332
+ post_params=_form_params,
3333
+ files=_files,
3334
+ response_types_map=_response_types_map,
3335
+ auth_settings=_auth_settings,
3336
+ async_req=_params.get('async_req'),
3337
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3338
+ _preload_content=_params.get('_preload_content', True),
3339
+ _request_timeout=_params.get('_request_timeout'),
3340
+ opts=_params.get('opts'),
3341
+ collection_formats=_collection_formats,
3342
+ _request_auth=_params.get('_request_auth'))
3343
+
3344
+ @overload
3345
+ 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
3346
+ ...
3347
+
3348
+ @overload
3349
+ 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
3350
+ ...
3351
+
3352
+ @validate_arguments
3353
+ 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
3354
+ """[EXPERIMENTAL] PatchFee: Patch Fee. # noqa: E501
3355
+
3356
+ 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
3357
+ This method makes a synchronous HTTP request by default. To make an
3358
+ asynchronous HTTP request, please pass async_req=True
3359
+
3360
+ >>> thread = api.patch_fee(scope, code, fee_code, operation, async_req=True)
3361
+ >>> result = thread.get()
3362
+
3363
+ :param scope: The scope of the Fund. (required)
3364
+ :type scope: str
3365
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3366
+ :type code: str
3367
+ :param fee_code: The code of the Fee. (required)
3368
+ :type fee_code: str
3369
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
3370
+ :type operation: List[Operation]
3371
+ :param async_req: Whether to execute the request asynchronously.
3372
+ :type async_req: bool, optional
3373
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3374
+ :param opts: Configuration options for this request
3375
+ :type opts: ConfigurationOptions, optional
3376
+ :return: Returns the result object.
3377
+ If the method is called asynchronously,
3378
+ returns the request thread.
3379
+ :rtype: Fee
3380
+ """
3381
+ kwargs['_return_http_data_only'] = True
3382
+ if '_preload_content' in kwargs:
3383
+ 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
3384
+ raise ValueError(message)
3385
+ if async_req is not None:
3386
+ kwargs['async_req'] = async_req
3387
+ return self.patch_fee_with_http_info(scope, code, fee_code, operation, **kwargs) # noqa: E501
3388
+
3389
+ @validate_arguments
3390
+ 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
3391
+ """[EXPERIMENTAL] PatchFee: Patch Fee. # noqa: E501
3392
+
3393
+ 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
3394
+ This method makes a synchronous HTTP request by default. To make an
3395
+ asynchronous HTTP request, please pass async_req=True
3396
+
3397
+ >>> thread = api.patch_fee_with_http_info(scope, code, fee_code, operation, async_req=True)
3398
+ >>> result = thread.get()
3399
+
3400
+ :param scope: The scope of the Fund. (required)
3401
+ :type scope: str
3402
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3403
+ :type code: str
3404
+ :param fee_code: The code of the Fee. (required)
3405
+ :type fee_code: str
3406
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
3407
+ :type operation: List[Operation]
3408
+ :param async_req: Whether to execute the request asynchronously.
3409
+ :type async_req: bool, optional
3410
+ :param _preload_content: if False, the ApiResponse.data will
3411
+ be set to none and raw_data will store the
3412
+ HTTP response body without reading/decoding.
3413
+ Default is True.
3414
+ :type _preload_content: bool, optional
3415
+ :param _return_http_data_only: response data instead of ApiResponse
3416
+ object with status code, headers, etc
3417
+ :type _return_http_data_only: bool, optional
3418
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3419
+ :param opts: Configuration options for this request
3420
+ :type opts: ConfigurationOptions, optional
3421
+ :param _request_auth: set to override the auth_settings for an a single
3422
+ request; this effectively ignores the authentication
3423
+ in the spec for a single request.
3424
+ :type _request_auth: dict, optional
3425
+ :type _content_type: string, optional: force content-type for the request
3426
+ :return: Returns the result object.
3427
+ If the method is called asynchronously,
3428
+ returns the request thread.
3429
+ :rtype: tuple(Fee, status_code(int), headers(HTTPHeaderDict))
3430
+ """
3431
+
3432
+ _params = locals()
3433
+
3434
+ _all_params = [
3435
+ 'scope',
3436
+ 'code',
3437
+ 'fee_code',
3438
+ 'operation'
3439
+ ]
3440
+ _all_params.extend(
3441
+ [
3442
+ 'async_req',
3443
+ '_return_http_data_only',
3444
+ '_preload_content',
3445
+ '_request_timeout',
3446
+ '_request_auth',
3447
+ '_content_type',
3448
+ '_headers',
3449
+ 'opts'
3450
+ ]
3451
+ )
3452
+
3453
+ # validate the arguments
3454
+ for _key, _val in _params['kwargs'].items():
3455
+ if _key not in _all_params:
3456
+ raise ApiTypeError(
3457
+ "Got an unexpected keyword argument '%s'"
3458
+ " to method patch_fee" % _key
3459
+ )
3460
+ _params[_key] = _val
3461
+ del _params['kwargs']
3462
+
3463
+ _collection_formats = {}
3464
+
3465
+ # process the path parameters
3466
+ _path_params = {}
3467
+ if _params['scope']:
3468
+ _path_params['scope'] = _params['scope']
3469
+
3470
+ if _params['code']:
3471
+ _path_params['code'] = _params['code']
3472
+
3473
+ if _params['fee_code']:
3474
+ _path_params['feeCode'] = _params['fee_code']
3475
+
3476
+
3477
+ # process the query parameters
3478
+ _query_params = []
3479
+ # process the header parameters
3480
+ _header_params = dict(_params.get('_headers', {}))
3481
+ # process the form parameters
3482
+ _form_params = []
3483
+ _files = {}
3484
+ # process the body parameter
3485
+ _body_params = None
3486
+ if _params['operation'] is not None:
3487
+ _body_params = _params['operation']
3488
+
3489
+ # set the HTTP header `Accept`
3490
+ _header_params['Accept'] = self.api_client.select_header_accept(
3491
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3492
+
3493
+ # set the HTTP header `Content-Type`
3494
+ _content_types_list = _params.get('_content_type',
3495
+ self.api_client.select_header_content_type(
3496
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3497
+ if _content_types_list:
3498
+ _header_params['Content-Type'] = _content_types_list
3499
+
3500
+ # authentication setting
3501
+ _auth_settings = ['oauth2'] # noqa: E501
3502
+
3503
+ _response_types_map = {
3504
+ '200': "Fee",
3505
+ '400': "LusidValidationProblemDetails",
3506
+ }
3507
+
3508
+ return self.api_client.call_api(
3509
+ '/api/funds/{scope}/{code}/fees/{feeCode}', 'PATCH',
3510
+ _path_params,
3511
+ _query_params,
3512
+ _header_params,
3513
+ body=_body_params,
3514
+ post_params=_form_params,
3515
+ files=_files,
3516
+ response_types_map=_response_types_map,
3517
+ auth_settings=_auth_settings,
3518
+ async_req=_params.get('async_req'),
3519
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3520
+ _preload_content=_params.get('_preload_content', True),
3521
+ _request_timeout=_params.get('_request_timeout'),
3522
+ opts=_params.get('opts'),
3523
+ collection_formats=_collection_formats,
3524
+ _request_auth=_params.get('_request_auth'))
3525
+
3526
+ @overload
3527
+ async def patch_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.")], operation : Annotated[conlist(Operation), Field(..., description="The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902.")], **kwargs) -> Fund: # noqa: E501
3528
+ ...
3529
+
3530
+ @overload
3531
+ def patch_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.")], 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) -> Fund: # noqa: E501
3532
+ ...
3533
+
3534
+ @validate_arguments
3535
+ def patch_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.")], 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[Fund, Awaitable[Fund]]: # noqa: E501
3536
+ """[EXPERIMENTAL] PatchFund: Patch a Fund. # noqa: E501
3537
+
3538
+ Update fields on a Fund. The behaviour is defined by the JSON Patch specification. Currently supported fields are: DisplayName, Description, FundConfigurationId, AborId, ShareClassInstrumentScopes, ShareClassInstruments, InceptionDate, DecimalPlaces, YearEndDate. # noqa: E501
3539
+ This method makes a synchronous HTTP request by default. To make an
3540
+ asynchronous HTTP request, please pass async_req=True
3541
+
3542
+ >>> thread = api.patch_fund(scope, code, operation, async_req=True)
3543
+ >>> result = thread.get()
3544
+
3545
+ :param scope: The scope of the Fund. (required)
3546
+ :type scope: str
3547
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3548
+ :type code: str
3549
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
3550
+ :type operation: List[Operation]
3551
+ :param async_req: Whether to execute the request asynchronously.
3552
+ :type async_req: bool, optional
3553
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3554
+ :param opts: Configuration options for this request
3555
+ :type opts: ConfigurationOptions, optional
3556
+ :return: Returns the result object.
3557
+ If the method is called asynchronously,
3558
+ returns the request thread.
3559
+ :rtype: Fund
3560
+ """
3561
+ kwargs['_return_http_data_only'] = True
3562
+ if '_preload_content' in kwargs:
3563
+ message = "Error! Please call the patch_fund_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3564
+ raise ValueError(message)
3565
+ if async_req is not None:
3566
+ kwargs['async_req'] = async_req
3567
+ return self.patch_fund_with_http_info(scope, code, operation, **kwargs) # noqa: E501
3568
+
3569
+ @validate_arguments
3570
+ def patch_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.")], 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
3571
+ """[EXPERIMENTAL] PatchFund: Patch a Fund. # noqa: E501
3572
+
3573
+ Update fields on a Fund. The behaviour is defined by the JSON Patch specification. Currently supported fields are: DisplayName, Description, FundConfigurationId, AborId, ShareClassInstrumentScopes, ShareClassInstruments, InceptionDate, DecimalPlaces, YearEndDate. # noqa: E501
3574
+ This method makes a synchronous HTTP request by default. To make an
3575
+ asynchronous HTTP request, please pass async_req=True
3576
+
3577
+ >>> thread = api.patch_fund_with_http_info(scope, code, operation, async_req=True)
3578
+ >>> result = thread.get()
3579
+
3580
+ :param scope: The scope of the Fund. (required)
3581
+ :type scope: str
3582
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3583
+ :type code: str
3584
+ :param operation: The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required)
3585
+ :type operation: List[Operation]
3586
+ :param async_req: Whether to execute the request asynchronously.
3587
+ :type async_req: bool, optional
3588
+ :param _preload_content: if False, the ApiResponse.data will
3589
+ be set to none and raw_data will store the
3590
+ HTTP response body without reading/decoding.
3591
+ Default is True.
3592
+ :type _preload_content: bool, optional
3593
+ :param _return_http_data_only: response data instead of ApiResponse
3594
+ object with status code, headers, etc
3595
+ :type _return_http_data_only: bool, optional
3596
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3597
+ :param opts: Configuration options for this request
3598
+ :type opts: ConfigurationOptions, optional
3599
+ :param _request_auth: set to override the auth_settings for an a single
3600
+ request; this effectively ignores the authentication
3601
+ in the spec for a single request.
3602
+ :type _request_auth: dict, optional
3603
+ :type _content_type: string, optional: force content-type for the request
3604
+ :return: Returns the result object.
3605
+ If the method is called asynchronously,
3606
+ returns the request thread.
3607
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
3608
+ """
3609
+
3610
+ _params = locals()
3611
+
3612
+ _all_params = [
3613
+ 'scope',
3614
+ 'code',
3615
+ 'operation'
3616
+ ]
3617
+ _all_params.extend(
3618
+ [
3619
+ 'async_req',
3620
+ '_return_http_data_only',
3621
+ '_preload_content',
3622
+ '_request_timeout',
3623
+ '_request_auth',
3624
+ '_content_type',
3625
+ '_headers',
3626
+ 'opts'
3627
+ ]
3628
+ )
3629
+
3630
+ # validate the arguments
3631
+ for _key, _val in _params['kwargs'].items():
3632
+ if _key not in _all_params:
3633
+ raise ApiTypeError(
3634
+ "Got an unexpected keyword argument '%s'"
3635
+ " to method patch_fund" % _key
3636
+ )
3637
+ _params[_key] = _val
3638
+ del _params['kwargs']
3639
+
3640
+ _collection_formats = {}
3641
+
3642
+ # process the path parameters
3643
+ _path_params = {}
3644
+ if _params['scope']:
3645
+ _path_params['scope'] = _params['scope']
3646
+
3647
+ if _params['code']:
3648
+ _path_params['code'] = _params['code']
3649
+
3650
+
3651
+ # process the query parameters
3652
+ _query_params = []
3653
+ # process the header parameters
3654
+ _header_params = dict(_params.get('_headers', {}))
3655
+ # process the form parameters
3656
+ _form_params = []
3657
+ _files = {}
3658
+ # process the body parameter
3659
+ _body_params = None
3660
+ if _params['operation'] is not None:
3661
+ _body_params = _params['operation']
3662
+
3663
+ # set the HTTP header `Accept`
3664
+ _header_params['Accept'] = self.api_client.select_header_accept(
3665
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3666
+
3667
+ # set the HTTP header `Content-Type`
3668
+ _content_types_list = _params.get('_content_type',
3669
+ self.api_client.select_header_content_type(
3670
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3671
+ if _content_types_list:
3672
+ _header_params['Content-Type'] = _content_types_list
3673
+
3674
+ # authentication setting
3675
+ _auth_settings = ['oauth2'] # noqa: E501
3676
+
3677
+ _response_types_map = {
3678
+ '200': "Fund",
3679
+ '400': "LusidValidationProblemDetails",
3680
+ }
3681
+
3682
+ return self.api_client.call_api(
3683
+ '/api/funds/{scope}/{code}', 'PATCH',
3684
+ _path_params,
3685
+ _query_params,
3686
+ _header_params,
3687
+ body=_body_params,
3688
+ post_params=_form_params,
3689
+ files=_files,
3690
+ response_types_map=_response_types_map,
3691
+ auth_settings=_auth_settings,
3692
+ async_req=_params.get('async_req'),
3693
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3694
+ _preload_content=_params.get('_preload_content', True),
3695
+ _request_timeout=_params.get('_request_timeout'),
3696
+ opts=_params.get('opts'),
3697
+ collection_formats=_collection_formats,
3698
+ _request_auth=_params.get('_request_auth'))
3699
+
3700
+ @overload
3701
+ 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
3702
+ ...
3703
+
3704
+ @overload
3705
+ 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.")], async_req: Optional[bool]=True, **kwargs) -> Fund: # noqa: E501
3706
+ ...
3707
+
3708
+ @validate_arguments
3709
+ 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.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fund, Awaitable[Fund]]: # noqa: E501
3710
+ """[EXPERIMENTAL] SetShareClassInstruments: Set the ShareClass Instruments on a fund. # noqa: E501
3711
+
3712
+ Update the ShareClass Instruments on an existing fund with the set of instruments provided. # noqa: E501
3713
+ This method makes a synchronous HTTP request by default. To make an
3714
+ asynchronous HTTP request, please pass async_req=True
3715
+
3716
+ >>> thread = api.set_share_class_instruments(scope, code, set_share_class_instruments_request, async_req=True)
3717
+ >>> result = thread.get()
3718
+
3719
+ :param scope: The scope of the Fund. (required)
3720
+ :type scope: str
3721
+ :param code: The code of the Fund. (required)
3722
+ :type code: str
3723
+ :param set_share_class_instruments_request: The scopes and instrument identifiers for the instruments to be set. (required)
3724
+ :type set_share_class_instruments_request: SetShareClassInstrumentsRequest
3725
+ :param async_req: Whether to execute the request asynchronously.
3726
+ :type async_req: bool, optional
3727
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3728
+ :param opts: Configuration options for this request
3729
+ :type opts: ConfigurationOptions, optional
3730
+ :return: Returns the result object.
3731
+ If the method is called asynchronously,
3732
+ returns the request thread.
3733
+ :rtype: Fund
3734
+ """
3735
+ kwargs['_return_http_data_only'] = True
3736
+ if '_preload_content' in kwargs:
3737
+ message = "Error! Please call the set_share_class_instruments_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3738
+ raise ValueError(message)
3739
+ if async_req is not None:
3740
+ kwargs['async_req'] = async_req
3741
+ return self.set_share_class_instruments_with_http_info(scope, code, set_share_class_instruments_request, **kwargs) # noqa: E501
3742
+
3743
+ @validate_arguments
3744
+ def set_share_class_instruments_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.")], set_share_class_instruments_request : Annotated[SetShareClassInstrumentsRequest, Field(..., description="The scopes and instrument identifiers for the instruments to be set.")], **kwargs) -> ApiResponse: # noqa: E501
3745
+ """[EXPERIMENTAL] SetShareClassInstruments: Set the ShareClass Instruments on a fund. # noqa: E501
3746
+
3747
+ Update the ShareClass Instruments on an existing fund with the set of instruments provided. # noqa: E501
3748
+ This method makes a synchronous HTTP request by default. To make an
3749
+ asynchronous HTTP request, please pass async_req=True
3750
+
3751
+ >>> thread = api.set_share_class_instruments_with_http_info(scope, code, set_share_class_instruments_request, async_req=True)
3752
+ >>> result = thread.get()
3753
+
3754
+ :param scope: The scope of the Fund. (required)
3755
+ :type scope: str
3756
+ :param code: The code of the Fund. (required)
3757
+ :type code: str
3758
+ :param set_share_class_instruments_request: The scopes and instrument identifiers for the instruments to be set. (required)
3759
+ :type set_share_class_instruments_request: SetShareClassInstrumentsRequest
3760
+ :param async_req: Whether to execute the request asynchronously.
3761
+ :type async_req: bool, optional
3762
+ :param _preload_content: if False, the ApiResponse.data will
3763
+ be set to none and raw_data will store the
3764
+ HTTP response body without reading/decoding.
3765
+ Default is True.
3766
+ :type _preload_content: bool, optional
3767
+ :param _return_http_data_only: response data instead of ApiResponse
3768
+ object with status code, headers, etc
3769
+ :type _return_http_data_only: bool, optional
3770
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3771
+ :param opts: Configuration options for this request
3772
+ :type opts: ConfigurationOptions, optional
3773
+ :param _request_auth: set to override the auth_settings for an a single
3774
+ request; this effectively ignores the authentication
3775
+ in the spec for a single request.
3776
+ :type _request_auth: dict, optional
3777
+ :type _content_type: string, optional: force content-type for the request
3778
+ :return: Returns the result object.
3779
+ If the method is called asynchronously,
3780
+ returns the request thread.
3781
+ :rtype: tuple(Fund, status_code(int), headers(HTTPHeaderDict))
3782
+ """
3783
+
3784
+ _params = locals()
3785
+
3786
+ _all_params = [
3787
+ 'scope',
3788
+ 'code',
3789
+ 'set_share_class_instruments_request'
3790
+ ]
3791
+ _all_params.extend(
3792
+ [
3793
+ 'async_req',
3794
+ '_return_http_data_only',
3795
+ '_preload_content',
3796
+ '_request_timeout',
3797
+ '_request_auth',
3798
+ '_content_type',
3799
+ '_headers',
3800
+ 'opts'
3801
+ ]
3802
+ )
3803
+
3804
+ # validate the arguments
3805
+ for _key, _val in _params['kwargs'].items():
3806
+ if _key not in _all_params:
3807
+ raise ApiTypeError(
3808
+ "Got an unexpected keyword argument '%s'"
3809
+ " to method set_share_class_instruments" % _key
3810
+ )
3811
+ _params[_key] = _val
3812
+ del _params['kwargs']
3813
+
3814
+ _collection_formats = {}
3815
+
3816
+ # process the path parameters
3817
+ _path_params = {}
3818
+ if _params['scope']:
3819
+ _path_params['scope'] = _params['scope']
3820
+
3821
+ if _params['code']:
3822
+ _path_params['code'] = _params['code']
3823
+
3824
+
3825
+ # process the query parameters
3826
+ _query_params = []
3827
+ # process the header parameters
3828
+ _header_params = dict(_params.get('_headers', {}))
3829
+ # process the form parameters
3830
+ _form_params = []
3831
+ _files = {}
3832
+ # process the body parameter
3833
+ _body_params = None
3834
+ if _params['set_share_class_instruments_request'] is not None:
3835
+ _body_params = _params['set_share_class_instruments_request']
3836
+
3837
+ # set the HTTP header `Accept`
3838
+ _header_params['Accept'] = self.api_client.select_header_accept(
3839
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3840
+
3841
+ # set the HTTP header `Content-Type`
3842
+ _content_types_list = _params.get('_content_type',
3843
+ self.api_client.select_header_content_type(
3844
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3845
+ if _content_types_list:
3846
+ _header_params['Content-Type'] = _content_types_list
3847
+
3848
+ # authentication setting
3849
+ _auth_settings = ['oauth2'] # noqa: E501
3850
+
3851
+ _response_types_map = {
3852
+ '201': "Fund",
3853
+ '400': "LusidValidationProblemDetails",
3854
+ }
3855
+
3856
+ return self.api_client.call_api(
3857
+ '/api/funds/{scope}/{code}/shareclasses', 'PUT',
3858
+ _path_params,
3859
+ _query_params,
3860
+ _header_params,
3861
+ body=_body_params,
3862
+ post_params=_form_params,
3863
+ files=_files,
3864
+ response_types_map=_response_types_map,
3865
+ auth_settings=_auth_settings,
3866
+ async_req=_params.get('async_req'),
3867
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3868
+ _preload_content=_params.get('_preload_content', True),
3869
+ _request_timeout=_params.get('_request_timeout'),
3870
+ opts=_params.get('opts'),
3871
+ collection_formats=_collection_formats,
3872
+ _request_auth=_params.get('_request_auth'))
3873
+
3874
+ @overload
3875
+ async def upsert_diary_entry_type_valuation_point(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.")], upsert_valuation_point_request : Annotated[UpsertValuationPointRequest, Field(..., description="The Valuation Point Estimate definition to Upsert")], **kwargs) -> DiaryEntry: # noqa: E501
3876
+ ...
3877
+
3878
+ @overload
3879
+ def upsert_diary_entry_type_valuation_point(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.")], upsert_valuation_point_request : Annotated[UpsertValuationPointRequest, Field(..., description="The Valuation Point Estimate definition to Upsert")], async_req: Optional[bool]=True, **kwargs) -> DiaryEntry: # noqa: E501
3880
+ ...
3881
+
3882
+ @validate_arguments
3883
+ def upsert_diary_entry_type_valuation_point(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.")], upsert_valuation_point_request : Annotated[UpsertValuationPointRequest, Field(..., description="The Valuation Point Estimate definition to Upsert")], async_req: Optional[bool]=None, **kwargs) -> Union[DiaryEntry, Awaitable[DiaryEntry]]: # noqa: E501
3884
+ """[EXPERIMENTAL] UpsertDiaryEntryTypeValuationPoint: Upsert Valuation Point. # noqa: E501
3885
+
3886
+ Update or insert the estimate Valuation Point. If the Valuation Point does not exist, this method will create it in estimate state. If the Valuation Point already exists and is in estimate state, the Valuation Point will be updated with the newly specified information in this request. # noqa: E501
3887
+ This method makes a synchronous HTTP request by default. To make an
3888
+ asynchronous HTTP request, please pass async_req=True
3889
+
3890
+ >>> thread = api.upsert_diary_entry_type_valuation_point(scope, code, upsert_valuation_point_request, async_req=True)
3891
+ >>> result = thread.get()
3892
+
3893
+ :param scope: The scope of the Fund. (required)
3894
+ :type scope: str
3895
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3896
+ :type code: str
3897
+ :param upsert_valuation_point_request: The Valuation Point Estimate definition to Upsert (required)
3898
+ :type upsert_valuation_point_request: UpsertValuationPointRequest
3899
+ :param async_req: Whether to execute the request asynchronously.
3900
+ :type async_req: bool, optional
3901
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3902
+ :param opts: Configuration options for this request
3903
+ :type opts: ConfigurationOptions, optional
3904
+ :return: Returns the result object.
3905
+ If the method is called asynchronously,
3906
+ returns the request thread.
3907
+ :rtype: DiaryEntry
3908
+ """
3909
+ kwargs['_return_http_data_only'] = True
3910
+ if '_preload_content' in kwargs:
3911
+ message = "Error! Please call the upsert_diary_entry_type_valuation_point_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3912
+ raise ValueError(message)
3913
+ if async_req is not None:
3914
+ kwargs['async_req'] = async_req
3915
+ return self.upsert_diary_entry_type_valuation_point_with_http_info(scope, code, upsert_valuation_point_request, **kwargs) # noqa: E501
3916
+
3917
+ @validate_arguments
3918
+ def upsert_diary_entry_type_valuation_point_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.")], upsert_valuation_point_request : Annotated[UpsertValuationPointRequest, Field(..., description="The Valuation Point Estimate definition to Upsert")], **kwargs) -> ApiResponse: # noqa: E501
3919
+ """[EXPERIMENTAL] UpsertDiaryEntryTypeValuationPoint: Upsert Valuation Point. # noqa: E501
3920
+
3921
+ Update or insert the estimate Valuation Point. If the Valuation Point does not exist, this method will create it in estimate state. If the Valuation Point already exists and is in estimate state, the Valuation Point will be updated with the newly specified information in this request. # noqa: E501
3922
+ This method makes a synchronous HTTP request by default. To make an
3923
+ asynchronous HTTP request, please pass async_req=True
3924
+
3925
+ >>> thread = api.upsert_diary_entry_type_valuation_point_with_http_info(scope, code, upsert_valuation_point_request, async_req=True)
3926
+ >>> result = thread.get()
3927
+
3928
+ :param scope: The scope of the Fund. (required)
3929
+ :type scope: str
3930
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
3931
+ :type code: str
3932
+ :param upsert_valuation_point_request: The Valuation Point Estimate definition to Upsert (required)
3933
+ :type upsert_valuation_point_request: UpsertValuationPointRequest
3934
+ :param async_req: Whether to execute the request asynchronously.
3935
+ :type async_req: bool, optional
3936
+ :param _preload_content: if False, the ApiResponse.data will
3937
+ be set to none and raw_data will store the
3938
+ HTTP response body without reading/decoding.
3939
+ Default is True.
3940
+ :type _preload_content: bool, optional
3941
+ :param _return_http_data_only: response data instead of ApiResponse
3942
+ object with status code, headers, etc
3943
+ :type _return_http_data_only: bool, optional
3944
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
3945
+ :param opts: Configuration options for this request
3946
+ :type opts: ConfigurationOptions, optional
3947
+ :param _request_auth: set to override the auth_settings for an a single
3948
+ request; this effectively ignores the authentication
3949
+ in the spec for a single request.
3950
+ :type _request_auth: dict, optional
3951
+ :type _content_type: string, optional: force content-type for the request
3952
+ :return: Returns the result object.
3953
+ If the method is called asynchronously,
3954
+ returns the request thread.
3955
+ :rtype: tuple(DiaryEntry, status_code(int), headers(HTTPHeaderDict))
3956
+ """
3957
+
3958
+ _params = locals()
3959
+
3960
+ _all_params = [
3961
+ 'scope',
3962
+ 'code',
3963
+ 'upsert_valuation_point_request'
3964
+ ]
3965
+ _all_params.extend(
3966
+ [
3967
+ 'async_req',
3968
+ '_return_http_data_only',
3969
+ '_preload_content',
3970
+ '_request_timeout',
3971
+ '_request_auth',
3972
+ '_content_type',
3973
+ '_headers',
3974
+ 'opts'
3975
+ ]
3976
+ )
3977
+
3978
+ # validate the arguments
3979
+ for _key, _val in _params['kwargs'].items():
3980
+ if _key not in _all_params:
3981
+ raise ApiTypeError(
3982
+ "Got an unexpected keyword argument '%s'"
3983
+ " to method upsert_diary_entry_type_valuation_point" % _key
3984
+ )
3985
+ _params[_key] = _val
3986
+ del _params['kwargs']
3987
+
3988
+ _collection_formats = {}
3989
+
3990
+ # process the path parameters
3991
+ _path_params = {}
3992
+ if _params['scope']:
3993
+ _path_params['scope'] = _params['scope']
3994
+
3995
+ if _params['code']:
3996
+ _path_params['code'] = _params['code']
3997
+
3998
+
3999
+ # process the query parameters
4000
+ _query_params = []
4001
+ # process the header parameters
4002
+ _header_params = dict(_params.get('_headers', {}))
4003
+ # process the form parameters
4004
+ _form_params = []
4005
+ _files = {}
4006
+ # process the body parameter
4007
+ _body_params = None
4008
+ if _params['upsert_valuation_point_request'] is not None:
4009
+ _body_params = _params['upsert_valuation_point_request']
4010
+
4011
+ # set the HTTP header `Accept`
4012
+ _header_params['Accept'] = self.api_client.select_header_accept(
4013
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
4014
+
4015
+ # set the HTTP header `Content-Type`
4016
+ _content_types_list = _params.get('_content_type',
4017
+ self.api_client.select_header_content_type(
4018
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4019
+ if _content_types_list:
4020
+ _header_params['Content-Type'] = _content_types_list
4021
+
4022
+ # authentication setting
4023
+ _auth_settings = ['oauth2'] # noqa: E501
4024
+
4025
+ _response_types_map = {
4026
+ '200': "DiaryEntry",
4027
+ '400': "LusidValidationProblemDetails",
4028
+ }
4029
+
4030
+ return self.api_client.call_api(
4031
+ '/api/funds/{scope}/{code}/valuationpoints', 'POST',
4032
+ _path_params,
4033
+ _query_params,
4034
+ _header_params,
4035
+ body=_body_params,
4036
+ post_params=_form_params,
4037
+ files=_files,
4038
+ response_types_map=_response_types_map,
4039
+ auth_settings=_auth_settings,
4040
+ async_req=_params.get('async_req'),
4041
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
4042
+ _preload_content=_params.get('_preload_content', True),
4043
+ _request_timeout=_params.get('_request_timeout'),
4044
+ opts=_params.get('opts'),
4045
+ collection_formats=_collection_formats,
4046
+ _request_auth=_params.get('_request_auth'))
4047
+
4048
+ @overload
4049
+ async def upsert_fee_properties(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 update or insert the properties onto.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".")] = None, **kwargs) -> FeeProperties: # noqa: E501
4050
+ ...
4051
+
4052
+ @overload
4053
+ def upsert_fee_properties(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 update or insert the properties onto.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".")] = None, async_req: Optional[bool]=True, **kwargs) -> FeeProperties: # noqa: E501
4054
+ ...
4055
+
4056
+ @validate_arguments
4057
+ def upsert_fee_properties(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 update or insert the properties onto.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[FeeProperties, Awaitable[FeeProperties]]: # noqa: E501
4058
+ """[EXPERIMENTAL] UpsertFeeProperties: Upsert Fee properties. # noqa: E501
4059
+
4060
+ Update or insert one or more properties onto a single Fee. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Fee'. Upserting a property that exists for an Fee, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
4061
+ This method makes a synchronous HTTP request by default. To make an
4062
+ asynchronous HTTP request, please pass async_req=True
4063
+
4064
+ >>> thread = api.upsert_fee_properties(scope, code, fee_code, request_body, async_req=True)
4065
+ >>> result = thread.get()
4066
+
4067
+ :param scope: The scope of the Fund. (required)
4068
+ :type scope: str
4069
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
4070
+ :type code: str
4071
+ :param fee_code: The code of the Fee to update or insert the properties onto. (required)
4072
+ :type fee_code: str
4073
+ :param request_body: The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".
4074
+ :type request_body: Dict[str, ModelProperty]
4075
+ :param async_req: Whether to execute the request asynchronously.
4076
+ :type async_req: bool, optional
4077
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
4078
+ :param opts: Configuration options for this request
4079
+ :type opts: ConfigurationOptions, optional
4080
+ :return: Returns the result object.
4081
+ If the method is called asynchronously,
4082
+ returns the request thread.
4083
+ :rtype: FeeProperties
4084
+ """
4085
+ kwargs['_return_http_data_only'] = True
4086
+ if '_preload_content' in kwargs:
4087
+ message = "Error! Please call the upsert_fee_properties_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
4088
+ raise ValueError(message)
4089
+ if async_req is not None:
4090
+ kwargs['async_req'] = async_req
4091
+ return self.upsert_fee_properties_with_http_info(scope, code, fee_code, request_body, **kwargs) # noqa: E501
4092
+
4093
+ @validate_arguments
4094
+ def upsert_fee_properties_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 update or insert the properties onto.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
4095
+ """[EXPERIMENTAL] UpsertFeeProperties: Upsert Fee properties. # noqa: E501
4096
+
4097
+ Update or insert one or more properties onto a single Fee. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Fee'. Upserting a property that exists for an Fee, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
4098
+ This method makes a synchronous HTTP request by default. To make an
4099
+ asynchronous HTTP request, please pass async_req=True
4100
+
4101
+ >>> thread = api.upsert_fee_properties_with_http_info(scope, code, fee_code, request_body, async_req=True)
4102
+ >>> result = thread.get()
4103
+
4104
+ :param scope: The scope of the Fund. (required)
4105
+ :type scope: str
4106
+ :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
4107
+ :type code: str
4108
+ :param fee_code: The code of the Fee to update or insert the properties onto. (required)
4109
+ :type fee_code: str
4110
+ :param request_body: The properties to be updated or inserted onto the Fee. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fee/Manager/Id\".
4111
+ :type request_body: Dict[str, ModelProperty]
4112
+ :param async_req: Whether to execute the request asynchronously.
4113
+ :type async_req: bool, optional
4114
+ :param _preload_content: if False, the ApiResponse.data will
4115
+ be set to none and raw_data will store the
4116
+ HTTP response body without reading/decoding.
4117
+ Default is True.
4118
+ :type _preload_content: bool, optional
4119
+ :param _return_http_data_only: response data instead of ApiResponse
4120
+ object with status code, headers, etc
4121
+ :type _return_http_data_only: bool, optional
4122
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
4123
+ :param opts: Configuration options for this request
4124
+ :type opts: ConfigurationOptions, optional
4125
+ :param _request_auth: set to override the auth_settings for an a single
4126
+ request; this effectively ignores the authentication
4127
+ in the spec for a single request.
4128
+ :type _request_auth: dict, optional
4129
+ :type _content_type: string, optional: force content-type for the request
4130
+ :return: Returns the result object.
4131
+ If the method is called asynchronously,
4132
+ returns the request thread.
4133
+ :rtype: tuple(FeeProperties, status_code(int), headers(HTTPHeaderDict))
4134
+ """
4135
+
4136
+ _params = locals()
4137
+
4138
+ _all_params = [
4139
+ 'scope',
4140
+ 'code',
4141
+ 'fee_code',
4142
+ 'request_body'
4143
+ ]
4144
+ _all_params.extend(
4145
+ [
4146
+ 'async_req',
4147
+ '_return_http_data_only',
4148
+ '_preload_content',
4149
+ '_request_timeout',
4150
+ '_request_auth',
4151
+ '_content_type',
4152
+ '_headers',
4153
+ 'opts'
4154
+ ]
4155
+ )
4156
+
4157
+ # validate the arguments
4158
+ for _key, _val in _params['kwargs'].items():
4159
+ if _key not in _all_params:
4160
+ raise ApiTypeError(
4161
+ "Got an unexpected keyword argument '%s'"
4162
+ " to method upsert_fee_properties" % _key
4163
+ )
4164
+ _params[_key] = _val
4165
+ del _params['kwargs']
4166
+
4167
+ _collection_formats = {}
4168
+
4169
+ # process the path parameters
4170
+ _path_params = {}
4171
+ if _params['scope']:
4172
+ _path_params['scope'] = _params['scope']
4173
+
4174
+ if _params['code']:
4175
+ _path_params['code'] = _params['code']
4176
+
4177
+ if _params['fee_code']:
4178
+ _path_params['feeCode'] = _params['fee_code']
4179
+
4180
+
4181
+ # process the query parameters
4182
+ _query_params = []
4183
+ # process the header parameters
4184
+ _header_params = dict(_params.get('_headers', {}))
4185
+ # process the form parameters
4186
+ _form_params = []
4187
+ _files = {}
4188
+ # process the body parameter
4189
+ _body_params = None
4190
+ if _params['request_body'] is not None:
4191
+ _body_params = _params['request_body']
4192
+
4193
+ # set the HTTP header `Accept`
4194
+ _header_params['Accept'] = self.api_client.select_header_accept(
4195
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
4196
+
4197
+ # set the HTTP header `Content-Type`
4198
+ _content_types_list = _params.get('_content_type',
4199
+ self.api_client.select_header_content_type(
4200
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4201
+ if _content_types_list:
4202
+ _header_params['Content-Type'] = _content_types_list
4203
+
4204
+ # authentication setting
4205
+ _auth_settings = ['oauth2'] # noqa: E501
4206
+
4207
+ _response_types_map = {
4208
+ '200': "FeeProperties",
4209
+ '400': "LusidValidationProblemDetails",
4210
+ }
4211
+
4212
+ return self.api_client.call_api(
4213
+ '/api/funds/{scope}/{code}/fees/{feeCode}/properties/$upsert', 'POST',
4214
+ _path_params,
4215
+ _query_params,
4216
+ _header_params,
4217
+ body=_body_params,
4218
+ post_params=_form_params,
4219
+ files=_files,
4220
+ response_types_map=_response_types_map,
4221
+ auth_settings=_auth_settings,
4222
+ async_req=_params.get('async_req'),
4223
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
4224
+ _preload_content=_params.get('_preload_content', True),
4225
+ _request_timeout=_params.get('_request_timeout'),
4226
+ opts=_params.get('opts'),
4227
+ collection_formats=_collection_formats,
4228
+ _request_auth=_params.get('_request_auth'))
4229
+
4230
+ @overload
4231
+ async def upsert_fund_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".")] = None, **kwargs) -> FundProperties: # noqa: E501
4232
+ ...
4233
+
4234
+ @overload
4235
+ def upsert_fund_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".")] = None, async_req: Optional[bool]=True, **kwargs) -> FundProperties: # noqa: E501
4236
+ ...
4237
+
4238
+ @validate_arguments
4239
+ def upsert_fund_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[FundProperties, Awaitable[FundProperties]]: # noqa: E501
4240
+ """[EXPERIMENTAL] UpsertFundProperties: Upsert Fund properties. # noqa: E501
4241
+
4242
+ Update or insert one or more properties onto a single Fund. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Fund'. Upserting a property that exists for an Fund, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
4243
+ This method makes a synchronous HTTP request by default. To make an
4244
+ asynchronous HTTP request, please pass async_req=True
4245
+
4246
+ >>> thread = api.upsert_fund_properties(scope, code, request_body, async_req=True)
4247
+ >>> result = thread.get()
4248
+
4249
+ :param scope: The scope of the Fund to update or insert the properties onto. (required)
4250
+ :type scope: str
4251
+ :param code: The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund. (required)
4252
+ :type code: str
4253
+ :param request_body: The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".
4254
+ :type request_body: Dict[str, ModelProperty]
4255
+ :param async_req: Whether to execute the request asynchronously.
4256
+ :type async_req: bool, optional
4257
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
4258
+ :param opts: Configuration options for this request
4259
+ :type opts: ConfigurationOptions, optional
4260
+ :return: Returns the result object.
4261
+ If the method is called asynchronously,
4262
+ returns the request thread.
4263
+ :rtype: FundProperties
4264
+ """
4265
+ kwargs['_return_http_data_only'] = True
4266
+ if '_preload_content' in kwargs:
4267
+ message = "Error! Please call the upsert_fund_properties_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
4268
+ raise ValueError(message)
4269
+ if async_req is not None:
4270
+ kwargs['async_req'] = async_req
4271
+ return self.upsert_fund_properties_with_http_info(scope, code, request_body, **kwargs) # noqa: E501
4272
+
4273
+ @validate_arguments
4274
+ def upsert_fund_properties_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
4275
+ """[EXPERIMENTAL] UpsertFundProperties: Upsert Fund properties. # noqa: E501
4276
+
4277
+ Update or insert one or more properties onto a single Fund. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Fund'. Upserting a property that exists for an Fund, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
4278
+ This method makes a synchronous HTTP request by default. To make an
4279
+ asynchronous HTTP request, please pass async_req=True
4280
+
4281
+ >>> thread = api.upsert_fund_properties_with_http_info(scope, code, request_body, async_req=True)
4282
+ >>> result = thread.get()
4283
+
4284
+ :param scope: The scope of the Fund to update or insert the properties onto. (required)
4285
+ :type scope: str
4286
+ :param code: The code of the Fund to update or insert the properties onto. Together with the scope this uniquely identifies the Fund. (required)
4287
+ :type code: str
4288
+ :param request_body: The properties to be updated or inserted onto the Fund. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Fund/Manager/Id\".
4289
+ :type request_body: Dict[str, ModelProperty]
4290
+ :param async_req: Whether to execute the request asynchronously.
4291
+ :type async_req: bool, optional
4292
+ :param _preload_content: if False, the ApiResponse.data will
4293
+ be set to none and raw_data will store the
4294
+ HTTP response body without reading/decoding.
4295
+ Default is True.
4296
+ :type _preload_content: bool, optional
4297
+ :param _return_http_data_only: response data instead of ApiResponse
4298
+ object with status code, headers, etc
4299
+ :type _return_http_data_only: bool, optional
4300
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
4301
+ :param opts: Configuration options for this request
4302
+ :type opts: ConfigurationOptions, optional
4303
+ :param _request_auth: set to override the auth_settings for an a single
4304
+ request; this effectively ignores the authentication
4305
+ in the spec for a single request.
4306
+ :type _request_auth: dict, optional
4307
+ :type _content_type: string, optional: force content-type for the request
4308
+ :return: Returns the result object.
4309
+ If the method is called asynchronously,
4310
+ returns the request thread.
4311
+ :rtype: tuple(FundProperties, status_code(int), headers(HTTPHeaderDict))
4312
+ """
4313
+
4314
+ _params = locals()
4315
+
4316
+ _all_params = [
4317
+ 'scope',
4318
+ 'code',
4319
+ 'request_body'
4320
+ ]
4321
+ _all_params.extend(
4322
+ [
4323
+ 'async_req',
4324
+ '_return_http_data_only',
4325
+ '_preload_content',
4326
+ '_request_timeout',
4327
+ '_request_auth',
4328
+ '_content_type',
4329
+ '_headers',
4330
+ 'opts'
4331
+ ]
4332
+ )
4333
+
4334
+ # validate the arguments
4335
+ for _key, _val in _params['kwargs'].items():
4336
+ if _key not in _all_params:
4337
+ raise ApiTypeError(
4338
+ "Got an unexpected keyword argument '%s'"
4339
+ " to method upsert_fund_properties" % _key
4340
+ )
4341
+ _params[_key] = _val
4342
+ del _params['kwargs']
4343
+
4344
+ _collection_formats = {}
4345
+
4346
+ # process the path parameters
4347
+ _path_params = {}
4348
+ if _params['scope']:
4349
+ _path_params['scope'] = _params['scope']
4350
+
4351
+ if _params['code']:
4352
+ _path_params['code'] = _params['code']
4353
+
4354
+
4355
+ # process the query parameters
4356
+ _query_params = []
4357
+ # process the header parameters
4358
+ _header_params = dict(_params.get('_headers', {}))
4359
+ # process the form parameters
4360
+ _form_params = []
4361
+ _files = {}
4362
+ # process the body parameter
4363
+ _body_params = None
4364
+ if _params['request_body'] is not None:
4365
+ _body_params = _params['request_body']
4366
+
4367
+ # set the HTTP header `Accept`
4368
+ _header_params['Accept'] = self.api_client.select_header_accept(
4369
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
4370
+
4371
+ # set the HTTP header `Content-Type`
4372
+ _content_types_list = _params.get('_content_type',
4373
+ self.api_client.select_header_content_type(
4374
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4375
+ if _content_types_list:
4376
+ _header_params['Content-Type'] = _content_types_list
4377
+
4378
+ # authentication setting
4379
+ _auth_settings = ['oauth2'] # noqa: E501
4380
+
4381
+ _response_types_map = {
4382
+ '200': "FundProperties",
4383
+ '400': "LusidValidationProblemDetails",
4384
+ }
4385
+
4386
+ return self.api_client.call_api(
4387
+ '/api/funds/{scope}/{code}/properties/$upsert', 'POST',
4388
+ _path_params,
4389
+ _query_params,
4390
+ _header_params,
4391
+ body=_body_params,
4392
+ post_params=_form_params,
4393
+ files=_files,
4394
+ response_types_map=_response_types_map,
4395
+ auth_settings=_auth_settings,
4396
+ async_req=_params.get('async_req'),
4397
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
4398
+ _preload_content=_params.get('_preload_content', True),
4399
+ _request_timeout=_params.get('_request_timeout'),
4400
+ opts=_params.get('opts'),
4401
+ collection_formats=_collection_formats,
4402
+ _request_auth=_params.get('_request_auth'))