lusid-sdk 2.0.50b0__py3-none-any.whl → 2.0.470__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 (332) hide show
  1. lusid/__init__.py +1117 -14
  2. lusid/api/__init__.py +69 -0
  3. lusid/api/abor_api.py +513 -179
  4. lusid/api/abor_configuration_api.py +25 -24
  5. lusid/api/allocations_api.py +12 -20
  6. lusid/api/blocks_api.py +6 -6
  7. lusid/api/calendars_api.py +16 -24
  8. lusid/api/chart_of_accounts_api.py +1745 -441
  9. lusid/api/compliance_api.py +71 -62
  10. lusid/api/configuration_recipe_api.py +1198 -56
  11. lusid/api/corporate_action_sources_api.py +8 -8
  12. lusid/api/custom_entities_api.py +6 -6
  13. lusid/api/cut_label_definitions_api.py +9 -17
  14. lusid/api/data_types_api.py +16 -32
  15. lusid/api/executions_api.py +6 -6
  16. lusid/api/funds_api.py +1119 -0
  17. lusid/api/instrument_event_types_api.py +1287 -0
  18. lusid/api/instruments_api.py +12 -20
  19. lusid/api/legacy_compliance_api.py +12 -12
  20. lusid/api/legal_entities_api.py +12 -12
  21. lusid/api/order_graph_api.py +12 -12
  22. lusid/api/order_instructions_api.py +6 -6
  23. lusid/api/order_management_api.py +495 -14
  24. lusid/api/orders_api.py +16 -24
  25. lusid/api/packages_api.py +6 -6
  26. lusid/api/persons_api.py +16 -24
  27. lusid/api/placements_api.py +12 -12
  28. lusid/api/portfolio_groups_api.py +6 -6
  29. lusid/api/portfolios_api.py +23 -39
  30. lusid/api/property_definitions_api.py +205 -0
  31. lusid/api/queryable_keys_api.py +211 -0
  32. lusid/api/quotes_api.py +20 -36
  33. lusid/api/reconciliations_api.py +410 -1978
  34. lusid/api/schemas_api.py +7 -15
  35. lusid/api/scopes_api.py +151 -0
  36. lusid/api/scripted_translation_api.py +30 -28
  37. lusid/api/staging_rule_set_api.py +885 -0
  38. lusid/api/transaction_configuration_api.py +22 -22
  39. lusid/api/transaction_portfolios_api.py +282 -577
  40. lusid/api_client.py +5 -3
  41. lusid/configuration.py +1 -1
  42. lusid/extensions/__init__.py +10 -7
  43. lusid/extensions/api_client.py +3 -1
  44. lusid/extensions/api_client_factory.py +156 -45
  45. lusid/extensions/api_configuration.py +124 -15
  46. lusid/extensions/configuration_loaders.py +2 -4
  47. lusid/extensions/proxy_config.py +8 -5
  48. lusid/extensions/socket_keep_alive.py +14 -15
  49. lusid/extensions/tcp_keep_alive_connector.py +93 -46
  50. lusid/models/__init__.py +1028 -13
  51. lusid/models/abor.py +9 -2
  52. lusid/models/abor_configuration.py +8 -8
  53. lusid/models/abor_configuration_request.py +9 -9
  54. lusid/models/abor_request.py +1 -1
  55. lusid/models/account.py +6 -1
  56. lusid/models/accumulation_event.py +104 -0
  57. lusid/models/address_key_compliance_parameter.py +5 -12
  58. lusid/models/address_key_list_compliance_parameter.py +3 -3
  59. lusid/models/address_key_option_definition.py +3 -1
  60. lusid/models/amortisation_event.py +4 -6
  61. lusid/models/{underlying_leg.py → asset_leg.py} +15 -15
  62. lusid/models/basket.py +3 -3
  63. lusid/models/block_and_order_id_request.py +78 -0
  64. lusid/models/block_and_orders.py +83 -0
  65. lusid/models/block_and_orders_create_request.py +77 -0
  66. lusid/models/block_and_orders_request.py +134 -0
  67. lusid/models/blocked_order_request.py +130 -0
  68. lusid/models/bond.py +13 -6
  69. lusid/models/bond_coupon_event.py +97 -0
  70. lusid/models/bond_default_event.py +8 -18
  71. lusid/models/bond_principal_event.py +97 -0
  72. lusid/models/book_transactions_request.py +97 -0
  73. lusid/models/bool_compliance_parameter.py +3 -3
  74. lusid/models/bool_list_compliance_parameter.py +3 -3
  75. lusid/models/branch_step.py +101 -0
  76. lusid/models/cap_floor.py +3 -3
  77. lusid/models/cash_dividend_event.py +32 -10
  78. lusid/models/cash_election.py +91 -0
  79. lusid/models/cash_flow_event.py +5 -7
  80. lusid/models/cash_perpetual.py +3 -3
  81. lusid/models/cds_flow_conventions.py +1 -1
  82. lusid/models/cds_index.py +4 -4
  83. lusid/models/check_step.py +110 -0
  84. lusid/models/cleardown_module_details.py +95 -0
  85. lusid/models/cleardown_module_request.py +117 -0
  86. lusid/models/cleardown_module_response.py +139 -0
  87. lusid/models/cleardown_module_rule.py +94 -0
  88. lusid/models/{reconciliation_run_break.py → cleardown_module_rules_updated_response.py} +30 -36
  89. lusid/models/close_event.py +3 -3
  90. lusid/models/close_period_diary_entry_request.py +149 -0
  91. lusid/models/complete_portfolio.py +8 -1
  92. lusid/models/complex_bond.py +4 -4
  93. lusid/models/complex_market_data.py +6 -5
  94. lusid/models/compliance_parameter.py +8 -5
  95. lusid/models/compliance_parameter_type.py +3 -0
  96. lusid/models/compliance_rule_breakdown.py +16 -8
  97. lusid/models/compliance_rule_breakdown_request.py +12 -4
  98. lusid/models/compliance_rule_result_v2.py +85 -0
  99. lusid/models/compliance_step.py +99 -0
  100. lusid/models/compliance_step_type.py +42 -0
  101. lusid/models/compliance_summary_rule_result.py +12 -15
  102. lusid/models/compliance_summary_rule_result_request.py +12 -15
  103. lusid/models/compliance_template_variation.py +12 -2
  104. lusid/models/component_transaction.py +92 -0
  105. lusid/models/composite_dispersion.py +30 -5
  106. lusid/models/compounding.py +4 -4
  107. lusid/models/configuration_recipe.py +10 -19
  108. lusid/models/constant_volatility_surface.py +102 -0
  109. lusid/models/contract_for_difference.py +3 -3
  110. lusid/models/create_derived_property_definition_request.py +3 -3
  111. lusid/models/create_derived_transaction_portfolio_request.py +10 -3
  112. lusid/models/create_property_definition_request.py +12 -5
  113. lusid/models/create_staging_rule_set_request.py +91 -0
  114. lusid/models/create_trade_tickets_response.py +87 -0
  115. lusid/models/create_transaction_portfolio_request.py +16 -3
  116. lusid/models/credit_default_swap.py +4 -4
  117. lusid/models/credit_spread_curve_data.py +4 -4
  118. lusid/models/custom_entity_definition.py +8 -2
  119. lusid/models/custom_entity_type.py +8 -2
  120. lusid/models/cut_label_definition.py +7 -1
  121. lusid/models/data_type.py +7 -1
  122. lusid/models/data_type_summary.py +8 -2
  123. lusid/models/date_time_compliance_parameter.py +3 -3
  124. lusid/models/date_time_list_compliance_parameter.py +3 -3
  125. lusid/models/{upsert_reconciliation_run_request.py → day_month.py} +15 -15
  126. lusid/models/decimal_compliance_parameter.py +3 -3
  127. lusid/models/decimal_list_compliance_parameter.py +3 -3
  128. lusid/models/dialect.py +9 -3
  129. lusid/models/diary_entry.py +1 -1
  130. lusid/models/diary_entry_request.py +1 -1
  131. lusid/models/discount_factor_curve_data.py +3 -3
  132. lusid/models/dividend_option_event.py +129 -0
  133. lusid/models/dividend_reinvestment_event.py +124 -0
  134. lusid/models/election_specification.py +73 -0
  135. lusid/models/eligibility_calculation.py +71 -0
  136. lusid/models/empty_model_options.py +3 -3
  137. lusid/models/equity.py +8 -6
  138. lusid/models/equity_curve_by_prices_data.py +3 -3
  139. lusid/models/equity_model_options.py +3 -3
  140. lusid/models/equity_option.py +3 -3
  141. lusid/models/equity_swap.py +4 -4
  142. lusid/models/equity_vol_surface_data.py +3 -3
  143. lusid/models/exchange_traded_option.py +3 -3
  144. lusid/models/exercise_event.py +5 -7
  145. lusid/models/exotic_instrument.py +3 -3
  146. lusid/models/expiry_event.py +91 -0
  147. lusid/models/filter_predicate_compliance_parameter.py +91 -0
  148. lusid/models/filter_step.py +101 -0
  149. lusid/models/fixed_leg.py +3 -3
  150. lusid/models/fixed_schedule.py +4 -9
  151. lusid/models/flexible_loan.py +105 -0
  152. lusid/models/float_schedule.py +20 -12
  153. lusid/models/floating_leg.py +3 -3
  154. lusid/models/flow_convention_name.py +1 -1
  155. lusid/models/flow_conventions.py +1 -1
  156. lusid/models/forward_rate_agreement.py +3 -3
  157. lusid/models/from_recipe.py +81 -0
  158. lusid/models/fund.py +182 -0
  159. lusid/models/fund_properties.py +115 -0
  160. lusid/models/fund_request.py +165 -0
  161. lusid/models/fund_share_class.py +99 -0
  162. lusid/models/funding_leg.py +3 -3
  163. lusid/models/funding_leg_options.py +3 -3
  164. lusid/models/future.py +3 -3
  165. lusid/models/fx_conventions.py +73 -0
  166. lusid/models/fx_forward.py +8 -6
  167. lusid/models/fx_forward_curve_by_quote_reference.py +4 -4
  168. lusid/models/fx_forward_curve_data.py +3 -3
  169. lusid/models/fx_forward_model_options.py +3 -3
  170. lusid/models/fx_forward_pips_curve_data.py +3 -3
  171. lusid/models/fx_forward_settlement_event.py +136 -0
  172. lusid/models/fx_forward_tenor_curve_data.py +4 -4
  173. lusid/models/fx_forward_tenor_pips_curve_data.py +4 -4
  174. lusid/models/fx_linked_notional_schedule.py +108 -0
  175. lusid/models/fx_option.py +3 -3
  176. lusid/models/fx_rate_schedule.py +3 -3
  177. lusid/models/fx_swap.py +4 -4
  178. lusid/models/fx_vol_surface_data.py +3 -3
  179. lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +15 -15
  180. lusid/models/group_by_selector_compliance_parameter.py +91 -0
  181. lusid/models/group_by_step.py +101 -0
  182. lusid/models/group_filter_predicate_compliance_parameter.py +91 -0
  183. lusid/models/group_filter_step.py +110 -0
  184. lusid/models/group_of_market_data_key_rules.py +79 -0
  185. lusid/models/index_convention.py +1 -1
  186. lusid/models/index_model_options.py +3 -3
  187. lusid/models/inflation_index_conventions.py +2 -2
  188. lusid/models/inflation_leg.py +3 -3
  189. lusid/models/inflation_linked_bond.py +3 -3
  190. lusid/models/inflation_swap.py +4 -4
  191. lusid/models/informational_error_event.py +3 -3
  192. lusid/models/informational_event.py +4 -6
  193. lusid/models/instrument_event.py +13 -5
  194. lusid/models/instrument_event_configuration.py +74 -0
  195. lusid/models/instrument_event_holder.py +12 -3
  196. lusid/models/instrument_event_type.py +8 -0
  197. lusid/models/instrument_leg.py +3 -3
  198. lusid/models/instrument_list_compliance_parameter.py +3 -3
  199. lusid/models/instrument_payment_diary_leg.py +5 -3
  200. lusid/models/instrument_resolution_detail.py +105 -0
  201. lusid/models/instrument_type.py +2 -0
  202. lusid/models/interest_rate_swap.py +4 -4
  203. lusid/models/interest_rate_swaption.py +3 -3
  204. lusid/models/intermediate_compliance_step.py +110 -0
  205. lusid/models/ir_vol_cube_data.py +3 -3
  206. lusid/models/journal_entry_line.py +34 -3
  207. lusid/models/journal_entry_lines_query_parameters.py +1 -1
  208. lusid/models/label_value_set.py +1 -1
  209. lusid/models/leg_definition.py +16 -3
  210. lusid/models/lineage_member.py +87 -0
  211. lusid/models/lock_period_diary_entry_request.py +91 -0
  212. lusid/models/lusid_instrument.py +7 -5
  213. lusid/models/lusid_trade_ticket.py +8 -1
  214. lusid/models/market_context.py +17 -2
  215. lusid/models/market_data_type.py +1 -0
  216. lusid/models/maturity_event.py +91 -0
  217. lusid/models/model_options.py +5 -6
  218. lusid/models/model_options_type.py +0 -1
  219. lusid/models/model_selection.py +3 -3
  220. lusid/models/move_orders_to_different_blocks_request.py +77 -0
  221. lusid/models/moved_order_to_different_block_response.py +85 -0
  222. lusid/models/movement_type.py +2 -0
  223. lusid/models/multi_currency_amounts.py +71 -0
  224. lusid/models/opaque_market_data.py +3 -3
  225. lusid/models/opaque_model_options.py +3 -3
  226. lusid/models/open_event.py +3 -3
  227. lusid/models/optionality_schedule.py +3 -3
  228. lusid/models/order_graph_block.py +4 -2
  229. lusid/models/order_graph_block_order_detail.py +16 -2
  230. lusid/models/output_transaction.py +9 -2
  231. lusid/models/paged_resource_list_of_cleardown_module_response.py +113 -0
  232. lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_cleardown_module_rule.py} +11 -11
  233. lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fund.py} +11 -11
  234. lusid/models/paged_resource_list_of_property_definition.py +113 -0
  235. lusid/models/paged_resource_list_of_staging_rule_set.py +113 -0
  236. lusid/models/paged_resource_list_of_transaction_template.py +113 -0
  237. lusid/models/paged_resource_list_of_transaction_template_specification.py +113 -0
  238. lusid/models/participation_request.py +3 -9
  239. lusid/models/performance_returns_metric.py +1 -1
  240. lusid/models/period_diary_entries_reopened_response.py +104 -0
  241. lusid/models/place_blocks_request.py +77 -0
  242. lusid/models/portfolio.py +15 -2
  243. lusid/models/portfolio_details.py +15 -2
  244. lusid/models/portfolio_group_id_compliance_parameter.py +3 -3
  245. lusid/models/portfolio_group_id_list_compliance_parameter.py +3 -3
  246. lusid/models/portfolio_holding.py +27 -2
  247. lusid/models/portfolio_id_compliance_parameter.py +3 -3
  248. lusid/models/portfolio_id_list_compliance_parameter.py +3 -3
  249. lusid/models/posting_module_rule.py +29 -4
  250. lusid/models/pricing_model.py +2 -1
  251. lusid/models/property_definition.py +17 -4
  252. lusid/models/property_definition_search_result.py +3 -3
  253. lusid/models/property_domain.py +3 -0
  254. lusid/models/property_key_compliance_parameter.py +3 -3
  255. lusid/models/property_key_list_compliance_parameter.py +3 -3
  256. lusid/models/queryable_key.py +124 -0
  257. lusid/models/raw_vendor_event.py +5 -7
  258. lusid/models/re_open_period_diary_entry_request.py +84 -0
  259. lusid/models/recipe_block.py +87 -0
  260. lusid/models/recipe_composer.py +100 -0
  261. lusid/models/{reconciliation_break_id.py → recipe_value.py} +22 -23
  262. lusid/models/recombine_step.py +101 -0
  263. lusid/models/reference_instrument.py +3 -3
  264. lusid/models/relative_date_offset.py +71 -0
  265. lusid/models/repo.py +3 -3
  266. lusid/models/reset_event.py +4 -6
  267. lusid/models/resource_list_of_block_and_orders.py +113 -0
  268. lusid/models/resource_list_of_get_recipe_composer_response.py +113 -0
  269. lusid/models/resource_list_of_moved_order_to_different_block_response.py +113 -0
  270. lusid/models/resource_list_of_queryable_key.py +113 -0
  271. lusid/models/schedule.py +6 -5
  272. lusid/models/schedule_type.py +1 -0
  273. lusid/models/script_map_reference.py +94 -0
  274. lusid/models/security_election.py +86 -0
  275. lusid/models/set_share_class_instruments_request.py +79 -0
  276. lusid/models/side_definition.py +1 -8
  277. lusid/models/sides_definition_request.py +1 -8
  278. lusid/models/simple_cash_flow_loan.py +3 -3
  279. lusid/models/simple_instrument.py +3 -3
  280. lusid/models/staging_rule.py +90 -0
  281. lusid/models/staging_rule_approval_criteria.py +81 -0
  282. lusid/models/staging_rule_match_criteria.py +95 -0
  283. lusid/models/staging_rule_set.py +103 -0
  284. lusid/models/step_schedule.py +3 -3
  285. lusid/models/stock_split_event.py +3 -3
  286. lusid/models/string_compliance_parameter.py +3 -3
  287. lusid/models/string_list_compliance_parameter.py +3 -3
  288. lusid/models/template_field.py +77 -0
  289. lusid/models/term_deposit.py +3 -3
  290. lusid/models/total_return_swap.py +16 -16
  291. lusid/models/transaction_configuration_movement_data.py +3 -3
  292. lusid/models/transaction_configuration_movement_data_request.py +3 -3
  293. lusid/models/transaction_currency_and_amount.py +81 -0
  294. lusid/models/transaction_field_map.py +97 -0
  295. lusid/models/transaction_price.py +3 -3
  296. lusid/models/transaction_price_and_type.py +81 -0
  297. lusid/models/transaction_price_type.py +1 -0
  298. lusid/models/transaction_property_map.py +80 -0
  299. lusid/models/transaction_template.py +100 -0
  300. lusid/models/transaction_template_request.py +79 -0
  301. lusid/models/transaction_template_specification.py +99 -0
  302. lusid/models/transaction_type_alias.py +0 -7
  303. lusid/models/transaction_type_calculation.py +1 -1
  304. lusid/models/transition_event.py +3 -3
  305. lusid/models/translation_context.py +75 -0
  306. lusid/models/translation_script.py +9 -3
  307. lusid/models/trial_balance.py +46 -11
  308. lusid/models/trial_balance_query_parameters.py +15 -6
  309. lusid/models/trigger_event.py +3 -3
  310. lusid/models/units_ratio.py +71 -0
  311. lusid/models/update_staging_rule_set_request.py +91 -0
  312. lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +8 -8
  313. lusid/models/upsert_dialect_request.py +79 -0
  314. lusid/models/upsert_instrument_event_request.py +12 -3
  315. lusid/models/upsert_quote_request.py +1 -1
  316. lusid/models/upsert_recipe_composer_request.py +73 -0
  317. lusid/models/upsert_recipe_request.py +3 -9
  318. lusid/models/upsert_translation_script_request.py +75 -0
  319. lusid/models/valuation_schedule.py +10 -3
  320. lusid/models/weighted_instrument.py +13 -2
  321. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +89 -0
  322. lusid/models/yield_curve_data.py +3 -3
  323. lusid/rest.py +1 -1
  324. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/METADATA +245 -48
  325. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/RECORD +326 -235
  326. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/WHEEL +1 -1
  327. lusid/extensions/api_client_builder.py +0 -138
  328. lusid/models/configuration_recipe_snippet.py +0 -139
  329. lusid/models/je_lines_query_parameters.py +0 -105
  330. lusid/models/look_up_pricing_model_options.py +0 -93
  331. lusid/models/reconciliation_run_id.py +0 -85
  332. lusid/models/upsert_reconciliation_break_request.py +0 -98
@@ -32,22 +32,16 @@ from lusid.models.inline_valuations_reconciliation_request import InlineValuatio
32
32
  from lusid.models.list_aggregation_reconciliation import ListAggregationReconciliation
33
33
  from lusid.models.mapping import Mapping
34
34
  from lusid.models.paged_resource_list_of_reconciliation import PagedResourceListOfReconciliation
35
- from lusid.models.paged_resource_list_of_reconciliation_run import PagedResourceListOfReconciliationRun
36
- from lusid.models.paged_resource_list_of_reconciliation_run_break import PagedResourceListOfReconciliationRunBreak
37
35
  from lusid.models.portfolios_reconciliation_request import PortfoliosReconciliationRequest
38
36
  from lusid.models.reconciliation import Reconciliation
39
37
  from lusid.models.reconciliation_request import ReconciliationRequest
40
38
  from lusid.models.reconciliation_response import ReconciliationResponse
41
- from lusid.models.reconciliation_run import ReconciliationRun
42
- from lusid.models.reconciliation_run_break import ReconciliationRunBreak
43
39
  from lusid.models.resource_list_of_mapping import ResourceListOfMapping
44
40
  from lusid.models.resource_list_of_reconciliation_break import ResourceListOfReconciliationBreak
45
41
  from lusid.models.transaction_reconciliation_request import TransactionReconciliationRequest
46
42
  from lusid.models.transaction_reconciliation_request_v2 import TransactionReconciliationRequestV2
47
43
  from lusid.models.transactions_reconciliations_response import TransactionsReconciliationsResponse
48
44
  from lusid.models.update_reconciliation_request import UpdateReconciliationRequest
49
- from lusid.models.upsert_reconciliation_break_request import UpsertReconciliationBreakRequest
50
- from lusid.models.upsert_reconciliation_run_request import UpsertReconciliationRunRequest
51
45
  from lusid.models.valuations_reconciliation_request import ValuationsReconciliationRequest
52
46
 
53
47
  from lusid.api_client import ApiClient
@@ -396,34 +390,28 @@ class ReconciliationsApi:
396
390
  _request_auth=_params.get('_request_auth'))
397
391
 
398
392
  @overload
399
- async def delete_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], **kwargs) -> DeletedEntityResponse: # noqa: E501
393
+ async def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], **kwargs) -> str: # noqa: E501
400
394
  ...
401
395
 
402
396
  @overload
403
- def delete_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
397
+ def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], async_req: Optional[bool]=True, **kwargs) -> str: # noqa: E501
404
398
  ...
405
399
 
406
400
  @validate_arguments
407
- def delete_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
408
- """[EXPERIMENTAL] DeleteReconciliationBreak: Delete reconciliation break # noqa: E501
401
+ def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], async_req: Optional[bool]=None, **kwargs) -> Union[str, Awaitable[str]]: # noqa: E501
402
+ """[EARLY ACCESS] DeleteReconciliationMapping: Delete a mapping # noqa: E501
409
403
 
410
- Delete the given reconciliation break # noqa: E501
404
+ Deletes the mapping identified by the scope and code # noqa: E501
411
405
  This method makes a synchronous HTTP request by default. To make an
412
406
  asynchronous HTTP request, please pass async_req=True
413
407
 
414
- >>> thread = api.delete_reconciliation_break(scope, code, run_date, version, break_id, async_req=True)
408
+ >>> thread = api.delete_reconciliation_mapping(scope, code, async_req=True)
415
409
  >>> result = thread.get()
416
410
 
417
- :param scope: The scope of the reconciliation associated with the break (required)
411
+ :param scope: The scope of the mapping. (required)
418
412
  :type scope: str
419
- :param code: The code of the reconciliation associated with the break (required)
413
+ :param code: The code fof the mapping. (required)
420
414
  :type code: str
421
- :param run_date: The date of the run associated with the break (required)
422
- :type run_date: datetime
423
- :param version: The version number of the run associated with the break (required)
424
- :type version: int
425
- :param break_id: The unique identifier for the break (required)
426
- :type break_id: str
427
415
  :param async_req: Whether to execute the request asynchronously.
428
416
  :type async_req: bool, optional
429
417
  :param _request_timeout: timeout setting for this request.
@@ -433,37 +421,31 @@ class ReconciliationsApi:
433
421
  :return: Returns the result object.
434
422
  If the method is called asynchronously,
435
423
  returns the request thread.
436
- :rtype: DeletedEntityResponse
424
+ :rtype: str
437
425
  """
438
426
  kwargs['_return_http_data_only'] = True
439
427
  if '_preload_content' in kwargs:
440
- message = "Error! Please call the delete_reconciliation_break_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
428
+ message = "Error! Please call the delete_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
441
429
  raise ValueError(message)
442
430
  if async_req is not None:
443
431
  kwargs['async_req'] = async_req
444
- return self.delete_reconciliation_break_with_http_info(scope, code, run_date, version, break_id, **kwargs) # noqa: E501
432
+ return self.delete_reconciliation_mapping_with_http_info(scope, code, **kwargs) # noqa: E501
445
433
 
446
434
  @validate_arguments
447
- def delete_reconciliation_break_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], **kwargs) -> ApiResponse: # noqa: E501
448
- """[EXPERIMENTAL] DeleteReconciliationBreak: Delete reconciliation break # noqa: E501
435
+ def delete_reconciliation_mapping_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], **kwargs) -> ApiResponse: # noqa: E501
436
+ """[EARLY ACCESS] DeleteReconciliationMapping: Delete a mapping # noqa: E501
449
437
 
450
- Delete the given reconciliation break # noqa: E501
438
+ Deletes the mapping identified by the scope and code # noqa: E501
451
439
  This method makes a synchronous HTTP request by default. To make an
452
440
  asynchronous HTTP request, please pass async_req=True
453
441
 
454
- >>> thread = api.delete_reconciliation_break_with_http_info(scope, code, run_date, version, break_id, async_req=True)
442
+ >>> thread = api.delete_reconciliation_mapping_with_http_info(scope, code, async_req=True)
455
443
  >>> result = thread.get()
456
444
 
457
- :param scope: The scope of the reconciliation associated with the break (required)
445
+ :param scope: The scope of the mapping. (required)
458
446
  :type scope: str
459
- :param code: The code of the reconciliation associated with the break (required)
447
+ :param code: The code fof the mapping. (required)
460
448
  :type code: str
461
- :param run_date: The date of the run associated with the break (required)
462
- :type run_date: datetime
463
- :param version: The version number of the run associated with the break (required)
464
- :type version: int
465
- :param break_id: The unique identifier for the break (required)
466
- :type break_id: str
467
449
  :param async_req: Whether to execute the request asynchronously.
468
450
  :type async_req: bool, optional
469
451
  :param _preload_content: if False, the ApiResponse.data will
@@ -486,17 +468,14 @@ class ReconciliationsApi:
486
468
  :return: Returns the result object.
487
469
  If the method is called asynchronously,
488
470
  returns the request thread.
489
- :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
471
+ :rtype: tuple(str, status_code(int), headers(HTTPHeaderDict))
490
472
  """
491
473
 
492
474
  _params = locals()
493
475
 
494
476
  _all_params = [
495
477
  'scope',
496
- 'code',
497
- 'run_date',
498
- 'version',
499
- 'break_id'
478
+ 'code'
500
479
  ]
501
480
  _all_params.extend(
502
481
  [
@@ -515,7 +494,7 @@ class ReconciliationsApi:
515
494
  if _key not in _all_params:
516
495
  raise ApiTypeError(
517
496
  "Got an unexpected keyword argument '%s'"
518
- " to method delete_reconciliation_break" % _key
497
+ " to method delete_reconciliation_mapping" % _key
519
498
  )
520
499
  _params[_key] = _val
521
500
  del _params['kwargs']
@@ -530,15 +509,6 @@ class ReconciliationsApi:
530
509
  if _params['code']:
531
510
  _path_params['code'] = _params['code']
532
511
 
533
- if _params['run_date']:
534
- _path_params['runDate'] = _params['run_date']
535
-
536
- if _params['version']:
537
- _path_params['version'] = _params['version']
538
-
539
- if _params['break_id']:
540
- _path_params['breakId'] = _params['break_id']
541
-
542
512
 
543
513
  # process the query parameters
544
514
  _query_params = []
@@ -557,12 +527,12 @@ class ReconciliationsApi:
557
527
  _auth_settings = ['oauth2'] # noqa: E501
558
528
 
559
529
  _response_types_map = {
560
- '200': "DeletedEntityResponse",
530
+ '200': "str",
561
531
  '400': "LusidValidationProblemDetails",
562
532
  }
563
533
 
564
534
  return self.api_client.call_api(
565
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}/breaks/{breakId}', 'DELETE',
535
+ '/api/portfolios/mapping/{scope}/{code}', 'DELETE',
566
536
  _path_params,
567
537
  _query_params,
568
538
  _header_params,
@@ -579,28 +549,34 @@ class ReconciliationsApi:
579
549
  _request_auth=_params.get('_request_auth'))
580
550
 
581
551
  @overload
582
- async def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], **kwargs) -> str: # noqa: E501
552
+ async def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> Reconciliation: # noqa: E501
583
553
  ...
584
554
 
585
555
  @overload
586
- def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], async_req: Optional[bool]=True, **kwargs) -> str: # noqa: E501
556
+ def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> Reconciliation: # noqa: E501
587
557
  ...
588
558
 
589
559
  @validate_arguments
590
- def delete_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], async_req: Optional[bool]=None, **kwargs) -> Union[str, Awaitable[str]]: # noqa: E501
591
- """[EARLY ACCESS] DeleteReconciliationMapping: Delete a mapping # noqa: E501
560
+ def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Reconciliation, Awaitable[Reconciliation]]: # noqa: E501
561
+ """[EXPERIMENTAL] GetReconciliation: Get scheduled reconciliation # noqa: E501
592
562
 
593
- Deletes the mapping identified by the scope and code # noqa: E501
563
+ Get the requested scheduled reconciliation # noqa: E501
594
564
  This method makes a synchronous HTTP request by default. To make an
595
565
  asynchronous HTTP request, please pass async_req=True
596
566
 
597
- >>> thread = api.delete_reconciliation_mapping(scope, code, async_req=True)
567
+ >>> thread = api.get_reconciliation(scope, code, effective_at, as_at, property_keys, async_req=True)
598
568
  >>> result = thread.get()
599
569
 
600
- :param scope: The scope of the mapping. (required)
570
+ :param scope: The scope of the scheduled reconciliation (required)
601
571
  :type scope: str
602
- :param code: The code fof the mapping. (required)
572
+ :param code: The code of the scheduled reconciliation (required)
603
573
  :type code: str
574
+ :param effective_at: The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.
575
+ :type effective_at: str
576
+ :param as_at: The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.
577
+ :type as_at: datetime
578
+ :param property_keys: A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
579
+ :type property_keys: List[str]
604
580
  :param async_req: Whether to execute the request asynchronously.
605
581
  :type async_req: bool, optional
606
582
  :param _request_timeout: timeout setting for this request.
@@ -610,31 +586,37 @@ class ReconciliationsApi:
610
586
  :return: Returns the result object.
611
587
  If the method is called asynchronously,
612
588
  returns the request thread.
613
- :rtype: str
589
+ :rtype: Reconciliation
614
590
  """
615
591
  kwargs['_return_http_data_only'] = True
616
592
  if '_preload_content' in kwargs:
617
- message = "Error! Please call the delete_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
593
+ message = "Error! Please call the get_reconciliation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
618
594
  raise ValueError(message)
619
595
  if async_req is not None:
620
596
  kwargs['async_req'] = async_req
621
- return self.delete_reconciliation_mapping_with_http_info(scope, code, **kwargs) # noqa: E501
597
+ return self.get_reconciliation_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
622
598
 
623
599
  @validate_arguments
624
- def delete_reconciliation_mapping_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code fof the mapping.")], **kwargs) -> ApiResponse: # noqa: E501
625
- """[EARLY ACCESS] DeleteReconciliationMapping: Delete a mapping # noqa: E501
600
+ def get_reconciliation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
601
+ """[EXPERIMENTAL] GetReconciliation: Get scheduled reconciliation # noqa: E501
626
602
 
627
- Deletes the mapping identified by the scope and code # noqa: E501
603
+ Get the requested scheduled reconciliation # noqa: E501
628
604
  This method makes a synchronous HTTP request by default. To make an
629
605
  asynchronous HTTP request, please pass async_req=True
630
606
 
631
- >>> thread = api.delete_reconciliation_mapping_with_http_info(scope, code, async_req=True)
607
+ >>> thread = api.get_reconciliation_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
632
608
  >>> result = thread.get()
633
609
 
634
- :param scope: The scope of the mapping. (required)
610
+ :param scope: The scope of the scheduled reconciliation (required)
635
611
  :type scope: str
636
- :param code: The code fof the mapping. (required)
612
+ :param code: The code of the scheduled reconciliation (required)
637
613
  :type code: str
614
+ :param effective_at: The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.
615
+ :type effective_at: str
616
+ :param as_at: The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.
617
+ :type as_at: datetime
618
+ :param property_keys: A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
619
+ :type property_keys: List[str]
638
620
  :param async_req: Whether to execute the request asynchronously.
639
621
  :type async_req: bool, optional
640
622
  :param _preload_content: if False, the ApiResponse.data will
@@ -657,14 +639,17 @@ class ReconciliationsApi:
657
639
  :return: Returns the result object.
658
640
  If the method is called asynchronously,
659
641
  returns the request thread.
660
- :rtype: tuple(str, status_code(int), headers(HTTPHeaderDict))
642
+ :rtype: tuple(Reconciliation, status_code(int), headers(HTTPHeaderDict))
661
643
  """
662
644
 
663
645
  _params = locals()
664
646
 
665
647
  _all_params = [
666
648
  'scope',
667
- 'code'
649
+ 'code',
650
+ 'effective_at',
651
+ 'as_at',
652
+ 'property_keys'
668
653
  ]
669
654
  _all_params.extend(
670
655
  [
@@ -683,7 +668,7 @@ class ReconciliationsApi:
683
668
  if _key not in _all_params:
684
669
  raise ApiTypeError(
685
670
  "Got an unexpected keyword argument '%s'"
686
- " to method delete_reconciliation_mapping" % _key
671
+ " to method get_reconciliation" % _key
687
672
  )
688
673
  _params[_key] = _val
689
674
  del _params['kwargs']
@@ -701,6 +686,19 @@ class ReconciliationsApi:
701
686
 
702
687
  # process the query parameters
703
688
  _query_params = []
689
+ if _params.get('effective_at') is not None: # noqa: E501
690
+ _query_params.append(('effectiveAt', _params['effective_at']))
691
+
692
+ if _params.get('as_at') is not None: # noqa: E501
693
+ if isinstance(_params['as_at'], datetime):
694
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
695
+ else:
696
+ _query_params.append(('asAt', _params['as_at']))
697
+
698
+ if _params.get('property_keys') is not None: # noqa: E501
699
+ _query_params.append(('propertyKeys', _params['property_keys']))
700
+ _collection_formats['propertyKeys'] = 'multi'
701
+
704
702
  # process the header parameters
705
703
  _header_params = dict(_params.get('_headers', {}))
706
704
  # process the form parameters
@@ -716,12 +714,12 @@ class ReconciliationsApi:
716
714
  _auth_settings = ['oauth2'] # noqa: E501
717
715
 
718
716
  _response_types_map = {
719
- '200': "str",
717
+ '200': "Reconciliation",
720
718
  '400': "LusidValidationProblemDetails",
721
719
  }
722
720
 
723
721
  return self.api_client.call_api(
724
- '/api/portfolios/mapping/{scope}/{code}', 'DELETE',
722
+ '/api/portfolios/$scheduledReconciliations/{scope}/{code}', 'GET',
725
723
  _path_params,
726
724
  _query_params,
727
725
  _header_params,
@@ -738,32 +736,28 @@ class ReconciliationsApi:
738
736
  _request_auth=_params.get('_request_auth'))
739
737
 
740
738
  @overload
741
- async def delete_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the reconciliation run")], version : Annotated[StrictInt, Field(..., description="The version number of the reconciliation run")], **kwargs) -> DeletedEntityResponse: # noqa: E501
739
+ async def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], **kwargs) -> Mapping: # noqa: E501
742
740
  ...
743
741
 
744
742
  @overload
745
- def delete_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the reconciliation run")], version : Annotated[StrictInt, Field(..., description="The version number of the reconciliation run")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
743
+ def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], async_req: Optional[bool]=True, **kwargs) -> Mapping: # noqa: E501
746
744
  ...
747
745
 
748
746
  @validate_arguments
749
- def delete_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the reconciliation run")], version : Annotated[StrictInt, Field(..., description="The version number of the reconciliation run")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
750
- """[EXPERIMENTAL] DeleteReconciliationRun: Delete reconciliation run # noqa: E501
747
+ def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], async_req: Optional[bool]=None, **kwargs) -> Union[Mapping, Awaitable[Mapping]]: # noqa: E501
748
+ """[EARLY ACCESS] GetReconciliationMapping: Get a mapping # noqa: E501
751
749
 
752
- Delete the given reconciliation run # noqa: E501
750
+ Gets a mapping identified by the given scope and code # noqa: E501
753
751
  This method makes a synchronous HTTP request by default. To make an
754
752
  asynchronous HTTP request, please pass async_req=True
755
753
 
756
- >>> thread = api.delete_reconciliation_run(scope, code, run_date, version, async_req=True)
754
+ >>> thread = api.get_reconciliation_mapping(scope, code, async_req=True)
757
755
  >>> result = thread.get()
758
756
 
759
- :param scope: The scope of the reconciliation associated with the run (required)
757
+ :param scope: The scope of the mapping. (required)
760
758
  :type scope: str
761
- :param code: The code of the reconciliation associated with the run (required)
759
+ :param code: The code of the mapping. (required)
762
760
  :type code: str
763
- :param run_date: The date of the reconciliation run (required)
764
- :type run_date: datetime
765
- :param version: The version number of the reconciliation run (required)
766
- :type version: int
767
761
  :param async_req: Whether to execute the request asynchronously.
768
762
  :type async_req: bool, optional
769
763
  :param _request_timeout: timeout setting for this request.
@@ -773,35 +767,31 @@ class ReconciliationsApi:
773
767
  :return: Returns the result object.
774
768
  If the method is called asynchronously,
775
769
  returns the request thread.
776
- :rtype: DeletedEntityResponse
770
+ :rtype: Mapping
777
771
  """
778
772
  kwargs['_return_http_data_only'] = True
779
773
  if '_preload_content' in kwargs:
780
- message = "Error! Please call the delete_reconciliation_run_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
774
+ message = "Error! Please call the get_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
781
775
  raise ValueError(message)
782
776
  if async_req is not None:
783
777
  kwargs['async_req'] = async_req
784
- return self.delete_reconciliation_run_with_http_info(scope, code, run_date, version, **kwargs) # noqa: E501
778
+ return self.get_reconciliation_mapping_with_http_info(scope, code, **kwargs) # noqa: E501
785
779
 
786
780
  @validate_arguments
787
- def delete_reconciliation_run_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the reconciliation run")], version : Annotated[StrictInt, Field(..., description="The version number of the reconciliation run")], **kwargs) -> ApiResponse: # noqa: E501
788
- """[EXPERIMENTAL] DeleteReconciliationRun: Delete reconciliation run # noqa: E501
781
+ def get_reconciliation_mapping_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], **kwargs) -> ApiResponse: # noqa: E501
782
+ """[EARLY ACCESS] GetReconciliationMapping: Get a mapping # noqa: E501
789
783
 
790
- Delete the given reconciliation run # noqa: E501
784
+ Gets a mapping identified by the given scope and code # noqa: E501
791
785
  This method makes a synchronous HTTP request by default. To make an
792
786
  asynchronous HTTP request, please pass async_req=True
793
787
 
794
- >>> thread = api.delete_reconciliation_run_with_http_info(scope, code, run_date, version, async_req=True)
788
+ >>> thread = api.get_reconciliation_mapping_with_http_info(scope, code, async_req=True)
795
789
  >>> result = thread.get()
796
790
 
797
- :param scope: The scope of the reconciliation associated with the run (required)
791
+ :param scope: The scope of the mapping. (required)
798
792
  :type scope: str
799
- :param code: The code of the reconciliation associated with the run (required)
793
+ :param code: The code of the mapping. (required)
800
794
  :type code: str
801
- :param run_date: The date of the reconciliation run (required)
802
- :type run_date: datetime
803
- :param version: The version number of the reconciliation run (required)
804
- :type version: int
805
795
  :param async_req: Whether to execute the request asynchronously.
806
796
  :type async_req: bool, optional
807
797
  :param _preload_content: if False, the ApiResponse.data will
@@ -824,16 +814,14 @@ class ReconciliationsApi:
824
814
  :return: Returns the result object.
825
815
  If the method is called asynchronously,
826
816
  returns the request thread.
827
- :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
817
+ :rtype: tuple(Mapping, status_code(int), headers(HTTPHeaderDict))
828
818
  """
829
819
 
830
820
  _params = locals()
831
821
 
832
822
  _all_params = [
833
823
  'scope',
834
- 'code',
835
- 'run_date',
836
- 'version'
824
+ 'code'
837
825
  ]
838
826
  _all_params.extend(
839
827
  [
@@ -852,7 +840,7 @@ class ReconciliationsApi:
852
840
  if _key not in _all_params:
853
841
  raise ApiTypeError(
854
842
  "Got an unexpected keyword argument '%s'"
855
- " to method delete_reconciliation_run" % _key
843
+ " to method get_reconciliation_mapping" % _key
856
844
  )
857
845
  _params[_key] = _val
858
846
  del _params['kwargs']
@@ -867,12 +855,6 @@ class ReconciliationsApi:
867
855
  if _params['code']:
868
856
  _path_params['code'] = _params['code']
869
857
 
870
- if _params['run_date']:
871
- _path_params['runDate'] = _params['run_date']
872
-
873
- if _params['version']:
874
- _path_params['version'] = _params['version']
875
-
876
858
 
877
859
  # process the query parameters
878
860
  _query_params = []
@@ -891,12 +873,12 @@ class ReconciliationsApi:
891
873
  _auth_settings = ['oauth2'] # noqa: E501
892
874
 
893
875
  _response_types_map = {
894
- '200': "DeletedEntityResponse",
876
+ '200': "Mapping",
895
877
  '400': "LusidValidationProblemDetails",
896
878
  }
897
879
 
898
880
  return self.api_client.call_api(
899
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}', 'DELETE',
881
+ '/api/portfolios/mapping/{scope}/{code}', 'GET',
900
882
  _path_params,
901
883
  _query_params,
902
884
  _header_params,
@@ -913,34 +895,26 @@ class ReconciliationsApi:
913
895
  _request_auth=_params.get('_request_auth'))
914
896
 
915
897
  @overload
916
- async def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> Reconciliation: # noqa: E501
898
+ async def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, **kwargs) -> ResourceListOfMapping: # noqa: E501
917
899
  ...
918
900
 
919
901
  @overload
920
- def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> Reconciliation: # noqa: E501
902
+ def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfMapping: # noqa: E501
921
903
  ...
922
904
 
923
905
  @validate_arguments
924
- def get_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Reconciliation, Awaitable[Reconciliation]]: # noqa: E501
925
- """[EXPERIMENTAL] GetReconciliation: Get scheduled reconciliation # noqa: E501
906
+ def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfMapping, Awaitable[ResourceListOfMapping]]: # noqa: E501
907
+ """[EARLY ACCESS] ListReconciliationMappings: List the reconciliation mappings # noqa: E501
926
908
 
927
- Get the requested scheduled reconciliation # noqa: E501
909
+ Lists all mappings this user is entitled to see # noqa: E501
928
910
  This method makes a synchronous HTTP request by default. To make an
929
911
  asynchronous HTTP request, please pass async_req=True
930
912
 
931
- >>> thread = api.get_reconciliation(scope, code, effective_at, as_at, property_keys, async_req=True)
913
+ >>> thread = api.list_reconciliation_mappings(reconciliation_type, async_req=True)
932
914
  >>> result = thread.get()
933
915
 
934
- :param scope: The scope of the scheduled reconciliation (required)
935
- :type scope: str
936
- :param code: The code of the scheduled reconciliation (required)
937
- :type code: str
938
- :param effective_at: The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.
939
- :type effective_at: str
940
- :param as_at: The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.
941
- :type as_at: datetime
942
- :param property_keys: A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
943
- :type property_keys: List[str]
916
+ :param reconciliation_type: Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.
917
+ :type reconciliation_type: str
944
918
  :param async_req: Whether to execute the request asynchronously.
945
919
  :type async_req: bool, optional
946
920
  :param _request_timeout: timeout setting for this request.
@@ -950,37 +924,29 @@ class ReconciliationsApi:
950
924
  :return: Returns the result object.
951
925
  If the method is called asynchronously,
952
926
  returns the request thread.
953
- :rtype: Reconciliation
927
+ :rtype: ResourceListOfMapping
954
928
  """
955
929
  kwargs['_return_http_data_only'] = True
956
930
  if '_preload_content' in kwargs:
957
- message = "Error! Please call the get_reconciliation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
931
+ message = "Error! Please call the list_reconciliation_mappings_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
958
932
  raise ValueError(message)
959
933
  if async_req is not None:
960
934
  kwargs['async_req'] = async_req
961
- return self.get_reconciliation_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
935
+ return self.list_reconciliation_mappings_with_http_info(reconciliation_type, **kwargs) # noqa: E501
962
936
 
963
937
  @validate_arguments
964
- def get_reconciliation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the scheduled reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the scheduled reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
965
- """[EXPERIMENTAL] GetReconciliation: Get scheduled reconciliation # noqa: E501
938
+ def list_reconciliation_mappings_with_http_info(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, **kwargs) -> ApiResponse: # noqa: E501
939
+ """[EARLY ACCESS] ListReconciliationMappings: List the reconciliation mappings # noqa: E501
966
940
 
967
- Get the requested scheduled reconciliation # noqa: E501
941
+ Lists all mappings this user is entitled to see # noqa: E501
968
942
  This method makes a synchronous HTTP request by default. To make an
969
943
  asynchronous HTTP request, please pass async_req=True
970
944
 
971
- >>> thread = api.get_reconciliation_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
945
+ >>> thread = api.list_reconciliation_mappings_with_http_info(reconciliation_type, async_req=True)
972
946
  >>> result = thread.get()
973
947
 
974
- :param scope: The scope of the scheduled reconciliation (required)
975
- :type scope: str
976
- :param code: The code of the scheduled reconciliation (required)
977
- :type code: str
978
- :param effective_at: The effective datetime or cut label at which to retrieve the scheduled reconciliation. Defaults to the current LUSID system datetime if not specified.
979
- :type effective_at: str
980
- :param as_at: The asAt datetime at which to retrieve the scheduled reconciliation. Defaults to returning the latest version of the reconciliation if not specified.
981
- :type as_at: datetime
982
- :param property_keys: A list of property keys from the 'Reconciliation' property domain to decorate onto the reconciliation. These must take the form {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
983
- :type property_keys: List[str]
948
+ :param reconciliation_type: Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.
949
+ :type reconciliation_type: str
984
950
  :param async_req: Whether to execute the request asynchronously.
985
951
  :type async_req: bool, optional
986
952
  :param _preload_content: if False, the ApiResponse.data will
@@ -1003,17 +969,13 @@ class ReconciliationsApi:
1003
969
  :return: Returns the result object.
1004
970
  If the method is called asynchronously,
1005
971
  returns the request thread.
1006
- :rtype: tuple(Reconciliation, status_code(int), headers(HTTPHeaderDict))
972
+ :rtype: tuple(ResourceListOfMapping, status_code(int), headers(HTTPHeaderDict))
1007
973
  """
1008
974
 
1009
975
  _params = locals()
1010
976
 
1011
977
  _all_params = [
1012
- 'scope',
1013
- 'code',
1014
- 'effective_at',
1015
- 'as_at',
1016
- 'property_keys'
978
+ 'reconciliation_type'
1017
979
  ]
1018
980
  _all_params.extend(
1019
981
  [
@@ -1032,7 +994,7 @@ class ReconciliationsApi:
1032
994
  if _key not in _all_params:
1033
995
  raise ApiTypeError(
1034
996
  "Got an unexpected keyword argument '%s'"
1035
- " to method get_reconciliation" % _key
997
+ " to method list_reconciliation_mappings" % _key
1036
998
  )
1037
999
  _params[_key] = _val
1038
1000
  del _params['kwargs']
@@ -1041,27 +1003,11 @@ class ReconciliationsApi:
1041
1003
 
1042
1004
  # process the path parameters
1043
1005
  _path_params = {}
1044
- if _params['scope']:
1045
- _path_params['scope'] = _params['scope']
1046
-
1047
- if _params['code']:
1048
- _path_params['code'] = _params['code']
1049
-
1050
1006
 
1051
1007
  # process the query parameters
1052
1008
  _query_params = []
1053
- if _params.get('effective_at') is not None: # noqa: E501
1054
- _query_params.append(('effectiveAt', _params['effective_at']))
1055
-
1056
- if _params.get('as_at') is not None: # noqa: E501
1057
- if isinstance(_params['as_at'], datetime):
1058
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1059
- else:
1060
- _query_params.append(('asAt', _params['as_at']))
1061
-
1062
- if _params.get('property_keys') is not None: # noqa: E501
1063
- _query_params.append(('propertyKeys', _params['property_keys']))
1064
- _collection_formats['propertyKeys'] = 'multi'
1009
+ if _params.get('reconciliation_type') is not None: # noqa: E501
1010
+ _query_params.append(('reconciliationType', _params['reconciliation_type']))
1065
1011
 
1066
1012
  # process the header parameters
1067
1013
  _header_params = dict(_params.get('_headers', {}))
@@ -1078,12 +1024,12 @@ class ReconciliationsApi:
1078
1024
  _auth_settings = ['oauth2'] # noqa: E501
1079
1025
 
1080
1026
  _response_types_map = {
1081
- '200': "Reconciliation",
1027
+ '200': "ResourceListOfMapping",
1082
1028
  '400': "LusidValidationProblemDetails",
1083
1029
  }
1084
1030
 
1085
1031
  return self.api_client.call_api(
1086
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}', 'GET',
1032
+ '/api/portfolios/mapping', 'GET',
1087
1033
  _path_params,
1088
1034
  _query_params,
1089
1035
  _header_params,
@@ -1100,36 +1046,36 @@ class ReconciliationsApi:
1100
1046
  _request_auth=_params.get('_request_auth'))
1101
1047
 
1102
1048
  @overload
1103
- async def get_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.")] = None, **kwargs) -> ReconciliationRunBreak: # noqa: E501
1049
+ async def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> PagedResourceListOfReconciliation: # noqa: E501
1104
1050
  ...
1105
1051
 
1106
1052
  @overload
1107
- def get_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationRunBreak: # noqa: E501
1053
+ def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfReconciliation: # noqa: E501
1108
1054
  ...
1109
1055
 
1110
1056
  @validate_arguments
1111
- def get_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationRunBreak, Awaitable[ReconciliationRunBreak]]: # noqa: E501
1112
- """[EXPERIMENTAL] GetReconciliationBreak: Get reconciliation break # noqa: E501
1057
+ def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfReconciliation, Awaitable[PagedResourceListOfReconciliation]]: # noqa: E501
1058
+ """[EXPERIMENTAL] ListReconciliations: List scheduled reconciliations # noqa: E501
1113
1059
 
1114
- Get the requested reconciliation break # noqa: E501
1060
+ List all the scheduled reconciliations matching particular criteria # noqa: E501
1115
1061
  This method makes a synchronous HTTP request by default. To make an
1116
1062
  asynchronous HTTP request, please pass async_req=True
1117
1063
 
1118
- >>> thread = api.get_reconciliation_break(scope, code, run_date, version, break_id, as_at, async_req=True)
1064
+ >>> thread = api.list_reconciliations(effective_at, as_at, page, limit, filter, property_keys, async_req=True)
1119
1065
  >>> result = thread.get()
1120
1066
 
1121
- :param scope: The scope of the reconciliation associated with the break (required)
1122
- :type scope: str
1123
- :param code: The code of the reconciliation associated with the break (required)
1124
- :type code: str
1125
- :param run_date: The date of the run associated with the break (required)
1126
- :type run_date: datetime
1127
- :param version: The version number of the run associated with the break (required)
1128
- :type version: int
1129
- :param break_id: The unique identifier for the break (required)
1130
- :type break_id: str
1131
- :param as_at: The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.
1067
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.
1068
+ :type effective_at: str
1069
+ :param as_at: The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.
1132
1070
  :type as_at: datetime
1071
+ :param page: The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
1072
+ :type page: str
1073
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1074
+ :type limit: int
1075
+ :param filter: Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
1076
+ :type filter: str
1077
+ :param property_keys: A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
1078
+ :type property_keys: List[str]
1133
1079
  :param async_req: Whether to execute the request asynchronously.
1134
1080
  :type async_req: bool, optional
1135
1081
  :param _request_timeout: timeout setting for this request.
@@ -1139,39 +1085,39 @@ class ReconciliationsApi:
1139
1085
  :return: Returns the result object.
1140
1086
  If the method is called asynchronously,
1141
1087
  returns the request thread.
1142
- :rtype: ReconciliationRunBreak
1088
+ :rtype: PagedResourceListOfReconciliation
1143
1089
  """
1144
1090
  kwargs['_return_http_data_only'] = True
1145
1091
  if '_preload_content' in kwargs:
1146
- message = "Error! Please call the get_reconciliation_break_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1092
+ message = "Error! Please call the list_reconciliations_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1147
1093
  raise ValueError(message)
1148
1094
  if async_req is not None:
1149
1095
  kwargs['async_req'] = async_req
1150
- return self.get_reconciliation_break_with_http_info(scope, code, run_date, version, break_id, as_at, **kwargs) # noqa: E501
1096
+ return self.list_reconciliations_with_http_info(effective_at, as_at, page, limit, filter, property_keys, **kwargs) # noqa: E501
1151
1097
 
1152
1098
  @validate_arguments
1153
- def get_reconciliation_break_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], break_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the break")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1154
- """[EXPERIMENTAL] GetReconciliationBreak: Get reconciliation break # noqa: E501
1099
+ def list_reconciliations_with_http_info(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1100
+ """[EXPERIMENTAL] ListReconciliations: List scheduled reconciliations # noqa: E501
1155
1101
 
1156
- Get the requested reconciliation break # noqa: E501
1102
+ List all the scheduled reconciliations matching particular criteria # noqa: E501
1157
1103
  This method makes a synchronous HTTP request by default. To make an
1158
1104
  asynchronous HTTP request, please pass async_req=True
1159
1105
 
1160
- >>> thread = api.get_reconciliation_break_with_http_info(scope, code, run_date, version, break_id, as_at, async_req=True)
1106
+ >>> thread = api.list_reconciliations_with_http_info(effective_at, as_at, page, limit, filter, property_keys, async_req=True)
1161
1107
  >>> result = thread.get()
1162
1108
 
1163
- :param scope: The scope of the reconciliation associated with the break (required)
1164
- :type scope: str
1165
- :param code: The code of the reconciliation associated with the break (required)
1166
- :type code: str
1167
- :param run_date: The date of the run associated with the break (required)
1168
- :type run_date: datetime
1169
- :param version: The version number of the run associated with the break (required)
1170
- :type version: int
1171
- :param break_id: The unique identifier for the break (required)
1172
- :type break_id: str
1173
- :param as_at: The asAt datetime at which to retrieve the reconciliation break. Defaults to returning the latest version of the reconciliation break if not specified.
1109
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.
1110
+ :type effective_at: str
1111
+ :param as_at: The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.
1174
1112
  :type as_at: datetime
1113
+ :param page: The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
1114
+ :type page: str
1115
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1116
+ :type limit: int
1117
+ :param filter: Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
1118
+ :type filter: str
1119
+ :param property_keys: A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
1120
+ :type property_keys: List[str]
1175
1121
  :param async_req: Whether to execute the request asynchronously.
1176
1122
  :type async_req: bool, optional
1177
1123
  :param _preload_content: if False, the ApiResponse.data will
@@ -1194,18 +1140,18 @@ class ReconciliationsApi:
1194
1140
  :return: Returns the result object.
1195
1141
  If the method is called asynchronously,
1196
1142
  returns the request thread.
1197
- :rtype: tuple(ReconciliationRunBreak, status_code(int), headers(HTTPHeaderDict))
1143
+ :rtype: tuple(PagedResourceListOfReconciliation, status_code(int), headers(HTTPHeaderDict))
1198
1144
  """
1199
1145
 
1200
1146
  _params = locals()
1201
1147
 
1202
1148
  _all_params = [
1203
- 'scope',
1204
- 'code',
1205
- 'run_date',
1206
- 'version',
1207
- 'break_id',
1208
- 'as_at'
1149
+ 'effective_at',
1150
+ 'as_at',
1151
+ 'page',
1152
+ 'limit',
1153
+ 'filter',
1154
+ 'property_keys'
1209
1155
  ]
1210
1156
  _all_params.extend(
1211
1157
  [
@@ -1224,1497 +1170,7 @@ class ReconciliationsApi:
1224
1170
  if _key not in _all_params:
1225
1171
  raise ApiTypeError(
1226
1172
  "Got an unexpected keyword argument '%s'"
1227
- " to method get_reconciliation_break" % _key
1228
- )
1229
- _params[_key] = _val
1230
- del _params['kwargs']
1231
-
1232
- _collection_formats = {}
1233
-
1234
- # process the path parameters
1235
- _path_params = {}
1236
- if _params['scope']:
1237
- _path_params['scope'] = _params['scope']
1238
-
1239
- if _params['code']:
1240
- _path_params['code'] = _params['code']
1241
-
1242
- if _params['run_date']:
1243
- _path_params['runDate'] = _params['run_date']
1244
-
1245
- if _params['version']:
1246
- _path_params['version'] = _params['version']
1247
-
1248
- if _params['break_id']:
1249
- _path_params['breakId'] = _params['break_id']
1250
-
1251
-
1252
- # process the query parameters
1253
- _query_params = []
1254
- if _params.get('as_at') is not None: # noqa: E501
1255
- if isinstance(_params['as_at'], datetime):
1256
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1257
- else:
1258
- _query_params.append(('asAt', _params['as_at']))
1259
-
1260
- # process the header parameters
1261
- _header_params = dict(_params.get('_headers', {}))
1262
- # process the form parameters
1263
- _form_params = []
1264
- _files = {}
1265
- # process the body parameter
1266
- _body_params = None
1267
- # set the HTTP header `Accept`
1268
- _header_params['Accept'] = self.api_client.select_header_accept(
1269
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
1270
-
1271
- # authentication setting
1272
- _auth_settings = ['oauth2'] # noqa: E501
1273
-
1274
- _response_types_map = {
1275
- '200': "ReconciliationRunBreak",
1276
- '400': "LusidValidationProblemDetails",
1277
- }
1278
-
1279
- return self.api_client.call_api(
1280
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}/breaks/{breakId}', 'GET',
1281
- _path_params,
1282
- _query_params,
1283
- _header_params,
1284
- body=_body_params,
1285
- post_params=_form_params,
1286
- files=_files,
1287
- response_types_map=_response_types_map,
1288
- auth_settings=_auth_settings,
1289
- async_req=_params.get('async_req'),
1290
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1291
- _preload_content=_params.get('_preload_content', True),
1292
- _request_timeout=_params.get('_request_timeout'),
1293
- collection_formats=_collection_formats,
1294
- _request_auth=_params.get('_request_auth'))
1295
-
1296
- @overload
1297
- async def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], **kwargs) -> Mapping: # noqa: E501
1298
- ...
1299
-
1300
- @overload
1301
- def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], async_req: Optional[bool]=True, **kwargs) -> Mapping: # noqa: E501
1302
- ...
1303
-
1304
- @validate_arguments
1305
- def get_reconciliation_mapping(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], async_req: Optional[bool]=None, **kwargs) -> Union[Mapping, Awaitable[Mapping]]: # noqa: E501
1306
- """[EARLY ACCESS] GetReconciliationMapping: Get a mapping # noqa: E501
1307
-
1308
- Gets a mapping identified by the given scope and code # noqa: E501
1309
- This method makes a synchronous HTTP request by default. To make an
1310
- asynchronous HTTP request, please pass async_req=True
1311
-
1312
- >>> thread = api.get_reconciliation_mapping(scope, code, async_req=True)
1313
- >>> result = thread.get()
1314
-
1315
- :param scope: The scope of the mapping. (required)
1316
- :type scope: str
1317
- :param code: The code of the mapping. (required)
1318
- :type code: str
1319
- :param async_req: Whether to execute the request asynchronously.
1320
- :type async_req: bool, optional
1321
- :param _request_timeout: timeout setting for this request.
1322
- If one number provided, it will be total request
1323
- timeout. It can also be a pair (tuple) of
1324
- (connection, read) timeouts.
1325
- :return: Returns the result object.
1326
- If the method is called asynchronously,
1327
- returns the request thread.
1328
- :rtype: Mapping
1329
- """
1330
- kwargs['_return_http_data_only'] = True
1331
- if '_preload_content' in kwargs:
1332
- message = "Error! Please call the get_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1333
- raise ValueError(message)
1334
- if async_req is not None:
1335
- kwargs['async_req'] = async_req
1336
- return self.get_reconciliation_mapping_with_http_info(scope, code, **kwargs) # noqa: E501
1337
-
1338
- @validate_arguments
1339
- def get_reconciliation_mapping_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the mapping.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the mapping.")], **kwargs) -> ApiResponse: # noqa: E501
1340
- """[EARLY ACCESS] GetReconciliationMapping: Get a mapping # noqa: E501
1341
-
1342
- Gets a mapping identified by the given scope and code # noqa: E501
1343
- This method makes a synchronous HTTP request by default. To make an
1344
- asynchronous HTTP request, please pass async_req=True
1345
-
1346
- >>> thread = api.get_reconciliation_mapping_with_http_info(scope, code, async_req=True)
1347
- >>> result = thread.get()
1348
-
1349
- :param scope: The scope of the mapping. (required)
1350
- :type scope: str
1351
- :param code: The code of the mapping. (required)
1352
- :type code: str
1353
- :param async_req: Whether to execute the request asynchronously.
1354
- :type async_req: bool, optional
1355
- :param _preload_content: if False, the ApiResponse.data will
1356
- be set to none and raw_data will store the
1357
- HTTP response body without reading/decoding.
1358
- Default is True.
1359
- :type _preload_content: bool, optional
1360
- :param _return_http_data_only: response data instead of ApiResponse
1361
- object with status code, headers, etc
1362
- :type _return_http_data_only: bool, optional
1363
- :param _request_timeout: timeout setting for this request. If one
1364
- number provided, it will be total request
1365
- timeout. It can also be a pair (tuple) of
1366
- (connection, read) timeouts.
1367
- :param _request_auth: set to override the auth_settings for an a single
1368
- request; this effectively ignores the authentication
1369
- in the spec for a single request.
1370
- :type _request_auth: dict, optional
1371
- :type _content_type: string, optional: force content-type for the request
1372
- :return: Returns the result object.
1373
- If the method is called asynchronously,
1374
- returns the request thread.
1375
- :rtype: tuple(Mapping, status_code(int), headers(HTTPHeaderDict))
1376
- """
1377
-
1378
- _params = locals()
1379
-
1380
- _all_params = [
1381
- 'scope',
1382
- 'code'
1383
- ]
1384
- _all_params.extend(
1385
- [
1386
- 'async_req',
1387
- '_return_http_data_only',
1388
- '_preload_content',
1389
- '_request_timeout',
1390
- '_request_auth',
1391
- '_content_type',
1392
- '_headers'
1393
- ]
1394
- )
1395
-
1396
- # validate the arguments
1397
- for _key, _val in _params['kwargs'].items():
1398
- if _key not in _all_params:
1399
- raise ApiTypeError(
1400
- "Got an unexpected keyword argument '%s'"
1401
- " to method get_reconciliation_mapping" % _key
1402
- )
1403
- _params[_key] = _val
1404
- del _params['kwargs']
1405
-
1406
- _collection_formats = {}
1407
-
1408
- # process the path parameters
1409
- _path_params = {}
1410
- if _params['scope']:
1411
- _path_params['scope'] = _params['scope']
1412
-
1413
- if _params['code']:
1414
- _path_params['code'] = _params['code']
1415
-
1416
-
1417
- # process the query parameters
1418
- _query_params = []
1419
- # process the header parameters
1420
- _header_params = dict(_params.get('_headers', {}))
1421
- # process the form parameters
1422
- _form_params = []
1423
- _files = {}
1424
- # process the body parameter
1425
- _body_params = None
1426
- # set the HTTP header `Accept`
1427
- _header_params['Accept'] = self.api_client.select_header_accept(
1428
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
1429
-
1430
- # authentication setting
1431
- _auth_settings = ['oauth2'] # noqa: E501
1432
-
1433
- _response_types_map = {
1434
- '200': "Mapping",
1435
- '400': "LusidValidationProblemDetails",
1436
- }
1437
-
1438
- return self.api_client.call_api(
1439
- '/api/portfolios/mapping/{scope}/{code}', 'GET',
1440
- _path_params,
1441
- _query_params,
1442
- _header_params,
1443
- body=_body_params,
1444
- post_params=_form_params,
1445
- files=_files,
1446
- response_types_map=_response_types_map,
1447
- auth_settings=_auth_settings,
1448
- async_req=_params.get('async_req'),
1449
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1450
- _preload_content=_params.get('_preload_content', True),
1451
- _request_timeout=_params.get('_request_timeout'),
1452
- collection_formats=_collection_formats,
1453
- _request_auth=_params.get('_request_auth'))
1454
-
1455
- @overload
1456
- async def get_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the run")], version : Annotated[StrictInt, Field(..., description="The version number of the run")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.")] = None, **kwargs) -> ReconciliationRun: # noqa: E501
1457
- ...
1458
-
1459
- @overload
1460
- def get_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the run")], version : Annotated[StrictInt, Field(..., description="The version number of the run")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationRun: # noqa: E501
1461
- ...
1462
-
1463
- @validate_arguments
1464
- def get_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the run")], version : Annotated[StrictInt, Field(..., description="The version number of the run")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationRun, Awaitable[ReconciliationRun]]: # noqa: E501
1465
- """[EXPERIMENTAL] GetReconciliationRun: Get a reconciliation run # noqa: E501
1466
-
1467
- Get the requested reconciliation run # 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_reconciliation_run(scope, code, run_date, version, effective_at, as_at, async_req=True)
1472
- >>> result = thread.get()
1473
-
1474
- :param scope: The scope of the reconciliation associated with the run (required)
1475
- :type scope: str
1476
- :param code: The code of the reconciliation associated with the run (required)
1477
- :type code: str
1478
- :param run_date: The date of the run (required)
1479
- :type run_date: datetime
1480
- :param version: The version number of the run (required)
1481
- :type version: int
1482
- :param effective_at: The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.
1483
- :type effective_at: str
1484
- :param as_at: The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.
1485
- :type as_at: datetime
1486
- :param async_req: Whether to execute the request asynchronously.
1487
- :type async_req: bool, optional
1488
- :param _request_timeout: timeout setting for this request.
1489
- If one number provided, it will be total request
1490
- timeout. It can also be a pair (tuple) of
1491
- (connection, read) timeouts.
1492
- :return: Returns the result object.
1493
- If the method is called asynchronously,
1494
- returns the request thread.
1495
- :rtype: ReconciliationRun
1496
- """
1497
- kwargs['_return_http_data_only'] = True
1498
- if '_preload_content' in kwargs:
1499
- message = "Error! Please call the get_reconciliation_run_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1500
- raise ValueError(message)
1501
- if async_req is not None:
1502
- kwargs['async_req'] = async_req
1503
- return self.get_reconciliation_run_with_http_info(scope, code, run_date, version, effective_at, as_at, **kwargs) # noqa: E501
1504
-
1505
- @validate_arguments
1506
- def get_reconciliation_run_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], run_date : Annotated[datetime, Field(..., description="The date of the run")], version : Annotated[StrictInt, Field(..., description="The version number of the run")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1507
- """[EXPERIMENTAL] GetReconciliationRun: Get a reconciliation run # noqa: E501
1508
-
1509
- Get the requested reconciliation run # noqa: E501
1510
- This method makes a synchronous HTTP request by default. To make an
1511
- asynchronous HTTP request, please pass async_req=True
1512
-
1513
- >>> thread = api.get_reconciliation_run_with_http_info(scope, code, run_date, version, effective_at, as_at, async_req=True)
1514
- >>> result = thread.get()
1515
-
1516
- :param scope: The scope of the reconciliation associated with the run (required)
1517
- :type scope: str
1518
- :param code: The code of the reconciliation associated with the run (required)
1519
- :type code: str
1520
- :param run_date: The date of the run (required)
1521
- :type run_date: datetime
1522
- :param version: The version number of the run (required)
1523
- :type version: int
1524
- :param effective_at: The effective datetime or cut label at which to retrieve the reconciliation run. Defaults to the current LUSID system datetime if not specified.
1525
- :type effective_at: str
1526
- :param as_at: The asAt datetime at which to retrieve the reconciliation run. Defaults to returning the latest version of the reconciliation run if not specified.
1527
- :type as_at: datetime
1528
- :param async_req: Whether to execute the request asynchronously.
1529
- :type async_req: bool, optional
1530
- :param _preload_content: if False, the ApiResponse.data will
1531
- be set to none and raw_data will store the
1532
- HTTP response body without reading/decoding.
1533
- Default is True.
1534
- :type _preload_content: bool, optional
1535
- :param _return_http_data_only: response data instead of ApiResponse
1536
- object with status code, headers, etc
1537
- :type _return_http_data_only: bool, optional
1538
- :param _request_timeout: timeout setting for this request. If one
1539
- number provided, it will be total request
1540
- timeout. It can also be a pair (tuple) of
1541
- (connection, read) timeouts.
1542
- :param _request_auth: set to override the auth_settings for an a single
1543
- request; this effectively ignores the authentication
1544
- in the spec for a single request.
1545
- :type _request_auth: dict, optional
1546
- :type _content_type: string, optional: force content-type for the request
1547
- :return: Returns the result object.
1548
- If the method is called asynchronously,
1549
- returns the request thread.
1550
- :rtype: tuple(ReconciliationRun, status_code(int), headers(HTTPHeaderDict))
1551
- """
1552
-
1553
- _params = locals()
1554
-
1555
- _all_params = [
1556
- 'scope',
1557
- 'code',
1558
- 'run_date',
1559
- 'version',
1560
- 'effective_at',
1561
- 'as_at'
1562
- ]
1563
- _all_params.extend(
1564
- [
1565
- 'async_req',
1566
- '_return_http_data_only',
1567
- '_preload_content',
1568
- '_request_timeout',
1569
- '_request_auth',
1570
- '_content_type',
1571
- '_headers'
1572
- ]
1573
- )
1574
-
1575
- # validate the arguments
1576
- for _key, _val in _params['kwargs'].items():
1577
- if _key not in _all_params:
1578
- raise ApiTypeError(
1579
- "Got an unexpected keyword argument '%s'"
1580
- " to method get_reconciliation_run" % _key
1581
- )
1582
- _params[_key] = _val
1583
- del _params['kwargs']
1584
-
1585
- _collection_formats = {}
1586
-
1587
- # process the path parameters
1588
- _path_params = {}
1589
- if _params['scope']:
1590
- _path_params['scope'] = _params['scope']
1591
-
1592
- if _params['code']:
1593
- _path_params['code'] = _params['code']
1594
-
1595
- if _params['run_date']:
1596
- _path_params['runDate'] = _params['run_date']
1597
-
1598
- if _params['version']:
1599
- _path_params['version'] = _params['version']
1600
-
1601
-
1602
- # process the query parameters
1603
- _query_params = []
1604
- if _params.get('effective_at') is not None: # noqa: E501
1605
- _query_params.append(('effectiveAt', _params['effective_at']))
1606
-
1607
- if _params.get('as_at') is not None: # noqa: E501
1608
- if isinstance(_params['as_at'], datetime):
1609
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1610
- else:
1611
- _query_params.append(('asAt', _params['as_at']))
1612
-
1613
- # process the header parameters
1614
- _header_params = dict(_params.get('_headers', {}))
1615
- # process the form parameters
1616
- _form_params = []
1617
- _files = {}
1618
- # process the body parameter
1619
- _body_params = None
1620
- # set the HTTP header `Accept`
1621
- _header_params['Accept'] = self.api_client.select_header_accept(
1622
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
1623
-
1624
- # authentication setting
1625
- _auth_settings = ['oauth2'] # noqa: E501
1626
-
1627
- _response_types_map = {
1628
- '200': "ReconciliationRun",
1629
- '400': "LusidValidationProblemDetails",
1630
- }
1631
-
1632
- return self.api_client.call_api(
1633
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}', 'GET',
1634
- _path_params,
1635
- _query_params,
1636
- _header_params,
1637
- body=_body_params,
1638
- post_params=_form_params,
1639
- files=_files,
1640
- response_types_map=_response_types_map,
1641
- auth_settings=_auth_settings,
1642
- async_req=_params.get('async_req'),
1643
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1644
- _preload_content=_params.get('_preload_content', True),
1645
- _request_timeout=_params.get('_request_timeout'),
1646
- collection_formats=_collection_formats,
1647
- _request_auth=_params.get('_request_auth'))
1648
-
1649
- @overload
1650
- async def list_reconciliation_breaks(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results.")] = None, **kwargs) -> PagedResourceListOfReconciliationRunBreak: # noqa: E501
1651
- ...
1652
-
1653
- @overload
1654
- def list_reconciliation_breaks(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfReconciliationRunBreak: # noqa: E501
1655
- ...
1656
-
1657
- @validate_arguments
1658
- def list_reconciliation_breaks(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfReconciliationRunBreak, Awaitable[PagedResourceListOfReconciliationRunBreak]]: # noqa: E501
1659
- """[EXPERIMENTAL] ListReconciliationBreaks: List reconciliation breaks # noqa: E501
1660
-
1661
- List all reconciliation breaks associated with a given run # noqa: E501
1662
- This method makes a synchronous HTTP request by default. To make an
1663
- asynchronous HTTP request, please pass async_req=True
1664
-
1665
- >>> thread = api.list_reconciliation_breaks(scope, code, run_date, version, effective_at, as_at, page, start, limit, filter, async_req=True)
1666
- >>> result = thread.get()
1667
-
1668
- :param scope: The scope of the reconciliation associated with the break (required)
1669
- :type scope: str
1670
- :param code: The code of the reconciliation associated with the break (required)
1671
- :type code: str
1672
- :param run_date: The date of the run associated with the break (required)
1673
- :type run_date: datetime
1674
- :param version: The version number of the run associated with the break (required)
1675
- :type version: int
1676
- :param effective_at: The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.
1677
- :type effective_at: str
1678
- :param as_at: The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.
1679
- :type as_at: datetime
1680
- :param page: The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
1681
- :type page: str
1682
- :param start: When paginating, skip this number of results.
1683
- :type start: int
1684
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1685
- :type limit: int
1686
- :param filter: Expression to filter the results.
1687
- :type filter: str
1688
- :param async_req: Whether to execute the request asynchronously.
1689
- :type async_req: bool, optional
1690
- :param _request_timeout: timeout setting for this request.
1691
- If one number provided, it will be total request
1692
- timeout. It can also be a pair (tuple) of
1693
- (connection, read) timeouts.
1694
- :return: Returns the result object.
1695
- If the method is called asynchronously,
1696
- returns the request thread.
1697
- :rtype: PagedResourceListOfReconciliationRunBreak
1698
- """
1699
- kwargs['_return_http_data_only'] = True
1700
- if '_preload_content' in kwargs:
1701
- message = "Error! Please call the list_reconciliation_breaks_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1702
- raise ValueError(message)
1703
- if async_req is not None:
1704
- kwargs['async_req'] = async_req
1705
- return self.list_reconciliation_breaks_with_http_info(scope, code, run_date, version, effective_at, as_at, page, start, limit, filter, **kwargs) # noqa: E501
1706
-
1707
- @validate_arguments
1708
- def list_reconciliation_breaks_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1709
- """[EXPERIMENTAL] ListReconciliationBreaks: List reconciliation breaks # noqa: E501
1710
-
1711
- List all reconciliation breaks associated with a given run # noqa: E501
1712
- This method makes a synchronous HTTP request by default. To make an
1713
- asynchronous HTTP request, please pass async_req=True
1714
-
1715
- >>> thread = api.list_reconciliation_breaks_with_http_info(scope, code, run_date, version, effective_at, as_at, page, start, limit, filter, async_req=True)
1716
- >>> result = thread.get()
1717
-
1718
- :param scope: The scope of the reconciliation associated with the break (required)
1719
- :type scope: str
1720
- :param code: The code of the reconciliation associated with the break (required)
1721
- :type code: str
1722
- :param run_date: The date of the run associated with the break (required)
1723
- :type run_date: datetime
1724
- :param version: The version number of the run associated with the break (required)
1725
- :type version: int
1726
- :param effective_at: The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.
1727
- :type effective_at: str
1728
- :param as_at: The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.
1729
- :type as_at: datetime
1730
- :param page: The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
1731
- :type page: str
1732
- :param start: When paginating, skip this number of results.
1733
- :type start: int
1734
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
1735
- :type limit: int
1736
- :param filter: Expression to filter the results.
1737
- :type filter: str
1738
- :param async_req: Whether to execute the request asynchronously.
1739
- :type async_req: bool, optional
1740
- :param _preload_content: if False, the ApiResponse.data will
1741
- be set to none and raw_data will store the
1742
- HTTP response body without reading/decoding.
1743
- Default is True.
1744
- :type _preload_content: bool, optional
1745
- :param _return_http_data_only: response data instead of ApiResponse
1746
- object with status code, headers, etc
1747
- :type _return_http_data_only: bool, optional
1748
- :param _request_timeout: timeout setting for this request. If one
1749
- number provided, it will be total request
1750
- timeout. It can also be a pair (tuple) of
1751
- (connection, read) timeouts.
1752
- :param _request_auth: set to override the auth_settings for an a single
1753
- request; this effectively ignores the authentication
1754
- in the spec for a single request.
1755
- :type _request_auth: dict, optional
1756
- :type _content_type: string, optional: force content-type for the request
1757
- :return: Returns the result object.
1758
- If the method is called asynchronously,
1759
- returns the request thread.
1760
- :rtype: tuple(PagedResourceListOfReconciliationRunBreak, status_code(int), headers(HTTPHeaderDict))
1761
- """
1762
-
1763
- _params = locals()
1764
-
1765
- _all_params = [
1766
- 'scope',
1767
- 'code',
1768
- 'run_date',
1769
- 'version',
1770
- 'effective_at',
1771
- 'as_at',
1772
- 'page',
1773
- 'start',
1774
- 'limit',
1775
- 'filter'
1776
- ]
1777
- _all_params.extend(
1778
- [
1779
- 'async_req',
1780
- '_return_http_data_only',
1781
- '_preload_content',
1782
- '_request_timeout',
1783
- '_request_auth',
1784
- '_content_type',
1785
- '_headers'
1786
- ]
1787
- )
1788
-
1789
- # validate the arguments
1790
- for _key, _val in _params['kwargs'].items():
1791
- if _key not in _all_params:
1792
- raise ApiTypeError(
1793
- "Got an unexpected keyword argument '%s'"
1794
- " to method list_reconciliation_breaks" % _key
1795
- )
1796
- _params[_key] = _val
1797
- del _params['kwargs']
1798
-
1799
- _collection_formats = {}
1800
-
1801
- # process the path parameters
1802
- _path_params = {}
1803
- if _params['scope']:
1804
- _path_params['scope'] = _params['scope']
1805
-
1806
- if _params['code']:
1807
- _path_params['code'] = _params['code']
1808
-
1809
- if _params['run_date']:
1810
- _path_params['runDate'] = _params['run_date']
1811
-
1812
- if _params['version']:
1813
- _path_params['version'] = _params['version']
1814
-
1815
-
1816
- # process the query parameters
1817
- _query_params = []
1818
- if _params.get('effective_at') is not None: # noqa: E501
1819
- _query_params.append(('effectiveAt', _params['effective_at']))
1820
-
1821
- if _params.get('as_at') is not None: # noqa: E501
1822
- if isinstance(_params['as_at'], datetime):
1823
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1824
- else:
1825
- _query_params.append(('asAt', _params['as_at']))
1826
-
1827
- if _params.get('page') is not None: # noqa: E501
1828
- _query_params.append(('page', _params['page']))
1829
-
1830
- if _params.get('start') is not None: # noqa: E501
1831
- _query_params.append(('start', _params['start']))
1832
-
1833
- if _params.get('limit') is not None: # noqa: E501
1834
- _query_params.append(('limit', _params['limit']))
1835
-
1836
- if _params.get('filter') is not None: # noqa: E501
1837
- _query_params.append(('filter', _params['filter']))
1838
-
1839
- # process the header parameters
1840
- _header_params = dict(_params.get('_headers', {}))
1841
- # process the form parameters
1842
- _form_params = []
1843
- _files = {}
1844
- # process the body parameter
1845
- _body_params = None
1846
- # set the HTTP header `Accept`
1847
- _header_params['Accept'] = self.api_client.select_header_accept(
1848
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
1849
-
1850
- # authentication setting
1851
- _auth_settings = ['oauth2'] # noqa: E501
1852
-
1853
- _response_types_map = {
1854
- '200': "PagedResourceListOfReconciliationRunBreak",
1855
- '400': "LusidValidationProblemDetails",
1856
- }
1857
-
1858
- return self.api_client.call_api(
1859
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}/breaks', 'GET',
1860
- _path_params,
1861
- _query_params,
1862
- _header_params,
1863
- body=_body_params,
1864
- post_params=_form_params,
1865
- files=_files,
1866
- response_types_map=_response_types_map,
1867
- auth_settings=_auth_settings,
1868
- async_req=_params.get('async_req'),
1869
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1870
- _preload_content=_params.get('_preload_content', True),
1871
- _request_timeout=_params.get('_request_timeout'),
1872
- collection_formats=_collection_formats,
1873
- _request_auth=_params.get('_request_auth'))
1874
-
1875
- @overload
1876
- async def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, **kwargs) -> ResourceListOfMapping: # noqa: E501
1877
- ...
1878
-
1879
- @overload
1880
- def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfMapping: # noqa: E501
1881
- ...
1882
-
1883
- @validate_arguments
1884
- def list_reconciliation_mappings(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfMapping, Awaitable[ResourceListOfMapping]]: # noqa: E501
1885
- """[EARLY ACCESS] ListReconciliationMappings: List the reconciliation mappings # noqa: E501
1886
-
1887
- Lists all mappings this user is entitled to see # noqa: E501
1888
- This method makes a synchronous HTTP request by default. To make an
1889
- asynchronous HTTP request, please pass async_req=True
1890
-
1891
- >>> thread = api.list_reconciliation_mappings(reconciliation_type, async_req=True)
1892
- >>> result = thread.get()
1893
-
1894
- :param reconciliation_type: Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.
1895
- :type reconciliation_type: str
1896
- :param async_req: Whether to execute the request asynchronously.
1897
- :type async_req: bool, optional
1898
- :param _request_timeout: timeout setting for this request.
1899
- If one number provided, it will be total request
1900
- timeout. It can also be a pair (tuple) of
1901
- (connection, read) timeouts.
1902
- :return: Returns the result object.
1903
- If the method is called asynchronously,
1904
- returns the request thread.
1905
- :rtype: ResourceListOfMapping
1906
- """
1907
- kwargs['_return_http_data_only'] = True
1908
- if '_preload_content' in kwargs:
1909
- message = "Error! Please call the list_reconciliation_mappings_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1910
- raise ValueError(message)
1911
- if async_req is not None:
1912
- kwargs['async_req'] = async_req
1913
- return self.list_reconciliation_mappings_with_http_info(reconciliation_type, **kwargs) # noqa: E501
1914
-
1915
- @validate_arguments
1916
- def list_reconciliation_mappings_with_http_info(self, reconciliation_type : Annotated[Optional[StrictStr], Field(description="Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1917
- """[EARLY ACCESS] ListReconciliationMappings: List the reconciliation mappings # noqa: E501
1918
-
1919
- Lists all mappings this user is entitled to see # noqa: E501
1920
- This method makes a synchronous HTTP request by default. To make an
1921
- asynchronous HTTP request, please pass async_req=True
1922
-
1923
- >>> thread = api.list_reconciliation_mappings_with_http_info(reconciliation_type, async_req=True)
1924
- >>> result = thread.get()
1925
-
1926
- :param reconciliation_type: Optional parameter to specify which type of mappings should be returned. Defaults to Transaction if not provided.
1927
- :type reconciliation_type: str
1928
- :param async_req: Whether to execute the request asynchronously.
1929
- :type async_req: bool, optional
1930
- :param _preload_content: if False, the ApiResponse.data will
1931
- be set to none and raw_data will store the
1932
- HTTP response body without reading/decoding.
1933
- Default is True.
1934
- :type _preload_content: bool, optional
1935
- :param _return_http_data_only: response data instead of ApiResponse
1936
- object with status code, headers, etc
1937
- :type _return_http_data_only: bool, optional
1938
- :param _request_timeout: timeout setting for this request. If one
1939
- number provided, it will be total request
1940
- timeout. It can also be a pair (tuple) of
1941
- (connection, read) timeouts.
1942
- :param _request_auth: set to override the auth_settings for an a single
1943
- request; this effectively ignores the authentication
1944
- in the spec for a single request.
1945
- :type _request_auth: dict, optional
1946
- :type _content_type: string, optional: force content-type for the request
1947
- :return: Returns the result object.
1948
- If the method is called asynchronously,
1949
- returns the request thread.
1950
- :rtype: tuple(ResourceListOfMapping, status_code(int), headers(HTTPHeaderDict))
1951
- """
1952
-
1953
- _params = locals()
1954
-
1955
- _all_params = [
1956
- 'reconciliation_type'
1957
- ]
1958
- _all_params.extend(
1959
- [
1960
- 'async_req',
1961
- '_return_http_data_only',
1962
- '_preload_content',
1963
- '_request_timeout',
1964
- '_request_auth',
1965
- '_content_type',
1966
- '_headers'
1967
- ]
1968
- )
1969
-
1970
- # validate the arguments
1971
- for _key, _val in _params['kwargs'].items():
1972
- if _key not in _all_params:
1973
- raise ApiTypeError(
1974
- "Got an unexpected keyword argument '%s'"
1975
- " to method list_reconciliation_mappings" % _key
1976
- )
1977
- _params[_key] = _val
1978
- del _params['kwargs']
1979
-
1980
- _collection_formats = {}
1981
-
1982
- # process the path parameters
1983
- _path_params = {}
1984
-
1985
- # process the query parameters
1986
- _query_params = []
1987
- if _params.get('reconciliation_type') is not None: # noqa: E501
1988
- _query_params.append(('reconciliationType', _params['reconciliation_type']))
1989
-
1990
- # process the header parameters
1991
- _header_params = dict(_params.get('_headers', {}))
1992
- # process the form parameters
1993
- _form_params = []
1994
- _files = {}
1995
- # process the body parameter
1996
- _body_params = None
1997
- # set the HTTP header `Accept`
1998
- _header_params['Accept'] = self.api_client.select_header_accept(
1999
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
2000
-
2001
- # authentication setting
2002
- _auth_settings = ['oauth2'] # noqa: E501
2003
-
2004
- _response_types_map = {
2005
- '200': "ResourceListOfMapping",
2006
- '400': "LusidValidationProblemDetails",
2007
- }
2008
-
2009
- return self.api_client.call_api(
2010
- '/api/portfolios/mapping', 'GET',
2011
- _path_params,
2012
- _query_params,
2013
- _header_params,
2014
- body=_body_params,
2015
- post_params=_form_params,
2016
- files=_files,
2017
- response_types_map=_response_types_map,
2018
- auth_settings=_auth_settings,
2019
- async_req=_params.get('async_req'),
2020
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2021
- _preload_content=_params.get('_preload_content', True),
2022
- _request_timeout=_params.get('_request_timeout'),
2023
- collection_formats=_collection_formats,
2024
- _request_auth=_params.get('_request_auth'))
2025
-
2026
- @overload
2027
- async def list_reconciliation_runs(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfReconciliationRun: # noqa: E501
2028
- ...
2029
-
2030
- @overload
2031
- def list_reconciliation_runs(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfReconciliationRun: # noqa: E501
2032
- ...
2033
-
2034
- @validate_arguments
2035
- def list_reconciliation_runs(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfReconciliationRun, Awaitable[PagedResourceListOfReconciliationRun]]: # noqa: E501
2036
- """[EXPERIMENTAL] ListReconciliationRuns: List Reconciliation runs # noqa: E501
2037
-
2038
- List all runs for a given reconciliation # noqa: E501
2039
- This method makes a synchronous HTTP request by default. To make an
2040
- asynchronous HTTP request, please pass async_req=True
2041
-
2042
- >>> thread = api.list_reconciliation_runs(scope, code, effective_at, as_at, page, start, limit, filter, async_req=True)
2043
- >>> result = thread.get()
2044
-
2045
- :param scope: The scope of the reconciliation (required)
2046
- :type scope: str
2047
- :param code: The code of the reconciliation (required)
2048
- :type code: str
2049
- :param effective_at: The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.
2050
- :type effective_at: str
2051
- :param as_at: The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.
2052
- :type as_at: datetime
2053
- :param page: The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2054
- :type page: str
2055
- :param start: When paginating, skip this number of results.
2056
- :type start: int
2057
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2058
- :type limit: int
2059
- :param filter: Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2060
- :type filter: str
2061
- :param async_req: Whether to execute the request asynchronously.
2062
- :type async_req: bool, optional
2063
- :param _request_timeout: timeout setting for this request.
2064
- If one number provided, it will be total request
2065
- timeout. It can also be a pair (tuple) of
2066
- (connection, read) timeouts.
2067
- :return: Returns the result object.
2068
- If the method is called asynchronously,
2069
- returns the request thread.
2070
- :rtype: PagedResourceListOfReconciliationRun
2071
- """
2072
- kwargs['_return_http_data_only'] = True
2073
- if '_preload_content' in kwargs:
2074
- message = "Error! Please call the list_reconciliation_runs_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2075
- raise ValueError(message)
2076
- if async_req is not None:
2077
- kwargs['async_req'] = async_req
2078
- return self.list_reconciliation_runs_with_http_info(scope, code, effective_at, as_at, page, start, limit, filter, **kwargs) # noqa: E501
2079
-
2080
- @validate_arguments
2081
- def list_reconciliation_runs_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2082
- """[EXPERIMENTAL] ListReconciliationRuns: List Reconciliation runs # noqa: E501
2083
-
2084
- List all runs for a given reconciliation # noqa: E501
2085
- This method makes a synchronous HTTP request by default. To make an
2086
- asynchronous HTTP request, please pass async_req=True
2087
-
2088
- >>> thread = api.list_reconciliation_runs_with_http_info(scope, code, effective_at, as_at, page, start, limit, filter, async_req=True)
2089
- >>> result = thread.get()
2090
-
2091
- :param scope: The scope of the reconciliation (required)
2092
- :type scope: str
2093
- :param code: The code of the reconciliation (required)
2094
- :type code: str
2095
- :param effective_at: The effective datetime or cut label at which to list the reconciliation runs. Defaults to the current LUSID system datetime if not specified.
2096
- :type effective_at: str
2097
- :param as_at: The asAt datetime at which to list the reconciliation runs. Defaults to returning the latest version of each run if not specified.
2098
- :type as_at: datetime
2099
- :param page: The pagination token to use to continue listing reconciliation runs; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2100
- :type page: str
2101
- :param start: When paginating, skip this number of results.
2102
- :type start: int
2103
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2104
- :type limit: int
2105
- :param filter: Expression to filter the results. For example, to filter on the run date, specify \"Date eq 10/03/2018\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2106
- :type filter: str
2107
- :param async_req: Whether to execute the request asynchronously.
2108
- :type async_req: bool, optional
2109
- :param _preload_content: if False, the ApiResponse.data will
2110
- be set to none and raw_data will store the
2111
- HTTP response body without reading/decoding.
2112
- Default is True.
2113
- :type _preload_content: bool, optional
2114
- :param _return_http_data_only: response data instead of ApiResponse
2115
- object with status code, headers, etc
2116
- :type _return_http_data_only: bool, optional
2117
- :param _request_timeout: timeout setting for this request. If one
2118
- number provided, it will be total request
2119
- timeout. It can also be a pair (tuple) of
2120
- (connection, read) timeouts.
2121
- :param _request_auth: set to override the auth_settings for an a single
2122
- request; this effectively ignores the authentication
2123
- in the spec for a single request.
2124
- :type _request_auth: dict, optional
2125
- :type _content_type: string, optional: force content-type for the request
2126
- :return: Returns the result object.
2127
- If the method is called asynchronously,
2128
- returns the request thread.
2129
- :rtype: tuple(PagedResourceListOfReconciliationRun, status_code(int), headers(HTTPHeaderDict))
2130
- """
2131
-
2132
- _params = locals()
2133
-
2134
- _all_params = [
2135
- 'scope',
2136
- 'code',
2137
- 'effective_at',
2138
- 'as_at',
2139
- 'page',
2140
- 'start',
2141
- 'limit',
2142
- 'filter'
2143
- ]
2144
- _all_params.extend(
2145
- [
2146
- 'async_req',
2147
- '_return_http_data_only',
2148
- '_preload_content',
2149
- '_request_timeout',
2150
- '_request_auth',
2151
- '_content_type',
2152
- '_headers'
2153
- ]
2154
- )
2155
-
2156
- # validate the arguments
2157
- for _key, _val in _params['kwargs'].items():
2158
- if _key not in _all_params:
2159
- raise ApiTypeError(
2160
- "Got an unexpected keyword argument '%s'"
2161
- " to method list_reconciliation_runs" % _key
2162
- )
2163
- _params[_key] = _val
2164
- del _params['kwargs']
2165
-
2166
- _collection_formats = {}
2167
-
2168
- # process the path parameters
2169
- _path_params = {}
2170
- if _params['scope']:
2171
- _path_params['scope'] = _params['scope']
2172
-
2173
- if _params['code']:
2174
- _path_params['code'] = _params['code']
2175
-
2176
-
2177
- # process the query parameters
2178
- _query_params = []
2179
- if _params.get('effective_at') is not None: # noqa: E501
2180
- _query_params.append(('effectiveAt', _params['effective_at']))
2181
-
2182
- if _params.get('as_at') is not None: # noqa: E501
2183
- if isinstance(_params['as_at'], datetime):
2184
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2185
- else:
2186
- _query_params.append(('asAt', _params['as_at']))
2187
-
2188
- if _params.get('page') is not None: # noqa: E501
2189
- _query_params.append(('page', _params['page']))
2190
-
2191
- if _params.get('start') is not None: # noqa: E501
2192
- _query_params.append(('start', _params['start']))
2193
-
2194
- if _params.get('limit') is not None: # noqa: E501
2195
- _query_params.append(('limit', _params['limit']))
2196
-
2197
- if _params.get('filter') is not None: # noqa: E501
2198
- _query_params.append(('filter', _params['filter']))
2199
-
2200
- # process the header parameters
2201
- _header_params = dict(_params.get('_headers', {}))
2202
- # process the form parameters
2203
- _form_params = []
2204
- _files = {}
2205
- # process the body parameter
2206
- _body_params = None
2207
- # set the HTTP header `Accept`
2208
- _header_params['Accept'] = self.api_client.select_header_accept(
2209
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
2210
-
2211
- # authentication setting
2212
- _auth_settings = ['oauth2'] # noqa: E501
2213
-
2214
- _response_types_map = {
2215
- '200': "PagedResourceListOfReconciliationRun",
2216
- '400': "LusidValidationProblemDetails",
2217
- }
2218
-
2219
- return self.api_client.call_api(
2220
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs', 'GET',
2221
- _path_params,
2222
- _query_params,
2223
- _header_params,
2224
- body=_body_params,
2225
- post_params=_form_params,
2226
- files=_files,
2227
- response_types_map=_response_types_map,
2228
- auth_settings=_auth_settings,
2229
- async_req=_params.get('async_req'),
2230
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2231
- _preload_content=_params.get('_preload_content', True),
2232
- _request_timeout=_params.get('_request_timeout'),
2233
- collection_formats=_collection_formats,
2234
- _request_auth=_params.get('_request_auth'))
2235
-
2236
- @overload
2237
- async def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> PagedResourceListOfReconciliation: # noqa: E501
2238
- ...
2239
-
2240
- @overload
2241
- def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfReconciliation: # noqa: E501
2242
- ...
2243
-
2244
- @validate_arguments
2245
- def list_reconciliations(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfReconciliation, Awaitable[PagedResourceListOfReconciliation]]: # noqa: E501
2246
- """[EXPERIMENTAL] ListReconciliations: List scheduled reconciliations # noqa: E501
2247
-
2248
- List all the scheduled reconciliations matching particular criteria # noqa: E501
2249
- This method makes a synchronous HTTP request by default. To make an
2250
- asynchronous HTTP request, please pass async_req=True
2251
-
2252
- >>> thread = api.list_reconciliations(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
2253
- >>> result = thread.get()
2254
-
2255
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.
2256
- :type effective_at: str
2257
- :param as_at: The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.
2258
- :type as_at: datetime
2259
- :param page: The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2260
- :type page: str
2261
- :param start: When paginating, skip this number of results.
2262
- :type start: int
2263
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2264
- :type limit: int
2265
- :param filter: Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2266
- :type filter: str
2267
- :param property_keys: A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
2268
- :type property_keys: List[str]
2269
- :param async_req: Whether to execute the request asynchronously.
2270
- :type async_req: bool, optional
2271
- :param _request_timeout: timeout setting for this request.
2272
- If one number provided, it will be total request
2273
- timeout. It can also be a pair (tuple) of
2274
- (connection, read) timeouts.
2275
- :return: Returns the result object.
2276
- If the method is called asynchronously,
2277
- returns the request thread.
2278
- :rtype: PagedResourceListOfReconciliation
2279
- """
2280
- kwargs['_return_http_data_only'] = True
2281
- if '_preload_content' in kwargs:
2282
- message = "Error! Please call the list_reconciliations_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2283
- raise ValueError(message)
2284
- if async_req is not None:
2285
- kwargs['async_req'] = async_req
2286
- return self.list_reconciliations_with_http_info(effective_at, as_at, page, start, limit, filter, property_keys, **kwargs) # noqa: E501
2287
-
2288
- @validate_arguments
2289
- def list_reconciliations_with_http_info(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.")] = None, start : Annotated[Optional[StrictInt], Field(description="When paginating, skip this number of results.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2290
- """[EXPERIMENTAL] ListReconciliations: List scheduled reconciliations # noqa: E501
2291
-
2292
- List all the scheduled reconciliations matching particular criteria # noqa: E501
2293
- This method makes a synchronous HTTP request by default. To make an
2294
- asynchronous HTTP request, please pass async_req=True
2295
-
2296
- >>> thread = api.list_reconciliations_with_http_info(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
2297
- >>> result = thread.get()
2298
-
2299
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the reconciliation. Defaults to the current LUSID system datetime if not specified.
2300
- :type effective_at: str
2301
- :param as_at: The asAt datetime at which to list the reconciliation. Defaults to returning the latest version of each reconciliation if not specified.
2302
- :type as_at: datetime
2303
- :param page: The pagination token to use to continue listing reconciliations; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2304
- :type page: str
2305
- :param start: When paginating, skip this number of results.
2306
- :type start: int
2307
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2308
- :type limit: int
2309
- :param filter: Expression to filter the results. For example, to filter on the reconciliation type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2310
- :type filter: str
2311
- :param property_keys: A list of property keys from the 'Reconciliation' domain to decorate onto each reconciliation. These must take the format {domain}/{scope}/{code}, for example 'Reconciliation/Broker/Id'.
2312
- :type property_keys: List[str]
2313
- :param async_req: Whether to execute the request asynchronously.
2314
- :type async_req: bool, optional
2315
- :param _preload_content: if False, the ApiResponse.data will
2316
- be set to none and raw_data will store the
2317
- HTTP response body without reading/decoding.
2318
- Default is True.
2319
- :type _preload_content: bool, optional
2320
- :param _return_http_data_only: response data instead of ApiResponse
2321
- object with status code, headers, etc
2322
- :type _return_http_data_only: bool, optional
2323
- :param _request_timeout: timeout setting for this request. If one
2324
- number provided, it will be total request
2325
- timeout. It can also be a pair (tuple) of
2326
- (connection, read) timeouts.
2327
- :param _request_auth: set to override the auth_settings for an a single
2328
- request; this effectively ignores the authentication
2329
- in the spec for a single request.
2330
- :type _request_auth: dict, optional
2331
- :type _content_type: string, optional: force content-type for the request
2332
- :return: Returns the result object.
2333
- If the method is called asynchronously,
2334
- returns the request thread.
2335
- :rtype: tuple(PagedResourceListOfReconciliation, status_code(int), headers(HTTPHeaderDict))
2336
- """
2337
-
2338
- _params = locals()
2339
-
2340
- _all_params = [
2341
- 'effective_at',
2342
- 'as_at',
2343
- 'page',
2344
- 'start',
2345
- 'limit',
2346
- 'filter',
2347
- 'property_keys'
2348
- ]
2349
- _all_params.extend(
2350
- [
2351
- 'async_req',
2352
- '_return_http_data_only',
2353
- '_preload_content',
2354
- '_request_timeout',
2355
- '_request_auth',
2356
- '_content_type',
2357
- '_headers'
2358
- ]
2359
- )
2360
-
2361
- # validate the arguments
2362
- for _key, _val in _params['kwargs'].items():
2363
- if _key not in _all_params:
2364
- raise ApiTypeError(
2365
- "Got an unexpected keyword argument '%s'"
2366
- " to method list_reconciliations" % _key
2367
- )
2368
- _params[_key] = _val
2369
- del _params['kwargs']
2370
-
2371
- _collection_formats = {}
2372
-
2373
- # process the path parameters
2374
- _path_params = {}
2375
-
2376
- # process the query parameters
2377
- _query_params = []
2378
- if _params.get('effective_at') is not None: # noqa: E501
2379
- _query_params.append(('effectiveAt', _params['effective_at']))
2380
-
2381
- if _params.get('as_at') is not None: # noqa: E501
2382
- if isinstance(_params['as_at'], datetime):
2383
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2384
- else:
2385
- _query_params.append(('asAt', _params['as_at']))
2386
-
2387
- if _params.get('page') is not None: # noqa: E501
2388
- _query_params.append(('page', _params['page']))
2389
-
2390
- if _params.get('start') is not None: # noqa: E501
2391
- _query_params.append(('start', _params['start']))
2392
-
2393
- if _params.get('limit') is not None: # noqa: E501
2394
- _query_params.append(('limit', _params['limit']))
2395
-
2396
- if _params.get('filter') is not None: # noqa: E501
2397
- _query_params.append(('filter', _params['filter']))
2398
-
2399
- if _params.get('property_keys') is not None: # noqa: E501
2400
- _query_params.append(('propertyKeys', _params['property_keys']))
2401
- _collection_formats['propertyKeys'] = 'multi'
2402
-
2403
- # process the header parameters
2404
- _header_params = dict(_params.get('_headers', {}))
2405
- # process the form parameters
2406
- _form_params = []
2407
- _files = {}
2408
- # process the body parameter
2409
- _body_params = None
2410
- # set the HTTP header `Accept`
2411
- _header_params['Accept'] = self.api_client.select_header_accept(
2412
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
2413
-
2414
- # authentication setting
2415
- _auth_settings = ['oauth2'] # noqa: E501
2416
-
2417
- _response_types_map = {
2418
- '200': "PagedResourceListOfReconciliation",
2419
- '400': "LusidValidationProblemDetails",
2420
- }
2421
-
2422
- return self.api_client.call_api(
2423
- '/api/portfolios/$scheduledReconciliations', 'GET',
2424
- _path_params,
2425
- _query_params,
2426
- _header_params,
2427
- body=_body_params,
2428
- post_params=_form_params,
2429
- files=_files,
2430
- response_types_map=_response_types_map,
2431
- auth_settings=_auth_settings,
2432
- async_req=_params.get('async_req'),
2433
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2434
- _preload_content=_params.get('_preload_content', True),
2435
- _request_timeout=_params.get('_request_timeout'),
2436
- collection_formats=_collection_formats,
2437
- _request_auth=_params.get('_request_auth'))
2438
-
2439
- @overload
2440
- async def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ReconciliationResponse: # noqa: E501
2441
- ...
2442
-
2443
- @overload
2444
- def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationResponse: # noqa: E501
2445
- ...
2446
-
2447
- @validate_arguments
2448
- def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationResponse, Awaitable[ReconciliationResponse]]: # noqa: E501
2449
- """ReconcileGeneric: Reconcile either holdings or valuations performed on one or two sets of holdings using one or two configuration recipes. The output is configurable for various types of comparisons, to allow tolerances on numerical and date-time data or case-insensitivity on strings, and elision of resulting differences where they are 'empty' or null or zero. # noqa: E501
2450
-
2451
- Perform evaluation of one or two set of holdings (a portfolio of instruments) using one or two (potentially different) configuration recipes. Produce a breakdown of the resulting differences in evaluation that can be iterated through. # noqa: E501
2452
- This method makes a synchronous HTTP request by default. To make an
2453
- asynchronous HTTP request, please pass async_req=True
2454
-
2455
- >>> thread = api.reconcile_generic(reconciliation_request, async_req=True)
2456
- >>> result = thread.get()
2457
-
2458
- :param reconciliation_request: The specifications of the inputs to the reconciliation
2459
- :type reconciliation_request: ReconciliationRequest
2460
- :param async_req: Whether to execute the request asynchronously.
2461
- :type async_req: bool, optional
2462
- :param _request_timeout: timeout setting for this request.
2463
- If one number provided, it will be total request
2464
- timeout. It can also be a pair (tuple) of
2465
- (connection, read) timeouts.
2466
- :return: Returns the result object.
2467
- If the method is called asynchronously,
2468
- returns the request thread.
2469
- :rtype: ReconciliationResponse
2470
- """
2471
- kwargs['_return_http_data_only'] = True
2472
- if '_preload_content' in kwargs:
2473
- message = "Error! Please call the reconcile_generic_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2474
- raise ValueError(message)
2475
- if async_req is not None:
2476
- kwargs['async_req'] = async_req
2477
- return self.reconcile_generic_with_http_info(reconciliation_request, **kwargs) # noqa: E501
2478
-
2479
- @validate_arguments
2480
- def reconcile_generic_with_http_info(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
2481
- """ReconcileGeneric: Reconcile either holdings or valuations performed on one or two sets of holdings using one or two configuration recipes. The output is configurable for various types of comparisons, to allow tolerances on numerical and date-time data or case-insensitivity on strings, and elision of resulting differences where they are 'empty' or null or zero. # noqa: E501
2482
-
2483
- Perform evaluation of one or two set of holdings (a portfolio of instruments) using one or two (potentially different) configuration recipes. Produce a breakdown of the resulting differences in evaluation that can be iterated through. # noqa: E501
2484
- This method makes a synchronous HTTP request by default. To make an
2485
- asynchronous HTTP request, please pass async_req=True
2486
-
2487
- >>> thread = api.reconcile_generic_with_http_info(reconciliation_request, async_req=True)
2488
- >>> result = thread.get()
2489
-
2490
- :param reconciliation_request: The specifications of the inputs to the reconciliation
2491
- :type reconciliation_request: ReconciliationRequest
2492
- :param async_req: Whether to execute the request asynchronously.
2493
- :type async_req: bool, optional
2494
- :param _preload_content: if False, the ApiResponse.data will
2495
- be set to none and raw_data will store the
2496
- HTTP response body without reading/decoding.
2497
- Default is True.
2498
- :type _preload_content: bool, optional
2499
- :param _return_http_data_only: response data instead of ApiResponse
2500
- object with status code, headers, etc
2501
- :type _return_http_data_only: bool, optional
2502
- :param _request_timeout: timeout setting for this request. If one
2503
- number provided, it will be total request
2504
- timeout. It can also be a pair (tuple) of
2505
- (connection, read) timeouts.
2506
- :param _request_auth: set to override the auth_settings for an a single
2507
- request; this effectively ignores the authentication
2508
- in the spec for a single request.
2509
- :type _request_auth: dict, optional
2510
- :type _content_type: string, optional: force content-type for the request
2511
- :return: Returns the result object.
2512
- If the method is called asynchronously,
2513
- returns the request thread.
2514
- :rtype: tuple(ReconciliationResponse, status_code(int), headers(HTTPHeaderDict))
2515
- """
2516
-
2517
- _params = locals()
2518
-
2519
- _all_params = [
2520
- 'reconciliation_request'
2521
- ]
2522
- _all_params.extend(
2523
- [
2524
- 'async_req',
2525
- '_return_http_data_only',
2526
- '_preload_content',
2527
- '_request_timeout',
2528
- '_request_auth',
2529
- '_content_type',
2530
- '_headers'
2531
- ]
2532
- )
2533
-
2534
- # validate the arguments
2535
- for _key, _val in _params['kwargs'].items():
2536
- if _key not in _all_params:
2537
- raise ApiTypeError(
2538
- "Got an unexpected keyword argument '%s'"
2539
- " to method reconcile_generic" % _key
2540
- )
2541
- _params[_key] = _val
2542
- del _params['kwargs']
2543
-
2544
- _collection_formats = {}
2545
-
2546
- # process the path parameters
2547
- _path_params = {}
2548
-
2549
- # process the query parameters
2550
- _query_params = []
2551
- # process the header parameters
2552
- _header_params = dict(_params.get('_headers', {}))
2553
- # process the form parameters
2554
- _form_params = []
2555
- _files = {}
2556
- # process the body parameter
2557
- _body_params = None
2558
- if _params['reconciliation_request'] is not None:
2559
- _body_params = _params['reconciliation_request']
2560
-
2561
- # set the HTTP header `Accept`
2562
- _header_params['Accept'] = self.api_client.select_header_accept(
2563
- ['text/plain', 'application/json', 'text/json']) # noqa: E501
2564
-
2565
- # set the HTTP header `Content-Type`
2566
- _content_types_list = _params.get('_content_type',
2567
- self.api_client.select_header_content_type(
2568
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2569
- if _content_types_list:
2570
- _header_params['Content-Type'] = _content_types_list
2571
-
2572
- # authentication setting
2573
- _auth_settings = ['oauth2'] # noqa: E501
2574
-
2575
- _response_types_map = {
2576
- '200': "ReconciliationResponse",
2577
- '400': "LusidValidationProblemDetails",
2578
- }
2579
-
2580
- return self.api_client.call_api(
2581
- '/api/portfolios/$reconcileGeneric', 'POST',
2582
- _path_params,
2583
- _query_params,
2584
- _header_params,
2585
- body=_body_params,
2586
- post_params=_form_params,
2587
- files=_files,
2588
- response_types_map=_response_types_map,
2589
- auth_settings=_auth_settings,
2590
- async_req=_params.get('async_req'),
2591
- _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2592
- _preload_content=_params.get('_preload_content', True),
2593
- _request_timeout=_params.get('_request_timeout'),
2594
- collection_formats=_collection_formats,
2595
- _request_auth=_params.get('_request_auth'))
2596
-
2597
- @overload
2598
- async def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, start : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, skip this number of results")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ResourceListOfReconciliationBreak: # noqa: E501
2599
- ...
2600
-
2601
- @overload
2602
- def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, start : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, skip this number of results")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfReconciliationBreak: # noqa: E501
2603
- ...
2604
-
2605
- @validate_arguments
2606
- def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, start : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, skip this number of results")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfReconciliationBreak, Awaitable[ResourceListOfReconciliationBreak]]: # noqa: E501
2607
- """[EARLY ACCESS] ReconcileHoldings: Reconcile portfolio holdings # noqa: E501
2608
-
2609
- Reconcile the holdings of two portfolios. # noqa: E501
2610
- This method makes a synchronous HTTP request by default. To make an
2611
- asynchronous HTTP request, please pass async_req=True
2612
-
2613
- >>> thread = api.reconcile_holdings(sort_by, start, limit, filter, portfolios_reconciliation_request, async_req=True)
2614
- >>> result = thread.get()
2615
-
2616
- :param sort_by: Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName
2617
- :type sort_by: List[str]
2618
- :param start: Optional. When paginating, skip this number of results
2619
- :type start: int
2620
- :param limit: Optional. When paginating, limit the number of returned results to this many.
2621
- :type limit: int
2622
- :param filter: Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
2623
- :type filter: str
2624
- :param portfolios_reconciliation_request: The specifications of the inputs to the reconciliation
2625
- :type portfolios_reconciliation_request: PortfoliosReconciliationRequest
2626
- :param async_req: Whether to execute the request asynchronously.
2627
- :type async_req: bool, optional
2628
- :param _request_timeout: timeout setting for this request.
2629
- If one number provided, it will be total request
2630
- timeout. It can also be a pair (tuple) of
2631
- (connection, read) timeouts.
2632
- :return: Returns the result object.
2633
- If the method is called asynchronously,
2634
- returns the request thread.
2635
- :rtype: ResourceListOfReconciliationBreak
2636
- """
2637
- kwargs['_return_http_data_only'] = True
2638
- if '_preload_content' in kwargs:
2639
- message = "Error! Please call the reconcile_holdings_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2640
- raise ValueError(message)
2641
- if async_req is not None:
2642
- kwargs['async_req'] = async_req
2643
- return self.reconcile_holdings_with_http_info(sort_by, start, limit, filter, portfolios_reconciliation_request, **kwargs) # noqa: E501
2644
-
2645
- @validate_arguments
2646
- def reconcile_holdings_with_http_info(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, start : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, skip this number of results")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
2647
- """[EARLY ACCESS] ReconcileHoldings: Reconcile portfolio holdings # noqa: E501
2648
-
2649
- Reconcile the holdings of two portfolios. # noqa: E501
2650
- This method makes a synchronous HTTP request by default. To make an
2651
- asynchronous HTTP request, please pass async_req=True
2652
-
2653
- >>> thread = api.reconcile_holdings_with_http_info(sort_by, start, limit, filter, portfolios_reconciliation_request, async_req=True)
2654
- >>> result = thread.get()
2655
-
2656
- :param sort_by: Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName
2657
- :type sort_by: List[str]
2658
- :param start: Optional. When paginating, skip this number of results
2659
- :type start: int
2660
- :param limit: Optional. When paginating, limit the number of returned results to this many.
2661
- :type limit: int
2662
- :param filter: Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
2663
- :type filter: str
2664
- :param portfolios_reconciliation_request: The specifications of the inputs to the reconciliation
2665
- :type portfolios_reconciliation_request: PortfoliosReconciliationRequest
2666
- :param async_req: Whether to execute the request asynchronously.
2667
- :type async_req: bool, optional
2668
- :param _preload_content: if False, the ApiResponse.data will
2669
- be set to none and raw_data will store the
2670
- HTTP response body without reading/decoding.
2671
- Default is True.
2672
- :type _preload_content: bool, optional
2673
- :param _return_http_data_only: response data instead of ApiResponse
2674
- object with status code, headers, etc
2675
- :type _return_http_data_only: bool, optional
2676
- :param _request_timeout: timeout setting for this request. If one
2677
- number provided, it will be total request
2678
- timeout. It can also be a pair (tuple) of
2679
- (connection, read) timeouts.
2680
- :param _request_auth: set to override the auth_settings for an a single
2681
- request; this effectively ignores the authentication
2682
- in the spec for a single request.
2683
- :type _request_auth: dict, optional
2684
- :type _content_type: string, optional: force content-type for the request
2685
- :return: Returns the result object.
2686
- If the method is called asynchronously,
2687
- returns the request thread.
2688
- :rtype: tuple(ResourceListOfReconciliationBreak, status_code(int), headers(HTTPHeaderDict))
2689
- """
2690
-
2691
- _params = locals()
2692
-
2693
- _all_params = [
2694
- 'sort_by',
2695
- 'start',
2696
- 'limit',
2697
- 'filter',
2698
- 'portfolios_reconciliation_request'
2699
- ]
2700
- _all_params.extend(
2701
- [
2702
- 'async_req',
2703
- '_return_http_data_only',
2704
- '_preload_content',
2705
- '_request_timeout',
2706
- '_request_auth',
2707
- '_content_type',
2708
- '_headers'
2709
- ]
2710
- )
2711
-
2712
- # validate the arguments
2713
- for _key, _val in _params['kwargs'].items():
2714
- if _key not in _all_params:
2715
- raise ApiTypeError(
2716
- "Got an unexpected keyword argument '%s'"
2717
- " to method reconcile_holdings" % _key
1173
+ " to method list_reconciliations" % _key
2718
1174
  )
2719
1175
  _params[_key] = _val
2720
1176
  del _params['kwargs']
@@ -2726,12 +1182,17 @@ class ReconciliationsApi:
2726
1182
 
2727
1183
  # process the query parameters
2728
1184
  _query_params = []
2729
- if _params.get('sort_by') is not None: # noqa: E501
2730
- _query_params.append(('sortBy', _params['sort_by']))
2731
- _collection_formats['sortBy'] = 'multi'
1185
+ if _params.get('effective_at') is not None: # noqa: E501
1186
+ _query_params.append(('effectiveAt', _params['effective_at']))
1187
+
1188
+ if _params.get('as_at') is not None: # noqa: E501
1189
+ if isinstance(_params['as_at'], datetime):
1190
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1191
+ else:
1192
+ _query_params.append(('asAt', _params['as_at']))
2732
1193
 
2733
- if _params.get('start') is not None: # noqa: E501
2734
- _query_params.append(('start', _params['start']))
1194
+ if _params.get('page') is not None: # noqa: E501
1195
+ _query_params.append(('page', _params['page']))
2735
1196
 
2736
1197
  if _params.get('limit') is not None: # noqa: E501
2737
1198
  _query_params.append(('limit', _params['limit']))
@@ -2739,6 +1200,10 @@ class ReconciliationsApi:
2739
1200
  if _params.get('filter') is not None: # noqa: E501
2740
1201
  _query_params.append(('filter', _params['filter']))
2741
1202
 
1203
+ if _params.get('property_keys') is not None: # noqa: E501
1204
+ _query_params.append(('propertyKeys', _params['property_keys']))
1205
+ _collection_formats['propertyKeys'] = 'multi'
1206
+
2742
1207
  # process the header parameters
2743
1208
  _header_params = dict(_params.get('_headers', {}))
2744
1209
  # process the form parameters
@@ -2746,30 +1211,20 @@ class ReconciliationsApi:
2746
1211
  _files = {}
2747
1212
  # process the body parameter
2748
1213
  _body_params = None
2749
- if _params['portfolios_reconciliation_request'] is not None:
2750
- _body_params = _params['portfolios_reconciliation_request']
2751
-
2752
1214
  # set the HTTP header `Accept`
2753
1215
  _header_params['Accept'] = self.api_client.select_header_accept(
2754
1216
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
2755
1217
 
2756
- # set the HTTP header `Content-Type`
2757
- _content_types_list = _params.get('_content_type',
2758
- self.api_client.select_header_content_type(
2759
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2760
- if _content_types_list:
2761
- _header_params['Content-Type'] = _content_types_list
2762
-
2763
1218
  # authentication setting
2764
1219
  _auth_settings = ['oauth2'] # noqa: E501
2765
1220
 
2766
1221
  _response_types_map = {
2767
- '200': "ResourceListOfReconciliationBreak",
1222
+ '200': "PagedResourceListOfReconciliation",
2768
1223
  '400': "LusidValidationProblemDetails",
2769
1224
  }
2770
1225
 
2771
1226
  return self.api_client.call_api(
2772
- '/api/portfolios/$reconcileholdings', 'POST',
1227
+ '/api/portfolios/$scheduledReconciliations', 'GET',
2773
1228
  _path_params,
2774
1229
  _query_params,
2775
1230
  _header_params,
@@ -2786,26 +1241,26 @@ class ReconciliationsApi:
2786
1241
  _request_auth=_params.get('_request_auth'))
2787
1242
 
2788
1243
  @overload
2789
- async def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ListAggregationReconciliation: # noqa: E501
1244
+ async def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ReconciliationResponse: # noqa: E501
2790
1245
  ...
2791
1246
 
2792
1247
  @overload
2793
- def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ListAggregationReconciliation: # noqa: E501
1248
+ def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationResponse: # noqa: E501
2794
1249
  ...
2795
1250
 
2796
1251
  @validate_arguments
2797
- def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ListAggregationReconciliation, Awaitable[ListAggregationReconciliation]]: # noqa: E501
2798
- """ReconcileInline: Reconcile valuations performed on one or two sets of inline instruments using one or two configuration recipes. # noqa: E501
1252
+ def reconcile_generic(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationResponse, Awaitable[ReconciliationResponse]]: # noqa: E501
1253
+ """ReconcileGeneric: Reconcile either holdings or valuations performed on one or two sets of holdings using one or two configuration recipes. The output is configurable for various types of comparisons, to allow tolerances on numerical and date-time data or case-insensitivity on strings, and elision of resulting differences where they are 'empty' or null or zero. # noqa: E501
2799
1254
 
2800
- Perform valuation of one or two set of inline instruments using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
1255
+ Perform evaluation of one or two set of holdings (a portfolio of instruments) using one or two (potentially different) configuration recipes. Produce a breakdown of the resulting differences in evaluation that can be iterated through. # noqa: E501
2801
1256
  This method makes a synchronous HTTP request by default. To make an
2802
1257
  asynchronous HTTP request, please pass async_req=True
2803
1258
 
2804
- >>> thread = api.reconcile_inline(inline_valuations_reconciliation_request, async_req=True)
1259
+ >>> thread = api.reconcile_generic(reconciliation_request, async_req=True)
2805
1260
  >>> result = thread.get()
2806
1261
 
2807
- :param inline_valuations_reconciliation_request: The specifications of the inputs to the reconciliation
2808
- :type inline_valuations_reconciliation_request: InlineValuationsReconciliationRequest
1262
+ :param reconciliation_request: The specifications of the inputs to the reconciliation
1263
+ :type reconciliation_request: ReconciliationRequest
2809
1264
  :param async_req: Whether to execute the request asynchronously.
2810
1265
  :type async_req: bool, optional
2811
1266
  :param _request_timeout: timeout setting for this request.
@@ -2815,29 +1270,29 @@ class ReconciliationsApi:
2815
1270
  :return: Returns the result object.
2816
1271
  If the method is called asynchronously,
2817
1272
  returns the request thread.
2818
- :rtype: ListAggregationReconciliation
1273
+ :rtype: ReconciliationResponse
2819
1274
  """
2820
1275
  kwargs['_return_http_data_only'] = True
2821
1276
  if '_preload_content' in kwargs:
2822
- message = "Error! Please call the reconcile_inline_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1277
+ message = "Error! Please call the reconcile_generic_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2823
1278
  raise ValueError(message)
2824
1279
  if async_req is not None:
2825
1280
  kwargs['async_req'] = async_req
2826
- return self.reconcile_inline_with_http_info(inline_valuations_reconciliation_request, **kwargs) # noqa: E501
1281
+ return self.reconcile_generic_with_http_info(reconciliation_request, **kwargs) # noqa: E501
2827
1282
 
2828
1283
  @validate_arguments
2829
- def reconcile_inline_with_http_info(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
2830
- """ReconcileInline: Reconcile valuations performed on one or two sets of inline instruments using one or two configuration recipes. # noqa: E501
1284
+ def reconcile_generic_with_http_info(self, reconciliation_request : Annotated[Optional[ReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
1285
+ """ReconcileGeneric: Reconcile either holdings or valuations performed on one or two sets of holdings using one or two configuration recipes. The output is configurable for various types of comparisons, to allow tolerances on numerical and date-time data or case-insensitivity on strings, and elision of resulting differences where they are 'empty' or null or zero. # noqa: E501
2831
1286
 
2832
- Perform valuation of one or two set of inline instruments using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
1287
+ Perform evaluation of one or two set of holdings (a portfolio of instruments) using one or two (potentially different) configuration recipes. Produce a breakdown of the resulting differences in evaluation that can be iterated through. # noqa: E501
2833
1288
  This method makes a synchronous HTTP request by default. To make an
2834
1289
  asynchronous HTTP request, please pass async_req=True
2835
1290
 
2836
- >>> thread = api.reconcile_inline_with_http_info(inline_valuations_reconciliation_request, async_req=True)
1291
+ >>> thread = api.reconcile_generic_with_http_info(reconciliation_request, async_req=True)
2837
1292
  >>> result = thread.get()
2838
1293
 
2839
- :param inline_valuations_reconciliation_request: The specifications of the inputs to the reconciliation
2840
- :type inline_valuations_reconciliation_request: InlineValuationsReconciliationRequest
1294
+ :param reconciliation_request: The specifications of the inputs to the reconciliation
1295
+ :type reconciliation_request: ReconciliationRequest
2841
1296
  :param async_req: Whether to execute the request asynchronously.
2842
1297
  :type async_req: bool, optional
2843
1298
  :param _preload_content: if False, the ApiResponse.data will
@@ -2860,13 +1315,13 @@ class ReconciliationsApi:
2860
1315
  :return: Returns the result object.
2861
1316
  If the method is called asynchronously,
2862
1317
  returns the request thread.
2863
- :rtype: tuple(ListAggregationReconciliation, status_code(int), headers(HTTPHeaderDict))
1318
+ :rtype: tuple(ReconciliationResponse, status_code(int), headers(HTTPHeaderDict))
2864
1319
  """
2865
1320
 
2866
1321
  _params = locals()
2867
1322
 
2868
1323
  _all_params = [
2869
- 'inline_valuations_reconciliation_request'
1324
+ 'reconciliation_request'
2870
1325
  ]
2871
1326
  _all_params.extend(
2872
1327
  [
@@ -2885,7 +1340,7 @@ class ReconciliationsApi:
2885
1340
  if _key not in _all_params:
2886
1341
  raise ApiTypeError(
2887
1342
  "Got an unexpected keyword argument '%s'"
2888
- " to method reconcile_inline" % _key
1343
+ " to method reconcile_generic" % _key
2889
1344
  )
2890
1345
  _params[_key] = _val
2891
1346
  del _params['kwargs']
@@ -2904,8 +1359,8 @@ class ReconciliationsApi:
2904
1359
  _files = {}
2905
1360
  # process the body parameter
2906
1361
  _body_params = None
2907
- if _params['inline_valuations_reconciliation_request'] is not None:
2908
- _body_params = _params['inline_valuations_reconciliation_request']
1362
+ if _params['reconciliation_request'] is not None:
1363
+ _body_params = _params['reconciliation_request']
2909
1364
 
2910
1365
  # set the HTTP header `Accept`
2911
1366
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -2922,12 +1377,12 @@ class ReconciliationsApi:
2922
1377
  _auth_settings = ['oauth2'] # noqa: E501
2923
1378
 
2924
1379
  _response_types_map = {
2925
- '200': "ListAggregationReconciliation",
1380
+ '200': "ReconciliationResponse",
2926
1381
  '400': "LusidValidationProblemDetails",
2927
1382
  }
2928
1383
 
2929
1384
  return self.api_client.call_api(
2930
- '/api/portfolios/$reconcileInline', 'POST',
1385
+ '/api/portfolios/$reconcileGeneric', 'POST',
2931
1386
  _path_params,
2932
1387
  _query_params,
2933
1388
  _header_params,
@@ -2944,26 +1399,32 @@ class ReconciliationsApi:
2944
1399
  _request_auth=_params.get('_request_auth'))
2945
1400
 
2946
1401
  @overload
2947
- async def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, **kwargs) -> TransactionsReconciliationsResponse: # noqa: E501
1402
+ async def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ResourceListOfReconciliationBreak: # noqa: E501
2948
1403
  ...
2949
1404
 
2950
1405
  @overload
2951
- def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, async_req: Optional[bool]=True, **kwargs) -> TransactionsReconciliationsResponse: # noqa: E501
1406
+ def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfReconciliationBreak: # noqa: E501
2952
1407
  ...
2953
1408
 
2954
1409
  @validate_arguments
2955
- def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, async_req: Optional[bool]=None, **kwargs) -> Union[TransactionsReconciliationsResponse, Awaitable[TransactionsReconciliationsResponse]]: # noqa: E501
2956
- """[EARLY ACCESS] ReconcileTransactions: Perform a Transactions Reconciliation. # noqa: E501
1410
+ def reconcile_holdings(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfReconciliationBreak, Awaitable[ResourceListOfReconciliationBreak]]: # noqa: E501
1411
+ """[EARLY ACCESS] ReconcileHoldings: Reconcile portfolio holdings # noqa: E501
2957
1412
 
2958
- Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
1413
+ Reconcile the holdings of two portfolios. # noqa: E501
2959
1414
  This method makes a synchronous HTTP request by default. To make an
2960
1415
  asynchronous HTTP request, please pass async_req=True
2961
1416
 
2962
- >>> thread = api.reconcile_transactions(transaction_reconciliation_request, async_req=True)
1417
+ >>> thread = api.reconcile_holdings(sort_by, limit, filter, portfolios_reconciliation_request, async_req=True)
2963
1418
  >>> result = thread.get()
2964
1419
 
2965
- :param transaction_reconciliation_request:
2966
- :type transaction_reconciliation_request: TransactionReconciliationRequest
1420
+ :param sort_by: Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName
1421
+ :type sort_by: List[str]
1422
+ :param limit: Optional. When paginating, limit the number of returned results to this many.
1423
+ :type limit: int
1424
+ :param filter: Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1425
+ :type filter: str
1426
+ :param portfolios_reconciliation_request: The specifications of the inputs to the reconciliation
1427
+ :type portfolios_reconciliation_request: PortfoliosReconciliationRequest
2967
1428
  :param async_req: Whether to execute the request asynchronously.
2968
1429
  :type async_req: bool, optional
2969
1430
  :param _request_timeout: timeout setting for this request.
@@ -2973,29 +1434,35 @@ class ReconciliationsApi:
2973
1434
  :return: Returns the result object.
2974
1435
  If the method is called asynchronously,
2975
1436
  returns the request thread.
2976
- :rtype: TransactionsReconciliationsResponse
1437
+ :rtype: ResourceListOfReconciliationBreak
2977
1438
  """
2978
1439
  kwargs['_return_http_data_only'] = True
2979
1440
  if '_preload_content' in kwargs:
2980
- message = "Error! Please call the reconcile_transactions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1441
+ message = "Error! Please call the reconcile_holdings_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2981
1442
  raise ValueError(message)
2982
1443
  if async_req is not None:
2983
1444
  kwargs['async_req'] = async_req
2984
- return self.reconcile_transactions_with_http_info(transaction_reconciliation_request, **kwargs) # noqa: E501
1445
+ return self.reconcile_holdings_with_http_info(sort_by, limit, filter, portfolios_reconciliation_request, **kwargs) # noqa: E501
2985
1446
 
2986
1447
  @validate_arguments
2987
- def reconcile_transactions_with_http_info(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, **kwargs) -> ApiResponse: # noqa: E501
2988
- """[EARLY ACCESS] ReconcileTransactions: Perform a Transactions Reconciliation. # noqa: E501
1448
+ def reconcile_holdings_with_http_info(self, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, portfolios_reconciliation_request : Annotated[Optional[PortfoliosReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
1449
+ """[EARLY ACCESS] ReconcileHoldings: Reconcile portfolio holdings # noqa: E501
2989
1450
 
2990
- Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
1451
+ Reconcile the holdings of two portfolios. # noqa: E501
2991
1452
  This method makes a synchronous HTTP request by default. To make an
2992
1453
  asynchronous HTTP request, please pass async_req=True
2993
1454
 
2994
- >>> thread = api.reconcile_transactions_with_http_info(transaction_reconciliation_request, async_req=True)
1455
+ >>> thread = api.reconcile_holdings_with_http_info(sort_by, limit, filter, portfolios_reconciliation_request, async_req=True)
2995
1456
  >>> result = thread.get()
2996
1457
 
2997
- :param transaction_reconciliation_request:
2998
- :type transaction_reconciliation_request: TransactionReconciliationRequest
1458
+ :param sort_by: Optional. Order the results by these fields. Use use the '-' sign to denote descending order e.g. -MyFieldName
1459
+ :type sort_by: List[str]
1460
+ :param limit: Optional. When paginating, limit the number of returned results to this many.
1461
+ :type limit: int
1462
+ :param filter: Optional. Expression to filter the result set. For example, to filter on the left portfolio Code, use \"left.portfolioId.code eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1463
+ :type filter: str
1464
+ :param portfolios_reconciliation_request: The specifications of the inputs to the reconciliation
1465
+ :type portfolios_reconciliation_request: PortfoliosReconciliationRequest
2999
1466
  :param async_req: Whether to execute the request asynchronously.
3000
1467
  :type async_req: bool, optional
3001
1468
  :param _preload_content: if False, the ApiResponse.data will
@@ -3018,13 +1485,16 @@ class ReconciliationsApi:
3018
1485
  :return: Returns the result object.
3019
1486
  If the method is called asynchronously,
3020
1487
  returns the request thread.
3021
- :rtype: tuple(TransactionsReconciliationsResponse, status_code(int), headers(HTTPHeaderDict))
1488
+ :rtype: tuple(ResourceListOfReconciliationBreak, status_code(int), headers(HTTPHeaderDict))
3022
1489
  """
3023
1490
 
3024
1491
  _params = locals()
3025
1492
 
3026
1493
  _all_params = [
3027
- 'transaction_reconciliation_request'
1494
+ 'sort_by',
1495
+ 'limit',
1496
+ 'filter',
1497
+ 'portfolios_reconciliation_request'
3028
1498
  ]
3029
1499
  _all_params.extend(
3030
1500
  [
@@ -3043,7 +1513,7 @@ class ReconciliationsApi:
3043
1513
  if _key not in _all_params:
3044
1514
  raise ApiTypeError(
3045
1515
  "Got an unexpected keyword argument '%s'"
3046
- " to method reconcile_transactions" % _key
1516
+ " to method reconcile_holdings" % _key
3047
1517
  )
3048
1518
  _params[_key] = _val
3049
1519
  del _params['kwargs']
@@ -3055,6 +1525,16 @@ class ReconciliationsApi:
3055
1525
 
3056
1526
  # process the query parameters
3057
1527
  _query_params = []
1528
+ if _params.get('sort_by') is not None: # noqa: E501
1529
+ _query_params.append(('sortBy', _params['sort_by']))
1530
+ _collection_formats['sortBy'] = 'multi'
1531
+
1532
+ if _params.get('limit') is not None: # noqa: E501
1533
+ _query_params.append(('limit', _params['limit']))
1534
+
1535
+ if _params.get('filter') is not None: # noqa: E501
1536
+ _query_params.append(('filter', _params['filter']))
1537
+
3058
1538
  # process the header parameters
3059
1539
  _header_params = dict(_params.get('_headers', {}))
3060
1540
  # process the form parameters
@@ -3062,8 +1542,8 @@ class ReconciliationsApi:
3062
1542
  _files = {}
3063
1543
  # process the body parameter
3064
1544
  _body_params = None
3065
- if _params['transaction_reconciliation_request'] is not None:
3066
- _body_params = _params['transaction_reconciliation_request']
1545
+ if _params['portfolios_reconciliation_request'] is not None:
1546
+ _body_params = _params['portfolios_reconciliation_request']
3067
1547
 
3068
1548
  # set the HTTP header `Accept`
3069
1549
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3080,12 +1560,12 @@ class ReconciliationsApi:
3080
1560
  _auth_settings = ['oauth2'] # noqa: E501
3081
1561
 
3082
1562
  _response_types_map = {
3083
- '200': "TransactionsReconciliationsResponse",
1563
+ '200': "ResourceListOfReconciliationBreak",
3084
1564
  '400': "LusidValidationProblemDetails",
3085
1565
  }
3086
1566
 
3087
1567
  return self.api_client.call_api(
3088
- '/api/portfolios/$reconcileTransactions', 'POST',
1568
+ '/api/portfolios/$reconcileholdings', 'POST',
3089
1569
  _path_params,
3090
1570
  _query_params,
3091
1571
  _header_params,
@@ -3102,26 +1582,26 @@ class ReconciliationsApi:
3102
1582
  _request_auth=_params.get('_request_auth'))
3103
1583
 
3104
1584
  @overload
3105
- async def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, **kwargs) -> ReconciliationResponse: # noqa: E501
1585
+ async def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ListAggregationReconciliation: # noqa: E501
3106
1586
  ...
3107
1587
 
3108
1588
  @overload
3109
- def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationResponse: # noqa: E501
1589
+ def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ListAggregationReconciliation: # noqa: E501
3110
1590
  ...
3111
1591
 
3112
1592
  @validate_arguments
3113
- def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationResponse, Awaitable[ReconciliationResponse]]: # noqa: E501
3114
- """[EXPERIMENTAL] ReconcileTransactionsV2: Perform a Transactions Reconciliation. # noqa: E501
1593
+ def reconcile_inline(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ListAggregationReconciliation, Awaitable[ListAggregationReconciliation]]: # noqa: E501
1594
+ """ReconcileInline: Reconcile valuations performed on one or two sets of inline instruments using one or two configuration recipes. # noqa: E501
3115
1595
 
3116
- Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
1596
+ Perform valuation of one or two set of inline instruments using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
3117
1597
  This method makes a synchronous HTTP request by default. To make an
3118
1598
  asynchronous HTTP request, please pass async_req=True
3119
1599
 
3120
- >>> thread = api.reconcile_transactions_v2(transaction_reconciliation_request_v2, async_req=True)
1600
+ >>> thread = api.reconcile_inline(inline_valuations_reconciliation_request, async_req=True)
3121
1601
  >>> result = thread.get()
3122
1602
 
3123
- :param transaction_reconciliation_request_v2:
3124
- :type transaction_reconciliation_request_v2: TransactionReconciliationRequestV2
1603
+ :param inline_valuations_reconciliation_request: The specifications of the inputs to the reconciliation
1604
+ :type inline_valuations_reconciliation_request: InlineValuationsReconciliationRequest
3125
1605
  :param async_req: Whether to execute the request asynchronously.
3126
1606
  :type async_req: bool, optional
3127
1607
  :param _request_timeout: timeout setting for this request.
@@ -3131,29 +1611,29 @@ class ReconciliationsApi:
3131
1611
  :return: Returns the result object.
3132
1612
  If the method is called asynchronously,
3133
1613
  returns the request thread.
3134
- :rtype: ReconciliationResponse
1614
+ :rtype: ListAggregationReconciliation
3135
1615
  """
3136
1616
  kwargs['_return_http_data_only'] = True
3137
1617
  if '_preload_content' in kwargs:
3138
- message = "Error! Please call the reconcile_transactions_v2_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1618
+ message = "Error! Please call the reconcile_inline_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3139
1619
  raise ValueError(message)
3140
1620
  if async_req is not None:
3141
1621
  kwargs['async_req'] = async_req
3142
- return self.reconcile_transactions_v2_with_http_info(transaction_reconciliation_request_v2, **kwargs) # noqa: E501
1622
+ return self.reconcile_inline_with_http_info(inline_valuations_reconciliation_request, **kwargs) # noqa: E501
3143
1623
 
3144
1624
  @validate_arguments
3145
- def reconcile_transactions_v2_with_http_info(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, **kwargs) -> ApiResponse: # noqa: E501
3146
- """[EXPERIMENTAL] ReconcileTransactionsV2: Perform a Transactions Reconciliation. # noqa: E501
1625
+ def reconcile_inline_with_http_info(self, inline_valuations_reconciliation_request : Annotated[Optional[InlineValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
1626
+ """ReconcileInline: Reconcile valuations performed on one or two sets of inline instruments using one or two configuration recipes. # noqa: E501
3147
1627
 
3148
- Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
1628
+ Perform valuation of one or two set of inline instruments using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
3149
1629
  This method makes a synchronous HTTP request by default. To make an
3150
1630
  asynchronous HTTP request, please pass async_req=True
3151
1631
 
3152
- >>> thread = api.reconcile_transactions_v2_with_http_info(transaction_reconciliation_request_v2, async_req=True)
1632
+ >>> thread = api.reconcile_inline_with_http_info(inline_valuations_reconciliation_request, async_req=True)
3153
1633
  >>> result = thread.get()
3154
1634
 
3155
- :param transaction_reconciliation_request_v2:
3156
- :type transaction_reconciliation_request_v2: TransactionReconciliationRequestV2
1635
+ :param inline_valuations_reconciliation_request: The specifications of the inputs to the reconciliation
1636
+ :type inline_valuations_reconciliation_request: InlineValuationsReconciliationRequest
3157
1637
  :param async_req: Whether to execute the request asynchronously.
3158
1638
  :type async_req: bool, optional
3159
1639
  :param _preload_content: if False, the ApiResponse.data will
@@ -3176,13 +1656,13 @@ class ReconciliationsApi:
3176
1656
  :return: Returns the result object.
3177
1657
  If the method is called asynchronously,
3178
1658
  returns the request thread.
3179
- :rtype: tuple(ReconciliationResponse, status_code(int), headers(HTTPHeaderDict))
1659
+ :rtype: tuple(ListAggregationReconciliation, status_code(int), headers(HTTPHeaderDict))
3180
1660
  """
3181
1661
 
3182
1662
  _params = locals()
3183
1663
 
3184
1664
  _all_params = [
3185
- 'transaction_reconciliation_request_v2'
1665
+ 'inline_valuations_reconciliation_request'
3186
1666
  ]
3187
1667
  _all_params.extend(
3188
1668
  [
@@ -3201,7 +1681,7 @@ class ReconciliationsApi:
3201
1681
  if _key not in _all_params:
3202
1682
  raise ApiTypeError(
3203
1683
  "Got an unexpected keyword argument '%s'"
3204
- " to method reconcile_transactions_v2" % _key
1684
+ " to method reconcile_inline" % _key
3205
1685
  )
3206
1686
  _params[_key] = _val
3207
1687
  del _params['kwargs']
@@ -3220,8 +1700,8 @@ class ReconciliationsApi:
3220
1700
  _files = {}
3221
1701
  # process the body parameter
3222
1702
  _body_params = None
3223
- if _params['transaction_reconciliation_request_v2'] is not None:
3224
- _body_params = _params['transaction_reconciliation_request_v2']
1703
+ if _params['inline_valuations_reconciliation_request'] is not None:
1704
+ _body_params = _params['inline_valuations_reconciliation_request']
3225
1705
 
3226
1706
  # set the HTTP header `Accept`
3227
1707
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3238,12 +1718,12 @@ class ReconciliationsApi:
3238
1718
  _auth_settings = ['oauth2'] # noqa: E501
3239
1719
 
3240
1720
  _response_types_map = {
3241
- '200': "ReconciliationResponse",
1721
+ '200': "ListAggregationReconciliation",
3242
1722
  '400': "LusidValidationProblemDetails",
3243
1723
  }
3244
1724
 
3245
1725
  return self.api_client.call_api(
3246
- '/api/portfolios/$reconcileTransactionsV2', 'POST',
1726
+ '/api/portfolios/$reconcileInline', 'POST',
3247
1727
  _path_params,
3248
1728
  _query_params,
3249
1729
  _header_params,
@@ -3260,26 +1740,26 @@ class ReconciliationsApi:
3260
1740
  _request_auth=_params.get('_request_auth'))
3261
1741
 
3262
1742
  @overload
3263
- async def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ListAggregationReconciliation: # noqa: E501
1743
+ async def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, **kwargs) -> TransactionsReconciliationsResponse: # noqa: E501
3264
1744
  ...
3265
1745
 
3266
1746
  @overload
3267
- def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ListAggregationReconciliation: # noqa: E501
1747
+ def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, async_req: Optional[bool]=True, **kwargs) -> TransactionsReconciliationsResponse: # noqa: E501
3268
1748
  ...
3269
1749
 
3270
1750
  @validate_arguments
3271
- def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ListAggregationReconciliation, Awaitable[ListAggregationReconciliation]]: # noqa: E501
3272
- """ReconcileValuation: Reconcile valuations performed on one or two sets of holdings using one or two configuration recipes. # noqa: E501
1751
+ def reconcile_transactions(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, async_req: Optional[bool]=None, **kwargs) -> Union[TransactionsReconciliationsResponse, Awaitable[TransactionsReconciliationsResponse]]: # noqa: E501
1752
+ """[EARLY ACCESS] ReconcileTransactions: Perform a Transactions Reconciliation. # noqa: E501
3273
1753
 
3274
- Perform valuation of one or two set of holdings using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
1754
+ Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
3275
1755
  This method makes a synchronous HTTP request by default. To make an
3276
1756
  asynchronous HTTP request, please pass async_req=True
3277
1757
 
3278
- >>> thread = api.reconcile_valuation(valuations_reconciliation_request, async_req=True)
1758
+ >>> thread = api.reconcile_transactions(transaction_reconciliation_request, async_req=True)
3279
1759
  >>> result = thread.get()
3280
1760
 
3281
- :param valuations_reconciliation_request: The specifications of the inputs to the reconciliation
3282
- :type valuations_reconciliation_request: ValuationsReconciliationRequest
1761
+ :param transaction_reconciliation_request:
1762
+ :type transaction_reconciliation_request: TransactionReconciliationRequest
3283
1763
  :param async_req: Whether to execute the request asynchronously.
3284
1764
  :type async_req: bool, optional
3285
1765
  :param _request_timeout: timeout setting for this request.
@@ -3289,29 +1769,29 @@ class ReconciliationsApi:
3289
1769
  :return: Returns the result object.
3290
1770
  If the method is called asynchronously,
3291
1771
  returns the request thread.
3292
- :rtype: ListAggregationReconciliation
1772
+ :rtype: TransactionsReconciliationsResponse
3293
1773
  """
3294
1774
  kwargs['_return_http_data_only'] = True
3295
1775
  if '_preload_content' in kwargs:
3296
- message = "Error! Please call the reconcile_valuation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1776
+ message = "Error! Please call the reconcile_transactions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3297
1777
  raise ValueError(message)
3298
1778
  if async_req is not None:
3299
1779
  kwargs['async_req'] = async_req
3300
- return self.reconcile_valuation_with_http_info(valuations_reconciliation_request, **kwargs) # noqa: E501
1780
+ return self.reconcile_transactions_with_http_info(transaction_reconciliation_request, **kwargs) # noqa: E501
3301
1781
 
3302
1782
  @validate_arguments
3303
- def reconcile_valuation_with_http_info(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
3304
- """ReconcileValuation: Reconcile valuations performed on one or two sets of holdings using one or two configuration recipes. # noqa: E501
1783
+ def reconcile_transactions_with_http_info(self, transaction_reconciliation_request : Optional[TransactionReconciliationRequest] = None, **kwargs) -> ApiResponse: # noqa: E501
1784
+ """[EARLY ACCESS] ReconcileTransactions: Perform a Transactions Reconciliation. # noqa: E501
3305
1785
 
3306
- Perform valuation of one or two set of holdings using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
1786
+ Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
3307
1787
  This method makes a synchronous HTTP request by default. To make an
3308
1788
  asynchronous HTTP request, please pass async_req=True
3309
1789
 
3310
- >>> thread = api.reconcile_valuation_with_http_info(valuations_reconciliation_request, async_req=True)
1790
+ >>> thread = api.reconcile_transactions_with_http_info(transaction_reconciliation_request, async_req=True)
3311
1791
  >>> result = thread.get()
3312
1792
 
3313
- :param valuations_reconciliation_request: The specifications of the inputs to the reconciliation
3314
- :type valuations_reconciliation_request: ValuationsReconciliationRequest
1793
+ :param transaction_reconciliation_request:
1794
+ :type transaction_reconciliation_request: TransactionReconciliationRequest
3315
1795
  :param async_req: Whether to execute the request asynchronously.
3316
1796
  :type async_req: bool, optional
3317
1797
  :param _preload_content: if False, the ApiResponse.data will
@@ -3334,13 +1814,13 @@ class ReconciliationsApi:
3334
1814
  :return: Returns the result object.
3335
1815
  If the method is called asynchronously,
3336
1816
  returns the request thread.
3337
- :rtype: tuple(ListAggregationReconciliation, status_code(int), headers(HTTPHeaderDict))
1817
+ :rtype: tuple(TransactionsReconciliationsResponse, status_code(int), headers(HTTPHeaderDict))
3338
1818
  """
3339
1819
 
3340
1820
  _params = locals()
3341
1821
 
3342
1822
  _all_params = [
3343
- 'valuations_reconciliation_request'
1823
+ 'transaction_reconciliation_request'
3344
1824
  ]
3345
1825
  _all_params.extend(
3346
1826
  [
@@ -3359,7 +1839,7 @@ class ReconciliationsApi:
3359
1839
  if _key not in _all_params:
3360
1840
  raise ApiTypeError(
3361
1841
  "Got an unexpected keyword argument '%s'"
3362
- " to method reconcile_valuation" % _key
1842
+ " to method reconcile_transactions" % _key
3363
1843
  )
3364
1844
  _params[_key] = _val
3365
1845
  del _params['kwargs']
@@ -3378,8 +1858,8 @@ class ReconciliationsApi:
3378
1858
  _files = {}
3379
1859
  # process the body parameter
3380
1860
  _body_params = None
3381
- if _params['valuations_reconciliation_request'] is not None:
3382
- _body_params = _params['valuations_reconciliation_request']
1861
+ if _params['transaction_reconciliation_request'] is not None:
1862
+ _body_params = _params['transaction_reconciliation_request']
3383
1863
 
3384
1864
  # set the HTTP header `Accept`
3385
1865
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3396,12 +1876,12 @@ class ReconciliationsApi:
3396
1876
  _auth_settings = ['oauth2'] # noqa: E501
3397
1877
 
3398
1878
  _response_types_map = {
3399
- '200': "ListAggregationReconciliation",
1879
+ '200': "TransactionsReconciliationsResponse",
3400
1880
  '400': "LusidValidationProblemDetails",
3401
1881
  }
3402
1882
 
3403
1883
  return self.api_client.call_api(
3404
- '/api/portfolios/$reconcileValuation', 'POST',
1884
+ '/api/portfolios/$reconcileTransactions', 'POST',
3405
1885
  _path_params,
3406
1886
  _query_params,
3407
1887
  _header_params,
@@ -3418,30 +1898,26 @@ class ReconciliationsApi:
3418
1898
  _request_auth=_params.get('_request_auth'))
3419
1899
 
3420
1900
  @overload
3421
- async def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, **kwargs) -> Reconciliation: # noqa: E501
1901
+ async def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, **kwargs) -> ReconciliationResponse: # noqa: E501
3422
1902
  ...
3423
1903
 
3424
1904
  @overload
3425
- def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> Reconciliation: # noqa: E501
1905
+ def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationResponse: # noqa: E501
3426
1906
  ...
3427
1907
 
3428
1908
  @validate_arguments
3429
- def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Reconciliation, Awaitable[Reconciliation]]: # noqa: E501
3430
- """[EXPERIMENTAL] UpdateReconciliation: Update scheduled reconciliation # noqa: E501
1909
+ def reconcile_transactions_v2(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationResponse, Awaitable[ReconciliationResponse]]: # noqa: E501
1910
+ """[EXPERIMENTAL] ReconcileTransactionsV2: Perform a Transactions Reconciliation. # noqa: E501
3431
1911
 
3432
- Update a given scheduled reconciliation # noqa: E501
1912
+ Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
3433
1913
  This method makes a synchronous HTTP request by default. To make an
3434
1914
  asynchronous HTTP request, please pass async_req=True
3435
1915
 
3436
- >>> thread = api.update_reconciliation(scope, code, update_reconciliation_request, async_req=True)
1916
+ >>> thread = api.reconcile_transactions_v2(transaction_reconciliation_request_v2, async_req=True)
3437
1917
  >>> result = thread.get()
3438
1918
 
3439
- :param scope: The scope of the reconciliation to be updated (required)
3440
- :type scope: str
3441
- :param code: The code of the reconciliation to be updated (required)
3442
- :type code: str
3443
- :param update_reconciliation_request: The updated definition of the reconciliation
3444
- :type update_reconciliation_request: UpdateReconciliationRequest
1919
+ :param transaction_reconciliation_request_v2:
1920
+ :type transaction_reconciliation_request_v2: TransactionReconciliationRequestV2
3445
1921
  :param async_req: Whether to execute the request asynchronously.
3446
1922
  :type async_req: bool, optional
3447
1923
  :param _request_timeout: timeout setting for this request.
@@ -3451,33 +1927,29 @@ class ReconciliationsApi:
3451
1927
  :return: Returns the result object.
3452
1928
  If the method is called asynchronously,
3453
1929
  returns the request thread.
3454
- :rtype: Reconciliation
1930
+ :rtype: ReconciliationResponse
3455
1931
  """
3456
1932
  kwargs['_return_http_data_only'] = True
3457
1933
  if '_preload_content' in kwargs:
3458
- message = "Error! Please call the update_reconciliation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1934
+ message = "Error! Please call the reconcile_transactions_v2_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3459
1935
  raise ValueError(message)
3460
1936
  if async_req is not None:
3461
1937
  kwargs['async_req'] = async_req
3462
- return self.update_reconciliation_with_http_info(scope, code, update_reconciliation_request, **kwargs) # noqa: E501
1938
+ return self.reconcile_transactions_v2_with_http_info(transaction_reconciliation_request_v2, **kwargs) # noqa: E501
3463
1939
 
3464
1940
  @validate_arguments
3465
- def update_reconciliation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
3466
- """[EXPERIMENTAL] UpdateReconciliation: Update scheduled reconciliation # noqa: E501
1941
+ def reconcile_transactions_v2_with_http_info(self, transaction_reconciliation_request_v2 : Optional[TransactionReconciliationRequestV2] = None, **kwargs) -> ApiResponse: # noqa: E501
1942
+ """[EXPERIMENTAL] ReconcileTransactionsV2: Perform a Transactions Reconciliation. # noqa: E501
3467
1943
 
3468
- Update a given scheduled reconciliation # noqa: E501
1944
+ Evaluates two sets of transactions to determine which transactions from each set likely match using the rules of a specified mapping. # noqa: E501
3469
1945
  This method makes a synchronous HTTP request by default. To make an
3470
1946
  asynchronous HTTP request, please pass async_req=True
3471
1947
 
3472
- >>> thread = api.update_reconciliation_with_http_info(scope, code, update_reconciliation_request, async_req=True)
1948
+ >>> thread = api.reconcile_transactions_v2_with_http_info(transaction_reconciliation_request_v2, async_req=True)
3473
1949
  >>> result = thread.get()
3474
1950
 
3475
- :param scope: The scope of the reconciliation to be updated (required)
3476
- :type scope: str
3477
- :param code: The code of the reconciliation to be updated (required)
3478
- :type code: str
3479
- :param update_reconciliation_request: The updated definition of the reconciliation
3480
- :type update_reconciliation_request: UpdateReconciliationRequest
1951
+ :param transaction_reconciliation_request_v2:
1952
+ :type transaction_reconciliation_request_v2: TransactionReconciliationRequestV2
3481
1953
  :param async_req: Whether to execute the request asynchronously.
3482
1954
  :type async_req: bool, optional
3483
1955
  :param _preload_content: if False, the ApiResponse.data will
@@ -3500,15 +1972,13 @@ class ReconciliationsApi:
3500
1972
  :return: Returns the result object.
3501
1973
  If the method is called asynchronously,
3502
1974
  returns the request thread.
3503
- :rtype: tuple(Reconciliation, status_code(int), headers(HTTPHeaderDict))
1975
+ :rtype: tuple(ReconciliationResponse, status_code(int), headers(HTTPHeaderDict))
3504
1976
  """
3505
1977
 
3506
1978
  _params = locals()
3507
1979
 
3508
1980
  _all_params = [
3509
- 'scope',
3510
- 'code',
3511
- 'update_reconciliation_request'
1981
+ 'transaction_reconciliation_request_v2'
3512
1982
  ]
3513
1983
  _all_params.extend(
3514
1984
  [
@@ -3527,7 +1997,7 @@ class ReconciliationsApi:
3527
1997
  if _key not in _all_params:
3528
1998
  raise ApiTypeError(
3529
1999
  "Got an unexpected keyword argument '%s'"
3530
- " to method update_reconciliation" % _key
2000
+ " to method reconcile_transactions_v2" % _key
3531
2001
  )
3532
2002
  _params[_key] = _val
3533
2003
  del _params['kwargs']
@@ -3536,12 +2006,6 @@ class ReconciliationsApi:
3536
2006
 
3537
2007
  # process the path parameters
3538
2008
  _path_params = {}
3539
- if _params['scope']:
3540
- _path_params['scope'] = _params['scope']
3541
-
3542
- if _params['code']:
3543
- _path_params['code'] = _params['code']
3544
-
3545
2009
 
3546
2010
  # process the query parameters
3547
2011
  _query_params = []
@@ -3552,8 +2016,8 @@ class ReconciliationsApi:
3552
2016
  _files = {}
3553
2017
  # process the body parameter
3554
2018
  _body_params = None
3555
- if _params['update_reconciliation_request'] is not None:
3556
- _body_params = _params['update_reconciliation_request']
2019
+ if _params['transaction_reconciliation_request_v2'] is not None:
2020
+ _body_params = _params['transaction_reconciliation_request_v2']
3557
2021
 
3558
2022
  # set the HTTP header `Accept`
3559
2023
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3570,12 +2034,12 @@ class ReconciliationsApi:
3570
2034
  _auth_settings = ['oauth2'] # noqa: E501
3571
2035
 
3572
2036
  _response_types_map = {
3573
- '200': "Reconciliation",
2037
+ '200': "ReconciliationResponse",
3574
2038
  '400': "LusidValidationProblemDetails",
3575
2039
  }
3576
2040
 
3577
2041
  return self.api_client.call_api(
3578
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}', 'POST',
2042
+ '/api/portfolios/$reconcileTransactionsV2', 'POST',
3579
2043
  _path_params,
3580
2044
  _query_params,
3581
2045
  _header_params,
@@ -3592,34 +2056,26 @@ class ReconciliationsApi:
3592
2056
  _request_auth=_params.get('_request_auth'))
3593
2057
 
3594
2058
  @overload
3595
- async def upsert_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], upsert_reconciliation_break_request : Annotated[Optional[UpsertReconciliationBreakRequest], Field(description="The definition of the reconciliation break request")] = None, **kwargs) -> ReconciliationRunBreak: # noqa: E501
2059
+ async def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ListAggregationReconciliation: # noqa: E501
3596
2060
  ...
3597
2061
 
3598
2062
  @overload
3599
- def upsert_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], upsert_reconciliation_break_request : Annotated[Optional[UpsertReconciliationBreakRequest], Field(description="The definition of the reconciliation break request")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationRunBreak: # noqa: E501
2063
+ def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> ListAggregationReconciliation: # noqa: E501
3600
2064
  ...
3601
2065
 
3602
2066
  @validate_arguments
3603
- def upsert_reconciliation_break(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], upsert_reconciliation_break_request : Annotated[Optional[UpsertReconciliationBreakRequest], Field(description="The definition of the reconciliation break request")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationRunBreak, Awaitable[ReconciliationRunBreak]]: # noqa: E501
3604
- """[EXPERIMENTAL] UpsertReconciliationBreak: Upsert a reconciliation break # noqa: E501
2067
+ def reconcile_valuation(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ListAggregationReconciliation, Awaitable[ListAggregationReconciliation]]: # noqa: E501
2068
+ """ReconcileValuation: Reconcile valuations performed on one or two sets of holdings using one or two configuration recipes. # noqa: E501
3605
2069
 
3606
- Update or create a given reconciliation break # noqa: E501
2070
+ Perform valuation of one or two set of holdings using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
3607
2071
  This method makes a synchronous HTTP request by default. To make an
3608
2072
  asynchronous HTTP request, please pass async_req=True
3609
2073
 
3610
- >>> thread = api.upsert_reconciliation_break(scope, code, run_date, version, upsert_reconciliation_break_request, async_req=True)
2074
+ >>> thread = api.reconcile_valuation(valuations_reconciliation_request, async_req=True)
3611
2075
  >>> result = thread.get()
3612
2076
 
3613
- :param scope: The scope of the reconciliation associated with the break (required)
3614
- :type scope: str
3615
- :param code: The code of the reconciliation associated with the break (required)
3616
- :type code: str
3617
- :param run_date: The date of the run associated with the break (required)
3618
- :type run_date: datetime
3619
- :param version: The version number of the run associated with the break (required)
3620
- :type version: int
3621
- :param upsert_reconciliation_break_request: The definition of the reconciliation break request
3622
- :type upsert_reconciliation_break_request: UpsertReconciliationBreakRequest
2077
+ :param valuations_reconciliation_request: The specifications of the inputs to the reconciliation
2078
+ :type valuations_reconciliation_request: ValuationsReconciliationRequest
3623
2079
  :param async_req: Whether to execute the request asynchronously.
3624
2080
  :type async_req: bool, optional
3625
2081
  :param _request_timeout: timeout setting for this request.
@@ -3629,37 +2085,29 @@ class ReconciliationsApi:
3629
2085
  :return: Returns the result object.
3630
2086
  If the method is called asynchronously,
3631
2087
  returns the request thread.
3632
- :rtype: ReconciliationRunBreak
2088
+ :rtype: ListAggregationReconciliation
3633
2089
  """
3634
2090
  kwargs['_return_http_data_only'] = True
3635
2091
  if '_preload_content' in kwargs:
3636
- message = "Error! Please call the upsert_reconciliation_break_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2092
+ message = "Error! Please call the reconcile_valuation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3637
2093
  raise ValueError(message)
3638
2094
  if async_req is not None:
3639
2095
  kwargs['async_req'] = async_req
3640
- return self.upsert_reconciliation_break_with_http_info(scope, code, run_date, version, upsert_reconciliation_break_request, **kwargs) # noqa: E501
2096
+ return self.reconcile_valuation_with_http_info(valuations_reconciliation_request, **kwargs) # noqa: E501
3641
2097
 
3642
2098
  @validate_arguments
3643
- def upsert_reconciliation_break_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the break")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the break")], run_date : Annotated[datetime, Field(..., description="The date of the run associated with the break")], version : Annotated[StrictInt, Field(..., description="The version number of the run associated with the break")], upsert_reconciliation_break_request : Annotated[Optional[UpsertReconciliationBreakRequest], Field(description="The definition of the reconciliation break request")] = None, **kwargs) -> ApiResponse: # noqa: E501
3644
- """[EXPERIMENTAL] UpsertReconciliationBreak: Upsert a reconciliation break # noqa: E501
2099
+ def reconcile_valuation_with_http_info(self, valuations_reconciliation_request : Annotated[Optional[ValuationsReconciliationRequest], Field(description="The specifications of the inputs to the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
2100
+ """ReconcileValuation: Reconcile valuations performed on one or two sets of holdings using one or two configuration recipes. # noqa: E501
3645
2101
 
3646
- Update or create a given reconciliation break # noqa: E501
2102
+ Perform valuation of one or two set of holdings using different one or two configuration recipes. Produce a breakdown of the resulting differences in valuation. # noqa: E501
3647
2103
  This method makes a synchronous HTTP request by default. To make an
3648
2104
  asynchronous HTTP request, please pass async_req=True
3649
2105
 
3650
- >>> thread = api.upsert_reconciliation_break_with_http_info(scope, code, run_date, version, upsert_reconciliation_break_request, async_req=True)
2106
+ >>> thread = api.reconcile_valuation_with_http_info(valuations_reconciliation_request, async_req=True)
3651
2107
  >>> result = thread.get()
3652
2108
 
3653
- :param scope: The scope of the reconciliation associated with the break (required)
3654
- :type scope: str
3655
- :param code: The code of the reconciliation associated with the break (required)
3656
- :type code: str
3657
- :param run_date: The date of the run associated with the break (required)
3658
- :type run_date: datetime
3659
- :param version: The version number of the run associated with the break (required)
3660
- :type version: int
3661
- :param upsert_reconciliation_break_request: The definition of the reconciliation break request
3662
- :type upsert_reconciliation_break_request: UpsertReconciliationBreakRequest
2109
+ :param valuations_reconciliation_request: The specifications of the inputs to the reconciliation
2110
+ :type valuations_reconciliation_request: ValuationsReconciliationRequest
3663
2111
  :param async_req: Whether to execute the request asynchronously.
3664
2112
  :type async_req: bool, optional
3665
2113
  :param _preload_content: if False, the ApiResponse.data will
@@ -3682,17 +2130,13 @@ class ReconciliationsApi:
3682
2130
  :return: Returns the result object.
3683
2131
  If the method is called asynchronously,
3684
2132
  returns the request thread.
3685
- :rtype: tuple(ReconciliationRunBreak, status_code(int), headers(HTTPHeaderDict))
2133
+ :rtype: tuple(ListAggregationReconciliation, status_code(int), headers(HTTPHeaderDict))
3686
2134
  """
3687
2135
 
3688
2136
  _params = locals()
3689
2137
 
3690
2138
  _all_params = [
3691
- 'scope',
3692
- 'code',
3693
- 'run_date',
3694
- 'version',
3695
- 'upsert_reconciliation_break_request'
2139
+ 'valuations_reconciliation_request'
3696
2140
  ]
3697
2141
  _all_params.extend(
3698
2142
  [
@@ -3711,7 +2155,7 @@ class ReconciliationsApi:
3711
2155
  if _key not in _all_params:
3712
2156
  raise ApiTypeError(
3713
2157
  "Got an unexpected keyword argument '%s'"
3714
- " to method upsert_reconciliation_break" % _key
2158
+ " to method reconcile_valuation" % _key
3715
2159
  )
3716
2160
  _params[_key] = _val
3717
2161
  del _params['kwargs']
@@ -3720,18 +2164,6 @@ class ReconciliationsApi:
3720
2164
 
3721
2165
  # process the path parameters
3722
2166
  _path_params = {}
3723
- if _params['scope']:
3724
- _path_params['scope'] = _params['scope']
3725
-
3726
- if _params['code']:
3727
- _path_params['code'] = _params['code']
3728
-
3729
- if _params['run_date']:
3730
- _path_params['runDate'] = _params['run_date']
3731
-
3732
- if _params['version']:
3733
- _path_params['version'] = _params['version']
3734
-
3735
2167
 
3736
2168
  # process the query parameters
3737
2169
  _query_params = []
@@ -3742,8 +2174,8 @@ class ReconciliationsApi:
3742
2174
  _files = {}
3743
2175
  # process the body parameter
3744
2176
  _body_params = None
3745
- if _params['upsert_reconciliation_break_request'] is not None:
3746
- _body_params = _params['upsert_reconciliation_break_request']
2177
+ if _params['valuations_reconciliation_request'] is not None:
2178
+ _body_params = _params['valuations_reconciliation_request']
3747
2179
 
3748
2180
  # set the HTTP header `Accept`
3749
2181
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3760,12 +2192,12 @@ class ReconciliationsApi:
3760
2192
  _auth_settings = ['oauth2'] # noqa: E501
3761
2193
 
3762
2194
  _response_types_map = {
3763
- '201': "ReconciliationRunBreak",
2195
+ '200': "ListAggregationReconciliation",
3764
2196
  '400': "LusidValidationProblemDetails",
3765
2197
  }
3766
2198
 
3767
2199
  return self.api_client.call_api(
3768
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs/{runDate}/{version}', 'POST',
2200
+ '/api/portfolios/$reconcileValuation', 'POST',
3769
2201
  _path_params,
3770
2202
  _query_params,
3771
2203
  _header_params,
@@ -3782,26 +2214,30 @@ class ReconciliationsApi:
3782
2214
  _request_auth=_params.get('_request_auth'))
3783
2215
 
3784
2216
  @overload
3785
- async def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, **kwargs) -> Mapping: # noqa: E501
2217
+ async def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, **kwargs) -> Reconciliation: # noqa: E501
3786
2218
  ...
3787
2219
 
3788
2220
  @overload
3789
- def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, async_req: Optional[bool]=True, **kwargs) -> Mapping: # noqa: E501
2221
+ def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, async_req: Optional[bool]=True, **kwargs) -> Reconciliation: # noqa: E501
3790
2222
  ...
3791
2223
 
3792
2224
  @validate_arguments
3793
- def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Mapping, Awaitable[Mapping]]: # noqa: E501
3794
- """[EARLY ACCESS] UpsertReconciliationMapping: Create or update a mapping # noqa: E501
2225
+ def update_reconciliation(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Reconciliation, Awaitable[Reconciliation]]: # noqa: E501
2226
+ """[EXPERIMENTAL] UpdateReconciliation: Update scheduled reconciliation # noqa: E501
3795
2227
 
3796
- If no mapping exists with the specified scope and code will create a new one. Else will update the existing mapping # noqa: E501
2228
+ Update a given scheduled reconciliation # noqa: E501
3797
2229
  This method makes a synchronous HTTP request by default. To make an
3798
2230
  asynchronous HTTP request, please pass async_req=True
3799
2231
 
3800
- >>> thread = api.upsert_reconciliation_mapping(mapping, async_req=True)
2232
+ >>> thread = api.update_reconciliation(scope, code, update_reconciliation_request, async_req=True)
3801
2233
  >>> result = thread.get()
3802
2234
 
3803
- :param mapping: The mapping to be created / updated.
3804
- :type mapping: Mapping
2235
+ :param scope: The scope of the reconciliation to be updated (required)
2236
+ :type scope: str
2237
+ :param code: The code of the reconciliation to be updated (required)
2238
+ :type code: str
2239
+ :param update_reconciliation_request: The updated definition of the reconciliation
2240
+ :type update_reconciliation_request: UpdateReconciliationRequest
3805
2241
  :param async_req: Whether to execute the request asynchronously.
3806
2242
  :type async_req: bool, optional
3807
2243
  :param _request_timeout: timeout setting for this request.
@@ -3811,29 +2247,33 @@ class ReconciliationsApi:
3811
2247
  :return: Returns the result object.
3812
2248
  If the method is called asynchronously,
3813
2249
  returns the request thread.
3814
- :rtype: Mapping
2250
+ :rtype: Reconciliation
3815
2251
  """
3816
2252
  kwargs['_return_http_data_only'] = True
3817
2253
  if '_preload_content' in kwargs:
3818
- message = "Error! Please call the upsert_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2254
+ message = "Error! Please call the update_reconciliation_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3819
2255
  raise ValueError(message)
3820
2256
  if async_req is not None:
3821
2257
  kwargs['async_req'] = async_req
3822
- return self.upsert_reconciliation_mapping_with_http_info(mapping, **kwargs) # noqa: E501
2258
+ return self.update_reconciliation_with_http_info(scope, code, update_reconciliation_request, **kwargs) # noqa: E501
3823
2259
 
3824
2260
  @validate_arguments
3825
- def upsert_reconciliation_mapping_with_http_info(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, **kwargs) -> ApiResponse: # noqa: E501
3826
- """[EARLY ACCESS] UpsertReconciliationMapping: Create or update a mapping # noqa: E501
2261
+ def update_reconciliation_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation to be updated")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation to be updated")], update_reconciliation_request : Annotated[Optional[UpdateReconciliationRequest], Field(description="The updated definition of the reconciliation")] = None, **kwargs) -> ApiResponse: # noqa: E501
2262
+ """[EXPERIMENTAL] UpdateReconciliation: Update scheduled reconciliation # noqa: E501
3827
2263
 
3828
- If no mapping exists with the specified scope and code will create a new one. Else will update the existing mapping # noqa: E501
2264
+ Update a given scheduled reconciliation # noqa: E501
3829
2265
  This method makes a synchronous HTTP request by default. To make an
3830
2266
  asynchronous HTTP request, please pass async_req=True
3831
2267
 
3832
- >>> thread = api.upsert_reconciliation_mapping_with_http_info(mapping, async_req=True)
2268
+ >>> thread = api.update_reconciliation_with_http_info(scope, code, update_reconciliation_request, async_req=True)
3833
2269
  >>> result = thread.get()
3834
2270
 
3835
- :param mapping: The mapping to be created / updated.
3836
- :type mapping: Mapping
2271
+ :param scope: The scope of the reconciliation to be updated (required)
2272
+ :type scope: str
2273
+ :param code: The code of the reconciliation to be updated (required)
2274
+ :type code: str
2275
+ :param update_reconciliation_request: The updated definition of the reconciliation
2276
+ :type update_reconciliation_request: UpdateReconciliationRequest
3837
2277
  :param async_req: Whether to execute the request asynchronously.
3838
2278
  :type async_req: bool, optional
3839
2279
  :param _preload_content: if False, the ApiResponse.data will
@@ -3856,13 +2296,15 @@ class ReconciliationsApi:
3856
2296
  :return: Returns the result object.
3857
2297
  If the method is called asynchronously,
3858
2298
  returns the request thread.
3859
- :rtype: tuple(Mapping, status_code(int), headers(HTTPHeaderDict))
2299
+ :rtype: tuple(Reconciliation, status_code(int), headers(HTTPHeaderDict))
3860
2300
  """
3861
2301
 
3862
2302
  _params = locals()
3863
2303
 
3864
2304
  _all_params = [
3865
- 'mapping'
2305
+ 'scope',
2306
+ 'code',
2307
+ 'update_reconciliation_request'
3866
2308
  ]
3867
2309
  _all_params.extend(
3868
2310
  [
@@ -3881,7 +2323,7 @@ class ReconciliationsApi:
3881
2323
  if _key not in _all_params:
3882
2324
  raise ApiTypeError(
3883
2325
  "Got an unexpected keyword argument '%s'"
3884
- " to method upsert_reconciliation_mapping" % _key
2326
+ " to method update_reconciliation" % _key
3885
2327
  )
3886
2328
  _params[_key] = _val
3887
2329
  del _params['kwargs']
@@ -3890,6 +2332,12 @@ class ReconciliationsApi:
3890
2332
 
3891
2333
  # process the path parameters
3892
2334
  _path_params = {}
2335
+ if _params['scope']:
2336
+ _path_params['scope'] = _params['scope']
2337
+
2338
+ if _params['code']:
2339
+ _path_params['code'] = _params['code']
2340
+
3893
2341
 
3894
2342
  # process the query parameters
3895
2343
  _query_params = []
@@ -3900,8 +2348,8 @@ class ReconciliationsApi:
3900
2348
  _files = {}
3901
2349
  # process the body parameter
3902
2350
  _body_params = None
3903
- if _params['mapping'] is not None:
3904
- _body_params = _params['mapping']
2351
+ if _params['update_reconciliation_request'] is not None:
2352
+ _body_params = _params['update_reconciliation_request']
3905
2353
 
3906
2354
  # set the HTTP header `Accept`
3907
2355
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -3918,12 +2366,12 @@ class ReconciliationsApi:
3918
2366
  _auth_settings = ['oauth2'] # noqa: E501
3919
2367
 
3920
2368
  _response_types_map = {
3921
- '200': "Mapping",
2369
+ '200': "Reconciliation",
3922
2370
  '400': "LusidValidationProblemDetails",
3923
2371
  }
3924
2372
 
3925
2373
  return self.api_client.call_api(
3926
- '/api/portfolios/mapping', 'POST',
2374
+ '/api/portfolios/$scheduledReconciliations/{scope}/{code}', 'POST',
3927
2375
  _path_params,
3928
2376
  _query_params,
3929
2377
  _header_params,
@@ -3940,30 +2388,26 @@ class ReconciliationsApi:
3940
2388
  _request_auth=_params.get('_request_auth'))
3941
2389
 
3942
2390
  @overload
3943
- async def upsert_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], upsert_reconciliation_run_request : Annotated[Optional[UpsertReconciliationRunRequest], Field(description="The definition of the reconciliation run")] = None, **kwargs) -> ReconciliationRun: # noqa: E501
2391
+ async def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, **kwargs) -> Mapping: # noqa: E501
3944
2392
  ...
3945
2393
 
3946
2394
  @overload
3947
- def upsert_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], upsert_reconciliation_run_request : Annotated[Optional[UpsertReconciliationRunRequest], Field(description="The definition of the reconciliation run")] = None, async_req: Optional[bool]=True, **kwargs) -> ReconciliationRun: # noqa: E501
2395
+ def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, async_req: Optional[bool]=True, **kwargs) -> Mapping: # noqa: E501
3948
2396
  ...
3949
2397
 
3950
2398
  @validate_arguments
3951
- def upsert_reconciliation_run(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], upsert_reconciliation_run_request : Annotated[Optional[UpsertReconciliationRunRequest], Field(description="The definition of the reconciliation run")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReconciliationRun, Awaitable[ReconciliationRun]]: # noqa: E501
3952
- """[EXPERIMENTAL] UpsertReconciliationRun: Update or Create a reconciliation run # noqa: E501
2399
+ def upsert_reconciliation_mapping(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Mapping, Awaitable[Mapping]]: # noqa: E501
2400
+ """[EARLY ACCESS] UpsertReconciliationMapping: Create or update a mapping # noqa: E501
3953
2401
 
3954
- Existing reconciliations will be updated, non-existing ones will be created # noqa: E501
2402
+ If no mapping exists with the specified scope and code will create a new one. Else will update the existing mapping # noqa: E501
3955
2403
  This method makes a synchronous HTTP request by default. To make an
3956
2404
  asynchronous HTTP request, please pass async_req=True
3957
2405
 
3958
- >>> thread = api.upsert_reconciliation_run(scope, code, upsert_reconciliation_run_request, async_req=True)
2406
+ >>> thread = api.upsert_reconciliation_mapping(mapping, async_req=True)
3959
2407
  >>> result = thread.get()
3960
2408
 
3961
- :param scope: The scope of the reconciliation associated with the run (required)
3962
- :type scope: str
3963
- :param code: The code of the reconciliation associated with the run (required)
3964
- :type code: str
3965
- :param upsert_reconciliation_run_request: The definition of the reconciliation run
3966
- :type upsert_reconciliation_run_request: UpsertReconciliationRunRequest
2409
+ :param mapping: The mapping to be created / updated.
2410
+ :type mapping: Mapping
3967
2411
  :param async_req: Whether to execute the request asynchronously.
3968
2412
  :type async_req: bool, optional
3969
2413
  :param _request_timeout: timeout setting for this request.
@@ -3973,33 +2417,29 @@ class ReconciliationsApi:
3973
2417
  :return: Returns the result object.
3974
2418
  If the method is called asynchronously,
3975
2419
  returns the request thread.
3976
- :rtype: ReconciliationRun
2420
+ :rtype: Mapping
3977
2421
  """
3978
2422
  kwargs['_return_http_data_only'] = True
3979
2423
  if '_preload_content' in kwargs:
3980
- message = "Error! Please call the upsert_reconciliation_run_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2424
+ message = "Error! Please call the upsert_reconciliation_mapping_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3981
2425
  raise ValueError(message)
3982
2426
  if async_req is not None:
3983
2427
  kwargs['async_req'] = async_req
3984
- return self.upsert_reconciliation_run_with_http_info(scope, code, upsert_reconciliation_run_request, **kwargs) # noqa: E501
2428
+ return self.upsert_reconciliation_mapping_with_http_info(mapping, **kwargs) # noqa: E501
3985
2429
 
3986
2430
  @validate_arguments
3987
- def upsert_reconciliation_run_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reconciliation associated with the run")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reconciliation associated with the run")], upsert_reconciliation_run_request : Annotated[Optional[UpsertReconciliationRunRequest], Field(description="The definition of the reconciliation run")] = None, **kwargs) -> ApiResponse: # noqa: E501
3988
- """[EXPERIMENTAL] UpsertReconciliationRun: Update or Create a reconciliation run # noqa: E501
2431
+ def upsert_reconciliation_mapping_with_http_info(self, mapping : Annotated[Optional[Mapping], Field(description="The mapping to be created / updated.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2432
+ """[EARLY ACCESS] UpsertReconciliationMapping: Create or update a mapping # noqa: E501
3989
2433
 
3990
- Existing reconciliations will be updated, non-existing ones will be created # noqa: E501
2434
+ If no mapping exists with the specified scope and code will create a new one. Else will update the existing mapping # noqa: E501
3991
2435
  This method makes a synchronous HTTP request by default. To make an
3992
2436
  asynchronous HTTP request, please pass async_req=True
3993
2437
 
3994
- >>> thread = api.upsert_reconciliation_run_with_http_info(scope, code, upsert_reconciliation_run_request, async_req=True)
2438
+ >>> thread = api.upsert_reconciliation_mapping_with_http_info(mapping, async_req=True)
3995
2439
  >>> result = thread.get()
3996
2440
 
3997
- :param scope: The scope of the reconciliation associated with the run (required)
3998
- :type scope: str
3999
- :param code: The code of the reconciliation associated with the run (required)
4000
- :type code: str
4001
- :param upsert_reconciliation_run_request: The definition of the reconciliation run
4002
- :type upsert_reconciliation_run_request: UpsertReconciliationRunRequest
2441
+ :param mapping: The mapping to be created / updated.
2442
+ :type mapping: Mapping
4003
2443
  :param async_req: Whether to execute the request asynchronously.
4004
2444
  :type async_req: bool, optional
4005
2445
  :param _preload_content: if False, the ApiResponse.data will
@@ -4022,15 +2462,13 @@ class ReconciliationsApi:
4022
2462
  :return: Returns the result object.
4023
2463
  If the method is called asynchronously,
4024
2464
  returns the request thread.
4025
- :rtype: tuple(ReconciliationRun, status_code(int), headers(HTTPHeaderDict))
2465
+ :rtype: tuple(Mapping, status_code(int), headers(HTTPHeaderDict))
4026
2466
  """
4027
2467
 
4028
2468
  _params = locals()
4029
2469
 
4030
2470
  _all_params = [
4031
- 'scope',
4032
- 'code',
4033
- 'upsert_reconciliation_run_request'
2471
+ 'mapping'
4034
2472
  ]
4035
2473
  _all_params.extend(
4036
2474
  [
@@ -4049,7 +2487,7 @@ class ReconciliationsApi:
4049
2487
  if _key not in _all_params:
4050
2488
  raise ApiTypeError(
4051
2489
  "Got an unexpected keyword argument '%s'"
4052
- " to method upsert_reconciliation_run" % _key
2490
+ " to method upsert_reconciliation_mapping" % _key
4053
2491
  )
4054
2492
  _params[_key] = _val
4055
2493
  del _params['kwargs']
@@ -4058,12 +2496,6 @@ class ReconciliationsApi:
4058
2496
 
4059
2497
  # process the path parameters
4060
2498
  _path_params = {}
4061
- if _params['scope']:
4062
- _path_params['scope'] = _params['scope']
4063
-
4064
- if _params['code']:
4065
- _path_params['code'] = _params['code']
4066
-
4067
2499
 
4068
2500
  # process the query parameters
4069
2501
  _query_params = []
@@ -4074,8 +2506,8 @@ class ReconciliationsApi:
4074
2506
  _files = {}
4075
2507
  # process the body parameter
4076
2508
  _body_params = None
4077
- if _params['upsert_reconciliation_run_request'] is not None:
4078
- _body_params = _params['upsert_reconciliation_run_request']
2509
+ if _params['mapping'] is not None:
2510
+ _body_params = _params['mapping']
4079
2511
 
4080
2512
  # set the HTTP header `Accept`
4081
2513
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -4092,12 +2524,12 @@ class ReconciliationsApi:
4092
2524
  _auth_settings = ['oauth2'] # noqa: E501
4093
2525
 
4094
2526
  _response_types_map = {
4095
- '201': "ReconciliationRun",
2527
+ '200': "Mapping",
4096
2528
  '400': "LusidValidationProblemDetails",
4097
2529
  }
4098
2530
 
4099
2531
  return self.api_client.call_api(
4100
- '/api/portfolios/$scheduledReconciliations/{scope}/{code}/runs', 'POST',
2532
+ '/api/portfolios/mapping', 'POST',
4101
2533
  _path_params,
4102
2534
  _query_params,
4103
2535
  _header_params,