lusid-sdk 1.1.126__py3-none-any.whl → 1.1.139__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (852) hide show
  1. lusid/__init__.py +18 -3
  2. lusid/__version__.py +1 -1
  3. lusid/api/address_key_definition_api.py +4 -4
  4. lusid/api/aggregation_api.py +4 -4
  5. lusid/api/allocations_api.py +5 -5
  6. lusid/api/application_metadata_api.py +4 -4
  7. lusid/api/blocks_api.py +5 -5
  8. lusid/api/calendars_api.py +13 -27
  9. lusid/api/complex_market_data_api.py +4 -4
  10. lusid/api/compliance_api.py +12 -12
  11. lusid/api/configuration_recipe_api.py +5 -5
  12. lusid/api/corporate_action_sources_api.py +9 -9
  13. lusid/api/counterparties_api.py +9 -9
  14. lusid/api/custom_entities_api.py +12 -12
  15. lusid/api/custom_entity_definitions_api.py +5 -5
  16. lusid/api/custom_entity_types_api.py +5 -5
  17. lusid/api/cut_label_definitions_api.py +6 -6
  18. lusid/api/data_types_api.py +8 -8
  19. lusid/api/derived_transaction_portfolios_api.py +3 -3
  20. lusid/api/entities_api.py +2 -2
  21. lusid/api/executions_api.py +5 -5
  22. lusid/api/instruments_api.py +17 -17
  23. lusid/api/legal_entities_api.py +18 -18
  24. lusid/api/order_graph_api.py +4 -4
  25. lusid/api/order_management_api.py +4 -4
  26. lusid/api/orders_api.py +5 -5
  27. lusid/api/participations_api.py +5 -5
  28. lusid/api/persons_api.py +18 -18
  29. lusid/api/placements_api.py +5 -5
  30. lusid/api/portfolio_groups_api.py +26 -26
  31. lusid/api/portfolios_api.py +982 -71
  32. lusid/api/property_definitions_api.py +16 -16
  33. lusid/api/queryable_keys_api.py +2 -2
  34. lusid/api/quotes_api.py +6 -6
  35. lusid/api/reconciliations_api.py +10 -10
  36. lusid/api/reference_lists_api.py +5 -5
  37. lusid/api/reference_portfolio_api.py +5 -5
  38. lusid/api/relationship_definitions_api.py +6 -6
  39. lusid/api/relationships_api.py +3 -3
  40. lusid/api/schemas_api.py +5 -5
  41. lusid/api/scopes_api.py +3 -3
  42. lusid/api/scripted_translation_api.py +9 -9
  43. lusid/api/search_api.py +5 -5
  44. lusid/api/sequences_api.py +5 -5
  45. lusid/api/structured_result_data_api.py +3 -3
  46. lusid/api/system_configuration_api.py +3 -3
  47. lusid/api/transaction_configuration_api.py +12 -12
  48. lusid/api/transaction_portfolios_api.py +52 -34
  49. lusid/api_client.py +2 -2
  50. lusid/configuration.py +3 -3
  51. lusid/exceptions.py +1 -1
  52. lusid/models/__init__.py +17 -2
  53. lusid/models/a2_b_breakdown.py +1 -1
  54. lusid/models/a2_b_category.py +1 -1
  55. lusid/models/a2_b_data_record.py +1 -1
  56. lusid/models/a2_b_movement_record.py +1 -1
  57. lusid/models/access_controlled_action.py +1 -1
  58. lusid/models/access_controlled_resource.py +1 -1
  59. lusid/models/access_metadata_operation.py +1 -1
  60. lusid/models/access_metadata_value.py +1 -1
  61. lusid/models/accumulation_event.py +5 -5
  62. lusid/models/accumulation_event_all_of.py +5 -5
  63. lusid/models/action_id.py +1 -1
  64. lusid/models/action_result_of_portfolio.py +1 -1
  65. lusid/models/add_business_days_to_date_request.py +1 -1
  66. lusid/models/add_business_days_to_date_response.py +1 -1
  67. lusid/models/additional_payment.py +1 -1
  68. lusid/models/address_definition.py +1 -1
  69. lusid/models/address_key_compliance_parameter.py +5 -5
  70. lusid/models/address_key_compliance_parameter_all_of.py +5 -5
  71. lusid/models/address_key_definition.py +1 -1
  72. lusid/models/address_key_filter.py +1 -1
  73. lusid/models/address_key_list.py +5 -5
  74. lusid/models/address_key_list_all_of.py +5 -5
  75. lusid/models/address_key_list_compliance_parameter.py +5 -5
  76. lusid/models/address_key_list_compliance_parameter_all_of.py +5 -5
  77. lusid/models/address_key_option_definition.py +1 -1
  78. lusid/models/adjust_holding.py +1 -1
  79. lusid/models/adjust_holding_for_date_request.py +1 -1
  80. lusid/models/adjust_holding_request.py +1 -1
  81. lusid/models/aggregate_spec.py +1 -1
  82. lusid/models/aggregated_return.py +1 -1
  83. lusid/models/aggregated_returns_dispersion_request.py +1 -1
  84. lusid/models/aggregated_returns_request.py +1 -1
  85. lusid/models/aggregated_returns_response.py +1 -1
  86. lusid/models/aggregation_context.py +1 -1
  87. lusid/models/aggregation_measure_failure_detail.py +1 -1
  88. lusid/models/aggregation_options.py +1 -1
  89. lusid/models/aggregation_query.py +1 -1
  90. lusid/models/allocation.py +1 -1
  91. lusid/models/allocation_request.py +1 -1
  92. lusid/models/allocation_set_request.py +1 -1
  93. lusid/models/amortisation_event.py +5 -5
  94. lusid/models/amortisation_event_all_of.py +5 -5
  95. lusid/models/annul_quotes_response.py +1 -1
  96. lusid/models/annul_single_structured_data_response.py +1 -1
  97. lusid/models/annul_structured_data_response.py +1 -1
  98. lusid/models/asset_leg.py +1 -1
  99. lusid/models/barrier.py +1 -1
  100. lusid/models/basket.py +1 -1
  101. lusid/models/basket_all_of.py +1 -1
  102. lusid/models/basket_identifier.py +1 -1
  103. lusid/models/batch_adjust_holdings_response.py +1 -1
  104. lusid/models/batch_upsert_instrument_properties_response.py +1 -1
  105. lusid/models/batch_upsert_portfolio_transactions_response.py +1 -1
  106. lusid/models/batch_upsert_property_definition_properties_response.py +1 -1
  107. lusid/models/block.py +1 -1
  108. lusid/models/block_and_order_id_request.py +1 -1
  109. lusid/models/block_and_orders.py +1 -1
  110. lusid/models/block_and_orders_create_request.py +1 -1
  111. lusid/models/block_and_orders_request.py +1 -1
  112. lusid/models/block_request.py +1 -1
  113. lusid/models/block_set_request.py +1 -1
  114. lusid/models/blocked_order_request.py +1 -1
  115. lusid/models/bond.py +10 -4
  116. lusid/models/bond_all_of.py +10 -4
  117. lusid/models/bond_coupon_event.py +5 -5
  118. lusid/models/bond_coupon_event_all_of.py +5 -5
  119. lusid/models/bond_default_event.py +5 -5
  120. lusid/models/bond_default_event_all_of.py +5 -5
  121. lusid/models/bond_principal_event.py +5 -5
  122. lusid/models/bond_principal_event_all_of.py +5 -5
  123. lusid/models/bool_compliance_parameter.py +5 -5
  124. lusid/models/bool_compliance_parameter_all_of.py +5 -5
  125. lusid/models/bool_list_compliance_parameter.py +5 -5
  126. lusid/models/branch_step.py +1 -1
  127. lusid/models/branch_step_all_of.py +1 -1
  128. lusid/models/calendar.py +1 -1
  129. lusid/models/calendar_date.py +1 -1
  130. lusid/models/calendar_dependency.py +1 -1
  131. lusid/models/calendar_dependency_all_of.py +1 -1
  132. lusid/models/cap_floor.py +1 -1
  133. lusid/models/cap_floor_all_of.py +1 -1
  134. lusid/models/cash_dependency.py +1 -1
  135. lusid/models/cash_dependency_all_of.py +1 -1
  136. lusid/models/cash_dividend_event.py +5 -5
  137. lusid/models/cash_dividend_event_all_of.py +5 -5
  138. lusid/models/cash_election.py +1 -1
  139. lusid/models/cash_flow_event.py +5 -5
  140. lusid/models/cash_flow_event_all_of.py +5 -5
  141. lusid/models/cash_flow_lineage.py +1 -1
  142. lusid/models/cash_flow_value.py +1 -1
  143. lusid/models/cash_flow_value_all_of.py +1 -1
  144. lusid/models/cash_flow_value_set.py +1 -1
  145. lusid/models/cash_flow_value_set_all_of.py +1 -1
  146. lusid/models/cash_ladder_record.py +1 -1
  147. lusid/models/cash_perpetual.py +1 -1
  148. lusid/models/cash_perpetual_all_of.py +1 -1
  149. lusid/models/cds_flow_conventions.py +1 -1
  150. lusid/models/cds_index.py +1 -1
  151. lusid/models/cds_index_all_of.py +1 -1
  152. lusid/models/cds_protection_detail_specification.py +1 -1
  153. lusid/models/change.py +1 -1
  154. lusid/models/change_history.py +1 -1
  155. lusid/models/change_item.py +1 -1
  156. lusid/models/check_step.py +1 -1
  157. lusid/models/check_step_all_of.py +1 -1
  158. lusid/models/close_event.py +5 -5
  159. lusid/models/close_event_all_of.py +5 -5
  160. lusid/models/complete_portfolio.py +1 -1
  161. lusid/models/complete_relationship.py +1 -1
  162. lusid/models/complex_bond.py +10 -4
  163. lusid/models/complex_bond_all_of.py +10 -4
  164. lusid/models/complex_market_data.py +1 -1
  165. lusid/models/complex_market_data_id.py +1 -1
  166. lusid/models/compliance_parameter.py +6 -5
  167. lusid/models/compliance_rule_breakdown.py +1 -1
  168. lusid/models/compliance_rule_breakdown_request.py +1 -1
  169. lusid/models/compliance_rule_response.py +1 -1
  170. lusid/models/compliance_rule_result_detail.py +1 -1
  171. lusid/models/compliance_rule_result_portfolio_detail.py +1 -1
  172. lusid/models/compliance_rule_result_v2.py +1 -1
  173. lusid/models/compliance_run_info_v2.py +1 -1
  174. lusid/models/compliance_step.py +1 -1
  175. lusid/models/compliance_summary_rule_result.py +1 -1
  176. lusid/models/compliance_summary_rule_result_request.py +1 -1
  177. lusid/models/compliance_template.py +1 -1
  178. lusid/models/compliance_template_parameter.py +1 -1
  179. lusid/models/compliance_template_variation.py +1 -1
  180. lusid/models/composite_breakdown.py +1 -1
  181. lusid/models/composite_breakdown_request.py +1 -1
  182. lusid/models/composite_breakdown_response.py +1 -1
  183. lusid/models/composite_dispersion.py +1 -1
  184. lusid/models/composite_dispersion_response.py +1 -1
  185. lusid/models/compounding.py +1 -1
  186. lusid/models/configuration_recipe.py +1 -1
  187. lusid/models/constant_volatility_surface.py +1 -1
  188. lusid/models/constant_volatility_surface_all_of.py +1 -1
  189. lusid/models/constituents_adjustment_header.py +1 -1
  190. lusid/models/contract_for_difference.py +1 -1
  191. lusid/models/contract_for_difference_all_of.py +1 -1
  192. lusid/models/corporate_action.py +1 -1
  193. lusid/models/corporate_action_source.py +1 -1
  194. lusid/models/corporate_action_transition.py +1 -1
  195. lusid/models/corporate_action_transition_component.py +1 -1
  196. lusid/models/corporate_action_transition_component_request.py +1 -1
  197. lusid/models/corporate_action_transition_request.py +1 -1
  198. lusid/models/counterparty_agreement.py +1 -1
  199. lusid/models/counterparty_risk_information.py +1 -1
  200. lusid/models/counterparty_signatory.py +1 -1
  201. lusid/models/create_address_key_definition_request.py +1 -1
  202. lusid/models/create_calendar_request.py +1 -1
  203. lusid/models/create_corporate_action_source_request.py +1 -1
  204. lusid/models/create_custom_entity_type_request.py +1 -1
  205. lusid/models/create_cut_label_definition_request.py +1 -1
  206. lusid/models/create_data_type_request.py +1 -1
  207. lusid/models/create_date_request.py +1 -1
  208. lusid/models/create_derived_property_definition_request.py +5 -5
  209. lusid/models/create_derived_transaction_portfolio_request.py +34 -5
  210. lusid/models/create_portfolio_details.py +1 -1
  211. lusid/models/create_portfolio_group_request.py +1 -1
  212. lusid/models/create_property_definition_request.py +5 -5
  213. lusid/models/create_reference_portfolio_request.py +1 -1
  214. lusid/models/create_relationship_definition_request.py +7 -7
  215. lusid/models/create_relationship_request.py +1 -1
  216. lusid/models/create_sequence_request.py +1 -1
  217. lusid/models/create_trade_tickets_response.py +1 -1
  218. lusid/models/create_transaction_portfolio_request.py +34 -5
  219. lusid/models/create_unit_definition.py +1 -1
  220. lusid/models/credit_default_swap.py +1 -1
  221. lusid/models/credit_default_swap_all_of.py +1 -1
  222. lusid/models/credit_rating.py +1 -1
  223. lusid/models/credit_spread_curve_data.py +1 -1
  224. lusid/models/credit_spread_curve_data_all_of.py +1 -1
  225. lusid/models/credit_support_annex.py +1 -1
  226. lusid/models/currency_and_amount.py +1 -1
  227. lusid/models/custodian_account.py +1 -1
  228. lusid/models/custom_entity_definition.py +1 -1
  229. lusid/models/custom_entity_definition_request.py +1 -1
  230. lusid/models/custom_entity_field.py +1 -1
  231. lusid/models/custom_entity_field_definition.py +1 -1
  232. lusid/models/custom_entity_id.py +1 -1
  233. lusid/models/custom_entity_request.py +1 -1
  234. lusid/models/custom_entity_response.py +1 -1
  235. lusid/models/custom_entity_type.py +1 -1
  236. lusid/models/cut_label_definition.py +1 -1
  237. lusid/models/cut_local_time.py +1 -1
  238. lusid/models/data_type.py +1 -1
  239. lusid/models/data_type_summary.py +1 -1
  240. lusid/models/date_attributes.py +1 -1
  241. lusid/models/date_range.py +1 -1
  242. lusid/models/date_time_compliance_parameter.py +5 -5
  243. lusid/models/date_time_compliance_parameter_all_of.py +5 -5
  244. lusid/models/date_time_list_compliance_parameter.py +5 -5
  245. lusid/models/day_of_week.py +1 -1
  246. lusid/models/decimal_compliance_parameter.py +5 -5
  247. lusid/models/decimal_compliance_parameter_all_of.py +5 -5
  248. lusid/models/decimal_list.py +5 -5
  249. lusid/models/decimal_list_all_of.py +5 -5
  250. lusid/models/decimal_list_compliance_parameter.py +5 -5
  251. lusid/models/decorated_compliance_run_summary.py +1 -1
  252. lusid/models/delete_instrument_properties_response.py +1 -1
  253. lusid/models/delete_instrument_response.py +1 -1
  254. lusid/models/delete_instruments_response.py +1 -1
  255. lusid/models/delete_relationship_request.py +1 -1
  256. lusid/models/deleted_entity_response.py +1 -1
  257. lusid/models/dependency_source_filter.py +1 -1
  258. lusid/models/dialect.py +1 -1
  259. lusid/models/dialect_id.py +1 -1
  260. lusid/models/dialect_schema.py +1 -1
  261. lusid/models/discount_factor_curve_data.py +1 -1
  262. lusid/models/discount_factor_curve_data_all_of.py +1 -1
  263. lusid/models/discounting_dependency.py +1 -1
  264. lusid/models/discounting_dependency_all_of.py +1 -1
  265. lusid/models/dividend_option_event.py +5 -5
  266. lusid/models/dividend_option_event_all_of.py +5 -5
  267. lusid/models/dividend_reinvestment_event.py +5 -5
  268. lusid/models/dividend_reinvestment_event_all_of.py +5 -5
  269. lusid/models/economic_dependency.py +1 -1
  270. lusid/models/economic_dependency_with_complex_market_data.py +1 -1
  271. lusid/models/economic_dependency_with_quote.py +1 -1
  272. lusid/models/empty_model_options.py +1 -1
  273. lusid/models/empty_model_options_all_of.py +1 -1
  274. lusid/models/entity_identifier.py +1 -1
  275. lusid/models/equity.py +1 -1
  276. lusid/models/equity_all_of.py +1 -1
  277. lusid/models/equity_all_of_identifiers.py +1 -1
  278. lusid/models/equity_curve_by_prices_data.py +1 -1
  279. lusid/models/equity_curve_by_prices_data_all_of.py +1 -1
  280. lusid/models/equity_curve_dependency.py +1 -1
  281. lusid/models/equity_curve_dependency_all_of.py +1 -1
  282. lusid/models/equity_model_options.py +1 -1
  283. lusid/models/equity_model_options_all_of.py +1 -1
  284. lusid/models/equity_option.py +1 -1
  285. lusid/models/equity_option_all_of.py +1 -1
  286. lusid/models/equity_swap.py +1 -1
  287. lusid/models/equity_swap_all_of.py +1 -1
  288. lusid/models/equity_vol_dependency.py +1 -1
  289. lusid/models/equity_vol_dependency_all_of.py +1 -1
  290. lusid/models/equity_vol_surface_data.py +1 -1
  291. lusid/models/equity_vol_surface_data_all_of.py +1 -1
  292. lusid/models/error_detail.py +1 -1
  293. lusid/models/event_date_range.py +1 -1
  294. lusid/models/ex_dividend_configuration.py +1 -1
  295. lusid/models/exchange_traded_option.py +1 -1
  296. lusid/models/exchange_traded_option_all_of.py +1 -1
  297. lusid/models/exchange_traded_option_contract_details.py +1 -1
  298. lusid/models/execution.py +1 -1
  299. lusid/models/execution_request.py +1 -1
  300. lusid/models/execution_set_request.py +1 -1
  301. lusid/models/exercise_event.py +5 -5
  302. lusid/models/exercise_event_all_of.py +5 -5
  303. lusid/models/exotic_instrument.py +1 -1
  304. lusid/models/exotic_instrument_all_of.py +1 -1
  305. lusid/models/expanded_group.py +1 -1
  306. lusid/models/expiry_event.py +5 -5
  307. lusid/models/expiry_event_all_of.py +5 -5
  308. lusid/models/field_definition.py +1 -1
  309. lusid/models/field_schema.py +1 -1
  310. lusid/models/field_value.py +1 -1
  311. lusid/models/file_response.py +1 -1
  312. lusid/models/filter_predicate_compliance_parameter.py +5 -5
  313. lusid/models/filter_predicate_compliance_parameter_all_of.py +5 -5
  314. lusid/models/filter_step.py +1 -1
  315. lusid/models/fixed_leg.py +1 -1
  316. lusid/models/fixed_leg_all_of.py +1 -1
  317. lusid/models/fixed_leg_all_of_overrides.py +1 -1
  318. lusid/models/flexible_loan.py +1 -1
  319. lusid/models/flexible_loan_all_of.py +1 -1
  320. lusid/models/floating_leg.py +1 -1
  321. lusid/models/floating_leg_all_of.py +1 -1
  322. lusid/models/flow_convention_name.py +1 -1
  323. lusid/models/flow_conventions.py +38 -2
  324. lusid/models/forward_rate_agreement.py +1 -1
  325. lusid/models/forward_rate_agreement_all_of.py +1 -1
  326. lusid/models/fund_share_class.py +1 -1
  327. lusid/models/fund_share_class_all_of.py +1 -1
  328. lusid/models/funding_leg.py +1 -1
  329. lusid/models/funding_leg_all_of.py +1 -1
  330. lusid/models/future.py +1 -1
  331. lusid/models/future_all_of.py +1 -1
  332. lusid/models/futures_contract_details.py +1 -1
  333. lusid/models/fx_conventions.py +1 -1
  334. lusid/models/fx_dependency.py +1 -1
  335. lusid/models/fx_dependency_all_of.py +1 -1
  336. lusid/models/fx_forward.py +1 -1
  337. lusid/models/fx_forward_all_of.py +1 -1
  338. lusid/models/fx_forward_curve_by_quote_reference.py +1 -1
  339. lusid/models/fx_forward_curve_by_quote_reference_all_of.py +1 -1
  340. lusid/models/fx_forward_curve_data.py +1 -1
  341. lusid/models/fx_forward_curve_data_all_of.py +1 -1
  342. lusid/models/fx_forward_model_options.py +1 -1
  343. lusid/models/fx_forward_model_options_all_of.py +1 -1
  344. lusid/models/fx_forward_pips_curve_data.py +1 -1
  345. lusid/models/fx_forward_pips_curve_data_all_of.py +1 -1
  346. lusid/models/fx_forward_settlement_event.py +5 -5
  347. lusid/models/fx_forward_settlement_event_all_of.py +5 -5
  348. lusid/models/fx_forward_tenor_curve_data.py +1 -1
  349. lusid/models/fx_forward_tenor_curve_data_all_of.py +1 -1
  350. lusid/models/fx_forward_tenor_pips_curve_data.py +1 -1
  351. lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +1 -1
  352. lusid/models/fx_forwards_dependency.py +1 -1
  353. lusid/models/fx_forwards_dependency_all_of.py +1 -1
  354. lusid/models/fx_linked_notional_schedule.py +1 -1
  355. lusid/models/fx_linked_notional_schedule_all_of.py +1 -1
  356. lusid/models/fx_option.py +1 -1
  357. lusid/models/fx_option_all_of.py +1 -1
  358. lusid/models/fx_swap.py +1 -1
  359. lusid/models/fx_swap_all_of.py +1 -1
  360. lusid/models/fx_tenor_convention.py +1 -1
  361. lusid/models/fx_vol_dependency.py +1 -1
  362. lusid/models/fx_vol_dependency_all_of.py +1 -1
  363. lusid/models/fx_vol_surface_data.py +1 -1
  364. lusid/models/get_complex_market_data_response.py +1 -1
  365. lusid/models/get_counterparty_agreement_response.py +1 -1
  366. lusid/models/get_credit_support_annex_response.py +1 -1
  367. lusid/models/get_instruments_response.py +1 -1
  368. lusid/models/get_quotes_response.py +1 -1
  369. lusid/models/get_recipe_response.py +1 -1
  370. lusid/models/get_reference_portfolio_constituents_response.py +1 -1
  371. lusid/models/group_by_selector_compliance_parameter.py +5 -5
  372. lusid/models/group_by_step.py +1 -1
  373. lusid/models/group_filter_predicate_compliance_parameter.py +5 -5
  374. lusid/models/group_filter_step.py +1 -1
  375. lusid/models/group_of_market_data_key_rules.py +1 -1
  376. lusid/models/holding_adjustment.py +1 -1
  377. lusid/models/holding_adjustment_with_date.py +1 -1
  378. lusid/models/holding_context.py +1 -1
  379. lusid/models/holding_contributor.py +1 -1
  380. lusid/models/holdings_adjustment.py +1 -1
  381. lusid/models/holdings_adjustment_header.py +1 -1
  382. lusid/models/i_unit_definition_dto.py +1 -1
  383. lusid/models/id_selector_definition.py +1 -1
  384. lusid/models/identifier_part_schema.py +1 -1
  385. lusid/models/index_convention.py +1 -1
  386. lusid/models/index_model_options.py +1 -1
  387. lusid/models/index_model_options_all_of.py +1 -1
  388. lusid/models/index_projection_dependency.py +1 -1
  389. lusid/models/index_projection_dependency_all_of.py +1 -1
  390. lusid/models/industry_classifier.py +1 -1
  391. lusid/models/inflation_fixing_dependency.py +1 -1
  392. lusid/models/inflation_fixing_dependency_all_of.py +1 -1
  393. lusid/models/inflation_index_conventions.py +1 -1
  394. lusid/models/inflation_leg.py +1 -1
  395. lusid/models/inflation_leg_all_of.py +1 -1
  396. lusid/models/inflation_linked_bond.py +10 -4
  397. lusid/models/inflation_linked_bond_all_of.py +10 -4
  398. lusid/models/inflation_swap.py +1 -1
  399. lusid/models/inflation_swap_all_of.py +1 -1
  400. lusid/models/informational_error_event.py +5 -5
  401. lusid/models/informational_error_event_all_of.py +5 -5
  402. lusid/models/informational_event.py +5 -5
  403. lusid/models/informational_event_all_of.py +5 -5
  404. lusid/models/inline_valuation_request.py +1 -1
  405. lusid/models/inline_valuations_reconciliation_request.py +1 -1
  406. lusid/models/input_transition.py +1 -1
  407. lusid/models/instrument.py +1 -1
  408. lusid/models/instrument_definition.py +1 -1
  409. lusid/models/instrument_definition_format.py +1 -1
  410. lusid/models/instrument_event.py +8 -5
  411. lusid/models/instrument_event_configuration.py +34 -5
  412. lusid/models/instrument_event_holder.py +1 -1
  413. lusid/models/instrument_event_instruction.py +352 -0
  414. lusid/models/instrument_event_instruction_request.py +279 -0
  415. lusid/models/instrument_event_instructions_response.py +174 -0
  416. lusid/models/instrument_id_type_descriptor.py +1 -1
  417. lusid/models/instrument_id_value.py +1 -1
  418. lusid/models/instrument_leg.py +1 -1
  419. lusid/models/instrument_leg_all_of.py +1 -1
  420. lusid/models/instrument_list.py +5 -5
  421. lusid/models/instrument_list_all_of.py +5 -5
  422. lusid/models/instrument_list_compliance_parameter.py +5 -5
  423. lusid/models/instrument_match.py +1 -1
  424. lusid/models/instrument_models.py +1 -1
  425. lusid/models/instrument_properties.py +1 -1
  426. lusid/models/instrument_search_property.py +1 -1
  427. lusid/models/interest_rate_swap.py +1 -1
  428. lusid/models/interest_rate_swap_all_of.py +1 -1
  429. lusid/models/interest_rate_swaption.py +1 -1
  430. lusid/models/interest_rate_swaption_all_of.py +1 -1
  431. lusid/models/ir_vol_cube_data.py +1 -1
  432. lusid/models/ir_vol_cube_data_all_of.py +1 -1
  433. lusid/models/ir_vol_dependency.py +1 -1
  434. lusid/models/ir_vol_dependency_all_of.py +1 -1
  435. lusid/models/is_business_day_response.py +1 -1
  436. lusid/models/label_value_set.py +1 -1
  437. lusid/models/leg_definition.py +1 -1
  438. lusid/models/legal_entity.py +1 -1
  439. lusid/models/level_step.py +1 -1
  440. lusid/models/life_cycle_event_lineage.py +1 -1
  441. lusid/models/life_cycle_event_value.py +1 -1
  442. lusid/models/life_cycle_event_value_all_of.py +1 -1
  443. lusid/models/lineage_member.py +1 -1
  444. lusid/models/link.py +1 -1
  445. lusid/models/list_aggregation_reconciliation.py +1 -1
  446. lusid/models/list_aggregation_response.py +1 -1
  447. lusid/models/loan_period.py +1 -1
  448. lusid/models/lusid_instrument.py +1 -1
  449. lusid/models/lusid_problem_details.py +1 -1
  450. lusid/models/lusid_trade_ticket.py +1 -1
  451. lusid/models/lusid_unique_id.py +1 -1
  452. lusid/models/lusid_validation_problem_details.py +1 -1
  453. lusid/models/mapped_string.py +1 -1
  454. lusid/models/mapping.py +1 -1
  455. lusid/models/mapping_rule.py +1 -1
  456. lusid/models/market_context.py +1 -1
  457. lusid/models/market_context_suppliers.py +1 -1
  458. lusid/models/market_data_key_rule.py +1 -1
  459. lusid/models/market_data_options.py +1 -1
  460. lusid/models/market_data_overrides.py +1 -1
  461. lusid/models/market_data_specific_rule.py +1 -1
  462. lusid/models/market_options.py +1 -1
  463. lusid/models/market_quote.py +1 -1
  464. lusid/models/maturity_event.py +5 -5
  465. lusid/models/maturity_event_all_of.py +5 -5
  466. lusid/models/metric_value.py +1 -1
  467. lusid/models/model_options.py +1 -1
  468. lusid/models/model_property.py +1 -1
  469. lusid/models/model_selection.py +1 -1
  470. lusid/models/move_orders_to_different_blocks_request.py +1 -1
  471. lusid/models/moved_order_to_different_block_response.py +1 -1
  472. lusid/models/next_value_in_sequence_response.py +1 -1
  473. lusid/models/opaque_dependency.py +1 -1
  474. lusid/models/opaque_dependency_all_of.py +1 -1
  475. lusid/models/opaque_market_data.py +1 -1
  476. lusid/models/opaque_market_data_all_of.py +1 -1
  477. lusid/models/opaque_model_options.py +1 -1
  478. lusid/models/opaque_model_options_all_of.py +1 -1
  479. lusid/models/open_event.py +5 -5
  480. lusid/models/open_event_all_of.py +5 -5
  481. lusid/models/operation.py +1 -1
  482. lusid/models/order.py +1 -1
  483. lusid/models/order_by_spec.py +1 -1
  484. lusid/models/order_flow_configuration.py +1 -1
  485. lusid/models/order_graph_block.py +32 -2
  486. lusid/models/order_graph_block_allocation_detail.py +1 -1
  487. lusid/models/order_graph_block_allocation_synopsis.py +1 -1
  488. lusid/models/order_graph_block_execution_detail.py +1 -1
  489. lusid/models/order_graph_block_execution_synopsis.py +1 -1
  490. lusid/models/order_graph_block_order_detail.py +1 -1
  491. lusid/models/order_graph_block_order_synopsis.py +32 -2
  492. lusid/models/order_graph_block_placement_detail.py +1 -1
  493. lusid/models/order_graph_block_placement_synopsis.py +32 -2
  494. lusid/models/order_graph_block_transaction_detail.py +149 -0
  495. lusid/models/order_graph_block_transaction_synopsis.py +178 -0
  496. lusid/models/order_graph_placement.py +1 -1
  497. lusid/models/order_graph_placement_allocation_detail.py +1 -1
  498. lusid/models/order_graph_placement_allocation_synopsis.py +1 -1
  499. lusid/models/order_graph_placement_child_placement_detail.py +1 -1
  500. lusid/models/order_graph_placement_execution_detail.py +1 -1
  501. lusid/models/order_graph_placement_execution_synopsis.py +1 -1
  502. lusid/models/order_graph_placement_order_detail.py +1 -1
  503. lusid/models/order_graph_placement_order_synopsis.py +1 -1
  504. lusid/models/order_graph_placement_placement_synopsis.py +1 -1
  505. lusid/models/order_request.py +1 -1
  506. lusid/models/order_set_request.py +1 -1
  507. lusid/models/otc_confirmation.py +1 -1
  508. lusid/models/output_transaction.py +35 -5
  509. lusid/models/output_transition.py +1 -1
  510. lusid/models/paged_resource_list_of_address_key_definition.py +1 -1
  511. lusid/models/paged_resource_list_of_allocation.py +1 -1
  512. lusid/models/paged_resource_list_of_block.py +1 -1
  513. lusid/models/paged_resource_list_of_calendar.py +1 -1
  514. lusid/models/paged_resource_list_of_compliance_rule_response.py +1 -1
  515. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +1 -1
  516. lusid/models/paged_resource_list_of_compliance_template.py +1 -1
  517. lusid/models/paged_resource_list_of_corporate_action_source.py +1 -1
  518. lusid/models/paged_resource_list_of_custom_entity_definition.py +1 -1
  519. lusid/models/paged_resource_list_of_custom_entity_response.py +1 -1
  520. lusid/models/paged_resource_list_of_custom_entity_type.py +1 -1
  521. lusid/models/paged_resource_list_of_cut_label_definition.py +1 -1
  522. lusid/models/paged_resource_list_of_data_type_summary.py +1 -1
  523. lusid/models/paged_resource_list_of_dialect_id.py +1 -1
  524. lusid/models/paged_resource_list_of_execution.py +1 -1
  525. lusid/models/paged_resource_list_of_instrument.py +1 -1
  526. lusid/models/paged_resource_list_of_instrument_event_holder.py +1 -1
  527. lusid/models/paged_resource_list_of_legal_entity.py +1 -1
  528. lusid/models/paged_resource_list_of_order.py +1 -1
  529. lusid/models/paged_resource_list_of_order_graph_block.py +1 -1
  530. lusid/models/paged_resource_list_of_order_graph_placement.py +1 -1
  531. lusid/models/paged_resource_list_of_participation.py +1 -1
  532. lusid/models/paged_resource_list_of_person.py +1 -1
  533. lusid/models/paged_resource_list_of_placement.py +1 -1
  534. lusid/models/paged_resource_list_of_portfolio_group.py +1 -1
  535. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +1 -1
  536. lusid/models/paged_resource_list_of_portfolio_search_result.py +1 -1
  537. lusid/models/paged_resource_list_of_property_definition.py +1 -1
  538. lusid/models/paged_resource_list_of_property_definition_search_result.py +1 -1
  539. lusid/models/paged_resource_list_of_reference_list_response.py +1 -1
  540. lusid/models/paged_resource_list_of_relationship_definition.py +1 -1
  541. lusid/models/paged_resource_list_of_sequence_definition.py +1 -1
  542. lusid/models/paged_resource_list_of_translation_script_id.py +1 -1
  543. lusid/models/paged_resource_list_of_virtual_row.py +1 -1
  544. lusid/models/participation.py +1 -1
  545. lusid/models/participation_request.py +1 -1
  546. lusid/models/participation_set_request.py +1 -1
  547. lusid/models/performance_return.py +1 -1
  548. lusid/models/performance_returns_metric.py +1 -1
  549. lusid/models/perpetual_property.py +1 -1
  550. lusid/models/person.py +1 -1
  551. lusid/models/place_blocks_request.py +1 -1
  552. lusid/models/placement.py +1 -1
  553. lusid/models/placement_request.py +1 -1
  554. lusid/models/placement_set_request.py +1 -1
  555. lusid/models/portfolio.py +60 -2
  556. lusid/models/portfolio_cash_flow.py +1 -1
  557. lusid/models/portfolio_cash_ladder.py +1 -1
  558. lusid/models/portfolio_details.py +31 -2
  559. lusid/models/portfolio_entity_id.py +1 -1
  560. lusid/models/portfolio_group.py +1 -1
  561. lusid/models/portfolio_group_id_compliance_parameter.py +5 -5
  562. lusid/models/portfolio_group_id_list.py +5 -5
  563. lusid/models/portfolio_group_id_list_all_of.py +5 -5
  564. lusid/models/portfolio_group_id_list_compliance_parameter.py +5 -5
  565. lusid/models/portfolio_group_properties.py +1 -1
  566. lusid/models/portfolio_group_search_result.py +1 -1
  567. lusid/models/portfolio_holding.py +1 -1
  568. lusid/models/portfolio_id_compliance_parameter.py +5 -5
  569. lusid/models/portfolio_id_list.py +5 -5
  570. lusid/models/portfolio_id_list_compliance_parameter.py +5 -5
  571. lusid/models/portfolio_properties.py +1 -1
  572. lusid/models/portfolio_reconciliation_request.py +1 -1
  573. lusid/models/portfolio_result_data_key_rule.py +1 -1
  574. lusid/models/portfolio_result_data_key_rule_all_of.py +1 -1
  575. lusid/models/portfolio_return_breakdown.py +1 -1
  576. lusid/models/portfolio_search_result.py +1 -1
  577. lusid/models/portfolios_reconciliation_request.py +1 -1
  578. lusid/models/premium.py +1 -1
  579. lusid/models/pricing_context.py +1 -1
  580. lusid/models/pricing_options.py +1 -1
  581. lusid/models/processed_command.py +1 -1
  582. lusid/models/property_definition.py +5 -5
  583. lusid/models/property_definition_search_result.py +5 -5
  584. lusid/models/property_filter.py +1 -1
  585. lusid/models/property_interval.py +1 -1
  586. lusid/models/property_key_compliance_parameter.py +5 -5
  587. lusid/models/property_key_compliance_parameter_all_of.py +5 -5
  588. lusid/models/property_key_list_compliance_parameter.py +5 -5
  589. lusid/models/property_list.py +188 -0
  590. lusid/models/property_list_all_of.py +188 -0
  591. lusid/models/property_list_compliance_parameter.py +182 -0
  592. lusid/models/property_schema.py +1 -1
  593. lusid/models/property_value.py +1 -1
  594. lusid/models/queryable_key.py +1 -1
  595. lusid/models/quote.py +1 -1
  596. lusid/models/quote_dependency.py +1 -1
  597. lusid/models/quote_dependency_all_of.py +1 -1
  598. lusid/models/quote_id.py +1 -1
  599. lusid/models/quote_series_id.py +1 -1
  600. lusid/models/raw_vendor_event.py +5 -5
  601. lusid/models/raw_vendor_event_all_of.py +5 -5
  602. lusid/models/realised_gain_loss.py +1 -1
  603. lusid/models/recombine_step.py +1 -1
  604. lusid/models/reconcile_date_time_rule.py +1 -1
  605. lusid/models/reconcile_date_time_rule_all_of.py +1 -1
  606. lusid/models/reconcile_numeric_rule.py +1 -1
  607. lusid/models/reconcile_numeric_rule_all_of.py +1 -1
  608. lusid/models/reconcile_string_rule.py +1 -1
  609. lusid/models/reconcile_string_rule_all_of.py +1 -1
  610. lusid/models/reconciled_transaction.py +1 -1
  611. lusid/models/reconciliation_break.py +1 -1
  612. lusid/models/reconciliation_left_right_address_key_pair.py +1 -1
  613. lusid/models/reconciliation_line.py +1 -1
  614. lusid/models/reconciliation_request.py +1 -1
  615. lusid/models/reconciliation_response.py +1 -1
  616. lusid/models/reconciliation_rule.py +1 -1
  617. lusid/models/reference_data.py +1 -1
  618. lusid/models/reference_instrument.py +1 -1
  619. lusid/models/reference_instrument_all_of.py +1 -1
  620. lusid/models/reference_list.py +6 -5
  621. lusid/models/reference_list_request.py +1 -1
  622. lusid/models/reference_list_response.py +1 -1
  623. lusid/models/reference_portfolio_constituent.py +1 -1
  624. lusid/models/reference_portfolio_constituent_request.py +1 -1
  625. lusid/models/related_entity.py +4 -4
  626. lusid/models/relation.py +1 -1
  627. lusid/models/relationship.py +1 -1
  628. lusid/models/relationship_definition.py +1 -1
  629. lusid/models/relative_date_offset.py +38 -8
  630. lusid/models/repo.py +1 -1
  631. lusid/models/repo_all_of.py +1 -1
  632. lusid/models/reset_event.py +5 -5
  633. lusid/models/reset_event_all_of.py +5 -5
  634. lusid/models/resource_id.py +1 -1
  635. lusid/models/resource_list_of_access_controlled_resource.py +1 -1
  636. lusid/models/resource_list_of_access_metadata_value_of.py +1 -1
  637. lusid/models/resource_list_of_address_key_definition.py +1 -1
  638. lusid/models/resource_list_of_aggregated_return.py +266 -0
  639. lusid/models/resource_list_of_aggregation_query.py +1 -1
  640. lusid/models/resource_list_of_allocation.py +1 -1
  641. lusid/models/resource_list_of_block.py +1 -1
  642. lusid/models/resource_list_of_block_and_orders.py +1 -1
  643. lusid/models/resource_list_of_calendar_date.py +1 -1
  644. lusid/models/resource_list_of_change.py +1 -1
  645. lusid/models/resource_list_of_change_history.py +1 -1
  646. lusid/models/resource_list_of_constituents_adjustment_header.py +1 -1
  647. lusid/models/resource_list_of_corporate_action.py +1 -1
  648. lusid/models/resource_list_of_data_type.py +1 -1
  649. lusid/models/resource_list_of_execution.py +1 -1
  650. lusid/models/resource_list_of_get_counterparty_agreement_response.py +1 -1
  651. lusid/models/resource_list_of_get_credit_support_annex_response.py +1 -1
  652. lusid/models/resource_list_of_get_recipe_response.py +1 -1
  653. lusid/models/resource_list_of_holdings_adjustment_header.py +1 -1
  654. lusid/models/resource_list_of_i_unit_definition_dto.py +1 -1
  655. lusid/models/resource_list_of_instrument_id_type_descriptor.py +1 -1
  656. lusid/models/resource_list_of_legal_entity.py +1 -1
  657. lusid/models/resource_list_of_mapping.py +1 -1
  658. lusid/models/resource_list_of_moved_order_to_different_block_response.py +1 -1
  659. lusid/models/resource_list_of_order.py +1 -1
  660. lusid/models/resource_list_of_participation.py +1 -1
  661. lusid/models/resource_list_of_performance_return.py +1 -1
  662. lusid/models/resource_list_of_person.py +1 -1
  663. lusid/models/resource_list_of_placement.py +1 -1
  664. lusid/models/resource_list_of_portfolio.py +1 -1
  665. lusid/models/resource_list_of_portfolio_cash_flow.py +1 -1
  666. lusid/models/resource_list_of_portfolio_cash_ladder.py +1 -1
  667. lusid/models/resource_list_of_processed_command.py +1 -1
  668. lusid/models/resource_list_of_property.py +1 -1
  669. lusid/models/resource_list_of_property_definition.py +1 -1
  670. lusid/models/resource_list_of_property_interval.py +1 -1
  671. lusid/models/resource_list_of_queryable_key.py +1 -1
  672. lusid/models/resource_list_of_quote.py +1 -1
  673. lusid/models/resource_list_of_reconciliation_break.py +1 -1
  674. lusid/models/resource_list_of_relation.py +1 -1
  675. lusid/models/resource_list_of_relationship.py +1 -1
  676. lusid/models/resource_list_of_scope_definition.py +1 -1
  677. lusid/models/resource_list_of_side_definition.py +1 -1
  678. lusid/models/resource_list_of_string.py +1 -1
  679. lusid/models/resource_list_of_transaction_type.py +1 -1
  680. lusid/models/resource_list_of_value_type.py +1 -1
  681. lusid/models/response_meta_data.py +1 -1
  682. lusid/models/result_data_key_rule.py +1 -1
  683. lusid/models/result_data_key_rule_all_of.py +1 -1
  684. lusid/models/result_data_schema.py +1 -1
  685. lusid/models/result_key_rule.py +1 -1
  686. lusid/models/result_value.py +1 -1
  687. lusid/models/result_value0_d.py +1 -1
  688. lusid/models/result_value0_d_all_of.py +1 -1
  689. lusid/models/result_value_bool.py +1 -1
  690. lusid/models/result_value_bool_all_of.py +1 -1
  691. lusid/models/result_value_currency.py +1 -1
  692. lusid/models/result_value_currency_all_of.py +1 -1
  693. lusid/models/result_value_date_time_offset.py +1 -1
  694. lusid/models/result_value_date_time_offset_all_of.py +1 -1
  695. lusid/models/result_value_decimal.py +1 -1
  696. lusid/models/result_value_decimal_all_of.py +1 -1
  697. lusid/models/result_value_dictionary.py +1 -1
  698. lusid/models/result_value_dictionary_all_of.py +1 -1
  699. lusid/models/result_value_int.py +1 -1
  700. lusid/models/result_value_int_all_of.py +1 -1
  701. lusid/models/result_value_string.py +1 -1
  702. lusid/models/result_value_string_all_of.py +1 -1
  703. lusid/models/reverse_stock_split_event.py +306 -0
  704. lusid/models/reverse_stock_split_event_all_of.py +306 -0
  705. lusid/models/rounding_configuration.py +1 -1
  706. lusid/models/rounding_configuration_component.py +1 -1
  707. lusid/models/rounding_convention.py +1 -1
  708. lusid/models/schedule.py +1 -1
  709. lusid/models/schema.py +1 -1
  710. lusid/models/scope_definition.py +1 -1
  711. lusid/models/scrip_dividend_event.py +306 -0
  712. lusid/models/scrip_dividend_event_all_of.py +306 -0
  713. lusid/models/script_map_reference.py +1 -1
  714. lusid/models/security_election.py +1 -1
  715. lusid/models/sequence_definition.py +1 -1
  716. lusid/models/set_legal_entity_identifiers_request.py +1 -1
  717. lusid/models/set_legal_entity_properties_request.py +1 -1
  718. lusid/models/set_person_identifiers_request.py +1 -1
  719. lusid/models/set_person_properties_request.py +1 -1
  720. lusid/models/side_configuration_data.py +1 -1
  721. lusid/models/side_definition.py +1 -1
  722. lusid/models/side_definition_request.py +1 -1
  723. lusid/models/sides_definition_request.py +1 -1
  724. lusid/models/simple_cash_flow_loan.py +1 -1
  725. lusid/models/simple_cash_flow_loan_all_of.py +1 -1
  726. lusid/models/simple_instrument.py +1 -1
  727. lusid/models/simple_instrument_all_of.py +1 -1
  728. lusid/models/staged_modifications_info.py +208 -0
  729. lusid/models/step_schedule.py +1 -1
  730. lusid/models/step_schedule_all_of.py +1 -1
  731. lusid/models/stock_dividend_event.py +306 -0
  732. lusid/models/stock_dividend_event_all_of.py +306 -0
  733. lusid/models/stock_split_event.py +105 -47
  734. lusid/models/stock_split_event_all_of.py +105 -47
  735. lusid/models/stream.py +1 -1
  736. lusid/models/string_compliance_parameter.py +5 -5
  737. lusid/models/string_list.py +5 -5
  738. lusid/models/string_list_compliance_parameter.py +5 -5
  739. lusid/models/target_tax_lot.py +1 -1
  740. lusid/models/target_tax_lot_request.py +1 -1
  741. lusid/models/term_deposit.py +1 -1
  742. lusid/models/term_deposit_all_of.py +1 -1
  743. lusid/models/total_return_swap.py +1 -1
  744. lusid/models/total_return_swap_all_of.py +1 -1
  745. lusid/models/touch.py +1 -1
  746. lusid/models/transaction.py +1 -1
  747. lusid/models/transaction_configuration_data.py +1 -1
  748. lusid/models/transaction_configuration_data_request.py +1 -1
  749. lusid/models/transaction_configuration_movement_data.py +1 -1
  750. lusid/models/transaction_configuration_movement_data_request.py +1 -1
  751. lusid/models/transaction_configuration_type_alias.py +1 -1
  752. lusid/models/transaction_price.py +1 -1
  753. lusid/models/transaction_property_mapping.py +1 -1
  754. lusid/models/transaction_property_mapping_request.py +1 -1
  755. lusid/models/transaction_query_parameters.py +1 -1
  756. lusid/models/transaction_reconciliation_request.py +1 -1
  757. lusid/models/transaction_request.py +1 -1
  758. lusid/models/transaction_set_configuration_data.py +1 -1
  759. lusid/models/transaction_type.py +1 -1
  760. lusid/models/transaction_type_alias.py +1 -1
  761. lusid/models/transaction_type_calculation.py +1 -1
  762. lusid/models/transaction_type_movement.py +1 -1
  763. lusid/models/transaction_type_property_mapping.py +1 -1
  764. lusid/models/transaction_type_request.py +1 -1
  765. lusid/models/transactions_reconciliations_response.py +1 -1
  766. lusid/models/transition_event.py +5 -5
  767. lusid/models/transition_event_all_of.py +5 -5
  768. lusid/models/translate_entities_inlined_request.py +1 -1
  769. lusid/models/translate_entities_request.py +1 -1
  770. lusid/models/translate_entities_response.py +1 -1
  771. lusid/models/translation_context.py +1 -1
  772. lusid/models/translation_input.py +1 -1
  773. lusid/models/translation_result.py +1 -1
  774. lusid/models/translation_script.py +1 -1
  775. lusid/models/translation_script_id.py +1 -1
  776. lusid/models/trigger_event.py +5 -5
  777. lusid/models/trigger_event_all_of.py +5 -5
  778. lusid/models/typed_resource_id.py +1 -1
  779. lusid/models/units_ratio.py +1 -1
  780. lusid/models/update_calendar_request.py +1 -1
  781. lusid/models/update_custom_entity_definition_request.py +1 -1
  782. lusid/models/update_custom_entity_type_request.py +1 -1
  783. lusid/models/update_cut_label_definition_request.py +1 -1
  784. lusid/models/update_data_type_request.py +1 -1
  785. lusid/models/update_derived_property_definition_request.py +1 -1
  786. lusid/models/update_instrument_identifier_request.py +1 -1
  787. lusid/models/update_portfolio_group_request.py +1 -1
  788. lusid/models/update_portfolio_request.py +1 -1
  789. lusid/models/update_property_definition_request.py +1 -1
  790. lusid/models/update_relationship_definition_request.py +1 -1
  791. lusid/models/update_unit_request.py +1 -1
  792. lusid/models/upsert_complex_market_data_request.py +1 -1
  793. lusid/models/upsert_compliance_rule_request.py +1 -1
  794. lusid/models/upsert_compliance_run_summary_request.py +1 -1
  795. lusid/models/upsert_compliance_run_summary_result.py +1 -1
  796. lusid/models/upsert_corporate_action_request.py +1 -1
  797. lusid/models/upsert_corporate_actions_response.py +1 -1
  798. lusid/models/upsert_counterparty_agreement_request.py +1 -1
  799. lusid/models/upsert_credit_support_annex_request.py +1 -1
  800. lusid/models/upsert_custom_entities_response.py +1 -1
  801. lusid/models/upsert_custom_entity_access_metadata_request.py +1 -1
  802. lusid/models/upsert_dialect_request.py +1 -1
  803. lusid/models/upsert_instrument_event_request.py +1 -1
  804. lusid/models/upsert_instrument_events_response.py +1 -1
  805. lusid/models/upsert_instrument_properties_response.py +1 -1
  806. lusid/models/upsert_instrument_property_request.py +1 -1
  807. lusid/models/upsert_instruments_response.py +1 -1
  808. lusid/models/upsert_legal_entities_response.py +1 -1
  809. lusid/models/upsert_legal_entity_access_metadata_request.py +1 -1
  810. lusid/models/upsert_legal_entity_request.py +1 -1
  811. lusid/models/upsert_person_access_metadata_request.py +1 -1
  812. lusid/models/upsert_person_request.py +1 -1
  813. lusid/models/upsert_portfolio_access_metadata_request.py +1 -1
  814. lusid/models/upsert_portfolio_group_access_metadata_request.py +1 -1
  815. lusid/models/upsert_portfolio_transactions_response.py +1 -1
  816. lusid/models/upsert_quote_request.py +1 -1
  817. lusid/models/upsert_quotes_response.py +1 -1
  818. lusid/models/upsert_recipe_request.py +1 -1
  819. lusid/models/upsert_reference_portfolio_constituents_request.py +1 -1
  820. lusid/models/upsert_reference_portfolio_constituents_response.py +1 -1
  821. lusid/models/upsert_returns_response.py +1 -1
  822. lusid/models/upsert_single_structured_data_response.py +1 -1
  823. lusid/models/upsert_structured_data_response.py +1 -1
  824. lusid/models/upsert_transaction_properties_response.py +1 -1
  825. lusid/models/upsert_translation_script_request.py +1 -1
  826. lusid/models/user.py +1 -1
  827. lusid/models/valuation_request.py +1 -1
  828. lusid/models/valuation_schedule.py +1 -1
  829. lusid/models/valuations_reconciliation_request.py +1 -1
  830. lusid/models/value_type.py +1 -1
  831. lusid/models/vendor_model_rule.py +1 -1
  832. lusid/models/version.py +65 -5
  833. lusid/models/version_summary_dto.py +1 -1
  834. lusid/models/versioned_resource_list_of_a2_b_data_record.py +1 -1
  835. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +1 -1
  836. lusid/models/versioned_resource_list_of_holding_contributor.py +1 -1
  837. lusid/models/versioned_resource_list_of_output_transaction.py +1 -1
  838. lusid/models/versioned_resource_list_of_portfolio_holding.py +1 -1
  839. lusid/models/versioned_resource_list_of_transaction.py +1 -1
  840. lusid/models/virtual_row.py +1 -1
  841. lusid/models/weekend_mask.py +1 -1
  842. lusid/models/weighted_instrument.py +1 -1
  843. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +1 -1
  844. lusid/models/weighted_instruments.py +1 -1
  845. lusid/models/yield_curve_data.py +1 -1
  846. lusid/models/yield_curve_data_all_of.py +1 -1
  847. lusid/rest.py +1 -1
  848. {lusid_sdk-1.1.126.dist-info → lusid_sdk-1.1.139.dist-info}/METADATA +1 -1
  849. lusid_sdk-1.1.139.dist-info/RECORD +869 -0
  850. lusid_sdk-1.1.126.dist-info/RECORD +0 -853
  851. {lusid_sdk-1.1.126.dist-info → lusid_sdk-1.1.139.dist-info}/WHEEL +0 -0
  852. {lusid_sdk-1.1.126.dist-info → lusid_sdk-1.1.139.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@
5
5
 
6
6
  FINBOURNE Technology # noqa: E501
7
7
 
8
- The version of the OpenAPI document: 1.1.126
8
+ The version of the OpenAPI document: 1.1.139
9
9
  Contact: info@finbourne.com
10
10
  Generated by: https://openapi-generator.tech
11
11
  """
@@ -25,7 +25,6 @@ from lusid.exceptions import ( # noqa: F401
25
25
  )
26
26
  from lusid.models.access_metadata_operation import AccessMetadataOperation
27
27
  from lusid.models.access_metadata_value import AccessMetadataValue
28
- from lusid.models.action_result_of_portfolio import ActionResultOfPortfolio
29
28
  from lusid.models.aggregated_returns_dispersion_request import AggregatedReturnsDispersionRequest
30
29
  from lusid.models.aggregated_returns_request import AggregatedReturnsRequest
31
30
  from lusid.models.aggregated_returns_response import AggregatedReturnsResponse
@@ -33,6 +32,9 @@ from lusid.models.composite_breakdown_request import CompositeBreakdownRequest
33
32
  from lusid.models.composite_breakdown_response import CompositeBreakdownResponse
34
33
  from lusid.models.composite_dispersion_response import CompositeDispersionResponse
35
34
  from lusid.models.deleted_entity_response import DeletedEntityResponse
35
+ from lusid.models.instrument_event_instruction import InstrumentEventInstruction
36
+ from lusid.models.instrument_event_instruction_request import InstrumentEventInstructionRequest
37
+ from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
36
38
  from lusid.models.lusid_problem_details import LusidProblemDetails
37
39
  from lusid.models.lusid_validation_problem_details import LusidValidationProblemDetails
38
40
  from lusid.models.model_property import ModelProperty
@@ -41,6 +43,7 @@ from lusid.models.performance_return import PerformanceReturn
41
43
  from lusid.models.portfolio import Portfolio
42
44
  from lusid.models.portfolio_properties import PortfolioProperties
43
45
  from lusid.models.resource_list_of_access_metadata_value_of import ResourceListOfAccessMetadataValueOf
46
+ from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
44
47
  from lusid.models.resource_list_of_performance_return import ResourceListOfPerformanceReturn
45
48
  from lusid.models.resource_list_of_portfolio import ResourceListOfPortfolio
46
49
  from lusid.models.resource_list_of_processed_command import ResourceListOfProcessedCommand
@@ -64,6 +67,201 @@ class PortfoliosApi(object):
64
67
  api_client = ApiClient()
65
68
  self.api_client = api_client
66
69
 
70
+ def delete_instrument_event_instruction(self, scope, code, instrument_event_instruction_id, **kwargs): # noqa: E501
71
+ """[EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction # noqa: E501
72
+
73
+ Delete a particular instruction for a particular portfolio # noqa: E501
74
+ This method makes a synchronous HTTP request by default. To make an
75
+ asynchronous HTTP request, please pass async_req=True
76
+
77
+ >>> thread = api.delete_instrument_event_instruction(scope, code, instrument_event_instruction_id, async_req=True)
78
+ >>> result = thread.get()
79
+
80
+ :param scope: The scope of the portfolio. (required)
81
+ :type scope: str
82
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
83
+ :type code: str
84
+ :param instrument_event_instruction_id: The id of the instruction to be deleted. (required)
85
+ :type instrument_event_instruction_id: str
86
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
87
+ :type portfolio_effective_at: str
88
+ :param async_req: Whether to execute the request asynchronously.
89
+ :type async_req: bool, optional
90
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
91
+ be returned without reading/decoding response
92
+ data. Default is True.
93
+ :type _preload_content: bool, optional
94
+ :param _request_timeout: timeout setting for this request. If one
95
+ number provided, it will be total request
96
+ timeout. It can also be a pair (tuple) of
97
+ (connection, read) timeouts.
98
+ :return: Returns the result object.
99
+ If the method is called asynchronously,
100
+ returns the request thread.
101
+ :rtype: DeletedEntityResponse
102
+ """
103
+ kwargs['_return_http_data_only'] = True
104
+ return self.delete_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, **kwargs) # noqa: E501
105
+
106
+ def delete_instrument_event_instruction_with_http_info(self, scope, code, instrument_event_instruction_id, **kwargs): # noqa: E501
107
+ """[EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction # noqa: E501
108
+
109
+ Delete a particular instruction for a particular portfolio # noqa: E501
110
+ This method makes a synchronous HTTP request by default. To make an
111
+ asynchronous HTTP request, please pass async_req=True
112
+
113
+ >>> thread = api.delete_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, async_req=True)
114
+ >>> result = thread.get()
115
+
116
+ :param scope: The scope of the portfolio. (required)
117
+ :type scope: str
118
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
119
+ :type code: str
120
+ :param instrument_event_instruction_id: The id of the instruction to be deleted. (required)
121
+ :type instrument_event_instruction_id: str
122
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
123
+ :type portfolio_effective_at: str
124
+ :param async_req: Whether to execute the request asynchronously.
125
+ :type async_req: bool, optional
126
+ :param _return_http_data_only: response data without head status code
127
+ and headers
128
+ :type _return_http_data_only: bool, optional
129
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
130
+ be returned without reading/decoding response
131
+ data. Default is True.
132
+ :type _preload_content: bool, optional
133
+ :param _request_timeout: timeout setting for this request. If one
134
+ number provided, it will be total request
135
+ timeout. It can also be a pair (tuple) of
136
+ (connection, read) timeouts.
137
+ :param _request_auth: set to override the auth_settings for an a single
138
+ request; this effectively ignores the authentication
139
+ in the spec for a single request.
140
+ :type _request_auth: dict, optional
141
+ :return: Returns the result object, the HTTP status code, and the headers.
142
+ If the method is called asynchronously,
143
+ returns the request thread.
144
+ :rtype: (DeletedEntityResponse, int, HTTPHeaderDict)
145
+ """
146
+
147
+ local_var_params = locals()
148
+
149
+ all_params = [
150
+ 'scope',
151
+ 'code',
152
+ 'instrument_event_instruction_id',
153
+ 'portfolio_effective_at'
154
+ ]
155
+ all_params.extend(
156
+ [
157
+ 'async_req',
158
+ '_return_http_data_only',
159
+ '_preload_content',
160
+ '_request_timeout',
161
+ '_request_auth',
162
+ '_headers'
163
+ ]
164
+ )
165
+
166
+ for key, val in six.iteritems(local_var_params['kwargs']):
167
+ if key not in all_params:
168
+ raise ApiTypeError(
169
+ "Got an unexpected keyword argument '%s'"
170
+ " to method delete_instrument_event_instruction" % key
171
+ )
172
+ local_var_params[key] = val
173
+ del local_var_params['kwargs']
174
+ # verify the required parameter 'scope' is set
175
+ if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
176
+ local_var_params['scope'] is None): # noqa: E501
177
+ raise ApiValueError("Missing the required parameter `scope` when calling `delete_instrument_event_instruction`") # noqa: E501
178
+ # verify the required parameter 'code' is set
179
+ if self.api_client.client_side_validation and ('code' not in local_var_params or # noqa: E501
180
+ local_var_params['code'] is None): # noqa: E501
181
+ raise ApiValueError("Missing the required parameter `code` when calling `delete_instrument_event_instruction`") # noqa: E501
182
+ # verify the required parameter 'instrument_event_instruction_id' is set
183
+ if self.api_client.client_side_validation and ('instrument_event_instruction_id' not in local_var_params or # noqa: E501
184
+ local_var_params['instrument_event_instruction_id'] is None): # noqa: E501
185
+ raise ApiValueError("Missing the required parameter `instrument_event_instruction_id` when calling `delete_instrument_event_instruction`") # noqa: E501
186
+
187
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
188
+ len(local_var_params['scope']) > 64): # noqa: E501
189
+ raise ApiValueError("Invalid value for parameter `scope` when calling `delete_instrument_event_instruction`, length must be less than or equal to `64`") # noqa: E501
190
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
191
+ len(local_var_params['scope']) < 1): # noqa: E501
192
+ raise ApiValueError("Invalid value for parameter `scope` when calling `delete_instrument_event_instruction`, length must be greater than or equal to `1`") # noqa: E501
193
+ if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
194
+ raise ApiValueError("Invalid value for parameter `scope` when calling `delete_instrument_event_instruction`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
195
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
196
+ len(local_var_params['code']) > 64): # noqa: E501
197
+ raise ApiValueError("Invalid value for parameter `code` when calling `delete_instrument_event_instruction`, length must be less than or equal to `64`") # noqa: E501
198
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
199
+ len(local_var_params['code']) < 1): # noqa: E501
200
+ raise ApiValueError("Invalid value for parameter `code` when calling `delete_instrument_event_instruction`, length must be greater than or equal to `1`") # noqa: E501
201
+ if self.api_client.client_side_validation and 'code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['code']): # noqa: E501
202
+ raise ApiValueError("Invalid value for parameter `code` when calling `delete_instrument_event_instruction`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
203
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
204
+ len(local_var_params['portfolio_effective_at']) > 6000): # noqa: E501
205
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `delete_instrument_event_instruction`, length must be less than or equal to `6000`") # noqa: E501
206
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
207
+ len(local_var_params['portfolio_effective_at']) < 0): # noqa: E501
208
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `delete_instrument_event_instruction`, length must be greater than or equal to `0`") # noqa: E501
209
+ collection_formats = {}
210
+
211
+ path_params = {}
212
+ if 'scope' in local_var_params:
213
+ path_params['scope'] = local_var_params['scope'] # noqa: E501
214
+ if 'code' in local_var_params:
215
+ path_params['code'] = local_var_params['code'] # noqa: E501
216
+ if 'instrument_event_instruction_id' in local_var_params:
217
+ path_params['instrumentEventInstructionId'] = local_var_params['instrument_event_instruction_id'] # noqa: E501
218
+
219
+ query_params = []
220
+ if 'portfolio_effective_at' in local_var_params and local_var_params['portfolio_effective_at'] is not None: # noqa: E501
221
+ query_params.append(('portfolioEffectiveAt', local_var_params['portfolio_effective_at'])) # noqa: E501
222
+
223
+ header_params = dict(local_var_params.get('_headers', {}))
224
+
225
+ form_params = []
226
+ local_var_files = {}
227
+
228
+ body_params = None
229
+ # HTTP header `Accept`
230
+ header_params['Accept'] = self.api_client.select_header_accept(
231
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
232
+
233
+ header_params['Accept-Encoding'] = "gzip, deflate, br"
234
+
235
+
236
+ # set the LUSID header
237
+ header_params['X-LUSID-SDK-Language'] = 'Python'
238
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
239
+
240
+ # Authentication setting
241
+ auth_settings = ['oauth2'] # noqa: E501
242
+
243
+ response_types_map = {
244
+ 200: "DeletedEntityResponse",
245
+ 400: "LusidValidationProblemDetails",
246
+ }
247
+
248
+ return self.api_client.call_api(
249
+ '/api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId}', 'DELETE',
250
+ path_params,
251
+ query_params,
252
+ header_params,
253
+ body=body_params,
254
+ post_params=form_params,
255
+ files=local_var_files,
256
+ response_types_map=response_types_map,
257
+ auth_settings=auth_settings,
258
+ async_req=local_var_params.get('async_req'),
259
+ _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
260
+ _preload_content=local_var_params.get('_preload_content', True),
261
+ _request_timeout=local_var_params.get('_request_timeout'),
262
+ collection_formats=collection_formats,
263
+ _request_auth=local_var_params.get('_request_auth'))
264
+
67
265
  def delete_key_from_portfolio_access_metadata(self, scope, code, metadata_key, **kwargs): # noqa: E501
68
266
  """[EARLY ACCESS] DeleteKeyFromPortfolioAccessMetadata: Delete a Portfolio Access Metadata Rule # noqa: E501
69
267
 
@@ -239,7 +437,7 @@ class PortfoliosApi(object):
239
437
 
240
438
  # set the LUSID header
241
439
  header_params['X-LUSID-SDK-Language'] = 'Python'
242
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
440
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
243
441
 
244
442
  # Authentication setting
245
443
  auth_settings = ['oauth2'] # noqa: E501
@@ -410,7 +608,7 @@ class PortfoliosApi(object):
410
608
 
411
609
  # set the LUSID header
412
610
  header_params['X-LUSID-SDK-Language'] = 'Python'
413
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
611
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
414
612
 
415
613
  # Authentication setting
416
614
  auth_settings = ['oauth2'] # noqa: E501
@@ -600,7 +798,7 @@ class PortfoliosApi(object):
600
798
 
601
799
  # set the LUSID header
602
800
  header_params['X-LUSID-SDK-Language'] = 'Python'
603
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
801
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
604
802
 
605
803
  # Authentication setting
606
804
  auth_settings = ['oauth2'] # noqa: E501
@@ -838,7 +1036,7 @@ class PortfoliosApi(object):
838
1036
 
839
1037
  # set the LUSID header
840
1038
  header_params['X-LUSID-SDK-Language'] = 'Python'
841
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
1039
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
842
1040
 
843
1041
  # Authentication setting
844
1042
  auth_settings = ['oauth2'] # noqa: E501
@@ -1030,7 +1228,7 @@ class PortfoliosApi(object):
1030
1228
 
1031
1229
  # set the LUSID header
1032
1230
  header_params['X-LUSID-SDK-Language'] = 'Python'
1033
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
1231
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1034
1232
 
1035
1233
  # Authentication setting
1036
1234
  auth_settings = ['oauth2'] # noqa: E501
@@ -1236,7 +1434,7 @@ class PortfoliosApi(object):
1236
1434
 
1237
1435
  # set the LUSID header
1238
1436
  header_params['X-LUSID-SDK-Language'] = 'Python'
1239
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
1437
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1240
1438
 
1241
1439
  # Authentication setting
1242
1440
  auth_settings = ['oauth2'] # noqa: E501
@@ -1263,6 +1461,208 @@ class PortfoliosApi(object):
1263
1461
  collection_formats=collection_formats,
1264
1462
  _request_auth=local_var_params.get('_request_auth'))
1265
1463
 
1464
+ def get_instrument_event_instruction(self, scope, code, instrument_event_instruction_id, **kwargs): # noqa: E501
1465
+ """[EARLY ACCESS] GetInstrumentEventInstruction: Get Instrument Event Instruction # noqa: E501
1466
+
1467
+ Get a particular instruction for a particular portfolio # noqa: E501
1468
+ This method makes a synchronous HTTP request by default. To make an
1469
+ asynchronous HTTP request, please pass async_req=True
1470
+
1471
+ >>> thread = api.get_instrument_event_instruction(scope, code, instrument_event_instruction_id, async_req=True)
1472
+ >>> result = thread.get()
1473
+
1474
+ :param scope: The scope of the portfolio. (required)
1475
+ :type scope: str
1476
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
1477
+ :type code: str
1478
+ :param instrument_event_instruction_id: The id of the instruction to be retrieved. (required)
1479
+ :type instrument_event_instruction_id: str
1480
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
1481
+ :type portfolio_effective_at: str
1482
+ :param as_at: The asAt datetime at which to retrieve the instruction. Defaults to return the latest version of the instruction if not specified.
1483
+ :type as_at: datetime
1484
+ :param async_req: Whether to execute the request asynchronously.
1485
+ :type async_req: bool, optional
1486
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
1487
+ be returned without reading/decoding response
1488
+ data. Default is True.
1489
+ :type _preload_content: bool, optional
1490
+ :param _request_timeout: timeout setting for this request. If one
1491
+ number provided, it will be total request
1492
+ timeout. It can also be a pair (tuple) of
1493
+ (connection, read) timeouts.
1494
+ :return: Returns the result object.
1495
+ If the method is called asynchronously,
1496
+ returns the request thread.
1497
+ :rtype: InstrumentEventInstruction
1498
+ """
1499
+ kwargs['_return_http_data_only'] = True
1500
+ return self.get_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, **kwargs) # noqa: E501
1501
+
1502
+ def get_instrument_event_instruction_with_http_info(self, scope, code, instrument_event_instruction_id, **kwargs): # noqa: E501
1503
+ """[EARLY ACCESS] GetInstrumentEventInstruction: Get Instrument Event Instruction # noqa: E501
1504
+
1505
+ Get a particular instruction for a particular portfolio # noqa: E501
1506
+ This method makes a synchronous HTTP request by default. To make an
1507
+ asynchronous HTTP request, please pass async_req=True
1508
+
1509
+ >>> thread = api.get_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, async_req=True)
1510
+ >>> result = thread.get()
1511
+
1512
+ :param scope: The scope of the portfolio. (required)
1513
+ :type scope: str
1514
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
1515
+ :type code: str
1516
+ :param instrument_event_instruction_id: The id of the instruction to be retrieved. (required)
1517
+ :type instrument_event_instruction_id: str
1518
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
1519
+ :type portfolio_effective_at: str
1520
+ :param as_at: The asAt datetime at which to retrieve the instruction. Defaults to return the latest version of the instruction if not specified.
1521
+ :type as_at: datetime
1522
+ :param async_req: Whether to execute the request asynchronously.
1523
+ :type async_req: bool, optional
1524
+ :param _return_http_data_only: response data without head status code
1525
+ and headers
1526
+ :type _return_http_data_only: bool, optional
1527
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
1528
+ be returned without reading/decoding response
1529
+ data. Default is True.
1530
+ :type _preload_content: bool, optional
1531
+ :param _request_timeout: timeout setting for this request. If one
1532
+ number provided, it will be total request
1533
+ timeout. It can also be a pair (tuple) of
1534
+ (connection, read) timeouts.
1535
+ :param _request_auth: set to override the auth_settings for an a single
1536
+ request; this effectively ignores the authentication
1537
+ in the spec for a single request.
1538
+ :type _request_auth: dict, optional
1539
+ :return: Returns the result object, the HTTP status code, and the headers.
1540
+ If the method is called asynchronously,
1541
+ returns the request thread.
1542
+ :rtype: (InstrumentEventInstruction, int, HTTPHeaderDict)
1543
+ """
1544
+
1545
+ local_var_params = locals()
1546
+
1547
+ all_params = [
1548
+ 'scope',
1549
+ 'code',
1550
+ 'instrument_event_instruction_id',
1551
+ 'portfolio_effective_at',
1552
+ 'as_at'
1553
+ ]
1554
+ all_params.extend(
1555
+ [
1556
+ 'async_req',
1557
+ '_return_http_data_only',
1558
+ '_preload_content',
1559
+ '_request_timeout',
1560
+ '_request_auth',
1561
+ '_headers'
1562
+ ]
1563
+ )
1564
+
1565
+ for key, val in six.iteritems(local_var_params['kwargs']):
1566
+ if key not in all_params:
1567
+ raise ApiTypeError(
1568
+ "Got an unexpected keyword argument '%s'"
1569
+ " to method get_instrument_event_instruction" % key
1570
+ )
1571
+ local_var_params[key] = val
1572
+ del local_var_params['kwargs']
1573
+ # verify the required parameter 'scope' is set
1574
+ if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
1575
+ local_var_params['scope'] is None): # noqa: E501
1576
+ raise ApiValueError("Missing the required parameter `scope` when calling `get_instrument_event_instruction`") # noqa: E501
1577
+ # verify the required parameter 'code' is set
1578
+ if self.api_client.client_side_validation and ('code' not in local_var_params or # noqa: E501
1579
+ local_var_params['code'] is None): # noqa: E501
1580
+ raise ApiValueError("Missing the required parameter `code` when calling `get_instrument_event_instruction`") # noqa: E501
1581
+ # verify the required parameter 'instrument_event_instruction_id' is set
1582
+ if self.api_client.client_side_validation and ('instrument_event_instruction_id' not in local_var_params or # noqa: E501
1583
+ local_var_params['instrument_event_instruction_id'] is None): # noqa: E501
1584
+ raise ApiValueError("Missing the required parameter `instrument_event_instruction_id` when calling `get_instrument_event_instruction`") # noqa: E501
1585
+
1586
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1587
+ len(local_var_params['scope']) > 64): # noqa: E501
1588
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_instrument_event_instruction`, length must be less than or equal to `64`") # noqa: E501
1589
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1590
+ len(local_var_params['scope']) < 1): # noqa: E501
1591
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_instrument_event_instruction`, length must be greater than or equal to `1`") # noqa: E501
1592
+ if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
1593
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_instrument_event_instruction`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1594
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1595
+ len(local_var_params['code']) > 64): # noqa: E501
1596
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_instrument_event_instruction`, length must be less than or equal to `64`") # noqa: E501
1597
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1598
+ len(local_var_params['code']) < 1): # noqa: E501
1599
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_instrument_event_instruction`, length must be greater than or equal to `1`") # noqa: E501
1600
+ if self.api_client.client_side_validation and 'code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['code']): # noqa: E501
1601
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_instrument_event_instruction`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1602
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
1603
+ len(local_var_params['portfolio_effective_at']) > 6000): # noqa: E501
1604
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `get_instrument_event_instruction`, length must be less than or equal to `6000`") # noqa: E501
1605
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
1606
+ len(local_var_params['portfolio_effective_at']) < 0): # noqa: E501
1607
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `get_instrument_event_instruction`, length must be greater than or equal to `0`") # noqa: E501
1608
+ collection_formats = {}
1609
+
1610
+ path_params = {}
1611
+ if 'scope' in local_var_params:
1612
+ path_params['scope'] = local_var_params['scope'] # noqa: E501
1613
+ if 'code' in local_var_params:
1614
+ path_params['code'] = local_var_params['code'] # noqa: E501
1615
+ if 'instrument_event_instruction_id' in local_var_params:
1616
+ path_params['instrumentEventInstructionId'] = local_var_params['instrument_event_instruction_id'] # noqa: E501
1617
+
1618
+ query_params = []
1619
+ if 'portfolio_effective_at' in local_var_params and local_var_params['portfolio_effective_at'] is not None: # noqa: E501
1620
+ query_params.append(('portfolioEffectiveAt', local_var_params['portfolio_effective_at'])) # noqa: E501
1621
+ if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
1622
+ query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
1623
+
1624
+ header_params = dict(local_var_params.get('_headers', {}))
1625
+
1626
+ form_params = []
1627
+ local_var_files = {}
1628
+
1629
+ body_params = None
1630
+ # HTTP header `Accept`
1631
+ header_params['Accept'] = self.api_client.select_header_accept(
1632
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1633
+
1634
+ header_params['Accept-Encoding'] = "gzip, deflate, br"
1635
+
1636
+
1637
+ # set the LUSID header
1638
+ header_params['X-LUSID-SDK-Language'] = 'Python'
1639
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1640
+
1641
+ # Authentication setting
1642
+ auth_settings = ['oauth2'] # noqa: E501
1643
+
1644
+ response_types_map = {
1645
+ 200: "InstrumentEventInstruction",
1646
+ 400: "LusidValidationProblemDetails",
1647
+ }
1648
+
1649
+ return self.api_client.call_api(
1650
+ '/api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId}', 'GET',
1651
+ path_params,
1652
+ query_params,
1653
+ header_params,
1654
+ body=body_params,
1655
+ post_params=form_params,
1656
+ files=local_var_files,
1657
+ response_types_map=response_types_map,
1658
+ auth_settings=auth_settings,
1659
+ async_req=local_var_params.get('async_req'),
1660
+ _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
1661
+ _preload_content=local_var_params.get('_preload_content', True),
1662
+ _request_timeout=local_var_params.get('_request_timeout'),
1663
+ collection_formats=collection_formats,
1664
+ _request_auth=local_var_params.get('_request_auth'))
1665
+
1266
1666
  def get_portfolio(self, scope, code, **kwargs): # noqa: E501
1267
1667
  """GetPortfolio: Get portfolio # noqa: E501
1268
1668
 
@@ -1281,10 +1681,227 @@ class PortfoliosApi(object):
1281
1681
  :type effective_at: str
1282
1682
  :param as_at: The asAt datetime at which to retrieve the portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.
1283
1683
  :type as_at: datetime
1284
- :param property_keys: A list of property keys from the 'Portfolio' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example 'Portfolio/Manager/Id'.
1285
- :type property_keys: list[str]
1286
- :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
1287
- :type relationship_definition_ids: list[str]
1684
+ :param property_keys: A list of property keys from the 'Portfolio' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example 'Portfolio/Manager/Id'.
1685
+ :type property_keys: list[str]
1686
+ :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
1687
+ :type relationship_definition_ids: list[str]
1688
+ :param async_req: Whether to execute the request asynchronously.
1689
+ :type async_req: bool, optional
1690
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
1691
+ be returned without reading/decoding response
1692
+ data. Default is True.
1693
+ :type _preload_content: bool, optional
1694
+ :param _request_timeout: timeout setting for this request. If one
1695
+ number provided, it will be total request
1696
+ timeout. It can also be a pair (tuple) of
1697
+ (connection, read) timeouts.
1698
+ :return: Returns the result object.
1699
+ If the method is called asynchronously,
1700
+ returns the request thread.
1701
+ :rtype: Portfolio
1702
+ """
1703
+ kwargs['_return_http_data_only'] = True
1704
+ return self.get_portfolio_with_http_info(scope, code, **kwargs) # noqa: E501
1705
+
1706
+ def get_portfolio_with_http_info(self, scope, code, **kwargs): # noqa: E501
1707
+ """GetPortfolio: Get portfolio # noqa: E501
1708
+
1709
+ Retrieve the definition of a particular portfolio. # noqa: E501
1710
+ This method makes a synchronous HTTP request by default. To make an
1711
+ asynchronous HTTP request, please pass async_req=True
1712
+
1713
+ >>> thread = api.get_portfolio_with_http_info(scope, code, async_req=True)
1714
+ >>> result = thread.get()
1715
+
1716
+ :param scope: The scope of the portfolio. (required)
1717
+ :type scope: str
1718
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
1719
+ :type code: str
1720
+ :param effective_at: The effective datetime or cut label at which to retrieve the portfolio definition. Defaults to the current LUSID system datetime if not specified.
1721
+ :type effective_at: str
1722
+ :param as_at: The asAt datetime at which to retrieve the portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.
1723
+ :type as_at: datetime
1724
+ :param property_keys: A list of property keys from the 'Portfolio' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example 'Portfolio/Manager/Id'.
1725
+ :type property_keys: list[str]
1726
+ :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
1727
+ :type relationship_definition_ids: list[str]
1728
+ :param async_req: Whether to execute the request asynchronously.
1729
+ :type async_req: bool, optional
1730
+ :param _return_http_data_only: response data without head status code
1731
+ and headers
1732
+ :type _return_http_data_only: bool, optional
1733
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
1734
+ be returned without reading/decoding response
1735
+ data. Default is True.
1736
+ :type _preload_content: bool, optional
1737
+ :param _request_timeout: timeout setting for this request. If one
1738
+ number provided, it will be total request
1739
+ timeout. It can also be a pair (tuple) of
1740
+ (connection, read) timeouts.
1741
+ :param _request_auth: set to override the auth_settings for an a single
1742
+ request; this effectively ignores the authentication
1743
+ in the spec for a single request.
1744
+ :type _request_auth: dict, optional
1745
+ :return: Returns the result object, the HTTP status code, and the headers.
1746
+ If the method is called asynchronously,
1747
+ returns the request thread.
1748
+ :rtype: (Portfolio, int, HTTPHeaderDict)
1749
+ """
1750
+
1751
+ local_var_params = locals()
1752
+
1753
+ all_params = [
1754
+ 'scope',
1755
+ 'code',
1756
+ 'effective_at',
1757
+ 'as_at',
1758
+ 'property_keys',
1759
+ 'relationship_definition_ids'
1760
+ ]
1761
+ all_params.extend(
1762
+ [
1763
+ 'async_req',
1764
+ '_return_http_data_only',
1765
+ '_preload_content',
1766
+ '_request_timeout',
1767
+ '_request_auth',
1768
+ '_headers'
1769
+ ]
1770
+ )
1771
+
1772
+ for key, val in six.iteritems(local_var_params['kwargs']):
1773
+ if key not in all_params:
1774
+ raise ApiTypeError(
1775
+ "Got an unexpected keyword argument '%s'"
1776
+ " to method get_portfolio" % key
1777
+ )
1778
+ local_var_params[key] = val
1779
+ del local_var_params['kwargs']
1780
+ # verify the required parameter 'scope' is set
1781
+ if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
1782
+ local_var_params['scope'] is None): # noqa: E501
1783
+ raise ApiValueError("Missing the required parameter `scope` when calling `get_portfolio`") # noqa: E501
1784
+ # verify the required parameter 'code' is set
1785
+ if self.api_client.client_side_validation and ('code' not in local_var_params or # noqa: E501
1786
+ local_var_params['code'] is None): # noqa: E501
1787
+ raise ApiValueError("Missing the required parameter `code` when calling `get_portfolio`") # noqa: E501
1788
+
1789
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1790
+ len(local_var_params['scope']) > 64): # noqa: E501
1791
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, length must be less than or equal to `64`") # noqa: E501
1792
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1793
+ len(local_var_params['scope']) < 1): # noqa: E501
1794
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, length must be greater than or equal to `1`") # noqa: E501
1795
+ if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
1796
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1797
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1798
+ len(local_var_params['code']) > 64): # noqa: E501
1799
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, length must be less than or equal to `64`") # noqa: E501
1800
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1801
+ len(local_var_params['code']) < 1): # noqa: E501
1802
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, length must be greater than or equal to `1`") # noqa: E501
1803
+ if self.api_client.client_side_validation and 'code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['code']): # noqa: E501
1804
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1805
+ collection_formats = {}
1806
+
1807
+ path_params = {}
1808
+ if 'scope' in local_var_params:
1809
+ path_params['scope'] = local_var_params['scope'] # noqa: E501
1810
+ if 'code' in local_var_params:
1811
+ path_params['code'] = local_var_params['code'] # noqa: E501
1812
+
1813
+ query_params = []
1814
+ if 'effective_at' in local_var_params and local_var_params['effective_at'] is not None: # noqa: E501
1815
+ query_params.append(('effectiveAt', local_var_params['effective_at'])) # noqa: E501
1816
+ if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
1817
+ query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
1818
+ if 'property_keys' in local_var_params and local_var_params['property_keys'] is not None: # noqa: E501
1819
+ query_params.append(('propertyKeys', local_var_params['property_keys'])) # noqa: E501
1820
+ collection_formats['propertyKeys'] = 'multi' # noqa: E501
1821
+ if 'relationship_definition_ids' in local_var_params and local_var_params['relationship_definition_ids'] is not None: # noqa: E501
1822
+ query_params.append(('relationshipDefinitionIds', local_var_params['relationship_definition_ids'])) # noqa: E501
1823
+ collection_formats['relationshipDefinitionIds'] = 'multi' # noqa: E501
1824
+
1825
+ header_params = dict(local_var_params.get('_headers', {}))
1826
+
1827
+ form_params = []
1828
+ local_var_files = {}
1829
+
1830
+ body_params = None
1831
+ # HTTP header `Accept`
1832
+ header_params['Accept'] = self.api_client.select_header_accept(
1833
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1834
+
1835
+ header_params['Accept-Encoding'] = "gzip, deflate, br"
1836
+
1837
+
1838
+ # set the LUSID header
1839
+ header_params['X-LUSID-SDK-Language'] = 'Python'
1840
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1841
+
1842
+ # Authentication setting
1843
+ auth_settings = ['oauth2'] # noqa: E501
1844
+
1845
+ response_types_map = {
1846
+ 200: "Portfolio",
1847
+ 400: "LusidValidationProblemDetails",
1848
+ }
1849
+
1850
+ return self.api_client.call_api(
1851
+ '/api/portfolios/{scope}/{code}', 'GET',
1852
+ path_params,
1853
+ query_params,
1854
+ header_params,
1855
+ body=body_params,
1856
+ post_params=form_params,
1857
+ files=local_var_files,
1858
+ response_types_map=response_types_map,
1859
+ auth_settings=auth_settings,
1860
+ async_req=local_var_params.get('async_req'),
1861
+ _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
1862
+ _preload_content=local_var_params.get('_preload_content', True),
1863
+ _request_timeout=local_var_params.get('_request_timeout'),
1864
+ collection_formats=collection_formats,
1865
+ _request_auth=local_var_params.get('_request_auth'))
1866
+
1867
+ def get_portfolio_aggregate_returns(self, scope, code, return_scope, return_code, **kwargs): # noqa: E501
1868
+ """[DEPRECATED] GetPortfolioAggregateReturns: Aggregate Returns (This is a deprecated endpoint). # noqa: E501
1869
+
1870
+ Aggregate Returns which are on the specified portfolio. # noqa: E501
1871
+ This method makes a synchronous HTTP request by default. To make an
1872
+ asynchronous HTTP request, please pass async_req=True
1873
+
1874
+ >>> thread = api.get_portfolio_aggregate_returns(scope, code, return_scope, return_code, async_req=True)
1875
+ >>> result = thread.get()
1876
+
1877
+ :param scope: The scope of the Portfolio. (required)
1878
+ :type scope: str
1879
+ :param code: The code of the Portfolio. (required)
1880
+ :type code: str
1881
+ :param return_scope: The scope of the Returns. (required)
1882
+ :type return_scope: str
1883
+ :param return_code: The code of the Returns. (required)
1884
+ :type return_code: str
1885
+ :param recipe_id_scope: The Recipe Scope for getting the fx rates
1886
+ :type recipe_id_scope: str
1887
+ :param recipe_id_code: The Recipe Code for getting the fx rates
1888
+ :type recipe_id_code: str
1889
+ :param from_effective_at: The start date from which to calculate the Returns.
1890
+ :type from_effective_at: str
1891
+ :param to_effective_at: The end date for which to calculate the Returns.
1892
+ :type to_effective_at: str
1893
+ :param composite_method: The method used to calculate the Portfolio performance: Equal/Asset.
1894
+ :type composite_method: str
1895
+ :param period: The type of the returns used to calculate the aggregation result: Daily/Monthly.
1896
+ :type period: str
1897
+ :param output_frequency: The type of calculated output: Daily/Weekly/Monthly/Quarterly/Half-Yearly/Yearly.
1898
+ :type output_frequency: str
1899
+ :param metrics: Determines what type of returns should be calculated, see https://support.lusid.com/knowledgebase/article/KA-01675/en-us for a list of available metrics.
1900
+ :type metrics: list[str]
1901
+ :param as_at: The asAt datetime at which to retrieve the Returns. Defaults to the latest.
1902
+ :type as_at: datetime
1903
+ :param alternative_inc_date: The date from which to consider the Returns on the Portfolio, if this is different from the date when Returns begin. Can be a date string or Portfolio property.
1904
+ :type alternative_inc_date: str
1288
1905
  :param async_req: Whether to execute the request asynchronously.
1289
1906
  :type async_req: bool, optional
1290
1907
  :param _preload_content: if False, the urllib3.HTTPResponse object will
@@ -1298,33 +1915,49 @@ class PortfoliosApi(object):
1298
1915
  :return: Returns the result object.
1299
1916
  If the method is called asynchronously,
1300
1917
  returns the request thread.
1301
- :rtype: Portfolio
1918
+ :rtype: ResourceListOfAggregatedReturn
1302
1919
  """
1303
1920
  kwargs['_return_http_data_only'] = True
1304
- return self.get_portfolio_with_http_info(scope, code, **kwargs) # noqa: E501
1921
+ return self.get_portfolio_aggregate_returns_with_http_info(scope, code, return_scope, return_code, **kwargs) # noqa: E501
1305
1922
 
1306
- def get_portfolio_with_http_info(self, scope, code, **kwargs): # noqa: E501
1307
- """GetPortfolio: Get portfolio # noqa: E501
1923
+ def get_portfolio_aggregate_returns_with_http_info(self, scope, code, return_scope, return_code, **kwargs): # noqa: E501
1924
+ """[DEPRECATED] GetPortfolioAggregateReturns: Aggregate Returns (This is a deprecated endpoint). # noqa: E501
1308
1925
 
1309
- Retrieve the definition of a particular portfolio. # noqa: E501
1926
+ Aggregate Returns which are on the specified portfolio. # noqa: E501
1310
1927
  This method makes a synchronous HTTP request by default. To make an
1311
1928
  asynchronous HTTP request, please pass async_req=True
1312
1929
 
1313
- >>> thread = api.get_portfolio_with_http_info(scope, code, async_req=True)
1930
+ >>> thread = api.get_portfolio_aggregate_returns_with_http_info(scope, code, return_scope, return_code, async_req=True)
1314
1931
  >>> result = thread.get()
1315
1932
 
1316
- :param scope: The scope of the portfolio. (required)
1933
+ :param scope: The scope of the Portfolio. (required)
1317
1934
  :type scope: str
1318
- :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
1935
+ :param code: The code of the Portfolio. (required)
1319
1936
  :type code: str
1320
- :param effective_at: The effective datetime or cut label at which to retrieve the portfolio definition. Defaults to the current LUSID system datetime if not specified.
1321
- :type effective_at: str
1322
- :param as_at: The asAt datetime at which to retrieve the portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.
1937
+ :param return_scope: The scope of the Returns. (required)
1938
+ :type return_scope: str
1939
+ :param return_code: The code of the Returns. (required)
1940
+ :type return_code: str
1941
+ :param recipe_id_scope: The Recipe Scope for getting the fx rates
1942
+ :type recipe_id_scope: str
1943
+ :param recipe_id_code: The Recipe Code for getting the fx rates
1944
+ :type recipe_id_code: str
1945
+ :param from_effective_at: The start date from which to calculate the Returns.
1946
+ :type from_effective_at: str
1947
+ :param to_effective_at: The end date for which to calculate the Returns.
1948
+ :type to_effective_at: str
1949
+ :param composite_method: The method used to calculate the Portfolio performance: Equal/Asset.
1950
+ :type composite_method: str
1951
+ :param period: The type of the returns used to calculate the aggregation result: Daily/Monthly.
1952
+ :type period: str
1953
+ :param output_frequency: The type of calculated output: Daily/Weekly/Monthly/Quarterly/Half-Yearly/Yearly.
1954
+ :type output_frequency: str
1955
+ :param metrics: Determines what type of returns should be calculated, see https://support.lusid.com/knowledgebase/article/KA-01675/en-us for a list of available metrics.
1956
+ :type metrics: list[str]
1957
+ :param as_at: The asAt datetime at which to retrieve the Returns. Defaults to the latest.
1323
1958
  :type as_at: datetime
1324
- :param property_keys: A list of property keys from the 'Portfolio' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example 'Portfolio/Manager/Id'.
1325
- :type property_keys: list[str]
1326
- :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
1327
- :type relationship_definition_ids: list[str]
1959
+ :param alternative_inc_date: The date from which to consider the Returns on the Portfolio, if this is different from the date when Returns begin. Can be a date string or Portfolio property.
1960
+ :type alternative_inc_date: str
1328
1961
  :param async_req: Whether to execute the request asynchronously.
1329
1962
  :type async_req: bool, optional
1330
1963
  :param _return_http_data_only: response data without head status code
@@ -1345,7 +1978,7 @@ class PortfoliosApi(object):
1345
1978
  :return: Returns the result object, the HTTP status code, and the headers.
1346
1979
  If the method is called asynchronously,
1347
1980
  returns the request thread.
1348
- :rtype: (Portfolio, int, HTTPHeaderDict)
1981
+ :rtype: (ResourceListOfAggregatedReturn, int, HTTPHeaderDict)
1349
1982
  """
1350
1983
 
1351
1984
  local_var_params = locals()
@@ -1353,10 +1986,18 @@ class PortfoliosApi(object):
1353
1986
  all_params = [
1354
1987
  'scope',
1355
1988
  'code',
1356
- 'effective_at',
1989
+ 'return_scope',
1990
+ 'return_code',
1991
+ 'recipe_id_scope',
1992
+ 'recipe_id_code',
1993
+ 'from_effective_at',
1994
+ 'to_effective_at',
1995
+ 'composite_method',
1996
+ 'period',
1997
+ 'output_frequency',
1998
+ 'metrics',
1357
1999
  'as_at',
1358
- 'property_keys',
1359
- 'relationship_definition_ids'
2000
+ 'alternative_inc_date'
1360
2001
  ]
1361
2002
  all_params.extend(
1362
2003
  [
@@ -1373,35 +2014,75 @@ class PortfoliosApi(object):
1373
2014
  if key not in all_params:
1374
2015
  raise ApiTypeError(
1375
2016
  "Got an unexpected keyword argument '%s'"
1376
- " to method get_portfolio" % key
2017
+ " to method get_portfolio_aggregate_returns" % key
1377
2018
  )
1378
2019
  local_var_params[key] = val
1379
2020
  del local_var_params['kwargs']
1380
2021
  # verify the required parameter 'scope' is set
1381
2022
  if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
1382
2023
  local_var_params['scope'] is None): # noqa: E501
1383
- raise ApiValueError("Missing the required parameter `scope` when calling `get_portfolio`") # noqa: E501
2024
+ raise ApiValueError("Missing the required parameter `scope` when calling `get_portfolio_aggregate_returns`") # noqa: E501
1384
2025
  # verify the required parameter 'code' is set
1385
2026
  if self.api_client.client_side_validation and ('code' not in local_var_params or # noqa: E501
1386
2027
  local_var_params['code'] is None): # noqa: E501
1387
- raise ApiValueError("Missing the required parameter `code` when calling `get_portfolio`") # noqa: E501
2028
+ raise ApiValueError("Missing the required parameter `code` when calling `get_portfolio_aggregate_returns`") # noqa: E501
2029
+ # verify the required parameter 'return_scope' is set
2030
+ if self.api_client.client_side_validation and ('return_scope' not in local_var_params or # noqa: E501
2031
+ local_var_params['return_scope'] is None): # noqa: E501
2032
+ raise ApiValueError("Missing the required parameter `return_scope` when calling `get_portfolio_aggregate_returns`") # noqa: E501
2033
+ # verify the required parameter 'return_code' is set
2034
+ if self.api_client.client_side_validation and ('return_code' not in local_var_params or # noqa: E501
2035
+ local_var_params['return_code'] is None): # noqa: E501
2036
+ raise ApiValueError("Missing the required parameter `return_code` when calling `get_portfolio_aggregate_returns`") # noqa: E501
1388
2037
 
1389
2038
  if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1390
2039
  len(local_var_params['scope']) > 64): # noqa: E501
1391
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, length must be less than or equal to `64`") # noqa: E501
2040
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
1392
2041
  if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
1393
2042
  len(local_var_params['scope']) < 1): # noqa: E501
1394
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, length must be greater than or equal to `1`") # noqa: E501
2043
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
1395
2044
  if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
1396
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2045
+ raise ApiValueError("Invalid value for parameter `scope` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1397
2046
  if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1398
2047
  len(local_var_params['code']) > 64): # noqa: E501
1399
- raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, length must be less than or equal to `64`") # noqa: E501
2048
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
1400
2049
  if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
1401
2050
  len(local_var_params['code']) < 1): # noqa: E501
1402
- raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, length must be greater than or equal to `1`") # noqa: E501
2051
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
1403
2052
  if self.api_client.client_side_validation and 'code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['code']): # noqa: E501
1404
- raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2053
+ raise ApiValueError("Invalid value for parameter `code` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2054
+ if self.api_client.client_side_validation and ('return_scope' in local_var_params and # noqa: E501
2055
+ len(local_var_params['return_scope']) > 64): # noqa: E501
2056
+ raise ApiValueError("Invalid value for parameter `return_scope` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
2057
+ if self.api_client.client_side_validation and ('return_scope' in local_var_params and # noqa: E501
2058
+ len(local_var_params['return_scope']) < 1): # noqa: E501
2059
+ raise ApiValueError("Invalid value for parameter `return_scope` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
2060
+ if self.api_client.client_side_validation and 'return_scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['return_scope']): # noqa: E501
2061
+ raise ApiValueError("Invalid value for parameter `return_scope` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2062
+ if self.api_client.client_side_validation and ('return_code' in local_var_params and # noqa: E501
2063
+ len(local_var_params['return_code']) > 64): # noqa: E501
2064
+ raise ApiValueError("Invalid value for parameter `return_code` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
2065
+ if self.api_client.client_side_validation and ('return_code' in local_var_params and # noqa: E501
2066
+ len(local_var_params['return_code']) < 1): # noqa: E501
2067
+ raise ApiValueError("Invalid value for parameter `return_code` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
2068
+ if self.api_client.client_side_validation and 'return_code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['return_code']): # noqa: E501
2069
+ raise ApiValueError("Invalid value for parameter `return_code` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2070
+ if self.api_client.client_side_validation and ('recipe_id_scope' in local_var_params and # noqa: E501
2071
+ len(local_var_params['recipe_id_scope']) > 64): # noqa: E501
2072
+ raise ApiValueError("Invalid value for parameter `recipe_id_scope` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
2073
+ if self.api_client.client_side_validation and ('recipe_id_scope' in local_var_params and # noqa: E501
2074
+ len(local_var_params['recipe_id_scope']) < 1): # noqa: E501
2075
+ raise ApiValueError("Invalid value for parameter `recipe_id_scope` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
2076
+ if self.api_client.client_side_validation and 'recipe_id_scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['recipe_id_scope']): # noqa: E501
2077
+ raise ApiValueError("Invalid value for parameter `recipe_id_scope` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
2078
+ if self.api_client.client_side_validation and ('recipe_id_code' in local_var_params and # noqa: E501
2079
+ len(local_var_params['recipe_id_code']) > 64): # noqa: E501
2080
+ raise ApiValueError("Invalid value for parameter `recipe_id_code` when calling `get_portfolio_aggregate_returns`, length must be less than or equal to `64`") # noqa: E501
2081
+ if self.api_client.client_side_validation and ('recipe_id_code' in local_var_params and # noqa: E501
2082
+ len(local_var_params['recipe_id_code']) < 1): # noqa: E501
2083
+ raise ApiValueError("Invalid value for parameter `recipe_id_code` when calling `get_portfolio_aggregate_returns`, length must be greater than or equal to `1`") # noqa: E501
2084
+ if self.api_client.client_side_validation and 'recipe_id_code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['recipe_id_code']): # noqa: E501
2085
+ raise ApiValueError("Invalid value for parameter `recipe_id_code` when calling `get_portfolio_aggregate_returns`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
1405
2086
  collection_formats = {}
1406
2087
 
1407
2088
  path_params = {}
@@ -1409,18 +2090,33 @@ class PortfoliosApi(object):
1409
2090
  path_params['scope'] = local_var_params['scope'] # noqa: E501
1410
2091
  if 'code' in local_var_params:
1411
2092
  path_params['code'] = local_var_params['code'] # noqa: E501
2093
+ if 'return_scope' in local_var_params:
2094
+ path_params['returnScope'] = local_var_params['return_scope'] # noqa: E501
2095
+ if 'return_code' in local_var_params:
2096
+ path_params['returnCode'] = local_var_params['return_code'] # noqa: E501
1412
2097
 
1413
2098
  query_params = []
1414
- if 'effective_at' in local_var_params and local_var_params['effective_at'] is not None: # noqa: E501
1415
- query_params.append(('effectiveAt', local_var_params['effective_at'])) # noqa: E501
2099
+ if 'recipe_id_scope' in local_var_params and local_var_params['recipe_id_scope'] is not None: # noqa: E501
2100
+ query_params.append(('recipeIdScope', local_var_params['recipe_id_scope'])) # noqa: E501
2101
+ if 'recipe_id_code' in local_var_params and local_var_params['recipe_id_code'] is not None: # noqa: E501
2102
+ query_params.append(('recipeIdCode', local_var_params['recipe_id_code'])) # noqa: E501
2103
+ if 'from_effective_at' in local_var_params and local_var_params['from_effective_at'] is not None: # noqa: E501
2104
+ query_params.append(('fromEffectiveAt', local_var_params['from_effective_at'])) # noqa: E501
2105
+ if 'to_effective_at' in local_var_params and local_var_params['to_effective_at'] is not None: # noqa: E501
2106
+ query_params.append(('toEffectiveAt', local_var_params['to_effective_at'])) # noqa: E501
2107
+ if 'composite_method' in local_var_params and local_var_params['composite_method'] is not None: # noqa: E501
2108
+ query_params.append(('compositeMethod', local_var_params['composite_method'])) # noqa: E501
2109
+ if 'period' in local_var_params and local_var_params['period'] is not None: # noqa: E501
2110
+ query_params.append(('period', local_var_params['period'])) # noqa: E501
2111
+ if 'output_frequency' in local_var_params and local_var_params['output_frequency'] is not None: # noqa: E501
2112
+ query_params.append(('outputFrequency', local_var_params['output_frequency'])) # noqa: E501
2113
+ if 'metrics' in local_var_params and local_var_params['metrics'] is not None: # noqa: E501
2114
+ query_params.append(('metrics', local_var_params['metrics'])) # noqa: E501
2115
+ collection_formats['metrics'] = 'multi' # noqa: E501
1416
2116
  if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
1417
2117
  query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
1418
- if 'property_keys' in local_var_params and local_var_params['property_keys'] is not None: # noqa: E501
1419
- query_params.append(('propertyKeys', local_var_params['property_keys'])) # noqa: E501
1420
- collection_formats['propertyKeys'] = 'multi' # noqa: E501
1421
- if 'relationship_definition_ids' in local_var_params and local_var_params['relationship_definition_ids'] is not None: # noqa: E501
1422
- query_params.append(('relationshipDefinitionIds', local_var_params['relationship_definition_ids'])) # noqa: E501
1423
- collection_formats['relationshipDefinitionIds'] = 'multi' # noqa: E501
2118
+ if 'alternative_inc_date' in local_var_params and local_var_params['alternative_inc_date'] is not None: # noqa: E501
2119
+ query_params.append(('alternativeIncDate', local_var_params['alternative_inc_date'])) # noqa: E501
1424
2120
 
1425
2121
  header_params = dict(local_var_params.get('_headers', {}))
1426
2122
 
@@ -1437,18 +2133,18 @@ class PortfoliosApi(object):
1437
2133
 
1438
2134
  # set the LUSID header
1439
2135
  header_params['X-LUSID-SDK-Language'] = 'Python'
1440
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
2136
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1441
2137
 
1442
2138
  # Authentication setting
1443
2139
  auth_settings = ['oauth2'] # noqa: E501
1444
2140
 
1445
2141
  response_types_map = {
1446
- 200: "Portfolio",
2142
+ 200: "ResourceListOfAggregatedReturn",
1447
2143
  400: "LusidValidationProblemDetails",
1448
2144
  }
1449
2145
 
1450
2146
  return self.api_client.call_api(
1451
- '/api/portfolios/{scope}/{code}', 'GET',
2147
+ '/api/portfolios/{scope}/{code}/returns/{returnScope}/{returnCode}/aggregated', 'GET',
1452
2148
  path_params,
1453
2149
  query_params,
1454
2150
  header_params,
@@ -1643,7 +2339,7 @@ class PortfoliosApi(object):
1643
2339
 
1644
2340
  # set the LUSID header
1645
2341
  header_params['X-LUSID-SDK-Language'] = 'Python'
1646
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
2342
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1647
2343
 
1648
2344
  # Authentication setting
1649
2345
  auth_settings = ['oauth2'] # noqa: E501
@@ -1869,7 +2565,7 @@ class PortfoliosApi(object):
1869
2565
 
1870
2566
  # set the LUSID header
1871
2567
  header_params['X-LUSID-SDK-Language'] = 'Python'
1872
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
2568
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
1873
2569
 
1874
2570
  # Authentication setting
1875
2571
  auth_settings = ['oauth2'] # noqa: E501
@@ -2054,7 +2750,7 @@ class PortfoliosApi(object):
2054
2750
 
2055
2751
  # set the LUSID header
2056
2752
  header_params['X-LUSID-SDK-Language'] = 'Python'
2057
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
2753
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
2058
2754
 
2059
2755
  # Authentication setting
2060
2756
  auth_settings = ['oauth2'] # noqa: E501
@@ -2239,7 +2935,7 @@ class PortfoliosApi(object):
2239
2935
 
2240
2936
  # set the LUSID header
2241
2937
  header_params['X-LUSID-SDK-Language'] = 'Python'
2242
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
2938
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
2243
2939
 
2244
2940
  # Authentication setting
2245
2941
  auth_settings = ['oauth2'] # noqa: E501
@@ -2476,7 +3172,7 @@ class PortfoliosApi(object):
2476
3172
 
2477
3173
  # set the LUSID header
2478
3174
  header_params['X-LUSID-SDK-Language'] = 'Python'
2479
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
3175
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
2480
3176
 
2481
3177
  # Authentication setting
2482
3178
  auth_settings = ['oauth2'] # noqa: E501
@@ -2692,7 +3388,7 @@ class PortfoliosApi(object):
2692
3388
 
2693
3389
  # set the LUSID header
2694
3390
  header_params['X-LUSID-SDK-Language'] = 'Python'
2695
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
3391
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
2696
3392
 
2697
3393
  # Authentication setting
2698
3394
  auth_settings = ['oauth2'] # noqa: E501
@@ -2929,7 +3625,7 @@ class PortfoliosApi(object):
2929
3625
 
2930
3626
  # set the LUSID header
2931
3627
  header_params['X-LUSID-SDK-Language'] = 'Python'
2932
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
3628
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
2933
3629
 
2934
3630
  # Authentication setting
2935
3631
  auth_settings = ['oauth2'] # noqa: E501
@@ -3131,7 +3827,7 @@ class PortfoliosApi(object):
3131
3827
 
3132
3828
  # set the LUSID header
3133
3829
  header_params['X-LUSID-SDK-Language'] = 'Python'
3134
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
3830
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
3135
3831
 
3136
3832
  # Authentication setting
3137
3833
  auth_settings = ['oauth2'] # noqa: E501
@@ -3350,7 +4046,7 @@ class PortfoliosApi(object):
3350
4046
 
3351
4047
  # set the LUSID header
3352
4048
  header_params['X-LUSID-SDK-Language'] = 'Python'
3353
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
4049
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
3354
4050
 
3355
4051
  # Authentication setting
3356
4052
  auth_settings = ['oauth2'] # noqa: E501
@@ -3577,7 +4273,7 @@ class PortfoliosApi(object):
3577
4273
 
3578
4274
  # set the LUSID header
3579
4275
  header_params['X-LUSID-SDK-Language'] = 'Python'
3580
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
4276
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
3581
4277
 
3582
4278
  # Authentication setting
3583
4279
  auth_settings = ['oauth2'] # noqa: E501
@@ -3808,7 +4504,7 @@ class PortfoliosApi(object):
3808
4504
 
3809
4505
  # set the LUSID header
3810
4506
  header_params['X-LUSID-SDK-Language'] = 'Python'
3811
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
4507
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
3812
4508
 
3813
4509
  # Authentication setting
3814
4510
  auth_settings = ['oauth2'] # noqa: E501
@@ -3864,7 +4560,7 @@ class PortfoliosApi(object):
3864
4560
  :return: Returns the result object.
3865
4561
  If the method is called asynchronously,
3866
4562
  returns the request thread.
3867
- :rtype: ActionResultOfPortfolio
4563
+ :rtype: Portfolio
3868
4564
  """
3869
4565
  kwargs['_return_http_data_only'] = True
3870
4566
  return self.patch_portfolio_with_http_info(scope, code, operation, **kwargs) # noqa: E501
@@ -3905,7 +4601,7 @@ class PortfoliosApi(object):
3905
4601
  :return: Returns the result object, the HTTP status code, and the headers.
3906
4602
  If the method is called asynchronously,
3907
4603
  returns the request thread.
3908
- :rtype: (ActionResultOfPortfolio, int, HTTPHeaderDict)
4604
+ :rtype: (Portfolio, int, HTTPHeaderDict)
3909
4605
  """
3910
4606
 
3911
4607
  local_var_params = locals()
@@ -3993,13 +4689,13 @@ class PortfoliosApi(object):
3993
4689
 
3994
4690
  # set the LUSID header
3995
4691
  header_params['X-LUSID-SDK-Language'] = 'Python'
3996
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
4692
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
3997
4693
 
3998
4694
  # Authentication setting
3999
4695
  auth_settings = ['oauth2'] # noqa: E501
4000
4696
 
4001
4697
  response_types_map = {
4002
- 200: "ActionResultOfPortfolio",
4698
+ 200: "Portfolio",
4003
4699
  400: "LusidValidationProblemDetails",
4004
4700
  }
4005
4701
 
@@ -4192,7 +4888,7 @@ class PortfoliosApi(object):
4192
4888
 
4193
4889
  # set the LUSID header
4194
4890
  header_params['X-LUSID-SDK-Language'] = 'Python'
4195
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
4891
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
4196
4892
 
4197
4893
  # Authentication setting
4198
4894
  auth_settings = ['oauth2'] # noqa: E501
@@ -4384,7 +5080,7 @@ class PortfoliosApi(object):
4384
5080
 
4385
5081
  # set the LUSID header
4386
5082
  header_params['X-LUSID-SDK-Language'] = 'Python'
4387
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
5083
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
4388
5084
 
4389
5085
  # Authentication setting
4390
5086
  auth_settings = ['oauth2'] # noqa: E501
@@ -4411,6 +5107,221 @@ class PortfoliosApi(object):
4411
5107
  collection_formats=collection_formats,
4412
5108
  _request_auth=local_var_params.get('_request_auth'))
4413
5109
 
5110
+ def upsert_instrument_event_instructions(self, scope, code, success_mode, request_body, **kwargs): # noqa: E501
5111
+ """[EARLY ACCESS] UpsertInstrumentEventInstructions: Upsert Instrument Event Instructions # noqa: E501
5112
+
5113
+ Batch upsert for instrument event instructions, for the portfolio or individual holdings # noqa: E501
5114
+ This method makes a synchronous HTTP request by default. To make an
5115
+ asynchronous HTTP request, please pass async_req=True
5116
+
5117
+ >>> thread = api.upsert_instrument_event_instructions(scope, code, success_mode, request_body, async_req=True)
5118
+ >>> result = thread.get()
5119
+
5120
+ :param scope: The scope of the portfolio. (required)
5121
+ :type scope: str
5122
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
5123
+ :type code: str
5124
+ :param success_mode: Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default) (required)
5125
+ :type success_mode: str
5126
+ :param request_body: The instructions to be upserted to the portfolio. (required)
5127
+ :type request_body: dict(str, InstrumentEventInstructionRequest)
5128
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
5129
+ :type portfolio_effective_at: str
5130
+ :param async_req: Whether to execute the request asynchronously.
5131
+ :type async_req: bool, optional
5132
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
5133
+ be returned without reading/decoding response
5134
+ data. Default is True.
5135
+ :type _preload_content: bool, optional
5136
+ :param _request_timeout: timeout setting for this request. If one
5137
+ number provided, it will be total request
5138
+ timeout. It can also be a pair (tuple) of
5139
+ (connection, read) timeouts.
5140
+ :return: Returns the result object.
5141
+ If the method is called asynchronously,
5142
+ returns the request thread.
5143
+ :rtype: InstrumentEventInstructionsResponse
5144
+ """
5145
+ kwargs['_return_http_data_only'] = True
5146
+ return self.upsert_instrument_event_instructions_with_http_info(scope, code, success_mode, request_body, **kwargs) # noqa: E501
5147
+
5148
+ def upsert_instrument_event_instructions_with_http_info(self, scope, code, success_mode, request_body, **kwargs): # noqa: E501
5149
+ """[EARLY ACCESS] UpsertInstrumentEventInstructions: Upsert Instrument Event Instructions # noqa: E501
5150
+
5151
+ Batch upsert for instrument event instructions, for the portfolio or individual holdings # noqa: E501
5152
+ This method makes a synchronous HTTP request by default. To make an
5153
+ asynchronous HTTP request, please pass async_req=True
5154
+
5155
+ >>> thread = api.upsert_instrument_event_instructions_with_http_info(scope, code, success_mode, request_body, async_req=True)
5156
+ >>> result = thread.get()
5157
+
5158
+ :param scope: The scope of the portfolio. (required)
5159
+ :type scope: str
5160
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
5161
+ :type code: str
5162
+ :param success_mode: Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default) (required)
5163
+ :type success_mode: str
5164
+ :param request_body: The instructions to be upserted to the portfolio. (required)
5165
+ :type request_body: dict(str, InstrumentEventInstructionRequest)
5166
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
5167
+ :type portfolio_effective_at: str
5168
+ :param async_req: Whether to execute the request asynchronously.
5169
+ :type async_req: bool, optional
5170
+ :param _return_http_data_only: response data without head status code
5171
+ and headers
5172
+ :type _return_http_data_only: bool, optional
5173
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
5174
+ be returned without reading/decoding response
5175
+ data. Default is True.
5176
+ :type _preload_content: bool, optional
5177
+ :param _request_timeout: timeout setting for this request. If one
5178
+ number provided, it will be total request
5179
+ timeout. It can also be a pair (tuple) of
5180
+ (connection, read) timeouts.
5181
+ :param _request_auth: set to override the auth_settings for an a single
5182
+ request; this effectively ignores the authentication
5183
+ in the spec for a single request.
5184
+ :type _request_auth: dict, optional
5185
+ :return: Returns the result object, the HTTP status code, and the headers.
5186
+ If the method is called asynchronously,
5187
+ returns the request thread.
5188
+ :rtype: (InstrumentEventInstructionsResponse, int, HTTPHeaderDict)
5189
+ """
5190
+
5191
+ local_var_params = locals()
5192
+
5193
+ all_params = [
5194
+ 'scope',
5195
+ 'code',
5196
+ 'success_mode',
5197
+ 'request_body',
5198
+ 'portfolio_effective_at'
5199
+ ]
5200
+ all_params.extend(
5201
+ [
5202
+ 'async_req',
5203
+ '_return_http_data_only',
5204
+ '_preload_content',
5205
+ '_request_timeout',
5206
+ '_request_auth',
5207
+ '_headers'
5208
+ ]
5209
+ )
5210
+
5211
+ for key, val in six.iteritems(local_var_params['kwargs']):
5212
+ if key not in all_params:
5213
+ raise ApiTypeError(
5214
+ "Got an unexpected keyword argument '%s'"
5215
+ " to method upsert_instrument_event_instructions" % key
5216
+ )
5217
+ local_var_params[key] = val
5218
+ del local_var_params['kwargs']
5219
+ # verify the required parameter 'scope' is set
5220
+ if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
5221
+ local_var_params['scope'] is None): # noqa: E501
5222
+ raise ApiValueError("Missing the required parameter `scope` when calling `upsert_instrument_event_instructions`") # noqa: E501
5223
+ # verify the required parameter 'code' is set
5224
+ if self.api_client.client_side_validation and ('code' not in local_var_params or # noqa: E501
5225
+ local_var_params['code'] is None): # noqa: E501
5226
+ raise ApiValueError("Missing the required parameter `code` when calling `upsert_instrument_event_instructions`") # noqa: E501
5227
+ # verify the required parameter 'success_mode' is set
5228
+ if self.api_client.client_side_validation and ('success_mode' not in local_var_params or # noqa: E501
5229
+ local_var_params['success_mode'] is None): # noqa: E501
5230
+ raise ApiValueError("Missing the required parameter `success_mode` when calling `upsert_instrument_event_instructions`") # noqa: E501
5231
+ # verify the required parameter 'request_body' is set
5232
+ if self.api_client.client_side_validation and ('request_body' not in local_var_params or # noqa: E501
5233
+ local_var_params['request_body'] is None): # noqa: E501
5234
+ raise ApiValueError("Missing the required parameter `request_body` when calling `upsert_instrument_event_instructions`") # noqa: E501
5235
+
5236
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
5237
+ len(local_var_params['scope']) > 64): # noqa: E501
5238
+ raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_instrument_event_instructions`, length must be less than or equal to `64`") # noqa: E501
5239
+ if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
5240
+ len(local_var_params['scope']) < 1): # noqa: E501
5241
+ raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_instrument_event_instructions`, length must be greater than or equal to `1`") # noqa: E501
5242
+ if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
5243
+ raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_instrument_event_instructions`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
5244
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
5245
+ len(local_var_params['code']) > 64): # noqa: E501
5246
+ raise ApiValueError("Invalid value for parameter `code` when calling `upsert_instrument_event_instructions`, length must be less than or equal to `64`") # noqa: E501
5247
+ if self.api_client.client_side_validation and ('code' in local_var_params and # noqa: E501
5248
+ len(local_var_params['code']) < 1): # noqa: E501
5249
+ raise ApiValueError("Invalid value for parameter `code` when calling `upsert_instrument_event_instructions`, length must be greater than or equal to `1`") # noqa: E501
5250
+ if self.api_client.client_side_validation and 'code' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['code']): # noqa: E501
5251
+ raise ApiValueError("Invalid value for parameter `code` when calling `upsert_instrument_event_instructions`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
5252
+ if self.api_client.client_side_validation and ('success_mode' in local_var_params and # noqa: E501
5253
+ len(local_var_params['success_mode']) > 64): # noqa: E501
5254
+ raise ApiValueError("Invalid value for parameter `success_mode` when calling `upsert_instrument_event_instructions`, length must be less than or equal to `64`") # noqa: E501
5255
+ if self.api_client.client_side_validation and ('success_mode' in local_var_params and # noqa: E501
5256
+ len(local_var_params['success_mode']) < 1): # noqa: E501
5257
+ raise ApiValueError("Invalid value for parameter `success_mode` when calling `upsert_instrument_event_instructions`, length must be greater than or equal to `1`") # noqa: E501
5258
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
5259
+ len(local_var_params['portfolio_effective_at']) > 6000): # noqa: E501
5260
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `upsert_instrument_event_instructions`, length must be less than or equal to `6000`") # noqa: E501
5261
+ if self.api_client.client_side_validation and ('portfolio_effective_at' in local_var_params and # noqa: E501
5262
+ len(local_var_params['portfolio_effective_at']) < 0): # noqa: E501
5263
+ raise ApiValueError("Invalid value for parameter `portfolio_effective_at` when calling `upsert_instrument_event_instructions`, length must be greater than or equal to `0`") # noqa: E501
5264
+ collection_formats = {}
5265
+
5266
+ path_params = {}
5267
+ if 'scope' in local_var_params:
5268
+ path_params['scope'] = local_var_params['scope'] # noqa: E501
5269
+ if 'code' in local_var_params:
5270
+ path_params['code'] = local_var_params['code'] # noqa: E501
5271
+
5272
+ query_params = []
5273
+ if 'portfolio_effective_at' in local_var_params and local_var_params['portfolio_effective_at'] is not None: # noqa: E501
5274
+ query_params.append(('portfolioEffectiveAt', local_var_params['portfolio_effective_at'])) # noqa: E501
5275
+ if 'success_mode' in local_var_params and local_var_params['success_mode'] is not None: # noqa: E501
5276
+ query_params.append(('successMode', local_var_params['success_mode'])) # noqa: E501
5277
+
5278
+ header_params = dict(local_var_params.get('_headers', {}))
5279
+
5280
+ form_params = []
5281
+ local_var_files = {}
5282
+
5283
+ body_params = None
5284
+ if 'request_body' in local_var_params:
5285
+ body_params = local_var_params['request_body']
5286
+ # HTTP header `Accept`
5287
+ header_params['Accept'] = self.api_client.select_header_accept(
5288
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
5289
+
5290
+ header_params['Accept-Encoding'] = "gzip, deflate, br"
5291
+
5292
+ # HTTP header `Content-Type`
5293
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
5294
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']) # noqa: E501
5295
+
5296
+ # set the LUSID header
5297
+ header_params['X-LUSID-SDK-Language'] = 'Python'
5298
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
5299
+
5300
+ # Authentication setting
5301
+ auth_settings = ['oauth2'] # noqa: E501
5302
+
5303
+ response_types_map = {
5304
+ 200: "InstrumentEventInstructionsResponse",
5305
+ 400: "LusidValidationProblemDetails",
5306
+ }
5307
+
5308
+ return self.api_client.call_api(
5309
+ '/api/portfolios/{scope}/{code}/instrumenteventinstructions', 'POST',
5310
+ path_params,
5311
+ query_params,
5312
+ header_params,
5313
+ body=body_params,
5314
+ post_params=form_params,
5315
+ files=local_var_files,
5316
+ response_types_map=response_types_map,
5317
+ auth_settings=auth_settings,
5318
+ async_req=local_var_params.get('async_req'),
5319
+ _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
5320
+ _preload_content=local_var_params.get('_preload_content', True),
5321
+ _request_timeout=local_var_params.get('_request_timeout'),
5322
+ collection_formats=collection_formats,
5323
+ _request_auth=local_var_params.get('_request_auth'))
5324
+
4414
5325
  def upsert_portfolio_access_metadata(self, scope, code, metadata_key, upsert_portfolio_access_metadata_request, **kwargs): # noqa: E501
4415
5326
  """[EARLY ACCESS] UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
4416
5327
 
@@ -4600,7 +5511,7 @@ class PortfoliosApi(object):
4600
5511
 
4601
5512
  # set the LUSID header
4602
5513
  header_params['X-LUSID-SDK-Language'] = 'Python'
4603
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
5514
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
4604
5515
 
4605
5516
  # Authentication setting
4606
5517
  auth_settings = ['oauth2'] # noqa: E501
@@ -4785,7 +5696,7 @@ class PortfoliosApi(object):
4785
5696
 
4786
5697
  # set the LUSID header
4787
5698
  header_params['X-LUSID-SDK-Language'] = 'Python'
4788
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
5699
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
4789
5700
 
4790
5701
  # Authentication setting
4791
5702
  auth_settings = ['oauth2'] # noqa: E501
@@ -5008,7 +5919,7 @@ class PortfoliosApi(object):
5008
5919
 
5009
5920
  # set the LUSID header
5010
5921
  header_params['X-LUSID-SDK-Language'] = 'Python'
5011
- header_params['X-LUSID-SDK-Version'] = '1.1.126'
5922
+ header_params['X-LUSID-SDK-Version'] = '1.1.139'
5012
5923
 
5013
5924
  # Authentication setting
5014
5925
  auth_settings = ['oauth2'] # noqa: E501