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
@@ -22,7 +22,7 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from datetime import datetime
24
24
 
25
- from pydantic import Field, StrictInt, StrictStr, conint, conlist, constr, validator
25
+ from pydantic import Field, StrictStr, conint, conlist, constr, validator
26
26
 
27
27
  from typing import Dict, Optional
28
28
 
@@ -32,6 +32,11 @@ from lusid.models.accounts_upsert_response import AccountsUpsertResponse
32
32
  from lusid.models.chart_of_accounts import ChartOfAccounts
33
33
  from lusid.models.chart_of_accounts_properties import ChartOfAccountsProperties
34
34
  from lusid.models.chart_of_accounts_request import ChartOfAccountsRequest
35
+ from lusid.models.cleardown_module_details import CleardownModuleDetails
36
+ from lusid.models.cleardown_module_request import CleardownModuleRequest
37
+ from lusid.models.cleardown_module_response import CleardownModuleResponse
38
+ from lusid.models.cleardown_module_rule import CleardownModuleRule
39
+ from lusid.models.cleardown_module_rules_updated_response import CleardownModuleRulesUpdatedResponse
35
40
  from lusid.models.delete_accounts_response import DeleteAccountsResponse
36
41
  from lusid.models.deleted_entity_response import DeletedEntityResponse
37
42
  from lusid.models.general_ledger_profile_mapping import GeneralLedgerProfileMapping
@@ -40,6 +45,8 @@ from lusid.models.general_ledger_profile_response import GeneralLedgerProfileRes
40
45
  from lusid.models.model_property import ModelProperty
41
46
  from lusid.models.paged_resource_list_of_account import PagedResourceListOfAccount
42
47
  from lusid.models.paged_resource_list_of_chart_of_accounts import PagedResourceListOfChartOfAccounts
48
+ from lusid.models.paged_resource_list_of_cleardown_module_response import PagedResourceListOfCleardownModuleResponse
49
+ from lusid.models.paged_resource_list_of_cleardown_module_rule import PagedResourceListOfCleardownModuleRule
43
50
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
44
51
  from lusid.models.paged_resource_list_of_posting_module_response import PagedResourceListOfPostingModuleResponse
45
52
  from lusid.models.paged_resource_list_of_posting_module_rule import PagedResourceListOfPostingModuleRule
@@ -235,6 +242,180 @@ class ChartOfAccountsApi:
235
242
  collection_formats=_collection_formats,
236
243
  _request_auth=_params.get('_request_auth'))
237
244
 
245
+ @overload
246
+ async def create_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_request : Annotated[CleardownModuleRequest, Field(..., description="The definition of the Cleardown Module.")], **kwargs) -> CleardownModuleResponse: # noqa: E501
247
+ ...
248
+
249
+ @overload
250
+ def create_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_request : Annotated[CleardownModuleRequest, Field(..., description="The definition of the Cleardown Module.")], async_req: Optional[bool]=True, **kwargs) -> CleardownModuleResponse: # noqa: E501
251
+ ...
252
+
253
+ @validate_arguments
254
+ def create_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_request : Annotated[CleardownModuleRequest, Field(..., description="The definition of the Cleardown Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[CleardownModuleResponse, Awaitable[CleardownModuleResponse]]: # noqa: E501
255
+ """[EXPERIMENTAL] CreateCleardownModule: Create a Cleardown Module # noqa: E501
256
+
257
+ Create the given Cleardown Module. # noqa: E501
258
+ This method makes a synchronous HTTP request by default. To make an
259
+ asynchronous HTTP request, please pass async_req=True
260
+
261
+ >>> thread = api.create_cleardown_module(scope, code, cleardown_module_request, async_req=True)
262
+ >>> result = thread.get()
263
+
264
+ :param scope: The scope of the Chart of Accounts. (required)
265
+ :type scope: str
266
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
267
+ :type code: str
268
+ :param cleardown_module_request: The definition of the Cleardown Module. (required)
269
+ :type cleardown_module_request: CleardownModuleRequest
270
+ :param async_req: Whether to execute the request asynchronously.
271
+ :type async_req: bool, optional
272
+ :param _request_timeout: timeout setting for this request.
273
+ If one number provided, it will be total request
274
+ timeout. It can also be a pair (tuple) of
275
+ (connection, read) timeouts.
276
+ :return: Returns the result object.
277
+ If the method is called asynchronously,
278
+ returns the request thread.
279
+ :rtype: CleardownModuleResponse
280
+ """
281
+ kwargs['_return_http_data_only'] = True
282
+ if '_preload_content' in kwargs:
283
+ message = "Error! Please call the create_cleardown_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
284
+ raise ValueError(message)
285
+ if async_req is not None:
286
+ kwargs['async_req'] = async_req
287
+ return self.create_cleardown_module_with_http_info(scope, code, cleardown_module_request, **kwargs) # noqa: E501
288
+
289
+ @validate_arguments
290
+ def create_cleardown_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_request : Annotated[CleardownModuleRequest, Field(..., description="The definition of the Cleardown Module.")], **kwargs) -> ApiResponse: # noqa: E501
291
+ """[EXPERIMENTAL] CreateCleardownModule: Create a Cleardown Module # noqa: E501
292
+
293
+ Create the given Cleardown Module. # noqa: E501
294
+ This method makes a synchronous HTTP request by default. To make an
295
+ asynchronous HTTP request, please pass async_req=True
296
+
297
+ >>> thread = api.create_cleardown_module_with_http_info(scope, code, cleardown_module_request, async_req=True)
298
+ >>> result = thread.get()
299
+
300
+ :param scope: The scope of the Chart of Accounts. (required)
301
+ :type scope: str
302
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
303
+ :type code: str
304
+ :param cleardown_module_request: The definition of the Cleardown Module. (required)
305
+ :type cleardown_module_request: CleardownModuleRequest
306
+ :param async_req: Whether to execute the request asynchronously.
307
+ :type async_req: bool, optional
308
+ :param _preload_content: if False, the ApiResponse.data will
309
+ be set to none and raw_data will store the
310
+ HTTP response body without reading/decoding.
311
+ Default is True.
312
+ :type _preload_content: bool, optional
313
+ :param _return_http_data_only: response data instead of ApiResponse
314
+ object with status code, headers, etc
315
+ :type _return_http_data_only: bool, optional
316
+ :param _request_timeout: timeout setting for this request. If one
317
+ number provided, it will be total request
318
+ timeout. It can also be a pair (tuple) of
319
+ (connection, read) timeouts.
320
+ :param _request_auth: set to override the auth_settings for an a single
321
+ request; this effectively ignores the authentication
322
+ in the spec for a single request.
323
+ :type _request_auth: dict, optional
324
+ :type _content_type: string, optional: force content-type for the request
325
+ :return: Returns the result object.
326
+ If the method is called asynchronously,
327
+ returns the request thread.
328
+ :rtype: tuple(CleardownModuleResponse, status_code(int), headers(HTTPHeaderDict))
329
+ """
330
+
331
+ _params = locals()
332
+
333
+ _all_params = [
334
+ 'scope',
335
+ 'code',
336
+ 'cleardown_module_request'
337
+ ]
338
+ _all_params.extend(
339
+ [
340
+ 'async_req',
341
+ '_return_http_data_only',
342
+ '_preload_content',
343
+ '_request_timeout',
344
+ '_request_auth',
345
+ '_content_type',
346
+ '_headers'
347
+ ]
348
+ )
349
+
350
+ # validate the arguments
351
+ for _key, _val in _params['kwargs'].items():
352
+ if _key not in _all_params:
353
+ raise ApiTypeError(
354
+ "Got an unexpected keyword argument '%s'"
355
+ " to method create_cleardown_module" % _key
356
+ )
357
+ _params[_key] = _val
358
+ del _params['kwargs']
359
+
360
+ _collection_formats = {}
361
+
362
+ # process the path parameters
363
+ _path_params = {}
364
+ if _params['scope']:
365
+ _path_params['scope'] = _params['scope']
366
+
367
+ if _params['code']:
368
+ _path_params['code'] = _params['code']
369
+
370
+
371
+ # process the query parameters
372
+ _query_params = []
373
+ # process the header parameters
374
+ _header_params = dict(_params.get('_headers', {}))
375
+ # process the form parameters
376
+ _form_params = []
377
+ _files = {}
378
+ # process the body parameter
379
+ _body_params = None
380
+ if _params['cleardown_module_request'] is not None:
381
+ _body_params = _params['cleardown_module_request']
382
+
383
+ # set the HTTP header `Accept`
384
+ _header_params['Accept'] = self.api_client.select_header_accept(
385
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
386
+
387
+ # set the HTTP header `Content-Type`
388
+ _content_types_list = _params.get('_content_type',
389
+ self.api_client.select_header_content_type(
390
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
391
+ if _content_types_list:
392
+ _header_params['Content-Type'] = _content_types_list
393
+
394
+ # authentication setting
395
+ _auth_settings = ['oauth2'] # noqa: E501
396
+
397
+ _response_types_map = {
398
+ '201': "CleardownModuleResponse",
399
+ '400': "LusidValidationProblemDetails",
400
+ }
401
+
402
+ return self.api_client.call_api(
403
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules', 'POST',
404
+ _path_params,
405
+ _query_params,
406
+ _header_params,
407
+ body=_body_params,
408
+ post_params=_form_params,
409
+ files=_files,
410
+ response_types_map=_response_types_map,
411
+ auth_settings=_auth_settings,
412
+ async_req=_params.get('async_req'),
413
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
414
+ _preload_content=_params.get('_preload_content', True),
415
+ _request_timeout=_params.get('_request_timeout'),
416
+ collection_formats=_collection_formats,
417
+ _request_auth=_params.get('_request_auth'))
418
+
238
419
  @overload
239
420
  async def create_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts.")], general_ledger_profile_request : Annotated[GeneralLedgerProfileRequest, Field(..., description="The definition of the General Ledger Profile.")], **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
240
421
  ...
@@ -925,30 +1106,30 @@ class ChartOfAccountsApi:
925
1106
  _request_auth=_params.get('_request_auth'))
926
1107
 
927
1108
  @overload
928
- async def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
1109
+ async def delete_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
929
1110
  ...
930
1111
 
931
1112
  @overload
932
- def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
1113
+ def delete_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
933
1114
  ...
934
1115
 
935
1116
  @validate_arguments
936
- def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
937
- """[EXPERIMENTAL] DeleteGeneralLedgerProfile: Delete a General Ledger Profile. # noqa: E501
1117
+ def delete_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
1118
+ """[EXPERIMENTAL] DeleteCleardownModule: Delete a Cleardown Module. # noqa: E501
938
1119
 
939
- Delete the given General Ledger Profile. # noqa: E501
1120
+ Delete the given Cleardown Module. # noqa: E501
940
1121
  This method makes a synchronous HTTP request by default. To make an
941
1122
  asynchronous HTTP request, please pass async_req=True
942
1123
 
943
- >>> thread = api.delete_general_ledger_profile(scope, code, general_ledger_profile_code, async_req=True)
1124
+ >>> thread = api.delete_cleardown_module(scope, code, cleardown_module_code, async_req=True)
944
1125
  >>> result = thread.get()
945
1126
 
946
- :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1127
+ :param scope: The scope of the Chart of Accounts. (required)
947
1128
  :type scope: str
948
- :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1129
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
949
1130
  :type code: str
950
- :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
951
- :type general_ledger_profile_code: str
1131
+ :param cleardown_module_code: The code of the Cleardown Module to be deleted. (required)
1132
+ :type cleardown_module_code: str
952
1133
  :param async_req: Whether to execute the request asynchronously.
953
1134
  :type async_req: bool, optional
954
1135
  :param _request_timeout: timeout setting for this request.
@@ -962,29 +1143,29 @@ class ChartOfAccountsApi:
962
1143
  """
963
1144
  kwargs['_return_http_data_only'] = True
964
1145
  if '_preload_content' in kwargs:
965
- message = "Error! Please call the delete_general_ledger_profile_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1146
+ message = "Error! Please call the delete_cleardown_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
966
1147
  raise ValueError(message)
967
1148
  if async_req is not None:
968
1149
  kwargs['async_req'] = async_req
969
- return self.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, **kwargs) # noqa: E501
1150
+ return self.delete_cleardown_module_with_http_info(scope, code, cleardown_module_code, **kwargs) # noqa: E501
970
1151
 
971
1152
  @validate_arguments
972
- def delete_general_ledger_profile_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], **kwargs) -> ApiResponse: # noqa: E501
973
- """[EXPERIMENTAL] DeleteGeneralLedgerProfile: Delete a General Ledger Profile. # noqa: E501
1153
+ def delete_cleardown_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
1154
+ """[EXPERIMENTAL] DeleteCleardownModule: Delete a Cleardown Module. # noqa: E501
974
1155
 
975
- Delete the given General Ledger Profile. # noqa: E501
1156
+ Delete the given Cleardown Module. # noqa: E501
976
1157
  This method makes a synchronous HTTP request by default. To make an
977
1158
  asynchronous HTTP request, please pass async_req=True
978
1159
 
979
- >>> thread = api.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, async_req=True)
1160
+ >>> thread = api.delete_cleardown_module_with_http_info(scope, code, cleardown_module_code, async_req=True)
980
1161
  >>> result = thread.get()
981
1162
 
982
- :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1163
+ :param scope: The scope of the Chart of Accounts. (required)
983
1164
  :type scope: str
984
- :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1165
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
985
1166
  :type code: str
986
- :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
987
- :type general_ledger_profile_code: str
1167
+ :param cleardown_module_code: The code of the Cleardown Module to be deleted. (required)
1168
+ :type cleardown_module_code: str
988
1169
  :param async_req: Whether to execute the request asynchronously.
989
1170
  :type async_req: bool, optional
990
1171
  :param _preload_content: if False, the ApiResponse.data will
@@ -1015,7 +1196,7 @@ class ChartOfAccountsApi:
1015
1196
  _all_params = [
1016
1197
  'scope',
1017
1198
  'code',
1018
- 'general_ledger_profile_code'
1199
+ 'cleardown_module_code'
1019
1200
  ]
1020
1201
  _all_params.extend(
1021
1202
  [
@@ -1034,7 +1215,7 @@ class ChartOfAccountsApi:
1034
1215
  if _key not in _all_params:
1035
1216
  raise ApiTypeError(
1036
1217
  "Got an unexpected keyword argument '%s'"
1037
- " to method delete_general_ledger_profile" % _key
1218
+ " to method delete_cleardown_module" % _key
1038
1219
  )
1039
1220
  _params[_key] = _val
1040
1221
  del _params['kwargs']
@@ -1049,8 +1230,8 @@ class ChartOfAccountsApi:
1049
1230
  if _params['code']:
1050
1231
  _path_params['code'] = _params['code']
1051
1232
 
1052
- if _params['general_ledger_profile_code']:
1053
- _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
1233
+ if _params['cleardown_module_code']:
1234
+ _path_params['cleardownModuleCode'] = _params['cleardown_module_code']
1054
1235
 
1055
1236
 
1056
1237
  # process the query parameters
@@ -1075,7 +1256,7 @@ class ChartOfAccountsApi:
1075
1256
  }
1076
1257
 
1077
1258
  return self.api_client.call_api(
1078
- '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'DELETE',
1259
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules/{cleardownModuleCode}', 'DELETE',
1079
1260
  _path_params,
1080
1261
  _query_params,
1081
1262
  _header_params,
@@ -1092,30 +1273,30 @@ class ChartOfAccountsApi:
1092
1273
  _request_auth=_params.get('_request_auth'))
1093
1274
 
1094
1275
  @overload
1095
- async def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
1276
+ async def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
1096
1277
  ...
1097
1278
 
1098
1279
  @overload
1099
- def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
1280
+ def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
1100
1281
  ...
1101
1282
 
1102
1283
  @validate_arguments
1103
- def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
1104
- """[EXPERIMENTAL] DeletePostingModule: Delete a Posting Module. # noqa: E501
1284
+ def delete_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
1285
+ """[EXPERIMENTAL] DeleteGeneralLedgerProfile: Delete a General Ledger Profile. # noqa: E501
1105
1286
 
1106
- Delete the given Posting Module. # noqa: E501
1287
+ Delete the given General Ledger Profile. # noqa: E501
1107
1288
  This method makes a synchronous HTTP request by default. To make an
1108
1289
  asynchronous HTTP request, please pass async_req=True
1109
1290
 
1110
- >>> thread = api.delete_posting_module(scope, code, posting_module_code, async_req=True)
1291
+ >>> thread = api.delete_general_ledger_profile(scope, code, general_ledger_profile_code, async_req=True)
1111
1292
  >>> result = thread.get()
1112
1293
 
1113
- :param scope: The scope of the Chart of Accounts. (required)
1294
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1114
1295
  :type scope: str
1115
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1296
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1116
1297
  :type code: str
1117
- :param posting_module_code: The code of the Posting Module to be deleted. (required)
1118
- :type posting_module_code: str
1298
+ :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
1299
+ :type general_ledger_profile_code: str
1119
1300
  :param async_req: Whether to execute the request asynchronously.
1120
1301
  :type async_req: bool, optional
1121
1302
  :param _request_timeout: timeout setting for this request.
@@ -1129,29 +1310,29 @@ class ChartOfAccountsApi:
1129
1310
  """
1130
1311
  kwargs['_return_http_data_only'] = True
1131
1312
  if '_preload_content' in kwargs:
1132
- message = "Error! Please call the delete_posting_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1313
+ message = "Error! Please call the delete_general_ledger_profile_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1133
1314
  raise ValueError(message)
1134
1315
  if async_req is not None:
1135
1316
  kwargs['async_req'] = async_req
1136
- return self.delete_posting_module_with_http_info(scope, code, posting_module_code, **kwargs) # noqa: E501
1317
+ return self.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, **kwargs) # noqa: E501
1137
1318
 
1138
1319
  @validate_arguments
1139
- def delete_posting_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
1140
- """[EXPERIMENTAL] DeletePostingModule: Delete a Posting Module. # noqa: E501
1320
+ def delete_general_ledger_profile_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Code of the General Ledger Profile.")], **kwargs) -> ApiResponse: # noqa: E501
1321
+ """[EXPERIMENTAL] DeleteGeneralLedgerProfile: Delete a General Ledger Profile. # noqa: E501
1141
1322
 
1142
- Delete the given Posting Module. # noqa: E501
1323
+ Delete the given General Ledger Profile. # noqa: E501
1143
1324
  This method makes a synchronous HTTP request by default. To make an
1144
1325
  asynchronous HTTP request, please pass async_req=True
1145
1326
 
1146
- >>> thread = api.delete_posting_module_with_http_info(scope, code, posting_module_code, async_req=True)
1327
+ >>> thread = api.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, async_req=True)
1147
1328
  >>> result = thread.get()
1148
1329
 
1149
- :param scope: The scope of the Chart of Accounts. (required)
1330
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1150
1331
  :type scope: str
1151
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1332
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1152
1333
  :type code: str
1153
- :param posting_module_code: The code of the Posting Module to be deleted. (required)
1154
- :type posting_module_code: str
1334
+ :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
1335
+ :type general_ledger_profile_code: str
1155
1336
  :param async_req: Whether to execute the request asynchronously.
1156
1337
  :type async_req: bool, optional
1157
1338
  :param _preload_content: if False, the ApiResponse.data will
@@ -1182,7 +1363,7 @@ class ChartOfAccountsApi:
1182
1363
  _all_params = [
1183
1364
  'scope',
1184
1365
  'code',
1185
- 'posting_module_code'
1366
+ 'general_ledger_profile_code'
1186
1367
  ]
1187
1368
  _all_params.extend(
1188
1369
  [
@@ -1201,7 +1382,7 @@ class ChartOfAccountsApi:
1201
1382
  if _key not in _all_params:
1202
1383
  raise ApiTypeError(
1203
1384
  "Got an unexpected keyword argument '%s'"
1204
- " to method delete_posting_module" % _key
1385
+ " to method delete_general_ledger_profile" % _key
1205
1386
  )
1206
1387
  _params[_key] = _val
1207
1388
  del _params['kwargs']
@@ -1216,8 +1397,8 @@ class ChartOfAccountsApi:
1216
1397
  if _params['code']:
1217
1398
  _path_params['code'] = _params['code']
1218
1399
 
1219
- if _params['posting_module_code']:
1220
- _path_params['postingModuleCode'] = _params['posting_module_code']
1400
+ if _params['general_ledger_profile_code']:
1401
+ _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
1221
1402
 
1222
1403
 
1223
1404
  # process the query parameters
@@ -1242,7 +1423,7 @@ class ChartOfAccountsApi:
1242
1423
  }
1243
1424
 
1244
1425
  return self.api_client.call_api(
1245
- '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'DELETE',
1426
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'DELETE',
1246
1427
  _path_params,
1247
1428
  _query_params,
1248
1429
  _header_params,
@@ -1259,36 +1440,30 @@ class ChartOfAccountsApi:
1259
1440
  _request_auth=_params.get('_request_auth'))
1260
1441
 
1261
1442
  @overload
1262
- async def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, **kwargs) -> Account: # noqa: E501
1443
+ async def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
1263
1444
  ...
1264
1445
 
1265
1446
  @overload
1266
- def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, async_req: Optional[bool]=True, **kwargs) -> Account: # noqa: E501
1447
+ def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
1267
1448
  ...
1268
1449
 
1269
1450
  @validate_arguments
1270
- def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Account, Awaitable[Account]]: # noqa: E501
1271
- """[EXPERIMENTAL] GetAccount: Get Account # noqa: E501
1451
+ def delete_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
1452
+ """[EXPERIMENTAL] DeletePostingModule: Delete a Posting Module. # noqa: E501
1272
1453
 
1273
- Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
1454
+ Delete the given Posting Module. # noqa: E501
1274
1455
  This method makes a synchronous HTTP request by default. To make an
1275
1456
  asynchronous HTTP request, please pass async_req=True
1276
1457
 
1277
- >>> thread = api.get_account(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
1458
+ >>> thread = api.delete_posting_module(scope, code, posting_module_code, async_req=True)
1278
1459
  >>> result = thread.get()
1279
1460
 
1280
1461
  :param scope: The scope of the Chart of Accounts. (required)
1281
1462
  :type scope: str
1282
1463
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1283
1464
  :type code: str
1284
- :param account_code: The code of the Account. (required)
1285
- :type account_code: str
1286
- :param effective_at: The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.
1287
- :type effective_at: str
1288
- :param as_at: The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.
1289
- :type as_at: datetime
1290
- :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.
1291
- :type property_keys: List[str]
1465
+ :param posting_module_code: The code of the Posting Module to be deleted. (required)
1466
+ :type posting_module_code: str
1292
1467
  :param async_req: Whether to execute the request asynchronously.
1293
1468
  :type async_req: bool, optional
1294
1469
  :param _request_timeout: timeout setting for this request.
@@ -1298,38 +1473,1135 @@ class ChartOfAccountsApi:
1298
1473
  :return: Returns the result object.
1299
1474
  If the method is called asynchronously,
1300
1475
  returns the request thread.
1301
- :rtype: Account
1476
+ :rtype: DeletedEntityResponse
1302
1477
  """
1303
1478
  kwargs['_return_http_data_only'] = True
1304
1479
  if '_preload_content' in kwargs:
1305
- message = "Error! Please call the get_account_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1480
+ message = "Error! Please call the delete_posting_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1306
1481
  raise ValueError(message)
1307
1482
  if async_req is not None:
1308
1483
  kwargs['async_req'] = async_req
1309
- return self.get_account_with_http_info(scope, code, account_code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1484
+ return self.delete_posting_module_with_http_info(scope, code, posting_module_code, **kwargs) # noqa: E501
1485
+
1486
+ @validate_arguments
1487
+ def delete_posting_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
1488
+ """[EXPERIMENTAL] DeletePostingModule: Delete a Posting Module. # noqa: E501
1489
+
1490
+ Delete the given Posting Module. # noqa: E501
1491
+ This method makes a synchronous HTTP request by default. To make an
1492
+ asynchronous HTTP request, please pass async_req=True
1493
+
1494
+ >>> thread = api.delete_posting_module_with_http_info(scope, code, posting_module_code, async_req=True)
1495
+ >>> result = thread.get()
1496
+
1497
+ :param scope: The scope of the Chart of Accounts. (required)
1498
+ :type scope: str
1499
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1500
+ :type code: str
1501
+ :param posting_module_code: The code of the Posting Module to be deleted. (required)
1502
+ :type posting_module_code: str
1503
+ :param async_req: Whether to execute the request asynchronously.
1504
+ :type async_req: bool, optional
1505
+ :param _preload_content: if False, the ApiResponse.data will
1506
+ be set to none and raw_data will store the
1507
+ HTTP response body without reading/decoding.
1508
+ Default is True.
1509
+ :type _preload_content: bool, optional
1510
+ :param _return_http_data_only: response data instead of ApiResponse
1511
+ object with status code, headers, etc
1512
+ :type _return_http_data_only: bool, optional
1513
+ :param _request_timeout: timeout setting for this request. If one
1514
+ number provided, it will be total request
1515
+ timeout. It can also be a pair (tuple) of
1516
+ (connection, read) timeouts.
1517
+ :param _request_auth: set to override the auth_settings for an a single
1518
+ request; this effectively ignores the authentication
1519
+ in the spec for a single request.
1520
+ :type _request_auth: dict, optional
1521
+ :type _content_type: string, optional: force content-type for the request
1522
+ :return: Returns the result object.
1523
+ If the method is called asynchronously,
1524
+ returns the request thread.
1525
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
1526
+ """
1527
+
1528
+ _params = locals()
1529
+
1530
+ _all_params = [
1531
+ 'scope',
1532
+ 'code',
1533
+ 'posting_module_code'
1534
+ ]
1535
+ _all_params.extend(
1536
+ [
1537
+ 'async_req',
1538
+ '_return_http_data_only',
1539
+ '_preload_content',
1540
+ '_request_timeout',
1541
+ '_request_auth',
1542
+ '_content_type',
1543
+ '_headers'
1544
+ ]
1545
+ )
1546
+
1547
+ # validate the arguments
1548
+ for _key, _val in _params['kwargs'].items():
1549
+ if _key not in _all_params:
1550
+ raise ApiTypeError(
1551
+ "Got an unexpected keyword argument '%s'"
1552
+ " to method delete_posting_module" % _key
1553
+ )
1554
+ _params[_key] = _val
1555
+ del _params['kwargs']
1556
+
1557
+ _collection_formats = {}
1558
+
1559
+ # process the path parameters
1560
+ _path_params = {}
1561
+ if _params['scope']:
1562
+ _path_params['scope'] = _params['scope']
1563
+
1564
+ if _params['code']:
1565
+ _path_params['code'] = _params['code']
1566
+
1567
+ if _params['posting_module_code']:
1568
+ _path_params['postingModuleCode'] = _params['posting_module_code']
1569
+
1570
+
1571
+ # process the query parameters
1572
+ _query_params = []
1573
+ # process the header parameters
1574
+ _header_params = dict(_params.get('_headers', {}))
1575
+ # process the form parameters
1576
+ _form_params = []
1577
+ _files = {}
1578
+ # process the body parameter
1579
+ _body_params = None
1580
+ # set the HTTP header `Accept`
1581
+ _header_params['Accept'] = self.api_client.select_header_accept(
1582
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1583
+
1584
+ # authentication setting
1585
+ _auth_settings = ['oauth2'] # noqa: E501
1586
+
1587
+ _response_types_map = {
1588
+ '200': "DeletedEntityResponse",
1589
+ '400': "LusidValidationProblemDetails",
1590
+ }
1591
+
1592
+ return self.api_client.call_api(
1593
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'DELETE',
1594
+ _path_params,
1595
+ _query_params,
1596
+ _header_params,
1597
+ body=_body_params,
1598
+ post_params=_form_params,
1599
+ files=_files,
1600
+ response_types_map=_response_types_map,
1601
+ auth_settings=_auth_settings,
1602
+ async_req=_params.get('async_req'),
1603
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1604
+ _preload_content=_params.get('_preload_content', True),
1605
+ _request_timeout=_params.get('_request_timeout'),
1606
+ collection_formats=_collection_formats,
1607
+ _request_auth=_params.get('_request_auth'))
1608
+
1609
+ @overload
1610
+ async def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, **kwargs) -> Account: # noqa: E501
1611
+ ...
1612
+
1613
+ @overload
1614
+ def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, async_req: Optional[bool]=True, **kwargs) -> Account: # noqa: E501
1615
+ ...
1616
+
1617
+ @validate_arguments
1618
+ def get_account(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[Account, Awaitable[Account]]: # noqa: E501
1619
+ """[EXPERIMENTAL] GetAccount: Get Account # noqa: E501
1620
+
1621
+ Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
1622
+ This method makes a synchronous HTTP request by default. To make an
1623
+ asynchronous HTTP request, please pass async_req=True
1624
+
1625
+ >>> thread = api.get_account(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
1626
+ >>> result = thread.get()
1627
+
1628
+ :param scope: The scope of the Chart of Accounts. (required)
1629
+ :type scope: str
1630
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1631
+ :type code: str
1632
+ :param account_code: The code of the Account. (required)
1633
+ :type account_code: str
1634
+ :param effective_at: The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.
1635
+ :type effective_at: str
1636
+ :param as_at: The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.
1637
+ :type as_at: datetime
1638
+ :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.
1639
+ :type property_keys: List[str]
1640
+ :param async_req: Whether to execute the request asynchronously.
1641
+ :type async_req: bool, optional
1642
+ :param _request_timeout: timeout setting for this request.
1643
+ If one number provided, it will be total request
1644
+ timeout. It can also be a pair (tuple) of
1645
+ (connection, read) timeouts.
1646
+ :return: Returns the result object.
1647
+ If the method is called asynchronously,
1648
+ returns the request thread.
1649
+ :rtype: Account
1650
+ """
1651
+ kwargs['_return_http_data_only'] = True
1652
+ if '_preload_content' in kwargs:
1653
+ message = "Error! Please call the get_account_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1654
+ raise ValueError(message)
1655
+ if async_req is not None:
1656
+ kwargs['async_req'] = async_req
1657
+ return self.get_account_with_http_info(scope, code, account_code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1658
+
1659
+ @validate_arguments
1660
+ def get_account_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1661
+ """[EXPERIMENTAL] GetAccount: Get Account # noqa: E501
1662
+
1663
+ Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
1664
+ This method makes a synchronous HTTP request by default. To make an
1665
+ asynchronous HTTP request, please pass async_req=True
1666
+
1667
+ >>> thread = api.get_account_with_http_info(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
1668
+ >>> result = thread.get()
1669
+
1670
+ :param scope: The scope of the Chart of Accounts. (required)
1671
+ :type scope: str
1672
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1673
+ :type code: str
1674
+ :param account_code: The code of the Account. (required)
1675
+ :type account_code: str
1676
+ :param effective_at: The effective datetime or cut label at which to retrieve the Account properties. 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 retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.
1679
+ :type as_at: datetime
1680
+ :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.
1681
+ :type property_keys: List[str]
1682
+ :param async_req: Whether to execute the request asynchronously.
1683
+ :type async_req: bool, optional
1684
+ :param _preload_content: if False, the ApiResponse.data will
1685
+ be set to none and raw_data will store the
1686
+ HTTP response body without reading/decoding.
1687
+ Default is True.
1688
+ :type _preload_content: bool, optional
1689
+ :param _return_http_data_only: response data instead of ApiResponse
1690
+ object with status code, headers, etc
1691
+ :type _return_http_data_only: bool, optional
1692
+ :param _request_timeout: timeout setting for this request. If one
1693
+ number provided, it will be total request
1694
+ timeout. It can also be a pair (tuple) of
1695
+ (connection, read) timeouts.
1696
+ :param _request_auth: set to override the auth_settings for an a single
1697
+ request; this effectively ignores the authentication
1698
+ in the spec for a single request.
1699
+ :type _request_auth: dict, optional
1700
+ :type _content_type: string, optional: force content-type for the request
1701
+ :return: Returns the result object.
1702
+ If the method is called asynchronously,
1703
+ returns the request thread.
1704
+ :rtype: tuple(Account, status_code(int), headers(HTTPHeaderDict))
1705
+ """
1706
+
1707
+ _params = locals()
1708
+
1709
+ _all_params = [
1710
+ 'scope',
1711
+ 'code',
1712
+ 'account_code',
1713
+ 'effective_at',
1714
+ 'as_at',
1715
+ 'property_keys'
1716
+ ]
1717
+ _all_params.extend(
1718
+ [
1719
+ 'async_req',
1720
+ '_return_http_data_only',
1721
+ '_preload_content',
1722
+ '_request_timeout',
1723
+ '_request_auth',
1724
+ '_content_type',
1725
+ '_headers'
1726
+ ]
1727
+ )
1728
+
1729
+ # validate the arguments
1730
+ for _key, _val in _params['kwargs'].items():
1731
+ if _key not in _all_params:
1732
+ raise ApiTypeError(
1733
+ "Got an unexpected keyword argument '%s'"
1734
+ " to method get_account" % _key
1735
+ )
1736
+ _params[_key] = _val
1737
+ del _params['kwargs']
1738
+
1739
+ _collection_formats = {}
1740
+
1741
+ # process the path parameters
1742
+ _path_params = {}
1743
+ if _params['scope']:
1744
+ _path_params['scope'] = _params['scope']
1745
+
1746
+ if _params['code']:
1747
+ _path_params['code'] = _params['code']
1748
+
1749
+ if _params['account_code']:
1750
+ _path_params['accountCode'] = _params['account_code']
1751
+
1752
+
1753
+ # process the query parameters
1754
+ _query_params = []
1755
+ if _params.get('effective_at') is not None: # noqa: E501
1756
+ _query_params.append(('effectiveAt', _params['effective_at']))
1757
+
1758
+ if _params.get('as_at') is not None: # noqa: E501
1759
+ if isinstance(_params['as_at'], datetime):
1760
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1761
+ else:
1762
+ _query_params.append(('asAt', _params['as_at']))
1763
+
1764
+ if _params.get('property_keys') is not None: # noqa: E501
1765
+ _query_params.append(('propertyKeys', _params['property_keys']))
1766
+ _collection_formats['propertyKeys'] = 'multi'
1767
+
1768
+ # process the header parameters
1769
+ _header_params = dict(_params.get('_headers', {}))
1770
+ # process the form parameters
1771
+ _form_params = []
1772
+ _files = {}
1773
+ # process the body parameter
1774
+ _body_params = None
1775
+ # set the HTTP header `Accept`
1776
+ _header_params['Accept'] = self.api_client.select_header_accept(
1777
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1778
+
1779
+ # authentication setting
1780
+ _auth_settings = ['oauth2'] # noqa: E501
1781
+
1782
+ _response_types_map = {
1783
+ '200': "Account",
1784
+ '400': "LusidValidationProblemDetails",
1785
+ }
1786
+
1787
+ return self.api_client.call_api(
1788
+ '/api/chartofaccounts/{scope}/{code}/accounts/{accountCode}', 'GET',
1789
+ _path_params,
1790
+ _query_params,
1791
+ _header_params,
1792
+ body=_body_params,
1793
+ post_params=_form_params,
1794
+ files=_files,
1795
+ response_types_map=_response_types_map,
1796
+ auth_settings=_auth_settings,
1797
+ async_req=_params.get('async_req'),
1798
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1799
+ _preload_content=_params.get('_preload_content', True),
1800
+ _request_timeout=_params.get('_request_timeout'),
1801
+ collection_formats=_collection_formats,
1802
+ _request_auth=_params.get('_request_auth'))
1803
+
1804
+ @overload
1805
+ async def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ChartOfAccounts: # noqa: E501
1806
+ ...
1807
+
1808
+ @overload
1809
+ def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=True, **kwargs) -> ChartOfAccounts: # noqa: E501
1810
+ ...
1811
+
1812
+ @validate_arguments
1813
+ def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ChartOfAccounts, Awaitable[ChartOfAccounts]]: # noqa: E501
1814
+ """[EXPERIMENTAL] GetChartOfAccounts: Get ChartOfAccounts # noqa: E501
1815
+
1816
+ Retrieve the definition of a particular Chart of Accounts. # noqa: E501
1817
+ This method makes a synchronous HTTP request by default. To make an
1818
+ asynchronous HTTP request, please pass async_req=True
1819
+
1820
+ >>> thread = api.get_chart_of_accounts(scope, code, effective_at, as_at, property_keys, async_req=True)
1821
+ >>> result = thread.get()
1822
+
1823
+ :param scope: The scope of the Chart of Accounts. (required)
1824
+ :type scope: str
1825
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1826
+ :type code: str
1827
+ :param effective_at: The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.
1828
+ :type effective_at: str
1829
+ :param as_at: The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.
1830
+ :type as_at: datetime
1831
+ :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.
1832
+ :type property_keys: List[str]
1833
+ :param async_req: Whether to execute the request asynchronously.
1834
+ :type async_req: bool, optional
1835
+ :param _request_timeout: timeout setting for this request.
1836
+ If one number provided, it will be total request
1837
+ timeout. It can also be a pair (tuple) of
1838
+ (connection, read) timeouts.
1839
+ :return: Returns the result object.
1840
+ If the method is called asynchronously,
1841
+ returns the request thread.
1842
+ :rtype: ChartOfAccounts
1843
+ """
1844
+ kwargs['_return_http_data_only'] = True
1845
+ if '_preload_content' in kwargs:
1846
+ message = "Error! Please call the get_chart_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1847
+ raise ValueError(message)
1848
+ if async_req is not None:
1849
+ kwargs['async_req'] = async_req
1850
+ return self.get_chart_of_accounts_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
1851
+
1852
+ @validate_arguments
1853
+ def get_chart_of_accounts_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1854
+ """[EXPERIMENTAL] GetChartOfAccounts: Get ChartOfAccounts # noqa: E501
1855
+
1856
+ Retrieve the definition of a particular Chart of Accounts. # noqa: E501
1857
+ This method makes a synchronous HTTP request by default. To make an
1858
+ asynchronous HTTP request, please pass async_req=True
1859
+
1860
+ >>> thread = api.get_chart_of_accounts_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
1861
+ >>> result = thread.get()
1862
+
1863
+ :param scope: The scope of the Chart of Accounts. (required)
1864
+ :type scope: str
1865
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1866
+ :type code: str
1867
+ :param effective_at: The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.
1868
+ :type effective_at: str
1869
+ :param as_at: The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.
1870
+ :type as_at: datetime
1871
+ :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If no properties are specified, then no properties will be returned.
1872
+ :type property_keys: List[str]
1873
+ :param async_req: Whether to execute the request asynchronously.
1874
+ :type async_req: bool, optional
1875
+ :param _preload_content: if False, the ApiResponse.data will
1876
+ be set to none and raw_data will store the
1877
+ HTTP response body without reading/decoding.
1878
+ Default is True.
1879
+ :type _preload_content: bool, optional
1880
+ :param _return_http_data_only: response data instead of ApiResponse
1881
+ object with status code, headers, etc
1882
+ :type _return_http_data_only: bool, optional
1883
+ :param _request_timeout: timeout setting for this request. If one
1884
+ number provided, it will be total request
1885
+ timeout. It can also be a pair (tuple) of
1886
+ (connection, read) timeouts.
1887
+ :param _request_auth: set to override the auth_settings for an a single
1888
+ request; this effectively ignores the authentication
1889
+ in the spec for a single request.
1890
+ :type _request_auth: dict, optional
1891
+ :type _content_type: string, optional: force content-type for the request
1892
+ :return: Returns the result object.
1893
+ If the method is called asynchronously,
1894
+ returns the request thread.
1895
+ :rtype: tuple(ChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
1896
+ """
1897
+
1898
+ _params = locals()
1899
+
1900
+ _all_params = [
1901
+ 'scope',
1902
+ 'code',
1903
+ 'effective_at',
1904
+ 'as_at',
1905
+ 'property_keys'
1906
+ ]
1907
+ _all_params.extend(
1908
+ [
1909
+ 'async_req',
1910
+ '_return_http_data_only',
1911
+ '_preload_content',
1912
+ '_request_timeout',
1913
+ '_request_auth',
1914
+ '_content_type',
1915
+ '_headers'
1916
+ ]
1917
+ )
1918
+
1919
+ # validate the arguments
1920
+ for _key, _val in _params['kwargs'].items():
1921
+ if _key not in _all_params:
1922
+ raise ApiTypeError(
1923
+ "Got an unexpected keyword argument '%s'"
1924
+ " to method get_chart_of_accounts" % _key
1925
+ )
1926
+ _params[_key] = _val
1927
+ del _params['kwargs']
1928
+
1929
+ _collection_formats = {}
1930
+
1931
+ # process the path parameters
1932
+ _path_params = {}
1933
+ if _params['scope']:
1934
+ _path_params['scope'] = _params['scope']
1935
+
1936
+ if _params['code']:
1937
+ _path_params['code'] = _params['code']
1938
+
1939
+
1940
+ # process the query parameters
1941
+ _query_params = []
1942
+ if _params.get('effective_at') is not None: # noqa: E501
1943
+ _query_params.append(('effectiveAt', _params['effective_at']))
1944
+
1945
+ if _params.get('as_at') is not None: # noqa: E501
1946
+ if isinstance(_params['as_at'], datetime):
1947
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1948
+ else:
1949
+ _query_params.append(('asAt', _params['as_at']))
1950
+
1951
+ if _params.get('property_keys') is not None: # noqa: E501
1952
+ _query_params.append(('propertyKeys', _params['property_keys']))
1953
+ _collection_formats['propertyKeys'] = 'multi'
1954
+
1955
+ # process the header parameters
1956
+ _header_params = dict(_params.get('_headers', {}))
1957
+ # process the form parameters
1958
+ _form_params = []
1959
+ _files = {}
1960
+ # process the body parameter
1961
+ _body_params = None
1962
+ # set the HTTP header `Accept`
1963
+ _header_params['Accept'] = self.api_client.select_header_accept(
1964
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1965
+
1966
+ # authentication setting
1967
+ _auth_settings = ['oauth2'] # noqa: E501
1968
+
1969
+ _response_types_map = {
1970
+ '200': "ChartOfAccounts",
1971
+ '400': "LusidValidationProblemDetails",
1972
+ }
1973
+
1974
+ return self.api_client.call_api(
1975
+ '/api/chartofaccounts/{scope}/{code}', 'GET',
1976
+ _path_params,
1977
+ _query_params,
1978
+ _header_params,
1979
+ body=_body_params,
1980
+ post_params=_form_params,
1981
+ files=_files,
1982
+ response_types_map=_response_types_map,
1983
+ auth_settings=_auth_settings,
1984
+ async_req=_params.get('async_req'),
1985
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1986
+ _preload_content=_params.get('_preload_content', True),
1987
+ _request_timeout=_params.get('_request_timeout'),
1988
+ collection_formats=_collection_formats,
1989
+ _request_auth=_params.get('_request_auth'))
1990
+
1991
+ @overload
1992
+ async def get_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.")] = None, **kwargs) -> CleardownModuleResponse: # noqa: E501
1993
+ ...
1994
+
1995
+ @overload
1996
+ def get_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> CleardownModuleResponse: # noqa: E501
1997
+ ...
1998
+
1999
+ @validate_arguments
2000
+ def get_cleardown_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[CleardownModuleResponse, Awaitable[CleardownModuleResponse]]: # noqa: E501
2001
+ """[EXPERIMENTAL] GetCleardownModule: Get a Cleardown Module # noqa: E501
2002
+
2003
+ Retrieve the definition of a Cleardown Module complete with its rules. # noqa: E501
2004
+ This method makes a synchronous HTTP request by default. To make an
2005
+ asynchronous HTTP request, please pass async_req=True
2006
+
2007
+ >>> thread = api.get_cleardown_module(scope, code, cleardown_module_code, as_at, async_req=True)
2008
+ >>> result = thread.get()
2009
+
2010
+ :param scope: The scope of the Chart of Accounts. (required)
2011
+ :type scope: str
2012
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2013
+ :type code: str
2014
+ :param cleardown_module_code: The code of the Cleardown Module. (required)
2015
+ :type cleardown_module_code: str
2016
+ :param as_at: The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.
2017
+ :type as_at: datetime
2018
+ :param async_req: Whether to execute the request asynchronously.
2019
+ :type async_req: bool, optional
2020
+ :param _request_timeout: timeout setting for this request.
2021
+ If one number provided, it will be total request
2022
+ timeout. It can also be a pair (tuple) of
2023
+ (connection, read) timeouts.
2024
+ :return: Returns the result object.
2025
+ If the method is called asynchronously,
2026
+ returns the request thread.
2027
+ :rtype: CleardownModuleResponse
2028
+ """
2029
+ kwargs['_return_http_data_only'] = True
2030
+ if '_preload_content' in kwargs:
2031
+ message = "Error! Please call the get_cleardown_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2032
+ raise ValueError(message)
2033
+ if async_req is not None:
2034
+ kwargs['async_req'] = async_req
2035
+ return self.get_cleardown_module_with_http_info(scope, code, cleardown_module_code, as_at, **kwargs) # noqa: E501
2036
+
2037
+ @validate_arguments
2038
+ def get_cleardown_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2039
+ """[EXPERIMENTAL] GetCleardownModule: Get a Cleardown Module # noqa: E501
2040
+
2041
+ Retrieve the definition of a Cleardown Module complete with its rules. # noqa: E501
2042
+ This method makes a synchronous HTTP request by default. To make an
2043
+ asynchronous HTTP request, please pass async_req=True
2044
+
2045
+ >>> thread = api.get_cleardown_module_with_http_info(scope, code, cleardown_module_code, as_at, async_req=True)
2046
+ >>> result = thread.get()
2047
+
2048
+ :param scope: The scope of the Chart of Accounts. (required)
2049
+ :type scope: str
2050
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2051
+ :type code: str
2052
+ :param cleardown_module_code: The code of the Cleardown Module. (required)
2053
+ :type cleardown_module_code: str
2054
+ :param as_at: The asAt datetime at which to retrieve the Cleardown Module. Defaults to return the latest version of the Cleardown Module if not specified.
2055
+ :type as_at: datetime
2056
+ :param async_req: Whether to execute the request asynchronously.
2057
+ :type async_req: bool, optional
2058
+ :param _preload_content: if False, the ApiResponse.data will
2059
+ be set to none and raw_data will store the
2060
+ HTTP response body without reading/decoding.
2061
+ Default is True.
2062
+ :type _preload_content: bool, optional
2063
+ :param _return_http_data_only: response data instead of ApiResponse
2064
+ object with status code, headers, etc
2065
+ :type _return_http_data_only: bool, optional
2066
+ :param _request_timeout: timeout setting for this request. If one
2067
+ number provided, it will be total request
2068
+ timeout. It can also be a pair (tuple) of
2069
+ (connection, read) timeouts.
2070
+ :param _request_auth: set to override the auth_settings for an a single
2071
+ request; this effectively ignores the authentication
2072
+ in the spec for a single request.
2073
+ :type _request_auth: dict, optional
2074
+ :type _content_type: string, optional: force content-type for the request
2075
+ :return: Returns the result object.
2076
+ If the method is called asynchronously,
2077
+ returns the request thread.
2078
+ :rtype: tuple(CleardownModuleResponse, status_code(int), headers(HTTPHeaderDict))
2079
+ """
2080
+
2081
+ _params = locals()
2082
+
2083
+ _all_params = [
2084
+ 'scope',
2085
+ 'code',
2086
+ 'cleardown_module_code',
2087
+ 'as_at'
2088
+ ]
2089
+ _all_params.extend(
2090
+ [
2091
+ 'async_req',
2092
+ '_return_http_data_only',
2093
+ '_preload_content',
2094
+ '_request_timeout',
2095
+ '_request_auth',
2096
+ '_content_type',
2097
+ '_headers'
2098
+ ]
2099
+ )
2100
+
2101
+ # validate the arguments
2102
+ for _key, _val in _params['kwargs'].items():
2103
+ if _key not in _all_params:
2104
+ raise ApiTypeError(
2105
+ "Got an unexpected keyword argument '%s'"
2106
+ " to method get_cleardown_module" % _key
2107
+ )
2108
+ _params[_key] = _val
2109
+ del _params['kwargs']
2110
+
2111
+ _collection_formats = {}
2112
+
2113
+ # process the path parameters
2114
+ _path_params = {}
2115
+ if _params['scope']:
2116
+ _path_params['scope'] = _params['scope']
2117
+
2118
+ if _params['code']:
2119
+ _path_params['code'] = _params['code']
2120
+
2121
+ if _params['cleardown_module_code']:
2122
+ _path_params['cleardownModuleCode'] = _params['cleardown_module_code']
2123
+
2124
+
2125
+ # process the query parameters
2126
+ _query_params = []
2127
+ if _params.get('as_at') is not None: # noqa: E501
2128
+ if isinstance(_params['as_at'], datetime):
2129
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2130
+ else:
2131
+ _query_params.append(('asAt', _params['as_at']))
2132
+
2133
+ # process the header parameters
2134
+ _header_params = dict(_params.get('_headers', {}))
2135
+ # process the form parameters
2136
+ _form_params = []
2137
+ _files = {}
2138
+ # process the body parameter
2139
+ _body_params = None
2140
+ # set the HTTP header `Accept`
2141
+ _header_params['Accept'] = self.api_client.select_header_accept(
2142
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2143
+
2144
+ # authentication setting
2145
+ _auth_settings = ['oauth2'] # noqa: E501
2146
+
2147
+ _response_types_map = {
2148
+ '200': "CleardownModuleResponse",
2149
+ '400': "LusidValidationProblemDetails",
2150
+ }
2151
+
2152
+ return self.api_client.call_api(
2153
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules/{cleardownModuleCode}', 'GET',
2154
+ _path_params,
2155
+ _query_params,
2156
+ _header_params,
2157
+ body=_body_params,
2158
+ post_params=_form_params,
2159
+ files=_files,
2160
+ response_types_map=_response_types_map,
2161
+ auth_settings=_auth_settings,
2162
+ async_req=_params.get('async_req'),
2163
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2164
+ _preload_content=_params.get('_preload_content', True),
2165
+ _request_timeout=_params.get('_request_timeout'),
2166
+ collection_formats=_collection_formats,
2167
+ _request_auth=_params.get('_request_auth'))
2168
+
2169
+ @overload
2170
+ async def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.")] = None, **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
2171
+ ...
2172
+
2173
+ @overload
2174
+ def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
2175
+ ...
2176
+
2177
+ @validate_arguments
2178
+ def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GeneralLedgerProfileResponse, Awaitable[GeneralLedgerProfileResponse]]: # noqa: E501
2179
+ """[EXPERIMENTAL] GetGeneralLedgerProfile: Get a General Ledger Profile. # noqa: E501
2180
+
2181
+ Get the given General Ledger Profile. # noqa: E501
2182
+ This method makes a synchronous HTTP request by default. To make an
2183
+ asynchronous HTTP request, please pass async_req=True
2184
+
2185
+ >>> thread = api.get_general_ledger_profile(scope, code, general_ledger_profile_code, as_at, async_req=True)
2186
+ >>> result = thread.get()
2187
+
2188
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
2189
+ :type scope: str
2190
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
2191
+ :type code: str
2192
+ :param general_ledger_profile_code: The General Ledger Profile Code of the General Ledger Profile. (required)
2193
+ :type general_ledger_profile_code: str
2194
+ :param as_at: The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.
2195
+ :type as_at: datetime
2196
+ :param async_req: Whether to execute the request asynchronously.
2197
+ :type async_req: bool, optional
2198
+ :param _request_timeout: timeout setting for this request.
2199
+ If one number provided, it will be total request
2200
+ timeout. It can also be a pair (tuple) of
2201
+ (connection, read) timeouts.
2202
+ :return: Returns the result object.
2203
+ If the method is called asynchronously,
2204
+ returns the request thread.
2205
+ :rtype: GeneralLedgerProfileResponse
2206
+ """
2207
+ kwargs['_return_http_data_only'] = True
2208
+ if '_preload_content' in kwargs:
2209
+ message = "Error! Please call the get_general_ledger_profile_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2210
+ raise ValueError(message)
2211
+ if async_req is not None:
2212
+ kwargs['async_req'] = async_req
2213
+ return self.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, as_at, **kwargs) # noqa: E501
2214
+
2215
+ @validate_arguments
2216
+ def get_general_ledger_profile_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2217
+ """[EXPERIMENTAL] GetGeneralLedgerProfile: Get a General Ledger Profile. # noqa: E501
2218
+
2219
+ Get the given General Ledger Profile. # noqa: E501
2220
+ This method makes a synchronous HTTP request by default. To make an
2221
+ asynchronous HTTP request, please pass async_req=True
2222
+
2223
+ >>> thread = api.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, as_at, async_req=True)
2224
+ >>> result = thread.get()
2225
+
2226
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
2227
+ :type scope: str
2228
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
2229
+ :type code: str
2230
+ :param general_ledger_profile_code: The General Ledger Profile Code of the General Ledger Profile. (required)
2231
+ :type general_ledger_profile_code: str
2232
+ :param as_at: The asAt datetime at which to retrieve the General Ledger Profile. Defaults to return the latest version of the General Ledger Profile if not specified.
2233
+ :type as_at: datetime
2234
+ :param async_req: Whether to execute the request asynchronously.
2235
+ :type async_req: bool, optional
2236
+ :param _preload_content: if False, the ApiResponse.data will
2237
+ be set to none and raw_data will store the
2238
+ HTTP response body without reading/decoding.
2239
+ Default is True.
2240
+ :type _preload_content: bool, optional
2241
+ :param _return_http_data_only: response data instead of ApiResponse
2242
+ object with status code, headers, etc
2243
+ :type _return_http_data_only: bool, optional
2244
+ :param _request_timeout: timeout setting for this request. If one
2245
+ number provided, it will be total request
2246
+ timeout. It can also be a pair (tuple) of
2247
+ (connection, read) timeouts.
2248
+ :param _request_auth: set to override the auth_settings for an a single
2249
+ request; this effectively ignores the authentication
2250
+ in the spec for a single request.
2251
+ :type _request_auth: dict, optional
2252
+ :type _content_type: string, optional: force content-type for the request
2253
+ :return: Returns the result object.
2254
+ If the method is called asynchronously,
2255
+ returns the request thread.
2256
+ :rtype: tuple(GeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
2257
+ """
2258
+
2259
+ _params = locals()
2260
+
2261
+ _all_params = [
2262
+ 'scope',
2263
+ 'code',
2264
+ 'general_ledger_profile_code',
2265
+ 'as_at'
2266
+ ]
2267
+ _all_params.extend(
2268
+ [
2269
+ 'async_req',
2270
+ '_return_http_data_only',
2271
+ '_preload_content',
2272
+ '_request_timeout',
2273
+ '_request_auth',
2274
+ '_content_type',
2275
+ '_headers'
2276
+ ]
2277
+ )
2278
+
2279
+ # validate the arguments
2280
+ for _key, _val in _params['kwargs'].items():
2281
+ if _key not in _all_params:
2282
+ raise ApiTypeError(
2283
+ "Got an unexpected keyword argument '%s'"
2284
+ " to method get_general_ledger_profile" % _key
2285
+ )
2286
+ _params[_key] = _val
2287
+ del _params['kwargs']
2288
+
2289
+ _collection_formats = {}
2290
+
2291
+ # process the path parameters
2292
+ _path_params = {}
2293
+ if _params['scope']:
2294
+ _path_params['scope'] = _params['scope']
2295
+
2296
+ if _params['code']:
2297
+ _path_params['code'] = _params['code']
2298
+
2299
+ if _params['general_ledger_profile_code']:
2300
+ _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
2301
+
2302
+
2303
+ # process the query parameters
2304
+ _query_params = []
2305
+ if _params.get('as_at') is not None: # noqa: E501
2306
+ if isinstance(_params['as_at'], datetime):
2307
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2308
+ else:
2309
+ _query_params.append(('asAt', _params['as_at']))
2310
+
2311
+ # process the header parameters
2312
+ _header_params = dict(_params.get('_headers', {}))
2313
+ # process the form parameters
2314
+ _form_params = []
2315
+ _files = {}
2316
+ # process the body parameter
2317
+ _body_params = None
2318
+ # set the HTTP header `Accept`
2319
+ _header_params['Accept'] = self.api_client.select_header_accept(
2320
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2321
+
2322
+ # authentication setting
2323
+ _auth_settings = ['oauth2'] # noqa: E501
2324
+
2325
+ _response_types_map = {
2326
+ '200': "GeneralLedgerProfileResponse",
2327
+ '400': "LusidValidationProblemDetails",
2328
+ }
2329
+
2330
+ return self.api_client.call_api(
2331
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'GET',
2332
+ _path_params,
2333
+ _query_params,
2334
+ _header_params,
2335
+ body=_body_params,
2336
+ post_params=_form_params,
2337
+ files=_files,
2338
+ response_types_map=_response_types_map,
2339
+ auth_settings=_auth_settings,
2340
+ async_req=_params.get('async_req'),
2341
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2342
+ _preload_content=_params.get('_preload_content', True),
2343
+ _request_timeout=_params.get('_request_timeout'),
2344
+ collection_formats=_collection_formats,
2345
+ _request_auth=_params.get('_request_auth'))
2346
+
2347
+ @overload
2348
+ async def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.")] = None, **kwargs) -> PostingModuleResponse: # noqa: E501
2349
+ ...
2350
+
2351
+ @overload
2352
+ def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> PostingModuleResponse: # noqa: E501
2353
+ ...
2354
+
2355
+ @validate_arguments
2356
+ def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PostingModuleResponse, Awaitable[PostingModuleResponse]]: # noqa: E501
2357
+ """[EXPERIMENTAL] GetPostingModule: Get a Posting Module # noqa: E501
2358
+
2359
+ Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
2360
+ This method makes a synchronous HTTP request by default. To make an
2361
+ asynchronous HTTP request, please pass async_req=True
2362
+
2363
+ >>> thread = api.get_posting_module(scope, code, posting_module_code, as_at, async_req=True)
2364
+ >>> result = thread.get()
2365
+
2366
+ :param scope: The scope of the Chart of Accounts. (required)
2367
+ :type scope: str
2368
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2369
+ :type code: str
2370
+ :param posting_module_code: The code of the Posting Module. (required)
2371
+ :type posting_module_code: str
2372
+ :param as_at: The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.
2373
+ :type as_at: datetime
2374
+ :param async_req: Whether to execute the request asynchronously.
2375
+ :type async_req: bool, optional
2376
+ :param _request_timeout: timeout setting for this request.
2377
+ If one number provided, it will be total request
2378
+ timeout. It can also be a pair (tuple) of
2379
+ (connection, read) timeouts.
2380
+ :return: Returns the result object.
2381
+ If the method is called asynchronously,
2382
+ returns the request thread.
2383
+ :rtype: PostingModuleResponse
2384
+ """
2385
+ kwargs['_return_http_data_only'] = True
2386
+ if '_preload_content' in kwargs:
2387
+ message = "Error! Please call the get_posting_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2388
+ raise ValueError(message)
2389
+ if async_req is not None:
2390
+ kwargs['async_req'] = async_req
2391
+ return self.get_posting_module_with_http_info(scope, code, posting_module_code, as_at, **kwargs) # noqa: E501
2392
+
2393
+ @validate_arguments
2394
+ def get_posting_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2395
+ """[EXPERIMENTAL] GetPostingModule: Get a Posting Module # noqa: E501
2396
+
2397
+ Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
2398
+ This method makes a synchronous HTTP request by default. To make an
2399
+ asynchronous HTTP request, please pass async_req=True
2400
+
2401
+ >>> thread = api.get_posting_module_with_http_info(scope, code, posting_module_code, as_at, async_req=True)
2402
+ >>> result = thread.get()
2403
+
2404
+ :param scope: The scope of the Chart of Accounts. (required)
2405
+ :type scope: str
2406
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2407
+ :type code: str
2408
+ :param posting_module_code: The code of the Posting Module. (required)
2409
+ :type posting_module_code: str
2410
+ :param as_at: The asAt datetime at which to retrieve the Posting Module. Defaults to return the latest version of the Posting Module if not specified.
2411
+ :type as_at: datetime
2412
+ :param async_req: Whether to execute the request asynchronously.
2413
+ :type async_req: bool, optional
2414
+ :param _preload_content: if False, the ApiResponse.data will
2415
+ be set to none and raw_data will store the
2416
+ HTTP response body without reading/decoding.
2417
+ Default is True.
2418
+ :type _preload_content: bool, optional
2419
+ :param _return_http_data_only: response data instead of ApiResponse
2420
+ object with status code, headers, etc
2421
+ :type _return_http_data_only: bool, optional
2422
+ :param _request_timeout: timeout setting for this request. If one
2423
+ number provided, it will be total request
2424
+ timeout. It can also be a pair (tuple) of
2425
+ (connection, read) timeouts.
2426
+ :param _request_auth: set to override the auth_settings for an a single
2427
+ request; this effectively ignores the authentication
2428
+ in the spec for a single request.
2429
+ :type _request_auth: dict, optional
2430
+ :type _content_type: string, optional: force content-type for the request
2431
+ :return: Returns the result object.
2432
+ If the method is called asynchronously,
2433
+ returns the request thread.
2434
+ :rtype: tuple(PostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
2435
+ """
2436
+
2437
+ _params = locals()
2438
+
2439
+ _all_params = [
2440
+ 'scope',
2441
+ 'code',
2442
+ 'posting_module_code',
2443
+ 'as_at'
2444
+ ]
2445
+ _all_params.extend(
2446
+ [
2447
+ 'async_req',
2448
+ '_return_http_data_only',
2449
+ '_preload_content',
2450
+ '_request_timeout',
2451
+ '_request_auth',
2452
+ '_content_type',
2453
+ '_headers'
2454
+ ]
2455
+ )
2456
+
2457
+ # validate the arguments
2458
+ for _key, _val in _params['kwargs'].items():
2459
+ if _key not in _all_params:
2460
+ raise ApiTypeError(
2461
+ "Got an unexpected keyword argument '%s'"
2462
+ " to method get_posting_module" % _key
2463
+ )
2464
+ _params[_key] = _val
2465
+ del _params['kwargs']
2466
+
2467
+ _collection_formats = {}
2468
+
2469
+ # process the path parameters
2470
+ _path_params = {}
2471
+ if _params['scope']:
2472
+ _path_params['scope'] = _params['scope']
2473
+
2474
+ if _params['code']:
2475
+ _path_params['code'] = _params['code']
2476
+
2477
+ if _params['posting_module_code']:
2478
+ _path_params['postingModuleCode'] = _params['posting_module_code']
2479
+
2480
+
2481
+ # process the query parameters
2482
+ _query_params = []
2483
+ if _params.get('as_at') is not None: # noqa: E501
2484
+ if isinstance(_params['as_at'], datetime):
2485
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2486
+ else:
2487
+ _query_params.append(('asAt', _params['as_at']))
2488
+
2489
+ # process the header parameters
2490
+ _header_params = dict(_params.get('_headers', {}))
2491
+ # process the form parameters
2492
+ _form_params = []
2493
+ _files = {}
2494
+ # process the body parameter
2495
+ _body_params = None
2496
+ # set the HTTP header `Accept`
2497
+ _header_params['Accept'] = self.api_client.select_header_accept(
2498
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2499
+
2500
+ # authentication setting
2501
+ _auth_settings = ['oauth2'] # noqa: E501
2502
+
2503
+ _response_types_map = {
2504
+ '200': "PostingModuleResponse",
2505
+ '400': "LusidValidationProblemDetails",
2506
+ }
2507
+
2508
+ return self.api_client.call_api(
2509
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'GET',
2510
+ _path_params,
2511
+ _query_params,
2512
+ _header_params,
2513
+ body=_body_params,
2514
+ post_params=_form_params,
2515
+ files=_files,
2516
+ response_types_map=_response_types_map,
2517
+ auth_settings=_auth_settings,
2518
+ async_req=_params.get('async_req'),
2519
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2520
+ _preload_content=_params.get('_preload_content', True),
2521
+ _request_timeout=_params.get('_request_timeout'),
2522
+ collection_formats=_collection_formats,
2523
+ _request_auth=_params.get('_request_auth'))
2524
+
2525
+ @overload
2526
+ async def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, **kwargs) -> PagedResourceListOfAccount: # noqa: E501
2527
+ ...
2528
+
2529
+ @overload
2530
+ def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfAccount: # noqa: E501
2531
+ ...
2532
+
2533
+ @validate_arguments
2534
+ def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfAccount, Awaitable[PagedResourceListOfAccount]]: # noqa: E501
2535
+ """[EXPERIMENTAL] ListAccounts: List Accounts # noqa: E501
2536
+
2537
+ List the accounts in a Chart of Accounts # noqa: E501
2538
+ This method makes a synchronous HTTP request by default. To make an
2539
+ asynchronous HTTP request, please pass async_req=True
2540
+
2541
+ >>> thread = api.list_accounts(scope, code, effective_at, as_at, page, limit, filter, property_keys, async_req=True)
2542
+ >>> result = thread.get()
2543
+
2544
+ :param scope: The scope of the Chart of Accounts. (required)
2545
+ :type scope: str
2546
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2547
+ :type code: str
2548
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. Defaults to the current LUSID system datetime if not specified.
2549
+ :type effective_at: str
2550
+ :param as_at: The asAt datetime at which to retrieve the Accounts. Defaults to returning the latest version if not specified.
2551
+ :type as_at: datetime
2552
+ :param page: The pagination token to use to continue listing charts of accounts; 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.
2553
+ :type page: str
2554
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2555
+ :type limit: int
2556
+ :param filter: Expression to filter the results. For example, to filter on the Account type, specify \"code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2557
+ :type filter: str
2558
+ :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.
2559
+ :type property_keys: List[str]
2560
+ :param async_req: Whether to execute the request asynchronously.
2561
+ :type async_req: bool, optional
2562
+ :param _request_timeout: timeout setting for this request.
2563
+ If one number provided, it will be total request
2564
+ timeout. It can also be a pair (tuple) of
2565
+ (connection, read) timeouts.
2566
+ :return: Returns the result object.
2567
+ If the method is called asynchronously,
2568
+ returns the request thread.
2569
+ :rtype: PagedResourceListOfAccount
2570
+ """
2571
+ kwargs['_return_http_data_only'] = True
2572
+ if '_preload_content' in kwargs:
2573
+ message = "Error! Please call the list_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2574
+ raise ValueError(message)
2575
+ if async_req is not None:
2576
+ kwargs['async_req'] = async_req
2577
+ return self.list_accounts_with_http_info(scope, code, effective_at, as_at, page, limit, filter, property_keys, **kwargs) # noqa: E501
1310
2578
 
1311
2579
  @validate_arguments
1312
- def get_account_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], account_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Account.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1313
- """[EXPERIMENTAL] GetAccount: Get Account # noqa: E501
2580
+ def list_accounts_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2581
+ """[EXPERIMENTAL] ListAccounts: List Accounts # noqa: E501
1314
2582
 
1315
- Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
2583
+ List the accounts in a Chart of Accounts # noqa: E501
1316
2584
  This method makes a synchronous HTTP request by default. To make an
1317
2585
  asynchronous HTTP request, please pass async_req=True
1318
2586
 
1319
- >>> thread = api.get_account_with_http_info(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
2587
+ >>> thread = api.list_accounts_with_http_info(scope, code, effective_at, as_at, page, limit, filter, property_keys, async_req=True)
1320
2588
  >>> result = thread.get()
1321
2589
 
1322
2590
  :param scope: The scope of the Chart of Accounts. (required)
1323
2591
  :type scope: str
1324
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2592
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1325
2593
  :type code: str
1326
- :param account_code: The code of the Account. (required)
1327
- :type account_code: str
1328
- :param effective_at: The effective datetime or cut label at which to retrieve the Account properties. Defaults to the current LUSID system datetime if not specified.
2594
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. Defaults to the current LUSID system datetime if not specified.
1329
2595
  :type effective_at: str
1330
- :param as_at: The asAt datetime at which to retrieve the Account definition. Defaults to returning the latest version of the Account definition if not specified.
2596
+ :param as_at: The asAt datetime at which to retrieve the Accounts. Defaults to returning the latest version if not specified.
1331
2597
  :type as_at: datetime
1332
- :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must take the format {domain}/{scope}/{code}, for example 'Account/Manager/Id'. If not provided will return all the entitled properties for that Account.
2598
+ :param page: The pagination token to use to continue listing charts of accounts; 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.
2599
+ :type page: str
2600
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2601
+ :type limit: int
2602
+ :param filter: Expression to filter the results. For example, to filter on the Account type, specify \"code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2603
+ :type filter: str
2604
+ :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.
1333
2605
  :type property_keys: List[str]
1334
2606
  :param async_req: Whether to execute the request asynchronously.
1335
2607
  :type async_req: bool, optional
@@ -1353,7 +2625,7 @@ class ChartOfAccountsApi:
1353
2625
  :return: Returns the result object.
1354
2626
  If the method is called asynchronously,
1355
2627
  returns the request thread.
1356
- :rtype: tuple(Account, status_code(int), headers(HTTPHeaderDict))
2628
+ :rtype: tuple(PagedResourceListOfAccount, status_code(int), headers(HTTPHeaderDict))
1357
2629
  """
1358
2630
 
1359
2631
  _params = locals()
@@ -1361,9 +2633,11 @@ class ChartOfAccountsApi:
1361
2633
  _all_params = [
1362
2634
  'scope',
1363
2635
  'code',
1364
- 'account_code',
1365
2636
  'effective_at',
1366
2637
  'as_at',
2638
+ 'page',
2639
+ 'limit',
2640
+ 'filter',
1367
2641
  'property_keys'
1368
2642
  ]
1369
2643
  _all_params.extend(
@@ -1383,7 +2657,7 @@ class ChartOfAccountsApi:
1383
2657
  if _key not in _all_params:
1384
2658
  raise ApiTypeError(
1385
2659
  "Got an unexpected keyword argument '%s'"
1386
- " to method get_account" % _key
2660
+ " to method list_accounts" % _key
1387
2661
  )
1388
2662
  _params[_key] = _val
1389
2663
  del _params['kwargs']
@@ -1398,9 +2672,6 @@ class ChartOfAccountsApi:
1398
2672
  if _params['code']:
1399
2673
  _path_params['code'] = _params['code']
1400
2674
 
1401
- if _params['account_code']:
1402
- _path_params['accountCode'] = _params['account_code']
1403
-
1404
2675
 
1405
2676
  # process the query parameters
1406
2677
  _query_params = []
@@ -1413,6 +2684,15 @@ class ChartOfAccountsApi:
1413
2684
  else:
1414
2685
  _query_params.append(('asAt', _params['as_at']))
1415
2686
 
2687
+ if _params.get('page') is not None: # noqa: E501
2688
+ _query_params.append(('page', _params['page']))
2689
+
2690
+ if _params.get('limit') is not None: # noqa: E501
2691
+ _query_params.append(('limit', _params['limit']))
2692
+
2693
+ if _params.get('filter') is not None: # noqa: E501
2694
+ _query_params.append(('filter', _params['filter']))
2695
+
1416
2696
  if _params.get('property_keys') is not None: # noqa: E501
1417
2697
  _query_params.append(('propertyKeys', _params['property_keys']))
1418
2698
  _collection_formats['propertyKeys'] = 'multi'
@@ -1432,12 +2712,12 @@ class ChartOfAccountsApi:
1432
2712
  _auth_settings = ['oauth2'] # noqa: E501
1433
2713
 
1434
2714
  _response_types_map = {
1435
- '200': "Account",
2715
+ '200': "PagedResourceListOfAccount",
1436
2716
  '400': "LusidValidationProblemDetails",
1437
2717
  }
1438
2718
 
1439
2719
  return self.api_client.call_api(
1440
- '/api/chartofaccounts/{scope}/{code}/accounts/{accountCode}', 'GET',
2720
+ '/api/chartofaccounts/{scope}/{code}/accounts', 'GET',
1441
2721
  _path_params,
1442
2722
  _query_params,
1443
2723
  _header_params,
@@ -1454,33 +2734,37 @@ class ChartOfAccountsApi:
1454
2734
  _request_auth=_params.get('_request_auth'))
1455
2735
 
1456
2736
  @overload
1457
- async def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.")] = None, **kwargs) -> ChartOfAccounts: # noqa: E501
2737
+ async def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, **kwargs) -> PagedResourceListOfChartOfAccounts: # noqa: E501
1458
2738
  ...
1459
2739
 
1460
2740
  @overload
1461
- def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.")] = None, async_req: Optional[bool]=True, **kwargs) -> ChartOfAccounts: # noqa: E501
2741
+ def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfChartOfAccounts: # noqa: E501
1462
2742
  ...
1463
2743
 
1464
2744
  @validate_arguments
1465
- def get_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ChartOfAccounts, Awaitable[ChartOfAccounts]]: # noqa: E501
1466
- """[EXPERIMENTAL] GetChartOfAccounts: Get ChartOfAccounts # noqa: E501
2745
+ def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfChartOfAccounts, Awaitable[PagedResourceListOfChartOfAccounts]]: # noqa: E501
2746
+ """[EXPERIMENTAL] ListChartsOfAccounts: List Charts of Accounts # noqa: E501
1467
2747
 
1468
- Retrieve the definition of a particular Chart of Accounts. # noqa: E501
2748
+ List all the Charts of Accounts matching particular criteria. # noqa: E501
1469
2749
  This method makes a synchronous HTTP request by default. To make an
1470
2750
  asynchronous HTTP request, please pass async_req=True
1471
2751
 
1472
- >>> thread = api.get_chart_of_accounts(scope, code, effective_at, as_at, property_keys, async_req=True)
2752
+ >>> thread = api.list_charts_of_accounts(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
1473
2753
  >>> result = thread.get()
1474
2754
 
1475
- :param scope: The scope of the Chart of Accounts. (required)
1476
- :type scope: str
1477
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1478
- :type code: str
1479
- :param effective_at: The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.
2755
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. Defaults to the current LUSID system datetime if not specified.
1480
2756
  :type effective_at: str
1481
- :param as_at: The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.
2757
+ :param as_at: The asAt datetime at which to list the charts of accounts. Defaults to returning the latest version of each Chart of Accounts if not specified.
1482
2758
  :type as_at: datetime
1483
- :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.
2759
+ :param page: The pagination token to use to continue listing charts of accounts; 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.
2760
+ :type page: str
2761
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2762
+ :type limit: int
2763
+ :param filter: Expression to filter the results. For example, to filter on the Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2764
+ :type filter: str
2765
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
2766
+ :type sort_by: List[str]
2767
+ :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.
1484
2768
  :type property_keys: List[str]
1485
2769
  :param async_req: Whether to execute the request asynchronously.
1486
2770
  :type async_req: bool, optional
@@ -1491,36 +2775,40 @@ class ChartOfAccountsApi:
1491
2775
  :return: Returns the result object.
1492
2776
  If the method is called asynchronously,
1493
2777
  returns the request thread.
1494
- :rtype: ChartOfAccounts
2778
+ :rtype: PagedResourceListOfChartOfAccounts
1495
2779
  """
1496
2780
  kwargs['_return_http_data_only'] = True
1497
2781
  if '_preload_content' in kwargs:
1498
- message = "Error! Please call the get_chart_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2782
+ message = "Error! Please call the list_charts_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1499
2783
  raise ValueError(message)
1500
2784
  if async_req is not None:
1501
2785
  kwargs['async_req'] = async_req
1502
- return self.get_chart_of_accounts_with_http_info(scope, code, effective_at, as_at, property_keys, **kwargs) # noqa: E501
2786
+ return self.list_charts_of_accounts_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, **kwargs) # noqa: E501
1503
2787
 
1504
2788
  @validate_arguments
1505
- def get_chart_of_accounts_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1506
- """[EXPERIMENTAL] GetChartOfAccounts: Get ChartOfAccounts # noqa: E501
2789
+ def list_charts_of_accounts_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 Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2790
+ """[EXPERIMENTAL] ListChartsOfAccounts: List Charts of Accounts # noqa: E501
1507
2791
 
1508
- Retrieve the definition of a particular Chart of Accounts. # noqa: E501
2792
+ List all the Charts of Accounts matching particular criteria. # noqa: E501
1509
2793
  This method makes a synchronous HTTP request by default. To make an
1510
2794
  asynchronous HTTP request, please pass async_req=True
1511
2795
 
1512
- >>> thread = api.get_chart_of_accounts_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
2796
+ >>> thread = api.list_charts_of_accounts_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
1513
2797
  >>> result = thread.get()
1514
2798
 
1515
- :param scope: The scope of the Chart of Accounts. (required)
1516
- :type scope: str
1517
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1518
- :type code: str
1519
- :param effective_at: The effective datetime or cut label at which to retrieve the Chart of Accounts properties. Defaults to the current LUSID system datetime if not specified.
2799
+ :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. Defaults to the current LUSID system datetime if not specified.
1520
2800
  :type effective_at: str
1521
- :param as_at: The asAt datetime at which to retrieve the Chart of Accounts definition. Defaults to returning the latest version of the Chart of Accounts definition if not specified.
2801
+ :param as_at: The asAt datetime at which to list the charts of accounts. Defaults to returning the latest version of each Chart of Accounts if not specified.
1522
2802
  :type as_at: datetime
1523
- :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto the Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'. If not provided will return all the entitled properties for that Chart of Accounts.
2803
+ :param page: The pagination token to use to continue listing charts of accounts; 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.
2804
+ :type page: str
2805
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2806
+ :type limit: int
2807
+ :param filter: Expression to filter the results. For example, to filter on the Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2808
+ :type filter: str
2809
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
2810
+ :type sort_by: List[str]
2811
+ :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.
1524
2812
  :type property_keys: List[str]
1525
2813
  :param async_req: Whether to execute the request asynchronously.
1526
2814
  :type async_req: bool, optional
@@ -1544,16 +2832,18 @@ class ChartOfAccountsApi:
1544
2832
  :return: Returns the result object.
1545
2833
  If the method is called asynchronously,
1546
2834
  returns the request thread.
1547
- :rtype: tuple(ChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
2835
+ :rtype: tuple(PagedResourceListOfChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
1548
2836
  """
1549
2837
 
1550
2838
  _params = locals()
1551
2839
 
1552
2840
  _all_params = [
1553
- 'scope',
1554
- 'code',
1555
2841
  'effective_at',
1556
2842
  'as_at',
2843
+ 'page',
2844
+ 'limit',
2845
+ 'filter',
2846
+ 'sort_by',
1557
2847
  'property_keys'
1558
2848
  ]
1559
2849
  _all_params.extend(
@@ -1573,7 +2863,7 @@ class ChartOfAccountsApi:
1573
2863
  if _key not in _all_params:
1574
2864
  raise ApiTypeError(
1575
2865
  "Got an unexpected keyword argument '%s'"
1576
- " to method get_chart_of_accounts" % _key
2866
+ " to method list_charts_of_accounts" % _key
1577
2867
  )
1578
2868
  _params[_key] = _val
1579
2869
  del _params['kwargs']
@@ -1582,12 +2872,6 @@ class ChartOfAccountsApi:
1582
2872
 
1583
2873
  # process the path parameters
1584
2874
  _path_params = {}
1585
- if _params['scope']:
1586
- _path_params['scope'] = _params['scope']
1587
-
1588
- if _params['code']:
1589
- _path_params['code'] = _params['code']
1590
-
1591
2875
 
1592
2876
  # process the query parameters
1593
2877
  _query_params = []
@@ -1600,6 +2884,19 @@ class ChartOfAccountsApi:
1600
2884
  else:
1601
2885
  _query_params.append(('asAt', _params['as_at']))
1602
2886
 
2887
+ if _params.get('page') is not None: # noqa: E501
2888
+ _query_params.append(('page', _params['page']))
2889
+
2890
+ if _params.get('limit') is not None: # noqa: E501
2891
+ _query_params.append(('limit', _params['limit']))
2892
+
2893
+ if _params.get('filter') is not None: # noqa: E501
2894
+ _query_params.append(('filter', _params['filter']))
2895
+
2896
+ if _params.get('sort_by') is not None: # noqa: E501
2897
+ _query_params.append(('sortBy', _params['sort_by']))
2898
+ _collection_formats['sortBy'] = 'multi'
2899
+
1603
2900
  if _params.get('property_keys') is not None: # noqa: E501
1604
2901
  _query_params.append(('propertyKeys', _params['property_keys']))
1605
2902
  _collection_formats['propertyKeys'] = 'multi'
@@ -1619,12 +2916,12 @@ class ChartOfAccountsApi:
1619
2916
  _auth_settings = ['oauth2'] # noqa: E501
1620
2917
 
1621
2918
  _response_types_map = {
1622
- '200': "ChartOfAccounts",
2919
+ '200': "PagedResourceListOfChartOfAccounts",
1623
2920
  '400': "LusidValidationProblemDetails",
1624
2921
  }
1625
2922
 
1626
2923
  return self.api_client.call_api(
1627
- '/api/chartofaccounts/{scope}/{code}', 'GET',
2924
+ '/api/chartofaccounts', 'GET',
1628
2925
  _path_params,
1629
2926
  _query_params,
1630
2927
  _header_params,
@@ -1641,30 +2938,38 @@ class ChartOfAccountsApi:
1641
2938
  _request_auth=_params.get('_request_auth'))
1642
2939
 
1643
2940
  @overload
1644
- async def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
2941
+ async def list_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the cleardown module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfCleardownModuleRule: # noqa: E501
1645
2942
  ...
1646
2943
 
1647
2944
  @overload
1648
- def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], async_req: Optional[bool]=True, **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
2945
+ def list_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the cleardown module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfCleardownModuleRule: # noqa: E501
1649
2946
  ...
1650
2947
 
1651
2948
  @validate_arguments
1652
- def get_general_ledger_profile(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], async_req: Optional[bool]=None, **kwargs) -> Union[GeneralLedgerProfileResponse, Awaitable[GeneralLedgerProfileResponse]]: # noqa: E501
1653
- """[EXPERIMENTAL] GetGeneralLedgerProfile: Get a General Ledger Profile. # noqa: E501
2949
+ def list_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the cleardown module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfCleardownModuleRule, Awaitable[PagedResourceListOfCleardownModuleRule]]: # noqa: E501
2950
+ """[EXPERIMENTAL] ListCleardownModuleRules: List Cleardown Module Rules # noqa: E501
1654
2951
 
1655
- Get the given General Ledger Profile. # noqa: E501
2952
+ List the Rules in a Cleardown Module # noqa: E501
1656
2953
  This method makes a synchronous HTTP request by default. To make an
1657
2954
  asynchronous HTTP request, please pass async_req=True
1658
2955
 
1659
- >>> thread = api.get_general_ledger_profile(scope, code, general_ledger_profile_code, async_req=True)
2956
+ >>> thread = api.list_cleardown_module_rules(scope, code, cleardown_module_code, as_at, page, limit, filter, async_req=True)
1660
2957
  >>> result = thread.get()
1661
2958
 
1662
- :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
2959
+ :param scope: The scope of the Chart of Accounts. (required)
1663
2960
  :type scope: str
1664
- :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
2961
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1665
2962
  :type code: str
1666
- :param general_ledger_profile_code: The General Ledger Profile Code of the General Ledger Profile. (required)
1667
- :type general_ledger_profile_code: str
2963
+ :param cleardown_module_code: The code of the cleardown module. (required)
2964
+ :type cleardown_module_code: str
2965
+ :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
2966
+ :type as_at: datetime
2967
+ :param page: The pagination token to use to continue listing cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request.
2968
+ :type page: str
2969
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2970
+ :type limit: int
2971
+ :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2972
+ :type filter: str
1668
2973
  :param async_req: Whether to execute the request asynchronously.
1669
2974
  :type async_req: bool, optional
1670
2975
  :param _request_timeout: timeout setting for this request.
@@ -1674,33 +2979,41 @@ class ChartOfAccountsApi:
1674
2979
  :return: Returns the result object.
1675
2980
  If the method is called asynchronously,
1676
2981
  returns the request thread.
1677
- :rtype: GeneralLedgerProfileResponse
2982
+ :rtype: PagedResourceListOfCleardownModuleRule
1678
2983
  """
1679
2984
  kwargs['_return_http_data_only'] = True
1680
2985
  if '_preload_content' in kwargs:
1681
- message = "Error! Please call the get_general_ledger_profile_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2986
+ message = "Error! Please call the list_cleardown_module_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1682
2987
  raise ValueError(message)
1683
2988
  if async_req is not None:
1684
2989
  kwargs['async_req'] = async_req
1685
- return self.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, **kwargs) # noqa: E501
2990
+ return self.list_cleardown_module_rules_with_http_info(scope, code, cleardown_module_code, as_at, page, limit, filter, **kwargs) # noqa: E501
1686
2991
 
1687
2992
  @validate_arguments
1688
- def get_general_ledger_profile_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts for the General Ledger Profile.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts for the General Ledger Profile.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The General Ledger Profile Code of the General Ledger Profile.")], **kwargs) -> ApiResponse: # noqa: E501
1689
- """[EXPERIMENTAL] GetGeneralLedgerProfile: Get a General Ledger Profile. # noqa: E501
2993
+ def list_cleardown_module_rules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the cleardown module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2994
+ """[EXPERIMENTAL] ListCleardownModuleRules: List Cleardown Module Rules # noqa: E501
1690
2995
 
1691
- Get the given General Ledger Profile. # noqa: E501
2996
+ List the Rules in a Cleardown Module # noqa: E501
1692
2997
  This method makes a synchronous HTTP request by default. To make an
1693
2998
  asynchronous HTTP request, please pass async_req=True
1694
2999
 
1695
- >>> thread = api.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, async_req=True)
3000
+ >>> thread = api.list_cleardown_module_rules_with_http_info(scope, code, cleardown_module_code, as_at, page, limit, filter, async_req=True)
1696
3001
  >>> result = thread.get()
1697
3002
 
1698
- :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
3003
+ :param scope: The scope of the Chart of Accounts. (required)
1699
3004
  :type scope: str
1700
- :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
3005
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1701
3006
  :type code: str
1702
- :param general_ledger_profile_code: The General Ledger Profile Code of the General Ledger Profile. (required)
1703
- :type general_ledger_profile_code: str
3007
+ :param cleardown_module_code: The code of the cleardown module. (required)
3008
+ :type cleardown_module_code: str
3009
+ :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
3010
+ :type as_at: datetime
3011
+ :param page: The pagination token to use to continue listing cleardown module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request.
3012
+ :type page: str
3013
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3014
+ :type limit: int
3015
+ :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3016
+ :type filter: str
1704
3017
  :param async_req: Whether to execute the request asynchronously.
1705
3018
  :type async_req: bool, optional
1706
3019
  :param _preload_content: if False, the ApiResponse.data will
@@ -1723,7 +3036,7 @@ class ChartOfAccountsApi:
1723
3036
  :return: Returns the result object.
1724
3037
  If the method is called asynchronously,
1725
3038
  returns the request thread.
1726
- :rtype: tuple(GeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
3039
+ :rtype: tuple(PagedResourceListOfCleardownModuleRule, status_code(int), headers(HTTPHeaderDict))
1727
3040
  """
1728
3041
 
1729
3042
  _params = locals()
@@ -1731,7 +3044,11 @@ class ChartOfAccountsApi:
1731
3044
  _all_params = [
1732
3045
  'scope',
1733
3046
  'code',
1734
- 'general_ledger_profile_code'
3047
+ 'cleardown_module_code',
3048
+ 'as_at',
3049
+ 'page',
3050
+ 'limit',
3051
+ 'filter'
1735
3052
  ]
1736
3053
  _all_params.extend(
1737
3054
  [
@@ -1750,7 +3067,7 @@ class ChartOfAccountsApi:
1750
3067
  if _key not in _all_params:
1751
3068
  raise ApiTypeError(
1752
3069
  "Got an unexpected keyword argument '%s'"
1753
- " to method get_general_ledger_profile" % _key
3070
+ " to method list_cleardown_module_rules" % _key
1754
3071
  )
1755
3072
  _params[_key] = _val
1756
3073
  del _params['kwargs']
@@ -1765,12 +3082,27 @@ class ChartOfAccountsApi:
1765
3082
  if _params['code']:
1766
3083
  _path_params['code'] = _params['code']
1767
3084
 
1768
- if _params['general_ledger_profile_code']:
1769
- _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
3085
+ if _params['cleardown_module_code']:
3086
+ _path_params['cleardownModuleCode'] = _params['cleardown_module_code']
1770
3087
 
1771
3088
 
1772
3089
  # process the query parameters
1773
3090
  _query_params = []
3091
+ if _params.get('as_at') is not None: # noqa: E501
3092
+ if isinstance(_params['as_at'], datetime):
3093
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
3094
+ else:
3095
+ _query_params.append(('asAt', _params['as_at']))
3096
+
3097
+ if _params.get('page') is not None: # noqa: E501
3098
+ _query_params.append(('page', _params['page']))
3099
+
3100
+ if _params.get('limit') is not None: # noqa: E501
3101
+ _query_params.append(('limit', _params['limit']))
3102
+
3103
+ if _params.get('filter') is not None: # noqa: E501
3104
+ _query_params.append(('filter', _params['filter']))
3105
+
1774
3106
  # process the header parameters
1775
3107
  _header_params = dict(_params.get('_headers', {}))
1776
3108
  # process the form parameters
@@ -1786,12 +3118,12 @@ class ChartOfAccountsApi:
1786
3118
  _auth_settings = ['oauth2'] # noqa: E501
1787
3119
 
1788
3120
  _response_types_map = {
1789
- '200': "GeneralLedgerProfileResponse",
3121
+ '200': "PagedResourceListOfCleardownModuleRule",
1790
3122
  '400': "LusidValidationProblemDetails",
1791
3123
  }
1792
3124
 
1793
3125
  return self.api_client.call_api(
1794
- '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'GET',
3126
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules/{cleardownModuleCode}/cleardownrules', 'GET',
1795
3127
  _path_params,
1796
3128
  _query_params,
1797
3129
  _header_params,
@@ -1808,30 +3140,38 @@ class ChartOfAccountsApi:
1808
3140
  _request_auth=_params.get('_request_auth'))
1809
3141
 
1810
3142
  @overload
1811
- async def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], **kwargs) -> PostingModuleResponse: # noqa: E501
3143
+ async def list_cleardown_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module 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 Cleardown Modules; 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 Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfCleardownModuleResponse: # noqa: E501
1812
3144
  ...
1813
3145
 
1814
3146
  @overload
1815
- def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], async_req: Optional[bool]=True, **kwargs) -> PostingModuleResponse: # noqa: E501
3147
+ def list_cleardown_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module 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 Cleardown Modules; 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 Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfCleardownModuleResponse: # noqa: E501
1816
3148
  ...
1817
3149
 
1818
3150
  @validate_arguments
1819
- def get_posting_module(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[PostingModuleResponse, Awaitable[PostingModuleResponse]]: # noqa: E501
1820
- """[EXPERIMENTAL] GetPostingModule: Get a Posting Module # noqa: E501
3151
+ def list_cleardown_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module 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 Cleardown Modules; 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 Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfCleardownModuleResponse, Awaitable[PagedResourceListOfCleardownModuleResponse]]: # noqa: E501
3152
+ """[EXPERIMENTAL] ListCleardownModules: List Cleardown Modules # noqa: E501
1821
3153
 
1822
- Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
3154
+ List all the Cleardown Modules matching particular criteria. # noqa: E501
1823
3155
  This method makes a synchronous HTTP request by default. To make an
1824
3156
  asynchronous HTTP request, please pass async_req=True
1825
3157
 
1826
- >>> thread = api.get_posting_module(scope, code, posting_module_code, async_req=True)
3158
+ >>> thread = api.list_cleardown_modules(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
1827
3159
  >>> result = thread.get()
1828
3160
 
1829
3161
  :param scope: The scope of the Chart of Accounts. (required)
1830
3162
  :type scope: str
1831
3163
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1832
3164
  :type code: str
1833
- :param posting_module_code: The code of the Posting Module. (required)
1834
- :type posting_module_code: str
3165
+ :param as_at: The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module if not specified.
3166
+ :type as_at: datetime
3167
+ :param page: The pagination token to use to continue listing Cleardown Modules; 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.
3168
+ :type page: str
3169
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3170
+ :type limit: int
3171
+ :param filter: Expression to filter the results. For example, to filter on the Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3172
+ :type filter: str
3173
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3174
+ :type sort_by: List[str]
1835
3175
  :param async_req: Whether to execute the request asynchronously.
1836
3176
  :type async_req: bool, optional
1837
3177
  :param _request_timeout: timeout setting for this request.
@@ -1841,33 +3181,41 @@ class ChartOfAccountsApi:
1841
3181
  :return: Returns the result object.
1842
3182
  If the method is called asynchronously,
1843
3183
  returns the request thread.
1844
- :rtype: PostingModuleResponse
3184
+ :rtype: PagedResourceListOfCleardownModuleResponse
1845
3185
  """
1846
3186
  kwargs['_return_http_data_only'] = True
1847
3187
  if '_preload_content' in kwargs:
1848
- message = "Error! Please call the get_posting_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3188
+ message = "Error! Please call the list_cleardown_modules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1849
3189
  raise ValueError(message)
1850
3190
  if async_req is not None:
1851
3191
  kwargs['async_req'] = async_req
1852
- return self.get_posting_module_with_http_info(scope, code, posting_module_code, **kwargs) # noqa: E501
3192
+ return self.list_cleardown_modules_with_http_info(scope, code, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
1853
3193
 
1854
3194
  @validate_arguments
1855
- def get_posting_module_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module.")], **kwargs) -> ApiResponse: # noqa: E501
1856
- """[EXPERIMENTAL] GetPostingModule: Get a Posting Module # noqa: E501
3195
+ def list_cleardown_modules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module 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 Cleardown Modules; 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 Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3196
+ """[EXPERIMENTAL] ListCleardownModules: List Cleardown Modules # noqa: E501
1857
3197
 
1858
- Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
3198
+ List all the Cleardown Modules matching particular criteria. # noqa: E501
1859
3199
  This method makes a synchronous HTTP request by default. To make an
1860
3200
  asynchronous HTTP request, please pass async_req=True
1861
3201
 
1862
- >>> thread = api.get_posting_module_with_http_info(scope, code, posting_module_code, async_req=True)
3202
+ >>> thread = api.list_cleardown_modules_with_http_info(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
1863
3203
  >>> result = thread.get()
1864
3204
 
1865
3205
  :param scope: The scope of the Chart of Accounts. (required)
1866
3206
  :type scope: str
1867
3207
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1868
3208
  :type code: str
1869
- :param posting_module_code: The code of the Posting Module. (required)
1870
- :type posting_module_code: str
3209
+ :param as_at: The asAt datetime at which to list the Cleardown Module. Defaults to returning the latest version of each Cleardown Module if not specified.
3210
+ :type as_at: datetime
3211
+ :param page: The pagination token to use to continue listing Cleardown Modules; 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.
3212
+ :type page: str
3213
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3214
+ :type limit: int
3215
+ :param filter: Expression to filter the results. For example, to filter on the Cleardown Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3216
+ :type filter: str
3217
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3218
+ :type sort_by: List[str]
1871
3219
  :param async_req: Whether to execute the request asynchronously.
1872
3220
  :type async_req: bool, optional
1873
3221
  :param _preload_content: if False, the ApiResponse.data will
@@ -1890,7 +3238,7 @@ class ChartOfAccountsApi:
1890
3238
  :return: Returns the result object.
1891
3239
  If the method is called asynchronously,
1892
3240
  returns the request thread.
1893
- :rtype: tuple(PostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
3241
+ :rtype: tuple(PagedResourceListOfCleardownModuleResponse, status_code(int), headers(HTTPHeaderDict))
1894
3242
  """
1895
3243
 
1896
3244
  _params = locals()
@@ -1898,7 +3246,11 @@ class ChartOfAccountsApi:
1898
3246
  _all_params = [
1899
3247
  'scope',
1900
3248
  'code',
1901
- 'posting_module_code'
3249
+ 'as_at',
3250
+ 'page',
3251
+ 'limit',
3252
+ 'filter',
3253
+ 'sort_by'
1902
3254
  ]
1903
3255
  _all_params.extend(
1904
3256
  [
@@ -1917,7 +3269,7 @@ class ChartOfAccountsApi:
1917
3269
  if _key not in _all_params:
1918
3270
  raise ApiTypeError(
1919
3271
  "Got an unexpected keyword argument '%s'"
1920
- " to method get_posting_module" % _key
3272
+ " to method list_cleardown_modules" % _key
1921
3273
  )
1922
3274
  _params[_key] = _val
1923
3275
  del _params['kwargs']
@@ -1932,12 +3284,28 @@ class ChartOfAccountsApi:
1932
3284
  if _params['code']:
1933
3285
  _path_params['code'] = _params['code']
1934
3286
 
1935
- if _params['posting_module_code']:
1936
- _path_params['postingModuleCode'] = _params['posting_module_code']
1937
-
1938
3287
 
1939
3288
  # process the query parameters
1940
3289
  _query_params = []
3290
+ if _params.get('as_at') is not None: # noqa: E501
3291
+ if isinstance(_params['as_at'], datetime):
3292
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
3293
+ else:
3294
+ _query_params.append(('asAt', _params['as_at']))
3295
+
3296
+ if _params.get('page') is not None: # noqa: E501
3297
+ _query_params.append(('page', _params['page']))
3298
+
3299
+ if _params.get('limit') is not None: # noqa: E501
3300
+ _query_params.append(('limit', _params['limit']))
3301
+
3302
+ if _params.get('filter') is not None: # noqa: E501
3303
+ _query_params.append(('filter', _params['filter']))
3304
+
3305
+ if _params.get('sort_by') is not None: # noqa: E501
3306
+ _query_params.append(('sortBy', _params['sort_by']))
3307
+ _collection_formats['sortBy'] = 'multi'
3308
+
1941
3309
  # process the header parameters
1942
3310
  _header_params = dict(_params.get('_headers', {}))
1943
3311
  # process the form parameters
@@ -1953,12 +3321,12 @@ class ChartOfAccountsApi:
1953
3321
  _auth_settings = ['oauth2'] # noqa: E501
1954
3322
 
1955
3323
  _response_types_map = {
1956
- '200': "PostingModuleResponse",
3324
+ '200': "PagedResourceListOfCleardownModuleResponse",
1957
3325
  '400': "LusidValidationProblemDetails",
1958
3326
  }
1959
3327
 
1960
3328
  return self.api_client.call_api(
1961
- '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'GET',
3329
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules', 'GET',
1962
3330
  _path_params,
1963
3331
  _query_params,
1964
3332
  _header_params,
@@ -1975,42 +3343,38 @@ class ChartOfAccountsApi:
1975
3343
  _request_auth=_params.get('_request_auth'))
1976
3344
 
1977
3345
  @overload
1978
- async def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, **kwargs) -> PagedResourceListOfAccount: # noqa: E501
3346
+ async def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile 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 General Ledger Profiles; 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfGeneralLedgerProfileResponse: # noqa: E501
1979
3347
  ...
1980
3348
 
1981
3349
  @overload
1982
- def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfAccount: # noqa: E501
3350
+ def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile 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 General Ledger Profiles; 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfGeneralLedgerProfileResponse: # noqa: E501
1983
3351
  ...
1984
3352
 
1985
3353
  @validate_arguments
1986
- def list_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfAccount, Awaitable[PagedResourceListOfAccount]]: # noqa: E501
1987
- """[EXPERIMENTAL] ListAccounts: List Accounts # noqa: E501
3354
+ def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile 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 General Ledger Profiles; 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfGeneralLedgerProfileResponse, Awaitable[PagedResourceListOfGeneralLedgerProfileResponse]]: # noqa: E501
3355
+ """[EXPERIMENTAL] ListGeneralLedgerProfiles: List General Ledger Profiles. # noqa: E501
1988
3356
 
1989
- List the accounts in a Chart of Accounts # noqa: E501
3357
+ List all the General Ledger profiles matching particular criteria. # noqa: E501
1990
3358
  This method makes a synchronous HTTP request by default. To make an
1991
3359
  asynchronous HTTP request, please pass async_req=True
1992
3360
 
1993
- >>> thread = api.list_accounts(scope, code, effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
3361
+ >>> thread = api.list_general_ledger_profiles(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
1994
3362
  >>> result = thread.get()
1995
3363
 
1996
- :param scope: The scope of the Chart of Accounts. (required)
3364
+ :param scope: The scope of the Chart of Accounts (required)
1997
3365
  :type scope: str
1998
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3366
+ :param code: The code of the Chart of Accounts (required)
1999
3367
  :type code: str
2000
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. Defaults to the current LUSID system datetime if not specified.
2001
- :type effective_at: str
2002
- :param as_at: The asAt datetime at which to retrieve the Accounts. Defaults to returning the latest version if not specified.
3368
+ :param as_at: The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.
2003
3369
  :type as_at: datetime
2004
- :param page: The pagination token to use to continue listing charts of accounts; 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.
3370
+ :param page: The pagination token to use to continue listing General Ledger Profiles; 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.
2005
3371
  :type page: str
2006
- :param start: When paginating, skip this number of results.
2007
- :type start: int
2008
3372
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2009
3373
  :type limit: int
2010
- :param filter: Expression to filter the results. For example, to filter on the Account type, specify \"code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3374
+ :param filter: Expression to filter the results. For example, to filter on the General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2011
3375
  :type filter: str
2012
- :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.
2013
- :type property_keys: List[str]
3376
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3377
+ :type sort_by: List[str]
2014
3378
  :param async_req: Whether to execute the request asynchronously.
2015
3379
  :type async_req: bool, optional
2016
3380
  :param _request_timeout: timeout setting for this request.
@@ -2020,45 +3384,41 @@ class ChartOfAccountsApi:
2020
3384
  :return: Returns the result object.
2021
3385
  If the method is called asynchronously,
2022
3386
  returns the request thread.
2023
- :rtype: PagedResourceListOfAccount
3387
+ :rtype: PagedResourceListOfGeneralLedgerProfileResponse
2024
3388
  """
2025
3389
  kwargs['_return_http_data_only'] = True
2026
3390
  if '_preload_content' in kwargs:
2027
- message = "Error! Please call the list_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3391
+ message = "Error! Please call the list_general_ledger_profiles_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2028
3392
  raise ValueError(message)
2029
3393
  if async_req is not None:
2030
3394
  kwargs['async_req'] = async_req
2031
- return self.list_accounts_with_http_info(scope, code, effective_at, as_at, page, start, limit, filter, property_keys, **kwargs) # noqa: E501
3395
+ return self.list_general_ledger_profiles_with_http_info(scope, code, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
2032
3396
 
2033
3397
  @validate_arguments
2034
- def list_accounts_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. 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 Accounts. Defaults to returning the latest version 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 charts of accounts; 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 Account type, specify \"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 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2035
- """[EXPERIMENTAL] ListAccounts: List Accounts # noqa: E501
3398
+ def list_general_ledger_profiles_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile 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 General Ledger Profiles; 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3399
+ """[EXPERIMENTAL] ListGeneralLedgerProfiles: List General Ledger Profiles. # noqa: E501
2036
3400
 
2037
- List the accounts in a Chart of Accounts # noqa: E501
3401
+ List all the General Ledger profiles matching particular criteria. # noqa: E501
2038
3402
  This method makes a synchronous HTTP request by default. To make an
2039
3403
  asynchronous HTTP request, please pass async_req=True
2040
3404
 
2041
- >>> thread = api.list_accounts_with_http_info(scope, code, effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
3405
+ >>> thread = api.list_general_ledger_profiles_with_http_info(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
2042
3406
  >>> result = thread.get()
2043
3407
 
2044
- :param scope: The scope of the Chart of Accounts. (required)
3408
+ :param scope: The scope of the Chart of Accounts (required)
2045
3409
  :type scope: str
2046
- :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3410
+ :param code: The code of the Chart of Accounts (required)
2047
3411
  :type code: str
2048
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties decorated on Accounts. Defaults to the current LUSID system datetime if not specified.
2049
- :type effective_at: str
2050
- :param as_at: The asAt datetime at which to retrieve the Accounts. Defaults to returning the latest version if not specified.
3412
+ :param as_at: The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.
2051
3413
  :type as_at: datetime
2052
- :param page: The pagination token to use to continue listing charts of accounts; 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.
3414
+ :param page: The pagination token to use to continue listing General Ledger Profiles; 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.
2053
3415
  :type page: str
2054
- :param start: When paginating, skip this number of results.
2055
- :type start: int
2056
3416
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2057
3417
  :type limit: int
2058
- :param filter: Expression to filter the results. For example, to filter on the Account type, specify \"code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3418
+ :param filter: Expression to filter the results. For example, to filter on the General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2059
3419
  :type filter: str
2060
- :param property_keys: A list of property keys from the 'Account' domain to decorate onto the Account. These must have the format {domain}/{scope}/{code}, for example 'Account/system/Name'.
2061
- :type property_keys: List[str]
3420
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3421
+ :type sort_by: List[str]
2062
3422
  :param async_req: Whether to execute the request asynchronously.
2063
3423
  :type async_req: bool, optional
2064
3424
  :param _preload_content: if False, the ApiResponse.data will
@@ -2081,7 +3441,7 @@ class ChartOfAccountsApi:
2081
3441
  :return: Returns the result object.
2082
3442
  If the method is called asynchronously,
2083
3443
  returns the request thread.
2084
- :rtype: tuple(PagedResourceListOfAccount, status_code(int), headers(HTTPHeaderDict))
3444
+ :rtype: tuple(PagedResourceListOfGeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
2085
3445
  """
2086
3446
 
2087
3447
  _params = locals()
@@ -2089,13 +3449,11 @@ class ChartOfAccountsApi:
2089
3449
  _all_params = [
2090
3450
  'scope',
2091
3451
  'code',
2092
- 'effective_at',
2093
3452
  'as_at',
2094
3453
  'page',
2095
- 'start',
2096
3454
  'limit',
2097
3455
  'filter',
2098
- 'property_keys'
3456
+ 'sort_by'
2099
3457
  ]
2100
3458
  _all_params.extend(
2101
3459
  [
@@ -2114,7 +3472,7 @@ class ChartOfAccountsApi:
2114
3472
  if _key not in _all_params:
2115
3473
  raise ApiTypeError(
2116
3474
  "Got an unexpected keyword argument '%s'"
2117
- " to method list_accounts" % _key
3475
+ " to method list_general_ledger_profiles" % _key
2118
3476
  )
2119
3477
  _params[_key] = _val
2120
3478
  del _params['kwargs']
@@ -2132,9 +3490,6 @@ class ChartOfAccountsApi:
2132
3490
 
2133
3491
  # process the query parameters
2134
3492
  _query_params = []
2135
- if _params.get('effective_at') is not None: # noqa: E501
2136
- _query_params.append(('effectiveAt', _params['effective_at']))
2137
-
2138
3493
  if _params.get('as_at') is not None: # noqa: E501
2139
3494
  if isinstance(_params['as_at'], datetime):
2140
3495
  _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
@@ -2144,18 +3499,15 @@ class ChartOfAccountsApi:
2144
3499
  if _params.get('page') is not None: # noqa: E501
2145
3500
  _query_params.append(('page', _params['page']))
2146
3501
 
2147
- if _params.get('start') is not None: # noqa: E501
2148
- _query_params.append(('start', _params['start']))
2149
-
2150
3502
  if _params.get('limit') is not None: # noqa: E501
2151
3503
  _query_params.append(('limit', _params['limit']))
2152
3504
 
2153
3505
  if _params.get('filter') is not None: # noqa: E501
2154
3506
  _query_params.append(('filter', _params['filter']))
2155
3507
 
2156
- if _params.get('property_keys') is not None: # noqa: E501
2157
- _query_params.append(('propertyKeys', _params['property_keys']))
2158
- _collection_formats['propertyKeys'] = 'multi'
3508
+ if _params.get('sort_by') is not None: # noqa: E501
3509
+ _query_params.append(('sortBy', _params['sort_by']))
3510
+ _collection_formats['sortBy'] = 'multi'
2159
3511
 
2160
3512
  # process the header parameters
2161
3513
  _header_params = dict(_params.get('_headers', {}))
@@ -2172,12 +3524,12 @@ class ChartOfAccountsApi:
2172
3524
  _auth_settings = ['oauth2'] # noqa: E501
2173
3525
 
2174
3526
  _response_types_map = {
2175
- '200': "PagedResourceListOfAccount",
3527
+ '200': "PagedResourceListOfGeneralLedgerProfileResponse",
2176
3528
  '400': "LusidValidationProblemDetails",
2177
3529
  }
2178
3530
 
2179
3531
  return self.api_client.call_api(
2180
- '/api/chartofaccounts/{scope}/{code}/accounts', 'GET',
3532
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile', 'GET',
2181
3533
  _path_params,
2182
3534
  _query_params,
2183
3535
  _header_params,
@@ -2194,38 +3546,38 @@ class ChartOfAccountsApi:
2194
3546
  _request_auth=_params.get('_request_auth'))
2195
3547
 
2196
3548
  @overload
2197
- async def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts 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 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, **kwargs) -> PagedResourceListOfChartOfAccounts: # noqa: E501
3549
+ async def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfPostingModuleRule: # noqa: E501
2198
3550
  ...
2199
3551
 
2200
3552
  @overload
2201
- def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts 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 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfChartOfAccounts: # noqa: E501
3553
+ def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfPostingModuleRule: # noqa: E501
2202
3554
  ...
2203
3555
 
2204
3556
  @validate_arguments
2205
- def list_charts_of_accounts(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts 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 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfChartOfAccounts, Awaitable[PagedResourceListOfChartOfAccounts]]: # noqa: E501
2206
- """[EXPERIMENTAL] ListChartsOfAccounts: List Charts of Accounts # noqa: E501
3557
+ def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfPostingModuleRule, Awaitable[PagedResourceListOfPostingModuleRule]]: # noqa: E501
3558
+ """[EXPERIMENTAL] ListPostingModuleRules: List Posting Module Rules # noqa: E501
2207
3559
 
2208
- List all the Charts of Accounts matching particular criteria. # noqa: E501
3560
+ List the Rules in a Posting Module # noqa: E501
2209
3561
  This method makes a synchronous HTTP request by default. To make an
2210
3562
  asynchronous HTTP request, please pass async_req=True
2211
3563
 
2212
- >>> thread = api.list_charts_of_accounts(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
3564
+ >>> thread = api.list_posting_module_rules(scope, code, posting_module_code, as_at, page, limit, filter, async_req=True)
2213
3565
  >>> result = thread.get()
2214
3566
 
2215
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. Defaults to the current LUSID system datetime if not specified.
2216
- :type effective_at: str
2217
- :param as_at: The asAt datetime at which to list the charts of accounts. Defaults to returning the latest version of each Chart of Accounts if not specified.
3567
+ :param scope: The scope of the Chart of Accounts. (required)
3568
+ :type scope: str
3569
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3570
+ :type code: str
3571
+ :param posting_module_code: The code of the posting module. (required)
3572
+ :type posting_module_code: str
3573
+ :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
2218
3574
  :type as_at: datetime
2219
- :param page: The pagination token to use to continue listing charts of accounts; 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.
3575
+ :param page: The pagination token to use to continue listing posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request.
2220
3576
  :type page: str
2221
- :param start: When paginating, skip this number of results.
2222
- :type start: int
2223
3577
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2224
3578
  :type limit: int
2225
- :param filter: Expression to filter the results. For example, to filter on the Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3579
+ :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2226
3580
  :type filter: str
2227
- :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.
2228
- :type property_keys: List[str]
2229
3581
  :param async_req: Whether to execute the request asynchronously.
2230
3582
  :type async_req: bool, optional
2231
3583
  :param _request_timeout: timeout setting for this request.
@@ -2235,41 +3587,41 @@ class ChartOfAccountsApi:
2235
3587
  :return: Returns the result object.
2236
3588
  If the method is called asynchronously,
2237
3589
  returns the request thread.
2238
- :rtype: PagedResourceListOfChartOfAccounts
3590
+ :rtype: PagedResourceListOfPostingModuleRule
2239
3591
  """
2240
3592
  kwargs['_return_http_data_only'] = True
2241
3593
  if '_preload_content' in kwargs:
2242
- message = "Error! Please call the list_charts_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3594
+ message = "Error! Please call the list_posting_module_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2243
3595
  raise ValueError(message)
2244
3596
  if async_req is not None:
2245
3597
  kwargs['async_req'] = async_req
2246
- return self.list_charts_of_accounts_with_http_info(effective_at, as_at, page, start, limit, filter, property_keys, **kwargs) # noqa: E501
3598
+ return self.list_posting_module_rules_with_http_info(scope, code, posting_module_code, as_at, page, limit, filter, **kwargs) # noqa: E501
2247
3599
 
2248
3600
  @validate_arguments
2249
- def list_charts_of_accounts_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 Chart Of Accounts. 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 charts of accounts. Defaults to returning the latest version of each Chart of Accounts 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 charts of accounts; 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 Chart of Accounts 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 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2250
- """[EXPERIMENTAL] ListChartsOfAccounts: List Charts of Accounts # noqa: E501
3601
+ def list_posting_module_rules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
3602
+ """[EXPERIMENTAL] ListPostingModuleRules: List Posting Module Rules # noqa: E501
2251
3603
 
2252
- List all the Charts of Accounts matching particular criteria. # noqa: E501
3604
+ List the Rules in a Posting Module # noqa: E501
2253
3605
  This method makes a synchronous HTTP request by default. To make an
2254
3606
  asynchronous HTTP request, please pass async_req=True
2255
3607
 
2256
- >>> thread = api.list_charts_of_accounts_with_http_info(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
3608
+ >>> thread = api.list_posting_module_rules_with_http_info(scope, code, posting_module_code, as_at, page, limit, filter, async_req=True)
2257
3609
  >>> result = thread.get()
2258
3610
 
2259
- :param effective_at: The effective datetime or cut label at which to list the TimeVariant properties for the Chart Of Accounts. Defaults to the current LUSID system datetime if not specified.
2260
- :type effective_at: str
2261
- :param as_at: The asAt datetime at which to list the charts of accounts. Defaults to returning the latest version of each Chart of Accounts if not specified.
3611
+ :param scope: The scope of the Chart of Accounts. (required)
3612
+ :type scope: str
3613
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3614
+ :type code: str
3615
+ :param posting_module_code: The code of the posting module. (required)
3616
+ :type posting_module_code: str
3617
+ :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
2262
3618
  :type as_at: datetime
2263
- :param page: The pagination token to use to continue listing charts of accounts; 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.
3619
+ :param page: The pagination token to use to continue listing posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request.
2264
3620
  :type page: str
2265
- :param start: When paginating, skip this number of results.
2266
- :type start: int
2267
3621
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2268
3622
  :type limit: int
2269
- :param filter: Expression to filter the results. For example, to filter on the Chart of Accounts type, specify \"id.Code eq '001'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3623
+ :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2270
3624
  :type filter: str
2271
- :param property_keys: A list of property keys from the 'ChartOfAccounts' domain to decorate onto each Chart of Accounts. These must take the format {domain}/{scope}/{code}, for example 'ChartOfAccounts/Manager/Id'.
2272
- :type property_keys: List[str]
2273
3625
  :param async_req: Whether to execute the request asynchronously.
2274
3626
  :type async_req: bool, optional
2275
3627
  :param _preload_content: if False, the ApiResponse.data will
@@ -2292,19 +3644,19 @@ class ChartOfAccountsApi:
2292
3644
  :return: Returns the result object.
2293
3645
  If the method is called asynchronously,
2294
3646
  returns the request thread.
2295
- :rtype: tuple(PagedResourceListOfChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
3647
+ :rtype: tuple(PagedResourceListOfPostingModuleRule, status_code(int), headers(HTTPHeaderDict))
2296
3648
  """
2297
3649
 
2298
3650
  _params = locals()
2299
3651
 
2300
3652
  _all_params = [
2301
- 'effective_at',
3653
+ 'scope',
3654
+ 'code',
3655
+ 'posting_module_code',
2302
3656
  'as_at',
2303
3657
  'page',
2304
- 'start',
2305
3658
  'limit',
2306
- 'filter',
2307
- 'property_keys'
3659
+ 'filter'
2308
3660
  ]
2309
3661
  _all_params.extend(
2310
3662
  [
@@ -2323,7 +3675,7 @@ class ChartOfAccountsApi:
2323
3675
  if _key not in _all_params:
2324
3676
  raise ApiTypeError(
2325
3677
  "Got an unexpected keyword argument '%s'"
2326
- " to method list_charts_of_accounts" % _key
3678
+ " to method list_posting_module_rules" % _key
2327
3679
  )
2328
3680
  _params[_key] = _val
2329
3681
  del _params['kwargs']
@@ -2332,12 +3684,18 @@ class ChartOfAccountsApi:
2332
3684
 
2333
3685
  # process the path parameters
2334
3686
  _path_params = {}
3687
+ if _params['scope']:
3688
+ _path_params['scope'] = _params['scope']
3689
+
3690
+ if _params['code']:
3691
+ _path_params['code'] = _params['code']
3692
+
3693
+ if _params['posting_module_code']:
3694
+ _path_params['postingModuleCode'] = _params['posting_module_code']
3695
+
2335
3696
 
2336
3697
  # process the query parameters
2337
3698
  _query_params = []
2338
- if _params.get('effective_at') is not None: # noqa: E501
2339
- _query_params.append(('effectiveAt', _params['effective_at']))
2340
-
2341
3699
  if _params.get('as_at') is not None: # noqa: E501
2342
3700
  if isinstance(_params['as_at'], datetime):
2343
3701
  _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
@@ -2347,19 +3705,12 @@ class ChartOfAccountsApi:
2347
3705
  if _params.get('page') is not None: # noqa: E501
2348
3706
  _query_params.append(('page', _params['page']))
2349
3707
 
2350
- if _params.get('start') is not None: # noqa: E501
2351
- _query_params.append(('start', _params['start']))
2352
-
2353
3708
  if _params.get('limit') is not None: # noqa: E501
2354
3709
  _query_params.append(('limit', _params['limit']))
2355
3710
 
2356
3711
  if _params.get('filter') is not None: # noqa: E501
2357
3712
  _query_params.append(('filter', _params['filter']))
2358
3713
 
2359
- if _params.get('property_keys') is not None: # noqa: E501
2360
- _query_params.append(('propertyKeys', _params['property_keys']))
2361
- _collection_formats['propertyKeys'] = 'multi'
2362
-
2363
3714
  # process the header parameters
2364
3715
  _header_params = dict(_params.get('_headers', {}))
2365
3716
  # process the form parameters
@@ -2375,12 +3726,12 @@ class ChartOfAccountsApi:
2375
3726
  _auth_settings = ['oauth2'] # noqa: E501
2376
3727
 
2377
3728
  _response_types_map = {
2378
- '200': "PagedResourceListOfChartOfAccounts",
3729
+ '200': "PagedResourceListOfPostingModuleRule",
2379
3730
  '400': "LusidValidationProblemDetails",
2380
3731
  }
2381
3732
 
2382
3733
  return self.api_client.call_api(
2383
- '/api/chartofaccounts', 'GET',
3734
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}/postingrules', 'GET',
2384
3735
  _path_params,
2385
3736
  _query_params,
2386
3737
  _header_params,
@@ -2397,38 +3748,38 @@ class ChartOfAccountsApi:
2397
3748
  _request_auth=_params.get('_request_auth'))
2398
3749
 
2399
3750
  @overload
2400
- async def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.")] = None, start : Annotated[Optional[StrictInt], Field(description="The start of the pager for the list of General Ledger Profiles")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing General Ledger Profiles; 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, 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfGeneralLedgerProfileResponse: # noqa: E501
3751
+ async def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfPostingModuleResponse: # noqa: E501
2401
3752
  ...
2402
3753
 
2403
3754
  @overload
2404
- def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.")] = None, start : Annotated[Optional[StrictInt], Field(description="The start of the pager for the list of General Ledger Profiles")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing General Ledger Profiles; 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, 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfGeneralLedgerProfileResponse: # noqa: E501
3755
+ def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfPostingModuleResponse: # noqa: E501
2405
3756
  ...
2406
3757
 
2407
3758
  @validate_arguments
2408
- def list_general_ledger_profiles(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.")] = None, start : Annotated[Optional[StrictInt], Field(description="The start of the pager for the list of General Ledger Profiles")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing General Ledger Profiles; 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, 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfGeneralLedgerProfileResponse, Awaitable[PagedResourceListOfGeneralLedgerProfileResponse]]: # noqa: E501
2409
- """[EXPERIMENTAL] ListGeneralLedgerProfiles: List General Ledger Profiles. # noqa: E501
3759
+ def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfPostingModuleResponse, Awaitable[PagedResourceListOfPostingModuleResponse]]: # noqa: E501
3760
+ """[EXPERIMENTAL] ListPostingModules: List Posting Modules # noqa: E501
2410
3761
 
2411
- List all the General Ledger profiles matching particular criteria. # noqa: E501
3762
+ List all the Posting Modules matching particular criteria. # noqa: E501
2412
3763
  This method makes a synchronous HTTP request by default. To make an
2413
3764
  asynchronous HTTP request, please pass async_req=True
2414
3765
 
2415
- >>> thread = api.list_general_ledger_profiles(scope, code, as_at, start, page, limit, filter, async_req=True)
3766
+ >>> thread = api.list_posting_modules(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
2416
3767
  >>> result = thread.get()
2417
3768
 
2418
- :param scope: The scope of the Chart of Accounts (required)
3769
+ :param scope: The scope of the Chart of Accounts. (required)
2419
3770
  :type scope: str
2420
- :param code: The code of the Chart of Accounts (required)
3771
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2421
3772
  :type code: str
2422
- :param as_at: The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.
3773
+ :param as_at: The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module if not specified.
2423
3774
  :type as_at: datetime
2424
- :param start: The start of the pager for the list of General Ledger Profiles
2425
- :type start: int
2426
- :param page: The pagination token to use to continue listing General Ledger Profiles; 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.
3775
+ :param page: The pagination token to use to continue listing Posting Modules; 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.
2427
3776
  :type page: str
2428
3777
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2429
3778
  :type limit: int
2430
- :param filter: Expression to filter the results. For example, to filter on the General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3779
+ :param filter: Expression to filter the results. For example, to filter on the Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2431
3780
  :type filter: str
3781
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3782
+ :type sort_by: List[str]
2432
3783
  :param async_req: Whether to execute the request asynchronously.
2433
3784
  :type async_req: bool, optional
2434
3785
  :param _request_timeout: timeout setting for this request.
@@ -2438,41 +3789,41 @@ class ChartOfAccountsApi:
2438
3789
  :return: Returns the result object.
2439
3790
  If the method is called asynchronously,
2440
3791
  returns the request thread.
2441
- :rtype: PagedResourceListOfGeneralLedgerProfileResponse
3792
+ :rtype: PagedResourceListOfPostingModuleResponse
2442
3793
  """
2443
3794
  kwargs['_return_http_data_only'] = True
2444
3795
  if '_preload_content' in kwargs:
2445
- message = "Error! Please call the list_general_ledger_profiles_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3796
+ message = "Error! Please call the list_posting_modules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2446
3797
  raise ValueError(message)
2447
3798
  if async_req is not None:
2448
3799
  kwargs['async_req'] = async_req
2449
- return self.list_general_ledger_profiles_with_http_info(scope, code, as_at, start, page, limit, filter, **kwargs) # noqa: E501
3800
+ return self.list_posting_modules_with_http_info(scope, code, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
2450
3801
 
2451
3802
  @validate_arguments
2452
- def list_general_ledger_profiles_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.")] = None, start : Annotated[Optional[StrictInt], Field(description="The start of the pager for the list of General Ledger Profiles")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing General Ledger Profiles; 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, 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 General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2453
- """[EXPERIMENTAL] ListGeneralLedgerProfiles: List General Ledger Profiles. # noqa: E501
3803
+ def list_posting_modules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3804
+ """[EXPERIMENTAL] ListPostingModules: List Posting Modules # noqa: E501
2454
3805
 
2455
- List all the General Ledger profiles matching particular criteria. # noqa: E501
3806
+ List all the Posting Modules matching particular criteria. # noqa: E501
2456
3807
  This method makes a synchronous HTTP request by default. To make an
2457
3808
  asynchronous HTTP request, please pass async_req=True
2458
3809
 
2459
- >>> thread = api.list_general_ledger_profiles_with_http_info(scope, code, as_at, start, page, limit, filter, async_req=True)
3810
+ >>> thread = api.list_posting_modules_with_http_info(scope, code, as_at, page, limit, filter, sort_by, async_req=True)
2460
3811
  >>> result = thread.get()
2461
3812
 
2462
- :param scope: The scope of the Chart of Accounts (required)
3813
+ :param scope: The scope of the Chart of Accounts. (required)
2463
3814
  :type scope: str
2464
- :param code: The code of the Chart of Accounts (required)
3815
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2465
3816
  :type code: str
2466
- :param as_at: The asAt datetime at which to list the General Ledger Profiles. Defaults to returning the latest version of each General Ledger Profile if not specified.
3817
+ :param as_at: The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module if not specified.
2467
3818
  :type as_at: datetime
2468
- :param start: The start of the pager for the list of General Ledger Profiles
2469
- :type start: int
2470
- :param page: The pagination token to use to continue listing General Ledger Profiles; 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.
3819
+ :param page: The pagination token to use to continue listing Posting Modules; 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.
2471
3820
  :type page: str
2472
3821
  :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2473
3822
  :type limit: int
2474
- :param filter: Expression to filter the results. For example, to filter on the General Ledger profiles type, specify \"type eq 'PeriodBoundary'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3823
+ :param filter: Expression to filter the results. For example, to filter on the Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2475
3824
  :type filter: str
3825
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
3826
+ :type sort_by: List[str]
2476
3827
  :param async_req: Whether to execute the request asynchronously.
2477
3828
  :type async_req: bool, optional
2478
3829
  :param _preload_content: if False, the ApiResponse.data will
@@ -2495,7 +3846,7 @@ class ChartOfAccountsApi:
2495
3846
  :return: Returns the result object.
2496
3847
  If the method is called asynchronously,
2497
3848
  returns the request thread.
2498
- :rtype: tuple(PagedResourceListOfGeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
3849
+ :rtype: tuple(PagedResourceListOfPostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
2499
3850
  """
2500
3851
 
2501
3852
  _params = locals()
@@ -2504,10 +3855,10 @@ class ChartOfAccountsApi:
2504
3855
  'scope',
2505
3856
  'code',
2506
3857
  'as_at',
2507
- 'start',
2508
3858
  'page',
2509
3859
  'limit',
2510
- 'filter'
3860
+ 'filter',
3861
+ 'sort_by'
2511
3862
  ]
2512
3863
  _all_params.extend(
2513
3864
  [
@@ -2526,7 +3877,7 @@ class ChartOfAccountsApi:
2526
3877
  if _key not in _all_params:
2527
3878
  raise ApiTypeError(
2528
3879
  "Got an unexpected keyword argument '%s'"
2529
- " to method list_general_ledger_profiles" % _key
3880
+ " to method list_posting_modules" % _key
2530
3881
  )
2531
3882
  _params[_key] = _val
2532
3883
  del _params['kwargs']
@@ -2550,9 +3901,6 @@ class ChartOfAccountsApi:
2550
3901
  else:
2551
3902
  _query_params.append(('asAt', _params['as_at']))
2552
3903
 
2553
- if _params.get('start') is not None: # noqa: E501
2554
- _query_params.append(('start', _params['start']))
2555
-
2556
3904
  if _params.get('page') is not None: # noqa: E501
2557
3905
  _query_params.append(('page', _params['page']))
2558
3906
 
@@ -2562,6 +3910,10 @@ class ChartOfAccountsApi:
2562
3910
  if _params.get('filter') is not None: # noqa: E501
2563
3911
  _query_params.append(('filter', _params['filter']))
2564
3912
 
3913
+ if _params.get('sort_by') is not None: # noqa: E501
3914
+ _query_params.append(('sortBy', _params['sort_by']))
3915
+ _collection_formats['sortBy'] = 'multi'
3916
+
2565
3917
  # process the header parameters
2566
3918
  _header_params = dict(_params.get('_headers', {}))
2567
3919
  # process the form parameters
@@ -2577,12 +3929,12 @@ class ChartOfAccountsApi:
2577
3929
  _auth_settings = ['oauth2'] # noqa: E501
2578
3930
 
2579
3931
  _response_types_map = {
2580
- '200': "PagedResourceListOfGeneralLedgerProfileResponse",
3932
+ '200': "PagedResourceListOfPostingModuleResponse",
2581
3933
  '400': "LusidValidationProblemDetails",
2582
3934
  }
2583
3935
 
2584
3936
  return self.api_client.call_api(
2585
- '/api/chartofaccounts/{scope}/{code}/generalledgerprofile', 'GET',
3937
+ '/api/chartofaccounts/{scope}/{code}/postingmodules', 'GET',
2586
3938
  _path_params,
2587
3939
  _query_params,
2588
3940
  _header_params,
@@ -2599,40 +3951,32 @@ class ChartOfAccountsApi:
2599
3951
  _request_auth=_params.get('_request_auth'))
2600
3952
 
2601
3953
  @overload
2602
- async def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfPostingModuleRule: # noqa: E501
3954
+ async def set_cleardown_module_details(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_details : Annotated[CleardownModuleDetails, Field(..., description="The new details for the Cleardown Module.")], **kwargs) -> CleardownModuleResponse: # noqa: E501
2603
3955
  ...
2604
3956
 
2605
3957
  @overload
2606
- def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfPostingModuleRule: # noqa: E501
3958
+ def set_cleardown_module_details(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_details : Annotated[CleardownModuleDetails, Field(..., description="The new details for the Cleardown Module.")], async_req: Optional[bool]=True, **kwargs) -> CleardownModuleResponse: # noqa: E501
2607
3959
  ...
2608
3960
 
2609
3961
  @validate_arguments
2610
- def list_posting_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfPostingModuleRule, Awaitable[PagedResourceListOfPostingModuleRule]]: # noqa: E501
2611
- """[EXPERIMENTAL] ListPostingModuleRules: List Posting Module Rules # noqa: E501
3962
+ def set_cleardown_module_details(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_details : Annotated[CleardownModuleDetails, Field(..., description="The new details for the Cleardown Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[CleardownModuleResponse, Awaitable[CleardownModuleResponse]]: # noqa: E501
3963
+ """[EXPERIMENTAL] SetCleardownModuleDetails: Set the details of a Cleardown Module # noqa: E501
2612
3964
 
2613
- List the Rules in a Posting Module # noqa: E501
3965
+ Update the given Cleardown Module details. # noqa: E501
2614
3966
  This method makes a synchronous HTTP request by default. To make an
2615
3967
  asynchronous HTTP request, please pass async_req=True
2616
3968
 
2617
- >>> thread = api.list_posting_module_rules(scope, code, posting_module_code, as_at, page, start, limit, filter, async_req=True)
3969
+ >>> thread = api.set_cleardown_module_details(scope, code, cleardown_module_code, cleardown_module_details, async_req=True)
2618
3970
  >>> result = thread.get()
2619
3971
 
2620
3972
  :param scope: The scope of the Chart of Accounts. (required)
2621
3973
  :type scope: str
2622
3974
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2623
3975
  :type code: str
2624
- :param posting_module_code: The code of the posting module. (required)
2625
- :type posting_module_code: str
2626
- :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
2627
- :type as_at: datetime
2628
- :param page: The pagination token to use to continue listing posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2629
- :type page: str
2630
- :param start: When paginating, skip this number of results.
2631
- :type start: int
2632
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2633
- :type limit: int
2634
- :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2635
- :type filter: str
3976
+ :param cleardown_module_code: The code of the Cleardown Module to be updated. (required)
3977
+ :type cleardown_module_code: str
3978
+ :param cleardown_module_details: The new details for the Cleardown Module. (required)
3979
+ :type cleardown_module_details: CleardownModuleDetails
2636
3980
  :param async_req: Whether to execute the request asynchronously.
2637
3981
  :type async_req: bool, optional
2638
3982
  :param _request_timeout: timeout setting for this request.
@@ -2642,43 +3986,35 @@ class ChartOfAccountsApi:
2642
3986
  :return: Returns the result object.
2643
3987
  If the method is called asynchronously,
2644
3988
  returns the request thread.
2645
- :rtype: PagedResourceListOfPostingModuleRule
3989
+ :rtype: CleardownModuleResponse
2646
3990
  """
2647
3991
  kwargs['_return_http_data_only'] = True
2648
3992
  if '_preload_content' in kwargs:
2649
- message = "Error! Please call the list_posting_module_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3993
+ message = "Error! Please call the set_cleardown_module_details_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2650
3994
  raise ValueError(message)
2651
3995
  if async_req is not None:
2652
3996
  kwargs['async_req'] = async_req
2653
- return self.list_posting_module_rules_with_http_info(scope, code, posting_module_code, as_at, page, start, limit, filter, **kwargs) # noqa: E501
3997
+ return self.set_cleardown_module_details_with_http_info(scope, code, cleardown_module_code, cleardown_module_details, **kwargs) # noqa: E501
2654
3998
 
2655
3999
  @validate_arguments
2656
- def list_posting_module_rules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the posting module.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version 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 posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter 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 rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2657
- """[EXPERIMENTAL] ListPostingModuleRules: List Posting Module Rules # noqa: E501
4000
+ def set_cleardown_module_details_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_details : Annotated[CleardownModuleDetails, Field(..., description="The new details for the Cleardown Module.")], **kwargs) -> ApiResponse: # noqa: E501
4001
+ """[EXPERIMENTAL] SetCleardownModuleDetails: Set the details of a Cleardown Module # noqa: E501
2658
4002
 
2659
- List the Rules in a Posting Module # noqa: E501
4003
+ Update the given Cleardown Module details. # noqa: E501
2660
4004
  This method makes a synchronous HTTP request by default. To make an
2661
4005
  asynchronous HTTP request, please pass async_req=True
2662
4006
 
2663
- >>> thread = api.list_posting_module_rules_with_http_info(scope, code, posting_module_code, as_at, page, start, limit, filter, async_req=True)
4007
+ >>> thread = api.set_cleardown_module_details_with_http_info(scope, code, cleardown_module_code, cleardown_module_details, async_req=True)
2664
4008
  >>> result = thread.get()
2665
4009
 
2666
4010
  :param scope: The scope of the Chart of Accounts. (required)
2667
4011
  :type scope: str
2668
4012
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2669
4013
  :type code: str
2670
- :param posting_module_code: The code of the posting module. (required)
2671
- :type posting_module_code: str
2672
- :param as_at: The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified.
2673
- :type as_at: datetime
2674
- :param page: The pagination token to use to continue listing posting module rules; this value is returned from the previous call. If a pagination token is provided, the filter and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
2675
- :type page: str
2676
- :param start: When paginating, skip this number of results.
2677
- :type start: int
2678
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2679
- :type limit: int
2680
- :param filter: Expression to filter the results. For example, to filter on the rule id, specify \"ruleId eq 'rule 1'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2681
- :type filter: str
4014
+ :param cleardown_module_code: The code of the Cleardown Module to be updated. (required)
4015
+ :type cleardown_module_code: str
4016
+ :param cleardown_module_details: The new details for the Cleardown Module. (required)
4017
+ :type cleardown_module_details: CleardownModuleDetails
2682
4018
  :param async_req: Whether to execute the request asynchronously.
2683
4019
  :type async_req: bool, optional
2684
4020
  :param _preload_content: if False, the ApiResponse.data will
@@ -2701,7 +4037,7 @@ class ChartOfAccountsApi:
2701
4037
  :return: Returns the result object.
2702
4038
  If the method is called asynchronously,
2703
4039
  returns the request thread.
2704
- :rtype: tuple(PagedResourceListOfPostingModuleRule, status_code(int), headers(HTTPHeaderDict))
4040
+ :rtype: tuple(CleardownModuleResponse, status_code(int), headers(HTTPHeaderDict))
2705
4041
  """
2706
4042
 
2707
4043
  _params = locals()
@@ -2709,12 +4045,8 @@ class ChartOfAccountsApi:
2709
4045
  _all_params = [
2710
4046
  'scope',
2711
4047
  'code',
2712
- 'posting_module_code',
2713
- 'as_at',
2714
- 'page',
2715
- 'start',
2716
- 'limit',
2717
- 'filter'
4048
+ 'cleardown_module_code',
4049
+ 'cleardown_module_details'
2718
4050
  ]
2719
4051
  _all_params.extend(
2720
4052
  [
@@ -2733,7 +4065,7 @@ class ChartOfAccountsApi:
2733
4065
  if _key not in _all_params:
2734
4066
  raise ApiTypeError(
2735
4067
  "Got an unexpected keyword argument '%s'"
2736
- " to method list_posting_module_rules" % _key
4068
+ " to method set_cleardown_module_details" % _key
2737
4069
  )
2738
4070
  _params[_key] = _val
2739
4071
  del _params['kwargs']
@@ -2748,30 +4080,12 @@ class ChartOfAccountsApi:
2748
4080
  if _params['code']:
2749
4081
  _path_params['code'] = _params['code']
2750
4082
 
2751
- if _params['posting_module_code']:
2752
- _path_params['postingModuleCode'] = _params['posting_module_code']
4083
+ if _params['cleardown_module_code']:
4084
+ _path_params['cleardownModuleCode'] = _params['cleardown_module_code']
2753
4085
 
2754
4086
 
2755
4087
  # process the query parameters
2756
4088
  _query_params = []
2757
- if _params.get('as_at') is not None: # noqa: E501
2758
- if isinstance(_params['as_at'], datetime):
2759
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2760
- else:
2761
- _query_params.append(('asAt', _params['as_at']))
2762
-
2763
- if _params.get('page') is not None: # noqa: E501
2764
- _query_params.append(('page', _params['page']))
2765
-
2766
- if _params.get('start') is not None: # noqa: E501
2767
- _query_params.append(('start', _params['start']))
2768
-
2769
- if _params.get('limit') is not None: # noqa: E501
2770
- _query_params.append(('limit', _params['limit']))
2771
-
2772
- if _params.get('filter') is not None: # noqa: E501
2773
- _query_params.append(('filter', _params['filter']))
2774
-
2775
4089
  # process the header parameters
2776
4090
  _header_params = dict(_params.get('_headers', {}))
2777
4091
  # process the form parameters
@@ -2779,20 +4093,30 @@ class ChartOfAccountsApi:
2779
4093
  _files = {}
2780
4094
  # process the body parameter
2781
4095
  _body_params = None
4096
+ if _params['cleardown_module_details'] is not None:
4097
+ _body_params = _params['cleardown_module_details']
4098
+
2782
4099
  # set the HTTP header `Accept`
2783
4100
  _header_params['Accept'] = self.api_client.select_header_accept(
2784
4101
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
2785
4102
 
4103
+ # set the HTTP header `Content-Type`
4104
+ _content_types_list = _params.get('_content_type',
4105
+ self.api_client.select_header_content_type(
4106
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4107
+ if _content_types_list:
4108
+ _header_params['Content-Type'] = _content_types_list
4109
+
2786
4110
  # authentication setting
2787
4111
  _auth_settings = ['oauth2'] # noqa: E501
2788
4112
 
2789
4113
  _response_types_map = {
2790
- '200': "PagedResourceListOfPostingModuleRule",
4114
+ '200': "CleardownModuleResponse",
2791
4115
  '400': "LusidValidationProblemDetails",
2792
4116
  }
2793
4117
 
2794
4118
  return self.api_client.call_api(
2795
- '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}/postingrules', 'GET',
4119
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules/{cleardownModuleCode}', 'PUT',
2796
4120
  _path_params,
2797
4121
  _query_params,
2798
4122
  _header_params,
@@ -2809,38 +4133,32 @@ class ChartOfAccountsApi:
2809
4133
  _request_auth=_params.get('_request_auth'))
2810
4134
 
2811
4135
  @overload
2812
- async def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> PagedResourceListOfPostingModuleResponse: # noqa: E501
4136
+ async def set_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_rule : Annotated[conlist(CleardownModuleRule), Field(..., description="The new rule set for the Cleardown Module.")], **kwargs) -> CleardownModuleRulesUpdatedResponse: # noqa: E501
2813
4137
  ...
2814
4138
 
2815
4139
  @overload
2816
- def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfPostingModuleResponse: # noqa: E501
4140
+ def set_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_rule : Annotated[conlist(CleardownModuleRule), Field(..., description="The new rule set for the Cleardown Module.")], async_req: Optional[bool]=True, **kwargs) -> CleardownModuleRulesUpdatedResponse: # noqa: E501
2817
4141
  ...
2818
4142
 
2819
4143
  @validate_arguments
2820
- def list_posting_modules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfPostingModuleResponse, Awaitable[PagedResourceListOfPostingModuleResponse]]: # noqa: E501
2821
- """[EXPERIMENTAL] ListPostingModules: List Posting Modules # noqa: E501
4144
+ def set_cleardown_module_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_rule : Annotated[conlist(CleardownModuleRule), Field(..., description="The new rule set for the Cleardown Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[CleardownModuleRulesUpdatedResponse, Awaitable[CleardownModuleRulesUpdatedResponse]]: # noqa: E501
4145
+ """[EXPERIMENTAL] SetCleardownModuleRules: Set the rules of a Cleardown Module # noqa: E501
2822
4146
 
2823
- List all the Posting Modules matching particular criteria. # noqa: E501
4147
+ Set the given Cleardown Modules rules, this will replace the existing set of rules for the cleardown module. # noqa: E501
2824
4148
  This method makes a synchronous HTTP request by default. To make an
2825
4149
  asynchronous HTTP request, please pass async_req=True
2826
4150
 
2827
- >>> thread = api.list_posting_modules(scope, code, as_at, page, start, limit, filter, async_req=True)
4151
+ >>> thread = api.set_cleardown_module_rules(scope, code, cleardown_module_code, cleardown_module_rule, async_req=True)
2828
4152
  >>> result = thread.get()
2829
4153
 
2830
4154
  :param scope: The scope of the Chart of Accounts. (required)
2831
4155
  :type scope: str
2832
4156
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2833
4157
  :type code: str
2834
- :param as_at: The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module if not specified.
2835
- :type as_at: datetime
2836
- :param page: The pagination token to use to continue listing Posting Modules; 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.
2837
- :type page: str
2838
- :param start: When paginating, skip this number of results.
2839
- :type start: int
2840
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2841
- :type limit: int
2842
- :param filter: Expression to filter the results. For example, to filter on the Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2843
- :type filter: str
4158
+ :param cleardown_module_code: The code of the Cleardown Module to be updated. (required)
4159
+ :type cleardown_module_code: str
4160
+ :param cleardown_module_rule: The new rule set for the Cleardown Module. (required)
4161
+ :type cleardown_module_rule: List[CleardownModuleRule]
2844
4162
  :param async_req: Whether to execute the request asynchronously.
2845
4163
  :type async_req: bool, optional
2846
4164
  :param _request_timeout: timeout setting for this request.
@@ -2850,41 +4168,35 @@ class ChartOfAccountsApi:
2850
4168
  :return: Returns the result object.
2851
4169
  If the method is called asynchronously,
2852
4170
  returns the request thread.
2853
- :rtype: PagedResourceListOfPostingModuleResponse
4171
+ :rtype: CleardownModuleRulesUpdatedResponse
2854
4172
  """
2855
4173
  kwargs['_return_http_data_only'] = True
2856
4174
  if '_preload_content' in kwargs:
2857
- message = "Error! Please call the list_posting_modules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
4175
+ message = "Error! Please call the set_cleardown_module_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2858
4176
  raise ValueError(message)
2859
4177
  if async_req is not None:
2860
4178
  kwargs['async_req'] = async_req
2861
- return self.list_posting_modules_with_http_info(scope, code, as_at, page, start, limit, filter, **kwargs) # noqa: E501
4179
+ return self.set_cleardown_module_rules_with_http_info(scope, code, cleardown_module_code, cleardown_module_rule, **kwargs) # noqa: E501
2862
4180
 
2863
4181
  @validate_arguments
2864
- def list_posting_modules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module 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 Posting Modules; 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 Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2865
- """[EXPERIMENTAL] ListPostingModules: List Posting Modules # noqa: E501
4182
+ def set_cleardown_module_rules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts.")], cleardown_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Cleardown Module to be updated.")], cleardown_module_rule : Annotated[conlist(CleardownModuleRule), Field(..., description="The new rule set for the Cleardown Module.")], **kwargs) -> ApiResponse: # noqa: E501
4183
+ """[EXPERIMENTAL] SetCleardownModuleRules: Set the rules of a Cleardown Module # noqa: E501
2866
4184
 
2867
- List all the Posting Modules matching particular criteria. # noqa: E501
4185
+ Set the given Cleardown Modules rules, this will replace the existing set of rules for the cleardown module. # noqa: E501
2868
4186
  This method makes a synchronous HTTP request by default. To make an
2869
4187
  asynchronous HTTP request, please pass async_req=True
2870
4188
 
2871
- >>> thread = api.list_posting_modules_with_http_info(scope, code, as_at, page, start, limit, filter, async_req=True)
4189
+ >>> thread = api.set_cleardown_module_rules_with_http_info(scope, code, cleardown_module_code, cleardown_module_rule, async_req=True)
2872
4190
  >>> result = thread.get()
2873
4191
 
2874
4192
  :param scope: The scope of the Chart of Accounts. (required)
2875
4193
  :type scope: str
2876
4194
  :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2877
4195
  :type code: str
2878
- :param as_at: The asAt datetime at which to list the Posting Module. Defaults to returning the latest version of each Posting Module if not specified.
2879
- :type as_at: datetime
2880
- :param page: The pagination token to use to continue listing Posting Modules; 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.
2881
- :type page: str
2882
- :param start: When paginating, skip this number of results.
2883
- :type start: int
2884
- :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2885
- :type limit: int
2886
- :param filter: Expression to filter the results. For example, to filter on the Posting Module status, specify \"status eq 'Active'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
2887
- :type filter: str
4196
+ :param cleardown_module_code: The code of the Cleardown Module to be updated. (required)
4197
+ :type cleardown_module_code: str
4198
+ :param cleardown_module_rule: The new rule set for the Cleardown Module. (required)
4199
+ :type cleardown_module_rule: List[CleardownModuleRule]
2888
4200
  :param async_req: Whether to execute the request asynchronously.
2889
4201
  :type async_req: bool, optional
2890
4202
  :param _preload_content: if False, the ApiResponse.data will
@@ -2907,7 +4219,7 @@ class ChartOfAccountsApi:
2907
4219
  :return: Returns the result object.
2908
4220
  If the method is called asynchronously,
2909
4221
  returns the request thread.
2910
- :rtype: tuple(PagedResourceListOfPostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
4222
+ :rtype: tuple(CleardownModuleRulesUpdatedResponse, status_code(int), headers(HTTPHeaderDict))
2911
4223
  """
2912
4224
 
2913
4225
  _params = locals()
@@ -2915,11 +4227,8 @@ class ChartOfAccountsApi:
2915
4227
  _all_params = [
2916
4228
  'scope',
2917
4229
  'code',
2918
- 'as_at',
2919
- 'page',
2920
- 'start',
2921
- 'limit',
2922
- 'filter'
4230
+ 'cleardown_module_code',
4231
+ 'cleardown_module_rule'
2923
4232
  ]
2924
4233
  _all_params.extend(
2925
4234
  [
@@ -2938,7 +4247,7 @@ class ChartOfAccountsApi:
2938
4247
  if _key not in _all_params:
2939
4248
  raise ApiTypeError(
2940
4249
  "Got an unexpected keyword argument '%s'"
2941
- " to method list_posting_modules" % _key
4250
+ " to method set_cleardown_module_rules" % _key
2942
4251
  )
2943
4252
  _params[_key] = _val
2944
4253
  del _params['kwargs']
@@ -2953,27 +4262,12 @@ class ChartOfAccountsApi:
2953
4262
  if _params['code']:
2954
4263
  _path_params['code'] = _params['code']
2955
4264
 
4265
+ if _params['cleardown_module_code']:
4266
+ _path_params['cleardownModuleCode'] = _params['cleardown_module_code']
4267
+
2956
4268
 
2957
4269
  # process the query parameters
2958
4270
  _query_params = []
2959
- if _params.get('as_at') is not None: # noqa: E501
2960
- if isinstance(_params['as_at'], datetime):
2961
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2962
- else:
2963
- _query_params.append(('asAt', _params['as_at']))
2964
-
2965
- if _params.get('page') is not None: # noqa: E501
2966
- _query_params.append(('page', _params['page']))
2967
-
2968
- if _params.get('start') is not None: # noqa: E501
2969
- _query_params.append(('start', _params['start']))
2970
-
2971
- if _params.get('limit') is not None: # noqa: E501
2972
- _query_params.append(('limit', _params['limit']))
2973
-
2974
- if _params.get('filter') is not None: # noqa: E501
2975
- _query_params.append(('filter', _params['filter']))
2976
-
2977
4271
  # process the header parameters
2978
4272
  _header_params = dict(_params.get('_headers', {}))
2979
4273
  # process the form parameters
@@ -2981,20 +4275,30 @@ class ChartOfAccountsApi:
2981
4275
  _files = {}
2982
4276
  # process the body parameter
2983
4277
  _body_params = None
4278
+ if _params['cleardown_module_rule'] is not None:
4279
+ _body_params = _params['cleardown_module_rule']
4280
+
2984
4281
  # set the HTTP header `Accept`
2985
4282
  _header_params['Accept'] = self.api_client.select_header_accept(
2986
4283
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
2987
4284
 
4285
+ # set the HTTP header `Content-Type`
4286
+ _content_types_list = _params.get('_content_type',
4287
+ self.api_client.select_header_content_type(
4288
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4289
+ if _content_types_list:
4290
+ _header_params['Content-Type'] = _content_types_list
4291
+
2988
4292
  # authentication setting
2989
4293
  _auth_settings = ['oauth2'] # noqa: E501
2990
4294
 
2991
4295
  _response_types_map = {
2992
- '200': "PagedResourceListOfPostingModuleResponse",
4296
+ '200': "CleardownModuleRulesUpdatedResponse",
2993
4297
  '400': "LusidValidationProblemDetails",
2994
4298
  }
2995
4299
 
2996
4300
  return self.api_client.call_api(
2997
- '/api/chartofaccounts/{scope}/{code}/postingmodules', 'GET',
4301
+ '/api/chartofaccounts/{scope}/{code}/cleardownmodules/{cleardownModuleCode}/cleardownrules', 'PUT',
2998
4302
  _path_params,
2999
4303
  _query_params,
3000
4304
  _header_params,