lusid-sdk 2.0.50b0__py3-none-any.whl → 2.1.684__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1241) hide show
  1. lusid/__init__.py +1647 -15
  2. lusid/api/__init__.py +87 -0
  3. lusid/api/abor_api.py +807 -305
  4. lusid/api/abor_configuration_api.py +72 -70
  5. lusid/api/address_key_definition_api.py +30 -29
  6. lusid/api/aggregation_api.py +41 -40
  7. lusid/api/allocations_api.py +83 -71
  8. lusid/api/amortisation_rule_sets_api.py +1101 -0
  9. lusid/api/application_metadata_api.py +30 -29
  10. lusid/api/blocks_api.py +45 -44
  11. lusid/api/calendars_api.py +492 -142
  12. lusid/api/chart_of_accounts_api.py +2488 -644
  13. lusid/api/complex_market_data_api.py +41 -40
  14. lusid/api/compliance_api.py +1147 -444
  15. lusid/api/configuration_recipe_api.py +1237 -94
  16. lusid/api/conventions_api.py +111 -110
  17. lusid/api/corporate_action_sources_api.py +98 -97
  18. lusid/api/counterparties_api.py +75 -74
  19. lusid/api/custom_data_models_api.py +1043 -0
  20. lusid/api/custom_entities_api.py +116 -115
  21. lusid/api/custom_entity_definitions_api.py +39 -38
  22. lusid/api/custom_entity_types_api.py +39 -38
  23. lusid/api/cut_label_definitions_api.py +57 -64
  24. lusid/api/data_types_api.py +417 -97
  25. lusid/api/derived_transaction_portfolios_api.py +21 -20
  26. lusid/api/entities_api.py +1110 -13
  27. lusid/api/executions_api.py +49 -48
  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 +232 -42
  34. lusid/api/instruments_api.py +391 -211
  35. lusid/api/legacy_compliance_api.py +87 -86
  36. lusid/api/legal_entities_api.py +201 -200
  37. lusid/api/order_graph_api.py +46 -45
  38. lusid/api/order_instructions_api.py +45 -44
  39. lusid/api/order_management_api.py +1537 -67
  40. lusid/api/orders_api.py +58 -65
  41. lusid/api/packages_api.py +45 -44
  42. lusid/api/participations_api.py +39 -38
  43. lusid/api/persons_api.py +342 -182
  44. lusid/api/placements_api.py +51 -50
  45. lusid/api/portfolio_groups_api.py +263 -254
  46. lusid/api/portfolios_api.py +1343 -417
  47. lusid/api/property_definitions_api.py +304 -98
  48. lusid/api/queryable_keys_api.py +212 -0
  49. lusid/api/quotes_api.py +106 -121
  50. lusid/api/reconciliations_api.py +548 -2115
  51. lusid/api/reference_lists_api.py +41 -40
  52. lusid/api/reference_portfolio_api.py +215 -38
  53. lusid/api/relation_definitions_api.py +30 -29
  54. lusid/api/relations_api.py +22 -21
  55. lusid/api/relationship_definitions_api.py +48 -47
  56. lusid/api/relationships_api.py +23 -22
  57. lusid/api/schemas_api.py +46 -53
  58. lusid/api/scopes_api.py +192 -11
  59. lusid/api/scripted_translation_api.py +105 -102
  60. lusid/api/search_api.py +39 -38
  61. lusid/api/sequences_api.py +39 -38
  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 +90 -89
  66. lusid/api/system_configuration_api.py +66 -65
  67. lusid/api/tax_rule_sets_api.py +48 -47
  68. lusid/api/timelines_api.py +1307 -0
  69. lusid/api/transaction_configuration_api.py +124 -123
  70. lusid/api/transaction_fees_api.py +48 -47
  71. lusid/api/transaction_portfolios_api.py +1454 -925
  72. lusid/api/translation_api.py +21 -20
  73. lusid/api/workspace_api.py +3482 -0
  74. lusid/api_client.py +31 -20
  75. lusid/api_response.py +1 -1
  76. lusid/configuration.py +102 -8
  77. lusid/extensions/__init__.py +12 -7
  78. lusid/extensions/api_client.py +28 -18
  79. lusid/extensions/api_client_factory.py +168 -45
  80. lusid/extensions/api_configuration.py +172 -14
  81. lusid/extensions/configuration_loaders.py +117 -20
  82. lusid/extensions/configuration_options.py +67 -0
  83. lusid/extensions/file_access_token.py +42 -0
  84. lusid/extensions/proxy_config.py +8 -5
  85. lusid/extensions/rest.py +78 -26
  86. lusid/extensions/retry.py +109 -37
  87. lusid/extensions/socket_keep_alive.py +14 -15
  88. lusid/extensions/tcp_keep_alive_connector.py +93 -46
  89. lusid/models/__init__.py +1537 -14
  90. lusid/models/a2_b_breakdown.py +9 -1
  91. lusid/models/a2_b_category.py +9 -1
  92. lusid/models/a2_b_data_record.py +9 -1
  93. lusid/models/a2_b_movement_record.py +9 -1
  94. lusid/models/abor.py +18 -3
  95. lusid/models/abor_configuration.py +17 -9
  96. lusid/models/abor_configuration_properties.py +9 -1
  97. lusid/models/abor_configuration_request.py +18 -10
  98. lusid/models/abor_properties.py +9 -1
  99. lusid/models/abor_request.py +10 -2
  100. lusid/models/accept_estimate_valuation_point_response.py +108 -0
  101. lusid/models/access_controlled_action.py +9 -1
  102. lusid/models/access_controlled_resource.py +9 -1
  103. lusid/models/access_metadata_operation.py +12 -4
  104. lusid/models/access_metadata_value.py +10 -2
  105. lusid/models/account.py +16 -3
  106. lusid/models/account_properties.py +9 -1
  107. lusid/models/accounted_transaction.py +96 -0
  108. lusid/models/accounting_method.py +10 -0
  109. lusid/models/accounts_upsert_response.py +9 -1
  110. lusid/models/accumulation_event.py +112 -0
  111. lusid/models/action_id.py +10 -2
  112. lusid/models/add_business_days_to_date_request.py +9 -1
  113. lusid/models/add_business_days_to_date_response.py +9 -1
  114. lusid/models/additional_payment.py +12 -4
  115. lusid/models/address_definition.py +9 -1
  116. lusid/models/address_key_compliance_parameter.py +13 -12
  117. lusid/models/address_key_definition.py +9 -1
  118. lusid/models/address_key_filter.py +9 -1
  119. lusid/models/address_key_list.py +13 -5
  120. lusid/models/address_key_list_compliance_parameter.py +12 -4
  121. lusid/models/address_key_option_definition.py +12 -2
  122. lusid/models/adjust_global_commitment_event.py +101 -0
  123. lusid/models/adjust_holding.py +9 -1
  124. lusid/models/adjust_holding_for_date_request.py +9 -1
  125. lusid/models/adjust_holding_request.py +9 -1
  126. lusid/models/aggregate_spec.py +12 -4
  127. lusid/models/aggregated_return.py +9 -1
  128. lusid/models/aggregated_returns_dispersion_request.py +9 -1
  129. lusid/models/aggregated_returns_request.py +9 -1
  130. lusid/models/aggregated_returns_response.py +9 -1
  131. lusid/models/aggregated_transactions_request.py +9 -1
  132. lusid/models/aggregation_context.py +9 -1
  133. lusid/models/aggregation_measure_failure_detail.py +9 -1
  134. lusid/models/aggregation_op.py +1 -0
  135. lusid/models/aggregation_options.py +9 -1
  136. lusid/models/aggregation_query.py +9 -1
  137. lusid/models/alias.py +79 -0
  138. lusid/models/allocation.py +9 -1
  139. lusid/models/allocation_request.py +9 -1
  140. lusid/models/allocation_service_run_response.py +9 -1
  141. lusid/models/allocation_set_request.py +9 -1
  142. lusid/models/amortisation_event.py +13 -7
  143. lusid/models/amortisation_rule.py +112 -0
  144. lusid/models/amortisation_rule_set.py +141 -0
  145. lusid/models/amount.py +77 -0
  146. lusid/models/annul_quotes_response.py +9 -1
  147. lusid/models/annul_single_structured_data_response.py +9 -1
  148. lusid/models/annul_structured_data_response.py +9 -1
  149. lusid/models/applicable_instrument_event.py +138 -0
  150. lusid/models/{underlying_leg.py → asset_leg.py} +25 -17
  151. lusid/models/barrier.py +9 -1
  152. lusid/models/basket.py +12 -4
  153. lusid/models/basket_identifier.py +9 -1
  154. lusid/models/batch_adjust_holdings_response.py +9 -1
  155. lusid/models/batch_update_user_review_for_comparison_result_request.py +89 -0
  156. lusid/models/batch_update_user_review_for_comparison_result_response.py +154 -0
  157. lusid/models/batch_upsert_dates_for_calendar_response.py +154 -0
  158. lusid/models/batch_upsert_instrument_properties_response.py +9 -1
  159. lusid/models/batch_upsert_portfolio_access_metadata_request.py +100 -0
  160. lusid/models/batch_upsert_portfolio_access_metadata_response.py +130 -0
  161. lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +100 -0
  162. lusid/models/batch_upsert_portfolio_transactions_response.py +9 -1
  163. lusid/models/batch_upsert_property_definition_properties_response.py +9 -1
  164. lusid/models/block.py +9 -1
  165. lusid/models/block_and_order_id_request.py +86 -0
  166. lusid/models/block_and_orders.py +91 -0
  167. lusid/models/block_and_orders_create_request.py +85 -0
  168. lusid/models/block_and_orders_request.py +142 -0
  169. lusid/models/block_request.py +9 -1
  170. lusid/models/block_set_request.py +9 -1
  171. lusid/models/blocked_order_request.py +138 -0
  172. lusid/models/bond.py +29 -8
  173. lusid/models/bond_conversion_entry.py +83 -0
  174. lusid/models/bond_conversion_schedule.py +138 -0
  175. lusid/models/bond_coupon_event.py +110 -0
  176. lusid/models/bond_default_event.py +16 -18
  177. lusid/models/bond_principal_event.py +110 -0
  178. lusid/models/bonus_issue_event.py +174 -0
  179. lusid/models/book_transactions_request.py +105 -0
  180. lusid/models/book_transactions_response.py +9 -1
  181. lusid/models/bool_compliance_parameter.py +12 -4
  182. lusid/models/bool_list_compliance_parameter.py +12 -4
  183. lusid/models/branch_step.py +109 -0
  184. lusid/models/branch_step_request.py +106 -0
  185. lusid/models/break_code_source.py +81 -0
  186. lusid/models/bucketed_cash_flow_request.py +9 -1
  187. lusid/models/bucketed_cash_flow_response.py +9 -1
  188. lusid/models/bucketing_schedule.py +9 -1
  189. lusid/models/calculation_info.py +9 -1
  190. lusid/models/calendar.py +26 -3
  191. lusid/models/calendar_date.py +9 -1
  192. lusid/models/calendar_dependency.py +9 -1
  193. lusid/models/call_on_intermediate_securities_event.py +147 -0
  194. lusid/models/cancel_order_and_move_remaining_result.py +92 -0
  195. lusid/models/cancel_orders_and_move_remaining_request.py +91 -0
  196. lusid/models/cancel_orders_and_move_remaining_response.py +161 -0
  197. lusid/models/cancel_orders_response.py +161 -0
  198. lusid/models/cancel_placements_response.py +161 -0
  199. lusid/models/cancel_single_holding_adjustment_request.py +104 -0
  200. lusid/models/cancelled_order_result.py +81 -0
  201. lusid/models/cancelled_placement_result.py +91 -0
  202. lusid/models/cap_floor.py +42 -9
  203. lusid/models/capital_distribution_event.py +125 -0
  204. lusid/models/cash.py +101 -0
  205. lusid/models/cash_and_security_offer_election.py +98 -0
  206. lusid/models/cash_dependency.py +9 -1
  207. lusid/models/cash_dividend_event.py +40 -10
  208. lusid/models/cash_election.py +99 -0
  209. lusid/models/cash_flow_event.py +14 -8
  210. lusid/models/cash_flow_lineage.py +9 -1
  211. lusid/models/cash_flow_value.py +9 -1
  212. lusid/models/cash_flow_value_set.py +9 -1
  213. lusid/models/cash_ladder_record.py +9 -1
  214. lusid/models/cash_offer_election.py +85 -0
  215. lusid/models/cash_perpetual.py +12 -4
  216. lusid/models/cds_credit_event.py +113 -0
  217. lusid/models/cds_flow_conventions.py +10 -2
  218. lusid/models/cds_index.py +31 -8
  219. lusid/models/cds_protection_detail_specification.py +9 -1
  220. lusid/models/cdx_credit_event.py +122 -0
  221. lusid/models/change.py +9 -1
  222. lusid/models/change_history.py +9 -1
  223. lusid/models/change_interval.py +131 -0
  224. lusid/models/change_interval_with_order_management_detail.py +145 -0
  225. lusid/models/change_item.py +9 -1
  226. lusid/models/chart_of_accounts.py +9 -1
  227. lusid/models/chart_of_accounts_properties.py +9 -1
  228. lusid/models/chart_of_accounts_request.py +9 -1
  229. lusid/models/check_step.py +118 -0
  230. lusid/models/check_step_request.py +106 -0
  231. lusid/models/cleardown_module_details.py +103 -0
  232. lusid/models/cleardown_module_request.py +125 -0
  233. lusid/models/cleardown_module_response.py +147 -0
  234. lusid/models/cleardown_module_rule.py +102 -0
  235. lusid/models/cleardown_module_rules_updated_response.py +118 -0
  236. lusid/models/client.py +9 -1
  237. lusid/models/close_event.py +12 -4
  238. lusid/models/close_period_diary_entry_request.py +157 -0
  239. lusid/models/closed_period.py +136 -0
  240. lusid/models/comparison_attribute_value_pair.py +84 -0
  241. lusid/models/complete_portfolio.py +20 -5
  242. lusid/models/complete_relation.py +9 -1
  243. lusid/models/complete_relationship.py +9 -1
  244. lusid/models/complex_bond.py +30 -9
  245. lusid/models/complex_market_data.py +15 -6
  246. lusid/models/complex_market_data_id.py +9 -1
  247. lusid/models/compliance_breached_order_info.py +9 -1
  248. lusid/models/compliance_parameter.py +19 -6
  249. lusid/models/compliance_parameter_type.py +5 -0
  250. lusid/models/compliance_rule.py +9 -1
  251. lusid/models/compliance_rule_breakdown.py +25 -9
  252. lusid/models/compliance_rule_breakdown_request.py +21 -5
  253. lusid/models/compliance_rule_response.py +9 -1
  254. lusid/models/compliance_rule_result.py +9 -1
  255. lusid/models/compliance_rule_result_detail.py +9 -1
  256. lusid/models/compliance_rule_result_portfolio_detail.py +9 -1
  257. lusid/models/compliance_rule_result_v2.py +93 -0
  258. lusid/models/compliance_rule_template.py +161 -0
  259. lusid/models/compliance_rule_upsert_request.py +9 -1
  260. lusid/models/compliance_rule_upsert_response.py +9 -1
  261. lusid/models/compliance_run_configuration.py +81 -0
  262. lusid/models/compliance_run_info.py +9 -1
  263. lusid/models/compliance_run_info_v2.py +9 -1
  264. lusid/models/compliance_step.py +108 -0
  265. lusid/models/compliance_step_request.py +107 -0
  266. lusid/models/compliance_step_type.py +43 -0
  267. lusid/models/compliance_step_type_request.py +42 -0
  268. lusid/models/compliance_summary_rule_result.py +20 -15
  269. lusid/models/compliance_summary_rule_result_request.py +20 -15
  270. lusid/models/compliance_template.py +9 -1
  271. lusid/models/compliance_template_parameter.py +9 -1
  272. lusid/models/compliance_template_variation.py +29 -4
  273. lusid/models/compliance_template_variation_dto.py +120 -0
  274. lusid/models/compliance_template_variation_request.py +120 -0
  275. lusid/models/component_filter.py +93 -0
  276. lusid/models/component_transaction.py +107 -0
  277. lusid/models/composite_breakdown.py +9 -1
  278. lusid/models/composite_breakdown_request.py +9 -1
  279. lusid/models/composite_breakdown_response.py +9 -1
  280. lusid/models/composite_dispersion.py +39 -6
  281. lusid/models/composite_dispersion_response.py +9 -1
  282. lusid/models/compounding.py +13 -5
  283. lusid/models/configuration_recipe.py +18 -19
  284. lusid/models/constant_volatility_surface.py +110 -0
  285. lusid/models/constituents_adjustment_header.py +9 -1
  286. lusid/models/contract_details.py +109 -0
  287. lusid/models/contract_for_difference.py +16 -6
  288. lusid/models/contract_initialisation_event.py +107 -0
  289. lusid/models/contribution_to_non_passing_rule_detail.py +97 -0
  290. lusid/models/corporate_action.py +9 -1
  291. lusid/models/corporate_action_source.py +9 -1
  292. lusid/models/corporate_action_transition.py +9 -1
  293. lusid/models/corporate_action_transition_component.py +9 -1
  294. lusid/models/corporate_action_transition_component_request.py +9 -1
  295. lusid/models/corporate_action_transition_request.py +9 -1
  296. lusid/models/counterparty_agreement.py +9 -1
  297. lusid/models/counterparty_risk_information.py +9 -1
  298. lusid/models/counterparty_signatory.py +9 -1
  299. lusid/models/create_address_key_definition_request.py +9 -1
  300. lusid/models/create_amortisation_rule_set_request.py +110 -0
  301. lusid/models/create_calendar_request.py +9 -1
  302. lusid/models/create_closed_period_request.py +104 -0
  303. lusid/models/create_compliance_template_request.py +103 -0
  304. lusid/models/create_corporate_action_source_request.py +9 -1
  305. lusid/models/create_custom_entity_type_request.py +9 -1
  306. lusid/models/create_cut_label_definition_request.py +9 -1
  307. lusid/models/create_data_map_request.py +9 -1
  308. lusid/models/create_data_type_request.py +9 -1
  309. lusid/models/create_date_request.py +9 -1
  310. lusid/models/create_derived_property_definition_request.py +16 -6
  311. lusid/models/create_derived_transaction_portfolio_request.py +33 -7
  312. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +105 -0
  313. lusid/models/create_group_reconciliation_definition_request.py +121 -0
  314. lusid/models/create_portfolio_details.py +9 -1
  315. lusid/models/create_portfolio_group_request.py +9 -1
  316. lusid/models/create_property_definition_request.py +21 -6
  317. lusid/models/create_recipe_request.py +9 -1
  318. lusid/models/create_reconciliation_request.py +9 -1
  319. lusid/models/create_reference_portfolio_request.py +9 -1
  320. lusid/models/create_relation_definition_request.py +9 -1
  321. lusid/models/create_relation_request.py +9 -1
  322. lusid/models/create_relationship_definition_request.py +11 -3
  323. lusid/models/create_relationship_request.py +9 -1
  324. lusid/models/create_sequence_request.py +9 -1
  325. lusid/models/create_simple_position_portfolio_request.py +196 -0
  326. lusid/models/create_staging_rule_set_request.py +94 -0
  327. lusid/models/create_tax_rule_set_request.py +9 -1
  328. lusid/models/create_timeline_request.py +110 -0
  329. lusid/models/create_trade_tickets_response.py +95 -0
  330. lusid/models/create_transaction_portfolio_request.py +33 -7
  331. lusid/models/create_unit_definition.py +9 -1
  332. lusid/models/credit_default_swap.py +32 -9
  333. lusid/models/credit_premium_cash_flow_event.py +110 -0
  334. lusid/models/credit_rating.py +9 -1
  335. lusid/models/credit_spread_curve_data.py +13 -5
  336. lusid/models/credit_support_annex.py +9 -1
  337. lusid/models/currency_and_amount.py +10 -7
  338. lusid/models/curve_options.py +9 -1
  339. lusid/models/custodian_account.py +10 -2
  340. lusid/models/custodian_account_properties.py +9 -1
  341. lusid/models/custodian_account_request.py +11 -3
  342. lusid/models/custodian_accounts_upsert_response.py +9 -1
  343. lusid/models/custom_data_model.py +97 -0
  344. lusid/models/custom_data_model_criteria.py +142 -0
  345. lusid/models/custom_data_model_identifier_type_specification.py +79 -0
  346. lusid/models/custom_data_model_identifier_type_specification_with_display_name.py +86 -0
  347. lusid/models/custom_data_model_property_specification.py +79 -0
  348. lusid/models/custom_data_model_property_specification_with_display_name.py +86 -0
  349. lusid/models/custom_entity_definition.py +32 -3
  350. lusid/models/custom_entity_definition_request.py +9 -1
  351. lusid/models/custom_entity_entity.py +154 -0
  352. lusid/models/custom_entity_field.py +9 -1
  353. lusid/models/custom_entity_field_definition.py +9 -1
  354. lusid/models/custom_entity_id.py +9 -1
  355. lusid/models/custom_entity_request.py +9 -1
  356. lusid/models/custom_entity_response.py +16 -2
  357. lusid/models/custom_entity_type.py +32 -3
  358. lusid/models/cut_label_definition.py +16 -2
  359. lusid/models/cut_local_time.py +14 -4
  360. lusid/models/data_definition.py +9 -1
  361. lusid/models/data_map_key.py +9 -1
  362. lusid/models/data_mapping.py +9 -1
  363. lusid/models/data_model_summary.py +120 -0
  364. lusid/models/data_scope.py +9 -1
  365. lusid/models/data_type.py +29 -9
  366. lusid/models/data_type_entity.py +139 -0
  367. lusid/models/data_type_summary.py +17 -3
  368. lusid/models/date_attributes.py +9 -1
  369. lusid/models/date_or_diary_entry.py +9 -1
  370. lusid/models/date_range.py +9 -1
  371. lusid/models/date_time_compliance_parameter.py +12 -4
  372. lusid/models/date_time_list_compliance_parameter.py +12 -4
  373. lusid/models/day_month.py +79 -0
  374. lusid/models/decimal_compliance_parameter.py +12 -4
  375. lusid/models/decimal_list.py +13 -5
  376. lusid/models/decimal_list_compliance_parameter.py +12 -4
  377. lusid/models/decorated_compliance_run_summary.py +9 -1
  378. lusid/models/delete_accounts_response.py +9 -1
  379. lusid/models/delete_custodian_accounts_response.py +9 -1
  380. lusid/models/delete_instrument_properties_response.py +16 -2
  381. lusid/models/delete_instrument_response.py +16 -2
  382. lusid/models/delete_instruments_response.py +31 -2
  383. lusid/models/delete_relation_request.py +9 -1
  384. lusid/models/delete_relationship_request.py +9 -1
  385. lusid/models/deleted_entity_response.py +30 -2
  386. lusid/models/dependency_source_filter.py +34 -4
  387. lusid/models/described_address_key.py +9 -1
  388. lusid/models/dialect.py +18 -4
  389. lusid/models/dialect_id.py +9 -1
  390. lusid/models/dialect_schema.py +9 -1
  391. lusid/models/diary_entry.py +10 -2
  392. lusid/models/diary_entry_request.py +20 -3
  393. lusid/models/discount_factor_curve_data.py +12 -4
  394. lusid/models/discounting_dependency.py +9 -1
  395. lusid/models/dividend_option_event.py +137 -0
  396. lusid/models/dividend_reinvestment_event.py +137 -0
  397. lusid/models/drawdown_event.py +107 -0
  398. lusid/models/early_redemption_election.py +81 -0
  399. lusid/models/early_redemption_event.py +132 -0
  400. lusid/models/economic_dependency.py +9 -1
  401. lusid/models/economic_dependency_with_complex_market_data.py +9 -1
  402. lusid/models/economic_dependency_with_quote.py +9 -1
  403. lusid/models/effective_range.py +79 -0
  404. lusid/models/election_specification.py +81 -0
  405. lusid/models/eligibility_calculation.py +81 -0
  406. lusid/models/empty_model_options.py +12 -4
  407. lusid/models/entity_identifier.py +9 -1
  408. lusid/models/equity.py +16 -6
  409. lusid/models/equity_all_of_identifiers.py +9 -1
  410. lusid/models/equity_curve_by_prices_data.py +12 -4
  411. lusid/models/equity_curve_dependency.py +9 -1
  412. lusid/models/equity_model_options.py +12 -4
  413. lusid/models/equity_option.py +54 -10
  414. lusid/models/equity_swap.py +31 -8
  415. lusid/models/equity_vol_dependency.py +9 -1
  416. lusid/models/equity_vol_surface_data.py +12 -4
  417. lusid/models/error_detail.py +9 -1
  418. lusid/models/event_date_range.py +9 -1
  419. lusid/models/ex_dividend_configuration.py +9 -1
  420. lusid/models/exchange_traded_option.py +21 -7
  421. lusid/models/exchange_traded_option_contract_details.py +29 -5
  422. lusid/models/execution.py +9 -1
  423. lusid/models/execution_request.py +9 -1
  424. lusid/models/execution_set_request.py +9 -1
  425. lusid/models/exercise_event.py +13 -7
  426. lusid/models/exotic_instrument.py +12 -4
  427. lusid/models/expanded_group.py +9 -1
  428. lusid/models/expiry_event.py +99 -0
  429. lusid/models/external_fee_component_filter.py +102 -0
  430. lusid/models/fee.py +223 -0
  431. lusid/models/fee_accrual.py +113 -0
  432. lusid/models/{reconciliation_run_break.py → fee_properties.py} +42 -35
  433. lusid/models/fee_request.py +192 -0
  434. lusid/models/fee_rule.py +9 -1
  435. lusid/models/fee_rule_upsert_request.py +9 -1
  436. lusid/models/fee_rule_upsert_response.py +9 -1
  437. lusid/models/fee_transaction_template_specification.py +87 -0
  438. lusid/models/fee_type.py +123 -0
  439. lusid/models/fee_type_request.py +113 -0
  440. lusid/models/field_definition.py +19 -4
  441. lusid/models/field_schema.py +9 -1
  442. lusid/models/field_value.py +25 -5
  443. lusid/models/file_response.py +9 -1
  444. lusid/models/filter_predicate_compliance_parameter.py +99 -0
  445. lusid/models/filter_step.py +109 -0
  446. lusid/models/filter_step_request.py +106 -0
  447. lusid/models/fixed_leg.py +12 -4
  448. lusid/models/fixed_leg_all_of_overrides.py +9 -1
  449. lusid/models/fixed_schedule.py +16 -13
  450. lusid/models/flexible_deposit.py +113 -0
  451. lusid/models/flexible_loan.py +113 -0
  452. lusid/models/float_schedule.py +34 -16
  453. lusid/models/floating_leg.py +12 -4
  454. lusid/models/flow_convention_name.py +10 -2
  455. lusid/models/flow_conventions.py +26 -5
  456. lusid/models/forward_rate_agreement.py +12 -4
  457. lusid/models/from_recipe.py +89 -0
  458. lusid/models/fund.py +195 -0
  459. lusid/models/fund_amount.py +77 -0
  460. lusid/models/fund_configuration.py +201 -0
  461. lusid/models/fund_configuration_properties.py +123 -0
  462. lusid/models/fund_configuration_request.py +171 -0
  463. lusid/models/fund_details.py +82 -0
  464. lusid/models/fund_id_list.py +107 -0
  465. lusid/models/fund_pnl_breakdown.py +118 -0
  466. lusid/models/fund_previous_nav.py +77 -0
  467. lusid/models/fund_properties.py +123 -0
  468. lusid/models/fund_request.py +178 -0
  469. lusid/models/fund_share_class.py +122 -0
  470. lusid/models/fund_valuation_point_data.py +154 -0
  471. lusid/models/funding_leg.py +12 -4
  472. lusid/models/funding_leg_options.py +12 -4
  473. lusid/models/future.py +28 -8
  474. lusid/models/future_expiry_event.py +108 -0
  475. lusid/models/future_mark_to_market_event.py +108 -0
  476. lusid/models/futures_contract_details.py +24 -4
  477. lusid/models/fx_conventions.py +81 -0
  478. lusid/models/fx_dependency.py +9 -1
  479. lusid/models/fx_forward.py +18 -8
  480. lusid/models/fx_forward_curve_by_quote_reference.py +13 -5
  481. lusid/models/fx_forward_curve_data.py +12 -4
  482. lusid/models/fx_forward_model_options.py +12 -4
  483. lusid/models/fx_forward_pips_curve_data.py +12 -4
  484. lusid/models/fx_forward_settlement_event.py +152 -0
  485. lusid/models/fx_forward_tenor_curve_data.py +13 -5
  486. lusid/models/fx_forward_tenor_pips_curve_data.py +13 -5
  487. lusid/models/fx_forwards_dependency.py +9 -1
  488. lusid/models/fx_linked_notional_schedule.py +116 -0
  489. lusid/models/fx_option.py +12 -4
  490. lusid/models/fx_rate_schedule.py +12 -4
  491. lusid/models/fx_swap.py +13 -5
  492. lusid/models/fx_tenor_convention.py +9 -1
  493. lusid/models/fx_vol_dependency.py +9 -1
  494. lusid/models/fx_vol_surface_data.py +12 -4
  495. lusid/models/general_ledger_profile_mapping.py +9 -1
  496. lusid/models/general_ledger_profile_request.py +9 -1
  497. lusid/models/general_ledger_profile_response.py +9 -1
  498. lusid/models/generated_event_diagnostics.py +83 -0
  499. lusid/models/get_cds_flow_conventions_response.py +9 -1
  500. lusid/models/get_complex_market_data_response.py +9 -1
  501. lusid/models/get_counterparty_agreement_response.py +9 -1
  502. lusid/models/get_credit_support_annex_response.py +9 -1
  503. lusid/models/get_data_map_response.py +9 -1
  504. lusid/models/get_flow_conventions_response.py +9 -1
  505. lusid/models/get_index_convention_response.py +9 -1
  506. lusid/models/get_instruments_response.py +9 -1
  507. lusid/models/get_quotes_response.py +9 -1
  508. lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +24 -16
  509. lusid/models/get_recipe_response.py +9 -1
  510. lusid/models/get_reference_portfolio_constituents_response.py +9 -1
  511. lusid/models/get_structured_result_data_response.py +9 -1
  512. lusid/models/get_virtual_document_response.py +9 -1
  513. lusid/models/group_by_selector_compliance_parameter.py +99 -0
  514. lusid/models/group_by_step.py +109 -0
  515. lusid/models/group_by_step_request.py +106 -0
  516. lusid/models/group_calculation_compliance_parameter.py +99 -0
  517. lusid/models/group_filter_predicate_compliance_parameter.py +99 -0
  518. lusid/models/group_filter_step.py +109 -0
  519. lusid/models/group_filter_step_request.py +106 -0
  520. lusid/models/group_of_market_data_key_rules.py +87 -0
  521. lusid/models/group_reconciliation_aggregate_attribute_rule.py +92 -0
  522. lusid/models/group_reconciliation_aggregate_attribute_values.py +94 -0
  523. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +79 -0
  524. lusid/models/group_reconciliation_comparison_result.py +156 -0
  525. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +81 -0
  526. lusid/models/group_reconciliation_comparison_rule_tolerance.py +79 -0
  527. lusid/models/group_reconciliation_comparison_ruleset.py +133 -0
  528. lusid/models/group_reconciliation_core_attribute_rule.py +103 -0
  529. lusid/models/group_reconciliation_core_attribute_values.py +94 -0
  530. lusid/models/group_reconciliation_core_comparison_rule_operand.py +79 -0
  531. lusid/models/group_reconciliation_date_pair.py +89 -0
  532. lusid/models/group_reconciliation_dates.py +86 -0
  533. lusid/models/group_reconciliation_definition.py +144 -0
  534. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +91 -0
  535. lusid/models/group_reconciliation_definition_currencies.py +79 -0
  536. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +94 -0
  537. lusid/models/group_reconciliation_definition_recipe_ids.py +86 -0
  538. lusid/models/group_reconciliation_instance_id.py +79 -0
  539. lusid/models/group_reconciliation_result_statuses.py +97 -0
  540. lusid/models/group_reconciliation_result_types.py +104 -0
  541. lusid/models/group_reconciliation_review_statuses.py +104 -0
  542. lusid/models/group_reconciliation_run_details.py +84 -0
  543. lusid/models/group_reconciliation_run_request.py +83 -0
  544. lusid/models/group_reconciliation_run_response.py +85 -0
  545. lusid/models/group_reconciliation_summary.py +129 -0
  546. lusid/models/group_reconciliation_user_review.py +120 -0
  547. lusid/models/group_reconciliation_user_review_add.py +96 -0
  548. lusid/models/group_reconciliation_user_review_break_code.py +88 -0
  549. lusid/models/group_reconciliation_user_review_comment.py +88 -0
  550. lusid/models/group_reconciliation_user_review_match_key.py +88 -0
  551. lusid/models/group_reconciliation_user_review_remove.py +96 -0
  552. lusid/models/grouped_result_of_address_key.py +9 -1
  553. lusid/models/holding_adjustment.py +9 -1
  554. lusid/models/holding_adjustment_with_date.py +9 -1
  555. lusid/models/holding_context.py +9 -1
  556. lusid/models/holding_contributor.py +19 -4
  557. lusid/models/holding_ids_request.py +77 -0
  558. lusid/models/holding_pricing_info.py +118 -0
  559. lusid/models/holdings_adjustment.py +9 -1
  560. lusid/models/holdings_adjustment_header.py +9 -1
  561. lusid/models/i_unit_definition_dto.py +9 -1
  562. lusid/models/id_selector_definition.py +9 -1
  563. lusid/models/identifier_part_schema.py +9 -1
  564. lusid/models/index_convention.py +11 -3
  565. lusid/models/index_model_options.py +12 -4
  566. lusid/models/index_projection_dependency.py +9 -1
  567. lusid/models/industry_classifier.py +9 -1
  568. lusid/models/inflation_fixing_dependency.py +9 -1
  569. lusid/models/inflation_index_conventions.py +11 -3
  570. lusid/models/inflation_leg.py +12 -4
  571. lusid/models/inflation_linked_bond.py +28 -7
  572. lusid/models/inflation_swap.py +31 -8
  573. lusid/models/informational_error_event.py +12 -4
  574. lusid/models/informational_event.py +13 -7
  575. lusid/models/inline_valuation_request.py +9 -1
  576. lusid/models/inline_valuations_reconciliation_request.py +9 -1
  577. lusid/models/input_transition.py +9 -1
  578. lusid/models/instrument.py +22 -2
  579. lusid/models/instrument_capabilities.py +9 -1
  580. lusid/models/instrument_cash_flow.py +9 -1
  581. lusid/models/instrument_definition.py +17 -3
  582. lusid/models/instrument_definition_format.py +9 -1
  583. lusid/models/instrument_entity.py +154 -0
  584. lusid/models/instrument_event.py +54 -6
  585. lusid/models/instrument_event_configuration.py +88 -0
  586. lusid/models/instrument_event_holder.py +28 -3
  587. lusid/models/instrument_event_instruction.py +151 -0
  588. lusid/models/instrument_event_instruction_request.py +102 -0
  589. lusid/models/instrument_event_instructions_response.py +115 -0
  590. lusid/models/instrument_event_type.py +40 -0
  591. lusid/models/instrument_id_type_descriptor.py +9 -1
  592. lusid/models/instrument_id_value.py +9 -1
  593. lusid/models/instrument_leg.py +12 -4
  594. lusid/models/instrument_list.py +13 -5
  595. lusid/models/instrument_list_compliance_parameter.py +12 -4
  596. lusid/models/instrument_match.py +9 -1
  597. lusid/models/instrument_models.py +9 -1
  598. lusid/models/instrument_payment_diary.py +9 -1
  599. lusid/models/instrument_payment_diary_leg.py +13 -3
  600. lusid/models/instrument_payment_diary_row.py +9 -1
  601. lusid/models/instrument_properties.py +9 -1
  602. lusid/models/instrument_resolution_detail.py +127 -0
  603. lusid/models/instrument_search_property.py +9 -1
  604. lusid/models/instrument_type.py +7 -0
  605. lusid/models/interest_rate_swap.py +14 -6
  606. lusid/models/interest_rate_swaption.py +13 -5
  607. lusid/models/intermediate_compliance_step.py +118 -0
  608. lusid/models/intermediate_compliance_step_request.py +106 -0
  609. lusid/models/intermediate_securities_distribution_event.py +148 -0
  610. lusid/models/ir_vol_cube_data.py +12 -4
  611. lusid/models/ir_vol_dependency.py +9 -1
  612. lusid/models/is_business_day_response.py +9 -1
  613. lusid/models/journal_entry_line.py +60 -5
  614. lusid/models/journal_entry_lines_query_parameters.py +10 -2
  615. lusid/models/label_value_set.py +10 -2
  616. lusid/models/lapse_election.py +81 -0
  617. lusid/models/leg_definition.py +24 -3
  618. lusid/models/legal_entity.py +9 -1
  619. lusid/models/level_step.py +9 -1
  620. lusid/models/life_cycle_event_lineage.py +9 -1
  621. lusid/models/life_cycle_event_value.py +9 -1
  622. lusid/models/lineage_member.py +95 -0
  623. lusid/models/link.py +9 -1
  624. lusid/models/list_aggregation_reconciliation.py +9 -1
  625. lusid/models/list_aggregation_response.py +9 -1
  626. lusid/models/list_complex_market_data_with_meta_data_response.py +9 -1
  627. lusid/models/loan_facility.py +115 -0
  628. lusid/models/loan_interest_repayment_event.py +105 -0
  629. lusid/models/loan_period.py +9 -1
  630. lusid/models/lock_period_diary_entry_request.py +99 -0
  631. lusid/models/lusid_instrument.py +20 -6
  632. lusid/models/lusid_problem_details.py +9 -1
  633. lusid/models/lusid_trade_ticket.py +17 -2
  634. lusid/models/lusid_unique_id.py +9 -1
  635. lusid/models/lusid_validation_problem_details.py +9 -1
  636. lusid/models/mapped_string.py +9 -1
  637. lusid/models/mapping.py +9 -1
  638. lusid/models/mapping_rule.py +9 -1
  639. lusid/models/mark_to_market_conventions.py +82 -0
  640. lusid/models/market_context.py +26 -3
  641. lusid/models/market_context_suppliers.py +9 -1
  642. lusid/models/market_data_key_rule.py +17 -7
  643. lusid/models/market_data_options.py +9 -1
  644. lusid/models/market_data_overrides.py +9 -1
  645. lusid/models/market_data_specific_rule.py +17 -7
  646. lusid/models/market_data_type.py +1 -0
  647. lusid/models/market_options.py +9 -1
  648. lusid/models/market_quote.py +12 -4
  649. lusid/models/mastered_instrument.py +147 -0
  650. lusid/models/match_criterion.py +9 -1
  651. lusid/models/maturity_event.py +99 -0
  652. lusid/models/mbs_coupon_event.py +110 -0
  653. lusid/models/mbs_interest_deferral_event.py +110 -0
  654. lusid/models/mbs_interest_shortfall_event.py +110 -0
  655. lusid/models/mbs_principal_event.py +110 -0
  656. lusid/models/mbs_principal_write_off_event.py +110 -0
  657. lusid/models/merger_event.py +180 -0
  658. lusid/models/metric_value.py +9 -1
  659. lusid/models/model_options.py +14 -7
  660. lusid/models/model_options_type.py +0 -1
  661. lusid/models/model_property.py +9 -1
  662. lusid/models/model_schema.py +9 -1
  663. lusid/models/model_selection.py +12 -4
  664. lusid/models/move_orders_to_different_blocks_request.py +85 -0
  665. lusid/models/moved_order_to_different_block_response.py +93 -0
  666. lusid/models/movement_type.py +4 -0
  667. lusid/models/multi_currency_amounts.py +79 -0
  668. lusid/models/new_instrument.py +101 -0
  669. lusid/models/next_value_in_sequence_response.py +9 -1
  670. lusid/models/opaque_dependency.py +9 -1
  671. lusid/models/opaque_market_data.py +12 -4
  672. lusid/models/opaque_model_options.py +12 -4
  673. lusid/models/open_event.py +12 -4
  674. lusid/models/operation.py +10 -2
  675. lusid/models/operation_type.py +1 -0
  676. lusid/models/option_entry.py +19 -4
  677. lusid/models/option_exercise_cash_event.py +159 -0
  678. lusid/models/option_exercise_election.py +81 -0
  679. lusid/models/option_exercise_physical_event.py +164 -0
  680. lusid/models/optionality_schedule.py +12 -4
  681. lusid/models/order.py +9 -1
  682. lusid/models/order_by_spec.py +9 -1
  683. lusid/models/order_flow_configuration.py +10 -2
  684. lusid/models/order_graph_block.py +19 -3
  685. lusid/models/order_graph_block_allocation_detail.py +9 -1
  686. lusid/models/order_graph_block_allocation_synopsis.py +9 -1
  687. lusid/models/order_graph_block_execution_detail.py +9 -1
  688. lusid/models/order_graph_block_execution_synopsis.py +9 -1
  689. lusid/models/order_graph_block_order_detail.py +42 -5
  690. lusid/models/order_graph_block_order_synopsis.py +18 -3
  691. lusid/models/order_graph_block_placement_detail.py +9 -1
  692. lusid/models/order_graph_block_placement_synopsis.py +18 -3
  693. lusid/models/{upsert_reconciliation_run_request.py → order_graph_block_transaction_detail.py} +21 -15
  694. lusid/models/order_graph_block_transaction_synopsis.py +87 -0
  695. lusid/models/order_graph_placement.py +9 -1
  696. lusid/models/order_graph_placement_allocation_detail.py +9 -1
  697. lusid/models/order_graph_placement_allocation_synopsis.py +9 -1
  698. lusid/models/order_graph_placement_child_placement_detail.py +9 -1
  699. lusid/models/order_graph_placement_execution_detail.py +9 -1
  700. lusid/models/order_graph_placement_execution_synopsis.py +9 -1
  701. lusid/models/order_graph_placement_order_detail.py +9 -1
  702. lusid/models/order_graph_placement_order_synopsis.py +9 -1
  703. lusid/models/order_graph_placement_placement_synopsis.py +9 -1
  704. lusid/models/order_instruction.py +9 -1
  705. lusid/models/order_instruction_request.py +9 -1
  706. lusid/models/order_instruction_set_request.py +9 -1
  707. lusid/models/order_request.py +9 -1
  708. lusid/models/order_set_request.py +9 -1
  709. lusid/models/order_update_request.py +129 -0
  710. lusid/models/otc_confirmation.py +9 -1
  711. lusid/models/output_transaction.py +46 -3
  712. lusid/models/output_transition.py +9 -1
  713. lusid/models/package.py +9 -1
  714. lusid/models/package_request.py +9 -1
  715. lusid/models/package_set_request.py +9 -1
  716. lusid/models/paged_resource_list_of_abor.py +9 -1
  717. lusid/models/paged_resource_list_of_abor_configuration.py +9 -1
  718. lusid/models/paged_resource_list_of_account.py +9 -1
  719. lusid/models/paged_resource_list_of_address_key_definition.py +9 -1
  720. lusid/models/paged_resource_list_of_allocation.py +9 -1
  721. lusid/models/paged_resource_list_of_amortisation_rule_set.py +121 -0
  722. lusid/models/paged_resource_list_of_block.py +9 -1
  723. lusid/models/paged_resource_list_of_calendar.py +9 -1
  724. lusid/models/paged_resource_list_of_chart_of_accounts.py +9 -1
  725. lusid/models/paged_resource_list_of_cleardown_module_response.py +121 -0
  726. lusid/models/paged_resource_list_of_cleardown_module_rule.py +121 -0
  727. lusid/models/paged_resource_list_of_closed_period.py +121 -0
  728. lusid/models/paged_resource_list_of_compliance_rule_response.py +9 -1
  729. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +9 -1
  730. lusid/models/paged_resource_list_of_compliance_template.py +9 -1
  731. lusid/models/paged_resource_list_of_corporate_action_source.py +9 -1
  732. lusid/models/paged_resource_list_of_custodian_account.py +9 -1
  733. lusid/models/paged_resource_list_of_custom_entity_definition.py +9 -1
  734. lusid/models/paged_resource_list_of_custom_entity_response.py +9 -1
  735. lusid/models/paged_resource_list_of_custom_entity_type.py +9 -1
  736. lusid/models/paged_resource_list_of_cut_label_definition.py +9 -1
  737. lusid/models/paged_resource_list_of_data_type_summary.py +9 -1
  738. lusid/models/paged_resource_list_of_dialect_id.py +9 -1
  739. lusid/models/paged_resource_list_of_diary_entry.py +9 -1
  740. lusid/models/paged_resource_list_of_execution.py +9 -1
  741. lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fee.py} +20 -12
  742. lusid/models/paged_resource_list_of_fee_type.py +121 -0
  743. lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_fund.py} +20 -12
  744. lusid/models/paged_resource_list_of_fund_configuration.py +121 -0
  745. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +9 -1
  746. lusid/models/paged_resource_list_of_group_reconciliation_comparison_result.py +121 -0
  747. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +121 -0
  748. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +121 -0
  749. lusid/models/paged_resource_list_of_instrument.py +9 -1
  750. lusid/models/paged_resource_list_of_instrument_event_holder.py +9 -1
  751. lusid/models/paged_resource_list_of_instrument_event_instruction.py +121 -0
  752. lusid/models/paged_resource_list_of_legal_entity.py +9 -1
  753. lusid/models/paged_resource_list_of_order.py +9 -1
  754. lusid/models/paged_resource_list_of_order_graph_block.py +9 -1
  755. lusid/models/paged_resource_list_of_order_graph_placement.py +9 -1
  756. lusid/models/paged_resource_list_of_order_instruction.py +9 -1
  757. lusid/models/paged_resource_list_of_package.py +9 -1
  758. lusid/models/paged_resource_list_of_participation.py +9 -1
  759. lusid/models/paged_resource_list_of_person.py +9 -1
  760. lusid/models/paged_resource_list_of_placement.py +9 -1
  761. lusid/models/paged_resource_list_of_portfolio_group.py +9 -1
  762. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +9 -1
  763. lusid/models/paged_resource_list_of_portfolio_search_result.py +9 -1
  764. lusid/models/paged_resource_list_of_posting_module_response.py +9 -1
  765. lusid/models/paged_resource_list_of_posting_module_rule.py +9 -1
  766. lusid/models/paged_resource_list_of_property_definition.py +121 -0
  767. lusid/models/paged_resource_list_of_property_definition_search_result.py +9 -1
  768. lusid/models/paged_resource_list_of_reconciliation.py +9 -1
  769. lusid/models/paged_resource_list_of_reference_list_response.py +9 -1
  770. lusid/models/paged_resource_list_of_relationship_definition.py +9 -1
  771. lusid/models/paged_resource_list_of_sequence_definition.py +9 -1
  772. lusid/models/paged_resource_list_of_staged_modification.py +121 -0
  773. lusid/models/paged_resource_list_of_staged_modifications_requested_change_interval.py +121 -0
  774. lusid/models/paged_resource_list_of_staging_rule_set.py +121 -0
  775. lusid/models/paged_resource_list_of_transaction_template.py +121 -0
  776. lusid/models/paged_resource_list_of_transaction_template_specification.py +121 -0
  777. lusid/models/paged_resource_list_of_translation_script_id.py +9 -1
  778. lusid/models/paged_resource_list_of_valuation_point_overview.py +121 -0
  779. lusid/models/paged_resource_list_of_virtual_row.py +9 -1
  780. lusid/models/paged_resource_list_of_workspace.py +121 -0
  781. lusid/models/paged_resource_list_of_workspace_item.py +121 -0
  782. lusid/models/participation.py +9 -1
  783. lusid/models/participation_request.py +12 -10
  784. lusid/models/participation_set_request.py +9 -1
  785. lusid/models/percent_check_step.py +118 -0
  786. lusid/models/percent_check_step_request.py +106 -0
  787. lusid/models/performance_return.py +9 -1
  788. lusid/models/performance_returns_metric.py +10 -2
  789. lusid/models/period_diary_entries_reopened_response.py +112 -0
  790. lusid/models/perpetual_property.py +9 -1
  791. lusid/models/person.py +26 -3
  792. lusid/models/place_blocks_request.py +85 -0
  793. lusid/models/placement.py +9 -1
  794. lusid/models/placement_request.py +9 -1
  795. lusid/models/placement_set_request.py +9 -1
  796. lusid/models/placement_update_request.py +129 -0
  797. lusid/models/pnl_journal_entry_line.py +103 -0
  798. lusid/models/portfolio.py +41 -9
  799. lusid/models/portfolio_cash_flow.py +9 -1
  800. lusid/models/portfolio_cash_ladder.py +9 -1
  801. lusid/models/portfolio_details.py +38 -6
  802. lusid/models/portfolio_entity.py +154 -0
  803. lusid/models/portfolio_entity_id.py +11 -19
  804. lusid/models/portfolio_group.py +9 -1
  805. lusid/models/portfolio_group_id_compliance_parameter.py +12 -4
  806. lusid/models/portfolio_group_id_list.py +13 -5
  807. lusid/models/portfolio_group_id_list_compliance_parameter.py +12 -4
  808. lusid/models/portfolio_group_properties.py +9 -1
  809. lusid/models/portfolio_group_search_result.py +9 -1
  810. lusid/models/portfolio_holding.py +52 -4
  811. lusid/models/portfolio_id.py +88 -0
  812. lusid/models/portfolio_id_compliance_parameter.py +12 -4
  813. lusid/models/portfolio_id_list.py +13 -5
  814. lusid/models/portfolio_id_list_compliance_parameter.py +12 -4
  815. lusid/models/portfolio_properties.py +16 -2
  816. lusid/models/portfolio_reconciliation_request.py +9 -1
  817. lusid/models/portfolio_result_data_key_rule.py +9 -1
  818. lusid/models/portfolio_return_breakdown.py +9 -1
  819. lusid/models/portfolio_search_result.py +12 -4
  820. lusid/models/portfolio_trade_ticket.py +9 -1
  821. lusid/models/portfolio_type.py +1 -0
  822. lusid/models/portfolio_without_href.py +228 -0
  823. lusid/models/portfolios_reconciliation_request.py +9 -1
  824. lusid/models/posting_module_details.py +9 -1
  825. lusid/models/posting_module_request.py +9 -1
  826. lusid/models/posting_module_response.py +9 -1
  827. lusid/models/posting_module_rule.py +14 -6
  828. lusid/models/posting_module_rules_updated_response.py +9 -1
  829. lusid/models/pre_trade_configuration.py +77 -0
  830. lusid/models/premium.py +9 -1
  831. lusid/models/previous_fund_valuation_point_data.py +81 -0
  832. lusid/models/{action_result_of_portfolio.py → previous_nav.py} +24 -18
  833. lusid/models/previous_share_class_breakdown.py +89 -0
  834. lusid/models/pricing_context.py +17 -3
  835. lusid/models/pricing_model.py +3 -1
  836. lusid/models/pricing_options.py +17 -3
  837. lusid/models/processed_command.py +9 -1
  838. lusid/models/property_definition.py +34 -5
  839. lusid/models/property_definition_entity.py +154 -0
  840. lusid/models/property_definition_search_result.py +15 -5
  841. lusid/models/property_domain.py +41 -0
  842. lusid/models/property_filter.py +9 -1
  843. lusid/models/property_interval.py +9 -1
  844. lusid/models/property_key_compliance_parameter.py +12 -4
  845. lusid/models/property_key_list_compliance_parameter.py +12 -4
  846. lusid/models/property_list.py +107 -0
  847. lusid/models/property_list_compliance_parameter.py +103 -0
  848. lusid/models/property_schema.py +9 -1
  849. lusid/models/property_value.py +9 -1
  850. lusid/models/property_value_equals.py +9 -1
  851. lusid/models/property_value_in.py +9 -1
  852. lusid/models/protection_payout_cash_flow_event.py +110 -0
  853. lusid/models/query_applicable_instrument_events_request.py +97 -0
  854. lusid/models/query_bucketed_cash_flows_request.py +9 -1
  855. lusid/models/query_cash_flows_request.py +9 -1
  856. lusid/models/query_instrument_events_request.py +9 -1
  857. lusid/models/query_trade_tickets_request.py +9 -1
  858. lusid/models/queryable_key.py +132 -0
  859. lusid/models/quote.py +9 -1
  860. lusid/models/quote_access_metadata_rule.py +9 -1
  861. lusid/models/quote_access_metadata_rule_id.py +11 -3
  862. lusid/models/quote_dependency.py +9 -1
  863. lusid/models/quote_id.py +9 -1
  864. lusid/models/quote_series_id.py +15 -23
  865. lusid/models/quote_type.py +3 -0
  866. lusid/models/raw_vendor_event.py +14 -8
  867. lusid/models/re_open_period_diary_entry_request.py +92 -0
  868. lusid/models/realised_gain_loss.py +11 -3
  869. lusid/models/recipe_block.py +95 -0
  870. lusid/models/recipe_composer.py +108 -0
  871. lusid/models/recipe_value.py +95 -0
  872. lusid/models/recombine_step.py +109 -0
  873. lusid/models/recommended_sort_by.py +84 -0
  874. lusid/models/reconcile_date_time_rule.py +9 -1
  875. lusid/models/reconcile_numeric_rule.py +9 -1
  876. lusid/models/reconcile_string_rule.py +9 -1
  877. lusid/models/reconciled_transaction.py +9 -1
  878. lusid/models/reconciliation.py +9 -1
  879. lusid/models/reconciliation_break.py +9 -1
  880. lusid/models/reconciliation_configuration.py +9 -1
  881. lusid/models/reconciliation_id.py +9 -1
  882. lusid/models/reconciliation_left_right_address_key_pair.py +9 -1
  883. lusid/models/reconciliation_line.py +9 -1
  884. lusid/models/reconciliation_request.py +9 -1
  885. lusid/models/reconciliation_response.py +9 -1
  886. lusid/models/reconciliation_rule.py +9 -1
  887. lusid/models/reconciliation_side_configuration.py +9 -1
  888. lusid/models/reconciliation_transactions.py +9 -1
  889. lusid/models/reference_data.py +9 -1
  890. lusid/models/reference_instrument.py +12 -4
  891. lusid/models/reference_list.py +16 -6
  892. lusid/models/reference_list_request.py +9 -1
  893. lusid/models/reference_list_response.py +9 -1
  894. lusid/models/reference_list_type.py +2 -0
  895. lusid/models/reference_portfolio_constituent.py +9 -1
  896. lusid/models/reference_portfolio_constituent_request.py +9 -1
  897. lusid/models/related_entity.py +10 -2
  898. lusid/models/relation.py +9 -1
  899. lusid/models/relation_definition.py +9 -1
  900. lusid/models/relationship.py +9 -1
  901. lusid/models/relationship_definition.py +9 -1
  902. lusid/models/relative_date_offset.py +86 -0
  903. lusid/models/repo.py +12 -4
  904. lusid/models/requested_changes.py +84 -0
  905. lusid/models/reset_event.py +13 -7
  906. lusid/models/resource_id.py +9 -1
  907. lusid/models/resource_list_of_access_controlled_resource.py +9 -1
  908. lusid/models/resource_list_of_access_metadata_value_of.py +9 -1
  909. lusid/models/resource_list_of_address_key_definition.py +9 -1
  910. lusid/models/resource_list_of_aggregated_return.py +9 -1
  911. lusid/models/resource_list_of_aggregation_query.py +9 -1
  912. lusid/models/resource_list_of_allocation.py +9 -1
  913. lusid/models/resource_list_of_applicable_instrument_event.py +121 -0
  914. lusid/models/resource_list_of_block.py +9 -1
  915. lusid/models/resource_list_of_block_and_orders.py +121 -0
  916. lusid/models/resource_list_of_calendar_date.py +9 -1
  917. lusid/models/resource_list_of_change.py +9 -1
  918. lusid/models/resource_list_of_change_history.py +9 -1
  919. lusid/models/resource_list_of_change_interval.py +121 -0
  920. lusid/models/resource_list_of_change_interval_with_order_management_detail.py +121 -0
  921. lusid/models/resource_list_of_compliance_breached_order_info.py +9 -1
  922. lusid/models/resource_list_of_compliance_rule.py +9 -1
  923. lusid/models/resource_list_of_compliance_rule_result.py +9 -1
  924. lusid/models/resource_list_of_compliance_run_info.py +9 -1
  925. lusid/models/resource_list_of_constituents_adjustment_header.py +9 -1
  926. lusid/models/resource_list_of_corporate_action.py +9 -1
  927. lusid/models/resource_list_of_data_model_summary.py +121 -0
  928. lusid/models/resource_list_of_data_type.py +9 -1
  929. lusid/models/resource_list_of_execution.py +9 -1
  930. lusid/models/resource_list_of_fee_rule.py +9 -1
  931. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +9 -1
  932. lusid/models/resource_list_of_get_counterparty_agreement_response.py +9 -1
  933. lusid/models/resource_list_of_get_credit_support_annex_response.py +9 -1
  934. lusid/models/resource_list_of_get_flow_conventions_response.py +9 -1
  935. lusid/models/resource_list_of_get_index_convention_response.py +9 -1
  936. lusid/models/resource_list_of_get_recipe_composer_response.py +121 -0
  937. lusid/models/resource_list_of_get_recipe_response.py +9 -1
  938. lusid/models/resource_list_of_holdings_adjustment_header.py +9 -1
  939. lusid/models/resource_list_of_i_unit_definition_dto.py +9 -1
  940. lusid/models/resource_list_of_instrument_cash_flow.py +9 -1
  941. lusid/models/resource_list_of_instrument_event_holder.py +9 -1
  942. lusid/models/resource_list_of_instrument_id_type_descriptor.py +9 -1
  943. lusid/models/resource_list_of_legal_entity.py +9 -1
  944. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +9 -1
  945. lusid/models/resource_list_of_mapping.py +9 -1
  946. lusid/models/resource_list_of_moved_order_to_different_block_response.py +121 -0
  947. lusid/models/resource_list_of_order.py +9 -1
  948. lusid/models/resource_list_of_order_instruction.py +9 -1
  949. lusid/models/resource_list_of_output_transaction.py +121 -0
  950. lusid/models/resource_list_of_package.py +9 -1
  951. lusid/models/resource_list_of_participation.py +9 -1
  952. lusid/models/resource_list_of_performance_return.py +9 -1
  953. lusid/models/resource_list_of_person.py +9 -1
  954. lusid/models/resource_list_of_placement.py +9 -1
  955. lusid/models/resource_list_of_portfolio.py +9 -1
  956. lusid/models/resource_list_of_portfolio_cash_flow.py +9 -1
  957. lusid/models/resource_list_of_portfolio_cash_ladder.py +9 -1
  958. lusid/models/resource_list_of_portfolio_trade_ticket.py +9 -1
  959. lusid/models/resource_list_of_processed_command.py +9 -1
  960. lusid/models/resource_list_of_property.py +9 -1
  961. lusid/models/resource_list_of_property_definition.py +9 -1
  962. lusid/models/resource_list_of_property_interval.py +9 -1
  963. lusid/models/resource_list_of_queryable_key.py +121 -0
  964. lusid/models/resource_list_of_quote.py +9 -1
  965. lusid/models/resource_list_of_quote_access_metadata_rule.py +9 -1
  966. lusid/models/resource_list_of_reconciliation_break.py +9 -1
  967. lusid/models/resource_list_of_relation.py +9 -1
  968. lusid/models/resource_list_of_relationship.py +9 -1
  969. lusid/models/resource_list_of_scope_definition.py +9 -1
  970. lusid/models/resource_list_of_side_definition.py +9 -1
  971. lusid/models/resource_list_of_string.py +9 -1
  972. lusid/models/resource_list_of_tax_rule_set.py +9 -1
  973. lusid/models/resource_list_of_transaction.py +9 -1
  974. lusid/models/resource_list_of_transaction_type.py +9 -1
  975. lusid/models/resource_list_of_value_type.py +9 -1
  976. lusid/models/response_meta_data.py +9 -1
  977. lusid/models/result_data_key_rule.py +9 -1
  978. lusid/models/result_data_schema.py +9 -1
  979. lusid/models/result_key_rule.py +9 -1
  980. lusid/models/result_value.py +9 -1
  981. lusid/models/result_value0_d.py +9 -1
  982. lusid/models/result_value_bool.py +9 -1
  983. lusid/models/result_value_currency.py +9 -1
  984. lusid/models/result_value_date_time_offset.py +9 -1
  985. lusid/models/result_value_decimal.py +9 -1
  986. lusid/models/result_value_dictionary.py +9 -1
  987. lusid/models/result_value_int.py +9 -1
  988. lusid/models/result_value_string.py +9 -1
  989. lusid/models/return_zero_pv_options.py +77 -0
  990. lusid/models/reverse_stock_split_event.py +135 -0
  991. lusid/models/rounding_configuration.py +9 -1
  992. lusid/models/rounding_configuration_component.py +9 -1
  993. lusid/models/rounding_convention.py +9 -1
  994. lusid/models/rules_interval.py +91 -0
  995. lusid/models/schedule.py +16 -6
  996. lusid/models/schedule_type.py +2 -0
  997. lusid/models/scope_definition.py +9 -1
  998. lusid/models/scrip_dividend_event.py +135 -0
  999. lusid/models/script_map_reference.py +102 -0
  1000. lusid/models/security_election.py +94 -0
  1001. lusid/models/security_offer_election.py +87 -0
  1002. lusid/models/sequence_definition.py +9 -1
  1003. lusid/models/set_amortisation_rules_request.py +81 -0
  1004. lusid/models/set_legal_entity_identifiers_request.py +9 -1
  1005. lusid/models/set_legal_entity_properties_request.py +9 -1
  1006. lusid/models/set_person_identifiers_request.py +9 -1
  1007. lusid/models/set_person_properties_request.py +9 -1
  1008. lusid/models/set_share_class_instruments_request.py +87 -0
  1009. lusid/models/set_transaction_configuration_alias.py +9 -1
  1010. lusid/models/set_transaction_configuration_source_request.py +9 -1
  1011. lusid/models/settlement_cycle.py +87 -0
  1012. lusid/models/settlement_schedule.py +86 -0
  1013. lusid/models/share_class_amount.py +79 -0
  1014. lusid/models/share_class_breakdown.py +162 -0
  1015. lusid/models/share_class_data.py +87 -0
  1016. lusid/models/share_class_dealing_breakdown.py +105 -0
  1017. lusid/models/share_class_details.py +135 -0
  1018. lusid/models/share_class_pnl_breakdown.py +118 -0
  1019. lusid/models/side_configuration_data.py +9 -1
  1020. lusid/models/side_configuration_data_request.py +9 -1
  1021. lusid/models/side_definition.py +17 -9
  1022. lusid/models/side_definition_request.py +18 -3
  1023. lusid/models/sides_definition_request.py +9 -8
  1024. lusid/models/simple_cash_flow_loan.py +12 -4
  1025. lusid/models/simple_instrument.py +12 -4
  1026. lusid/models/simple_rounding_convention.py +84 -0
  1027. lusid/models/specific_holding_pricing_info.py +83 -0
  1028. lusid/models/spin_off_event.py +148 -0
  1029. lusid/models/staged_modification.py +197 -0
  1030. lusid/models/staged_modification_decision.py +105 -0
  1031. lusid/models/staged_modification_decision_request.py +79 -0
  1032. lusid/models/staged_modification_effective_range.py +79 -0
  1033. lusid/models/staged_modification_staging_rule.py +93 -0
  1034. lusid/models/staged_modifications_entity_hrefs.py +111 -0
  1035. lusid/models/staged_modifications_info.py +86 -0
  1036. lusid/models/staged_modifications_requested_change_interval.py +121 -0
  1037. lusid/models/staging_rule.py +98 -0
  1038. lusid/models/staging_rule_approval_criteria.py +96 -0
  1039. lusid/models/staging_rule_match_criteria.py +103 -0
  1040. lusid/models/staging_rule_set.py +126 -0
  1041. lusid/models/step_schedule.py +12 -4
  1042. lusid/models/stock_dividend_event.py +135 -0
  1043. lusid/models/stock_split_event.py +51 -11
  1044. lusid/models/strategy.py +89 -0
  1045. lusid/models/stream.py +9 -1
  1046. lusid/models/string_compliance_parameter.py +12 -4
  1047. lusid/models/string_list.py +13 -5
  1048. lusid/models/string_list_compliance_parameter.py +12 -4
  1049. lusid/models/structured_result_data.py +9 -1
  1050. lusid/models/structured_result_data_id.py +9 -1
  1051. lusid/models/sub_holding_key_value_equals.py +9 -1
  1052. lusid/models/swap_cash_flow_event.py +105 -0
  1053. lusid/models/swap_principal_event.py +105 -0
  1054. lusid/models/target_tax_lot.py +32 -3
  1055. lusid/models/target_tax_lot_request.py +32 -3
  1056. lusid/models/tax_rule.py +9 -1
  1057. lusid/models/tax_rule_set.py +9 -1
  1058. lusid/models/template_field.py +87 -0
  1059. lusid/models/tender_event.py +180 -0
  1060. lusid/models/term_deposit.py +12 -4
  1061. lusid/models/term_deposit_interest_event.py +108 -0
  1062. lusid/models/term_deposit_principal_event.py +108 -0
  1063. lusid/models/timeline.py +143 -0
  1064. lusid/models/total_return_swap.py +41 -18
  1065. lusid/models/touch.py +9 -1
  1066. lusid/models/trade_ticket.py +9 -1
  1067. lusid/models/trading_conventions.py +81 -0
  1068. lusid/models/transaction.py +40 -4
  1069. lusid/models/transaction_configuration_data.py +9 -1
  1070. lusid/models/transaction_configuration_data_request.py +9 -1
  1071. lusid/models/transaction_configuration_movement_data.py +13 -5
  1072. lusid/models/transaction_configuration_movement_data_request.py +13 -5
  1073. lusid/models/transaction_configuration_type_alias.py +9 -1
  1074. lusid/models/transaction_currency_and_amount.py +89 -0
  1075. lusid/models/transaction_date_windows.py +93 -0
  1076. lusid/models/transaction_diagnostics.py +79 -0
  1077. lusid/models/transaction_field_map.py +110 -0
  1078. lusid/models/transaction_price.py +12 -4
  1079. lusid/models/transaction_price_and_type.py +89 -0
  1080. lusid/models/transaction_price_type.py +3 -0
  1081. lusid/models/transaction_property_map.py +89 -0
  1082. lusid/models/transaction_property_mapping.py +9 -1
  1083. lusid/models/transaction_property_mapping_request.py +9 -1
  1084. lusid/models/transaction_query_parameters.py +9 -1
  1085. lusid/models/transaction_reconciliation_request.py +9 -1
  1086. lusid/models/transaction_reconciliation_request_v2.py +9 -1
  1087. lusid/models/transaction_request.py +34 -4
  1088. lusid/models/transaction_set_configuration_data.py +9 -1
  1089. lusid/models/transaction_set_configuration_data_request.py +9 -1
  1090. lusid/models/transaction_template.py +108 -0
  1091. lusid/models/transaction_template_request.py +87 -0
  1092. lusid/models/transaction_template_specification.py +107 -0
  1093. lusid/models/transaction_type.py +9 -1
  1094. lusid/models/transaction_type_alias.py +9 -8
  1095. lusid/models/transaction_type_calculation.py +26 -13
  1096. lusid/models/transaction_type_details.py +81 -0
  1097. lusid/models/transaction_type_movement.py +30 -5
  1098. lusid/models/transaction_type_property_mapping.py +35 -3
  1099. lusid/models/transaction_type_request.py +9 -1
  1100. lusid/models/transactions_reconciliations_response.py +9 -1
  1101. lusid/models/transition_event.py +12 -4
  1102. lusid/models/translate_entities_inlined_request.py +9 -1
  1103. lusid/models/translate_entities_request.py +9 -1
  1104. lusid/models/translate_entities_response.py +9 -1
  1105. lusid/models/translate_instrument_definitions_request.py +9 -1
  1106. lusid/models/translate_instrument_definitions_response.py +9 -1
  1107. lusid/models/translate_trade_ticket_request.py +9 -1
  1108. lusid/models/translate_trade_tickets_response.py +9 -1
  1109. lusid/models/translation_context.py +83 -0
  1110. lusid/models/translation_input.py +9 -1
  1111. lusid/models/translation_result.py +9 -1
  1112. lusid/models/translation_script.py +18 -4
  1113. lusid/models/translation_script_id.py +9 -1
  1114. lusid/models/trial_balance.py +58 -15
  1115. lusid/models/trial_balance_query_parameters.py +23 -6
  1116. lusid/models/trigger_event.py +12 -4
  1117. lusid/models/typed_resource_id.py +9 -1
  1118. lusid/models/unitisation_data.py +81 -0
  1119. lusid/models/units_ratio.py +79 -0
  1120. lusid/models/update_amortisation_rule_set_details_request.py +101 -0
  1121. lusid/models/update_calendar_request.py +9 -1
  1122. lusid/models/update_compliance_template_request.py +103 -0
  1123. lusid/models/update_custom_entity_definition_request.py +9 -1
  1124. lusid/models/update_custom_entity_type_request.py +9 -1
  1125. lusid/models/update_cut_label_definition_request.py +9 -1
  1126. lusid/models/update_data_type_request.py +9 -1
  1127. lusid/models/update_derived_property_definition_request.py +13 -3
  1128. lusid/models/update_fee_type_request.py +104 -0
  1129. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +99 -0
  1130. lusid/models/update_group_reconciliation_definition_request.py +115 -0
  1131. lusid/models/update_instrument_identifier_request.py +9 -1
  1132. lusid/models/update_orders_response.py +161 -0
  1133. lusid/models/update_placements_response.py +161 -0
  1134. lusid/models/update_portfolio_group_request.py +9 -1
  1135. lusid/models/update_portfolio_request.py +9 -1
  1136. lusid/models/update_property_definition_request.py +9 -1
  1137. lusid/models/update_reconciliation_request.py +9 -1
  1138. lusid/models/update_reference_data_request.py +95 -0
  1139. lusid/models/update_relationship_definition_request.py +9 -1
  1140. lusid/models/update_staging_rule_set_request.py +94 -0
  1141. lusid/models/update_tax_rule_set_request.py +9 -1
  1142. lusid/models/update_timeline_request.py +104 -0
  1143. lusid/models/update_unit_request.py +9 -1
  1144. lusid/models/upsert_cds_flow_conventions_request.py +9 -1
  1145. lusid/models/upsert_complex_market_data_request.py +9 -1
  1146. lusid/models/upsert_compliance_rule_request.py +9 -1
  1147. lusid/models/upsert_compliance_run_summary_request.py +9 -1
  1148. lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +17 -9
  1149. lusid/models/upsert_corporate_action_request.py +9 -1
  1150. lusid/models/upsert_corporate_actions_response.py +9 -1
  1151. lusid/models/upsert_counterparty_agreement_request.py +9 -1
  1152. lusid/models/upsert_credit_support_annex_request.py +9 -1
  1153. lusid/models/upsert_custom_data_model_request.py +176 -0
  1154. lusid/models/upsert_custom_entities_response.py +29 -2
  1155. lusid/models/upsert_custom_entity_access_metadata_request.py +9 -1
  1156. lusid/models/upsert_dialect_request.py +87 -0
  1157. lusid/models/upsert_flow_conventions_request.py +9 -1
  1158. lusid/models/upsert_index_convention_request.py +9 -1
  1159. lusid/models/upsert_instrument_event_request.py +20 -3
  1160. lusid/models/upsert_instrument_events_response.py +9 -1
  1161. lusid/models/upsert_instrument_properties_response.py +9 -1
  1162. lusid/models/upsert_instrument_property_request.py +9 -1
  1163. lusid/models/upsert_instruments_response.py +29 -2
  1164. lusid/models/upsert_legal_entities_response.py +9 -1
  1165. lusid/models/upsert_legal_entity_access_metadata_request.py +9 -1
  1166. lusid/models/upsert_legal_entity_request.py +9 -1
  1167. lusid/models/upsert_person_access_metadata_request.py +9 -1
  1168. lusid/models/upsert_person_request.py +9 -1
  1169. lusid/models/upsert_persons_response.py +122 -0
  1170. lusid/models/upsert_portfolio_access_metadata_request.py +9 -1
  1171. lusid/models/upsert_portfolio_group_access_metadata_request.py +9 -1
  1172. lusid/models/upsert_portfolio_transactions_response.py +9 -1
  1173. lusid/models/upsert_quote_access_metadata_rule_request.py +9 -1
  1174. lusid/models/upsert_quote_request.py +10 -2
  1175. lusid/models/upsert_quotes_response.py +9 -1
  1176. lusid/models/upsert_recipe_composer_request.py +81 -0
  1177. lusid/models/upsert_recipe_request.py +12 -10
  1178. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +92 -0
  1179. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +123 -0
  1180. lusid/models/upsert_reference_portfolio_constituents_request.py +9 -1
  1181. lusid/models/upsert_reference_portfolio_constituents_response.py +9 -1
  1182. lusid/models/upsert_result_values_data_request.py +9 -1
  1183. lusid/models/upsert_returns_response.py +9 -1
  1184. lusid/models/upsert_single_structured_data_response.py +9 -1
  1185. lusid/models/upsert_structured_data_response.py +9 -1
  1186. lusid/models/upsert_structured_result_data_request.py +9 -1
  1187. lusid/models/upsert_transaction_properties_response.py +9 -1
  1188. lusid/models/upsert_translation_script_request.py +83 -0
  1189. lusid/models/upsert_valuation_point_request.py +130 -0
  1190. lusid/models/user.py +9 -1
  1191. lusid/models/valuation_point_data_query_parameters.py +81 -0
  1192. lusid/models/valuation_point_data_request.py +84 -0
  1193. lusid/models/valuation_point_data_response.py +164 -0
  1194. lusid/models/valuation_point_overview.py +133 -0
  1195. lusid/models/valuation_point_resource_list_of_accounted_transaction.py +133 -0
  1196. lusid/models/valuation_point_resource_list_of_journal_entry_line.py +133 -0
  1197. lusid/models/valuation_point_resource_list_of_pnl_journal_entry_line.py +133 -0
  1198. lusid/models/valuation_point_resource_list_of_trial_balance.py +133 -0
  1199. lusid/models/valuation_request.py +9 -1
  1200. lusid/models/valuation_schedule.py +19 -4
  1201. lusid/models/valuations_reconciliation_request.py +9 -1
  1202. lusid/models/vendor_dependency.py +9 -1
  1203. lusid/models/vendor_model_rule.py +9 -1
  1204. lusid/models/version.py +25 -10
  1205. lusid/models/version_summary_dto.py +9 -1
  1206. lusid/models/versioned_resource_list_of_a2_b_data_record.py +9 -1
  1207. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +9 -1
  1208. lusid/models/versioned_resource_list_of_holding_contributor.py +9 -1
  1209. lusid/models/versioned_resource_list_of_journal_entry_line.py +9 -1
  1210. lusid/models/versioned_resource_list_of_output_transaction.py +9 -1
  1211. lusid/models/versioned_resource_list_of_portfolio_holding.py +9 -1
  1212. lusid/models/versioned_resource_list_of_transaction.py +9 -1
  1213. lusid/models/versioned_resource_list_of_trial_balance.py +9 -1
  1214. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +9 -1
  1215. lusid/models/virtual_document.py +9 -1
  1216. lusid/models/virtual_document_row.py +9 -1
  1217. lusid/models/virtual_row.py +9 -1
  1218. lusid/models/warning.py +9 -1
  1219. lusid/models/weekend_mask.py +9 -1
  1220. lusid/models/weighted_instrument.py +29 -3
  1221. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +97 -0
  1222. lusid/models/weighted_instruments.py +9 -1
  1223. lusid/models/workspace.py +100 -0
  1224. lusid/models/workspace_creation_request.py +86 -0
  1225. lusid/models/workspace_item.py +120 -0
  1226. lusid/models/workspace_item_creation_request.py +113 -0
  1227. lusid/models/workspace_item_update_request.py +95 -0
  1228. lusid/models/workspace_update_request.py +77 -0
  1229. lusid/models/yield_curve_data.py +12 -4
  1230. lusid/rest.py +75 -22
  1231. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.684.dist-info}/METADATA +614 -245
  1232. lusid_sdk-2.1.684.dist-info/RECORD +1273 -0
  1233. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.684.dist-info}/WHEEL +1 -1
  1234. lusid/extensions/api_client_builder.py +0 -138
  1235. lusid/models/configuration_recipe_snippet.py +0 -139
  1236. lusid/models/je_lines_query_parameters.py +0 -105
  1237. lusid/models/look_up_pricing_model_options.py +0 -93
  1238. lusid/models/reconciliation_break_id.py +0 -88
  1239. lusid/models/reconciliation_run_id.py +0 -85
  1240. lusid/models/upsert_reconciliation_break_request.py +0 -98
  1241. lusid_sdk-2.0.50b0.dist-info/RECORD +0 -917
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'))