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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1117) hide show
  1. lusid/__init__.py +247 -197
  2. lusid/api/__init__.py +14 -3
  3. lusid/api/abor_api.py +1963 -0
  4. lusid/api/abor_configuration_api.py +943 -0
  5. lusid/api/address_key_definition_api.py +296 -269
  6. lusid/api/aggregation_api.py +469 -260
  7. lusid/api/allocations_api.py +419 -404
  8. lusid/api/application_metadata_api.py +266 -244
  9. lusid/api/blocks_api.py +409 -402
  10. lusid/api/calendars_api.py +1185 -1248
  11. lusid/api/chart_of_accounts_api.py +4087 -0
  12. lusid/api/complex_market_data_api.py +469 -308
  13. lusid/api/compliance_api.py +1081 -1169
  14. lusid/api/configuration_recipe_api.py +381 -375
  15. lusid/api/conventions_api.py +1982 -0
  16. lusid/api/corporate_action_sources_api.py +961 -885
  17. lusid/api/counterparties_api.py +729 -711
  18. lusid/api/custom_entities_api.py +1186 -1465
  19. lusid/api/custom_entity_definitions_api.py +387 -364
  20. lusid/api/custom_entity_types_api.py +393 -369
  21. lusid/api/cut_label_definitions_api.py +492 -453
  22. lusid/api/data_types_api.py +726 -734
  23. lusid/api/derived_transaction_portfolios_api.py +204 -213
  24. lusid/api/entities_api.py +113 -113
  25. lusid/api/executions_api.py +409 -402
  26. lusid/api/instrument_events_api.py +734 -0
  27. lusid/api/instruments_api.py +2407 -1721
  28. lusid/api/legacy_compliance_api.py +1449 -0
  29. lusid/api/legal_entities_api.py +1982 -2102
  30. lusid/api/order_graph_api.py +357 -364
  31. lusid/api/order_instructions_api.py +745 -0
  32. lusid/api/order_management_api.py +240 -342
  33. lusid/api/orders_api.py +423 -408
  34. lusid/api/packages_api.py +745 -0
  35. lusid/api/participations_api.py +407 -400
  36. lusid/api/persons_api.py +1791 -1945
  37. lusid/api/placements_api.py +411 -404
  38. lusid/api/portfolio_groups_api.py +2810 -2975
  39. lusid/api/portfolios_api.py +2859 -3031
  40. lusid/api/property_definitions_api.py +981 -1267
  41. lusid/api/quotes_api.py +1314 -517
  42. lusid/api/reconciliations_api.py +3548 -855
  43. lusid/api/reference_lists_api.py +388 -388
  44. lusid/api/reference_portfolio_api.py +409 -432
  45. lusid/api/relation_definitions_api.py +538 -0
  46. lusid/api/relations_api.py +414 -0
  47. lusid/api/relationship_definitions_api.py +484 -494
  48. lusid/api/relationships_api.py +204 -222
  49. lusid/api/schemas_api.py +374 -322
  50. lusid/api/scopes_api.py +100 -241
  51. lusid/api/scripted_translation_api.py +784 -795
  52. lusid/api/search_api.py +408 -423
  53. lusid/api/sequences_api.py +376 -404
  54. lusid/api/structured_result_data_api.py +1472 -325
  55. lusid/api/system_configuration_api.py +979 -143
  56. lusid/api/tax_rule_sets_api.py +900 -0
  57. lusid/api/transaction_configuration_api.py +1066 -1104
  58. lusid/api/transaction_fees_api.py +935 -0
  59. lusid/api/transaction_portfolios_api.py +5287 -3537
  60. lusid/api/translation_api.py +364 -0
  61. lusid/api_client.py +195 -124
  62. lusid/api_response.py +25 -0
  63. lusid/configuration.py +58 -81
  64. lusid/exceptions.py +17 -15
  65. lusid/extensions/__init__.py +15 -0
  66. lusid/extensions/api_client.py +764 -0
  67. lusid/extensions/api_client_builder.py +138 -0
  68. lusid/extensions/api_client_factory.py +137 -0
  69. lusid/{utilities → extensions}/api_configuration.py +4 -5
  70. lusid/extensions/configuration_loaders.py +203 -0
  71. lusid/{utilities → extensions}/proxy_config.py +21 -6
  72. lusid/{utilities → extensions}/refreshing_token.py +82 -35
  73. lusid/extensions/rest.py +300 -0
  74. lusid/extensions/retry.py +357 -0
  75. lusid/extensions/socket_keep_alive.py +53 -0
  76. lusid/extensions/tcp_keep_alive_connector.py +66 -0
  77. lusid/models/__init__.py +232 -188
  78. lusid/models/a2_b_breakdown.py +65 -187
  79. lusid/models/a2_b_category.py +60 -154
  80. lusid/models/a2_b_data_record.py +178 -540
  81. lusid/models/a2_b_movement_record.py +192 -635
  82. lusid/models/abor.py +150 -0
  83. lusid/models/abor_configuration.py +159 -0
  84. lusid/models/abor_configuration_properties.py +115 -0
  85. lusid/models/abor_configuration_request.py +145 -0
  86. lusid/models/abor_properties.py +115 -0
  87. lusid/models/abor_request.py +131 -0
  88. lusid/models/access_controlled_action.py +87 -221
  89. lusid/models/access_controlled_resource.py +105 -283
  90. lusid/models/access_metadata_operation.py +84 -234
  91. lusid/models/access_metadata_value.py +58 -166
  92. lusid/models/account.py +126 -0
  93. lusid/models/account_properties.py +115 -0
  94. lusid/models/accounting_method.py +42 -0
  95. lusid/models/accounts_upsert_response.py +110 -0
  96. lusid/models/action_id.py +55 -204
  97. lusid/models/action_result_of_portfolio.py +57 -154
  98. lusid/models/add_business_days_to_date_request.py +63 -214
  99. lusid/models/add_business_days_to_date_response.py +52 -127
  100. lusid/models/additional_payment.py +58 -228
  101. lusid/models/address_definition.py +97 -284
  102. lusid/models/address_key_compliance_parameter.py +80 -166
  103. lusid/models/address_key_definition.py +74 -222
  104. lusid/models/address_key_filter.py +69 -191
  105. lusid/models/address_key_list.py +73 -170
  106. lusid/models/address_key_list_compliance_parameter.py +77 -164
  107. lusid/models/address_key_option_definition.py +69 -293
  108. lusid/models/adjust_holding.py +101 -216
  109. lusid/models/adjust_holding_for_date_request.py +109 -285
  110. lusid/models/adjust_holding_request.py +107 -250
  111. lusid/models/aggregate_spec.py +67 -196
  112. lusid/models/aggregated_return.py +106 -373
  113. lusid/models/aggregated_returns_dispersion_request.py +102 -291
  114. lusid/models/aggregated_returns_request.py +128 -403
  115. lusid/models/aggregated_returns_response.py +95 -186
  116. lusid/models/aggregated_transactions_request.py +131 -0
  117. lusid/models/aggregation_context.py +55 -125
  118. lusid/models/aggregation_measure_failure_detail.py +80 -238
  119. lusid/models/aggregation_op.py +49 -0
  120. lusid/models/aggregation_options.py +55 -189
  121. lusid/models/aggregation_query.py +106 -439
  122. lusid/models/aggregation_type.py +44 -0
  123. lusid/models/allocation.py +207 -737
  124. lusid/models/allocation_request.py +175 -611
  125. lusid/models/allocation_service_run_response.py +102 -0
  126. lusid/models/allocation_set_request.py +64 -126
  127. lusid/models/amortisation_event.py +82 -266
  128. lusid/models/annul_quotes_response.py +99 -217
  129. lusid/models/annul_single_structured_data_response.py +74 -188
  130. lusid/models/annul_structured_data_response.py +99 -217
  131. lusid/models/asset_class.py +44 -0
  132. lusid/models/barrier.py +62 -228
  133. lusid/models/basket.py +85 -229
  134. lusid/models/basket_identifier.py +57 -224
  135. lusid/models/batch_adjust_holdings_response.py +128 -216
  136. lusid/models/batch_upsert_instrument_properties_response.py +101 -223
  137. lusid/models/batch_upsert_portfolio_transactions_response.py +128 -216
  138. lusid/models/batch_upsert_property_definition_properties_response.py +97 -223
  139. lusid/models/block.py +133 -544
  140. lusid/models/block_request.py +108 -448
  141. lusid/models/block_set_request.py +64 -126
  142. lusid/models/bond.py +144 -570
  143. lusid/models/bond_default_event.py +84 -167
  144. lusid/models/book_transactions_response.py +107 -0
  145. lusid/models/bool_compliance_parameter.py +73 -164
  146. lusid/models/bool_list_compliance_parameter.py +77 -164
  147. lusid/models/bucketed_cash_flow_request.py +172 -0
  148. lusid/models/bucketed_cash_flow_response.py +129 -0
  149. lusid/models/bucketing_schedule.py +74 -0
  150. lusid/models/calculation_info.py +73 -0
  151. lusid/models/calendar.py +88 -309
  152. lusid/models/calendar_date.py +84 -407
  153. lusid/models/calendar_dependency.py +73 -166
  154. lusid/models/cap_floor.py +85 -295
  155. lusid/models/cash_dependency.py +76 -199
  156. lusid/models/cash_dividend_event.py +78 -291
  157. lusid/models/cash_flow_event.py +82 -199
  158. lusid/models/cash_flow_lineage.py +91 -276
  159. lusid/models/cash_flow_value.py +90 -289
  160. lusid/models/cash_flow_value_set.py +86 -164
  161. lusid/models/cash_ladder_record.py +58 -216
  162. lusid/models/cash_perpetual.py +78 -231
  163. lusid/models/cds_flow_conventions.py +113 -514
  164. lusid/models/cds_index.py +100 -382
  165. lusid/models/cds_protection_detail_specification.py +57 -230
  166. lusid/models/change.py +110 -357
  167. lusid/models/change_history.py +90 -299
  168. lusid/models/change_history_action.py +39 -0
  169. lusid/models/change_item.py +80 -252
  170. lusid/models/chart_of_accounts.py +135 -0
  171. lusid/models/chart_of_accounts_properties.py +115 -0
  172. lusid/models/chart_of_accounts_request.py +120 -0
  173. lusid/models/client.py +75 -0
  174. lusid/models/close_event.py +76 -197
  175. lusid/models/complete_portfolio.py +142 -495
  176. lusid/models/complete_relation.py +96 -0
  177. lusid/models/complete_relationship.py +88 -378
  178. lusid/models/complex_bond.py +129 -326
  179. lusid/models/complex_market_data.py +81 -151
  180. lusid/models/complex_market_data_id.py +74 -274
  181. lusid/models/compliance_breached_order_info.py +83 -0
  182. lusid/models/compliance_parameter.py +83 -156
  183. lusid/models/compliance_parameter_type.py +53 -0
  184. lusid/models/compliance_rule.py +137 -0
  185. lusid/models/compliance_rule_breakdown.py +76 -257
  186. lusid/models/compliance_rule_breakdown_request.py +76 -252
  187. lusid/models/compliance_rule_response.py +149 -411
  188. lusid/models/compliance_rule_result.py +91 -0
  189. lusid/models/compliance_rule_result_detail.py +91 -414
  190. lusid/models/compliance_rule_result_portfolio_detail.py +57 -159
  191. lusid/models/compliance_rule_upsert_request.py +178 -0
  192. lusid/models/compliance_rule_upsert_response.py +82 -0
  193. lusid/models/compliance_run_info.py +81 -0
  194. lusid/models/compliance_run_info_v2.py +64 -253
  195. lusid/models/compliance_run_summary.py +72 -250
  196. lusid/models/compliance_summary_rule_result.py +97 -342
  197. lusid/models/compliance_summary_rule_result_request.py +97 -348
  198. lusid/models/compliance_template.py +89 -253
  199. lusid/models/compliance_template_parameter.py +55 -201
  200. lusid/models/compliance_template_variation.py +84 -292
  201. lusid/models/composite_breakdown.py +72 -188
  202. lusid/models/composite_breakdown_request.py +97 -281
  203. lusid/models/composite_breakdown_response.py +90 -188
  204. lusid/models/composite_dispersion.py +91 -339
  205. lusid/models/composite_dispersion_response.py +95 -186
  206. lusid/models/compounding.py +76 -299
  207. lusid/models/configuration_recipe.py +123 -362
  208. lusid/models/configuration_recipe_snippet.py +121 -354
  209. lusid/models/constituents_adjustment_header.py +73 -187
  210. lusid/models/contract_for_difference.py +90 -430
  211. lusid/models/corporate_action.py +82 -313
  212. lusid/models/corporate_action_source.py +104 -304
  213. lusid/models/corporate_action_transition.py +69 -155
  214. lusid/models/corporate_action_transition_component.py +59 -262
  215. lusid/models/corporate_action_transition_component_request.py +55 -192
  216. lusid/models/corporate_action_transition_request.py +69 -153
  217. lusid/models/counterparty_agreement.py +73 -292
  218. lusid/models/counterparty_risk_information.py +78 -197
  219. lusid/models/counterparty_signatory.py +57 -161
  220. lusid/models/create_address_key_definition_request.py +53 -163
  221. lusid/models/create_calendar_request.py +94 -262
  222. lusid/models/create_corporate_action_source_request.py +100 -291
  223. lusid/models/create_custom_entity_type_request.py +79 -242
  224. lusid/models/create_cut_label_definition_request.py +85 -256
  225. lusid/models/create_data_map_request.py +79 -0
  226. lusid/models/create_data_type_request.py +143 -462
  227. lusid/models/create_date_request.py +111 -368
  228. lusid/models/create_derived_property_definition_request.py +79 -331
  229. lusid/models/create_derived_transaction_portfolio_request.py +153 -535
  230. lusid/models/create_portfolio_details.py +55 -125
  231. lusid/models/create_portfolio_group_request.py +117 -314
  232. lusid/models/create_property_definition_request.py +98 -424
  233. lusid/models/create_recipe_request.py +90 -0
  234. lusid/models/create_reconciliation_request.py +140 -0
  235. lusid/models/create_reference_portfolio_request.py +102 -317
  236. lusid/models/create_relation_definition_request.py +95 -0
  237. lusid/models/create_relation_request.py +71 -0
  238. lusid/models/create_relationship_definition_request.py +112 -437
  239. lusid/models/create_relationship_request.py +87 -238
  240. lusid/models/create_sequence_request.py +105 -327
  241. lusid/models/create_tax_rule_set_request.py +103 -0
  242. lusid/models/create_transaction_portfolio_request.py +145 -574
  243. lusid/models/create_unit_definition.py +83 -241
  244. lusid/models/credit_default_swap.py +105 -384
  245. lusid/models/credit_rating.py +67 -178
  246. lusid/models/credit_spread_curve_data.py +109 -420
  247. lusid/models/credit_support_annex.py +73 -432
  248. lusid/models/criterion_type.py +39 -0
  249. lusid/models/currency_and_amount.py +58 -153
  250. lusid/models/curve_options.py +110 -0
  251. lusid/models/custodian_account.py +93 -396
  252. lusid/models/custodian_account_properties.py +115 -0
  253. lusid/models/custodian_account_request.py +148 -0
  254. lusid/models/custodian_accounts_upsert_response.py +110 -0
  255. lusid/models/custom_entity_definition.py +79 -323
  256. lusid/models/custom_entity_definition_request.py +79 -242
  257. lusid/models/custom_entity_field.py +73 -222
  258. lusid/models/custom_entity_field_definition.py +71 -296
  259. lusid/models/custom_entity_id.py +91 -280
  260. lusid/models/custom_entity_request.py +78 -228
  261. lusid/models/custom_entity_response.py +118 -382
  262. lusid/models/custom_entity_type.py +79 -323
  263. lusid/models/cut_label_definition.py +105 -324
  264. lusid/models/cut_local_time.py +53 -154
  265. lusid/models/data_definition.py +104 -0
  266. lusid/models/data_map_key.py +101 -0
  267. lusid/models/data_mapping.py +82 -0
  268. lusid/models/data_scope.py +80 -0
  269. lusid/models/data_type.py +139 -477
  270. lusid/models/data_type_summary.py +111 -398
  271. lusid/models/data_type_value_range.py +38 -0
  272. lusid/models/date_attributes.py +140 -371
  273. lusid/models/date_or_diary_entry.py +91 -0
  274. lusid/models/date_range.py +59 -155
  275. lusid/models/date_time_comparison_type.py +38 -0
  276. lusid/models/date_time_compliance_parameter.py +74 -165
  277. lusid/models/date_time_list_compliance_parameter.py +77 -164
  278. lusid/models/day_of_week.py +20 -102
  279. lusid/models/decimal_compliance_parameter.py +73 -164
  280. lusid/models/decimal_list.py +73 -170
  281. lusid/models/decimal_list_compliance_parameter.py +77 -164
  282. lusid/models/decorated_compliance_run_summary.py +65 -156
  283. lusid/models/delete_accounts_response.py +95 -0
  284. lusid/models/delete_custodian_accounts_response.py +103 -0
  285. lusid/models/delete_instrument_properties_response.py +67 -159
  286. lusid/models/delete_instrument_response.py +74 -189
  287. lusid/models/delete_instruments_response.py +74 -189
  288. lusid/models/delete_modes.py +38 -0
  289. lusid/models/delete_relation_request.py +71 -0
  290. lusid/models/delete_relationship_request.py +87 -238
  291. lusid/models/deleted_entity_response.py +81 -219
  292. lusid/models/dependency_source_filter.py +70 -198
  293. lusid/models/described_address_key.py +81 -0
  294. lusid/models/dialect.py +61 -185
  295. lusid/models/dialect_id.py +89 -330
  296. lusid/models/dialect_schema.py +58 -167
  297. lusid/models/diary_entry.py +155 -0
  298. lusid/models/diary_entry_request.py +120 -0
  299. lusid/models/discount_factor_curve_data.py +91 -296
  300. lusid/models/discounting_dependency.py +76 -199
  301. lusid/models/discounting_method.py +39 -0
  302. lusid/models/economic_dependency.py +82 -150
  303. lusid/models/economic_dependency_type.py +50 -0
  304. lusid/models/economic_dependency_with_complex_market_data.py +61 -156
  305. lusid/models/economic_dependency_with_quote.py +68 -186
  306. lusid/models/empty_model_options.py +71 -134
  307. lusid/models/entity_identifier.py +60 -190
  308. lusid/models/equity.py +84 -225
  309. lusid/models/equity_all_of_identifiers.py +83 -415
  310. lusid/models/equity_curve_by_prices_data.py +91 -296
  311. lusid/models/equity_curve_dependency.py +80 -281
  312. lusid/models/equity_model_options.py +73 -169
  313. lusid/models/equity_option.py +117 -554
  314. lusid/models/equity_swap.py +107 -487
  315. lusid/models/equity_vol_dependency.py +80 -275
  316. lusid/models/equity_vol_surface_data.py +101 -267
  317. lusid/models/error_detail.py +77 -216
  318. lusid/models/event_date_range.py +54 -155
  319. lusid/models/ex_dividend_configuration.py +57 -221
  320. lusid/models/exchange_traded_option.py +84 -261
  321. lusid/models/exchange_traded_option_contract_details.py +80 -535
  322. lusid/models/execution.py +144 -673
  323. lusid/models/execution_request.py +119 -577
  324. lusid/models/execution_set_request.py +64 -126
  325. lusid/models/exercise_event.py +85 -228
  326. lusid/models/exotic_instrument.py +79 -199
  327. lusid/models/expanded_group.py +121 -340
  328. lusid/models/fee_rule.py +138 -0
  329. lusid/models/fee_rule_upsert_request.py +142 -0
  330. lusid/models/fee_rule_upsert_response.py +97 -0
  331. lusid/models/field_definition.py +62 -195
  332. lusid/models/field_schema.py +83 -247
  333. lusid/models/field_value.py +60 -165
  334. lusid/models/file_response.py +69 -181
  335. lusid/models/fixed_leg.py +95 -287
  336. lusid/models/fixed_leg_all_of_overrides.py +65 -154
  337. lusid/models/fixed_schedule.py +136 -0
  338. lusid/models/float_schedule.py +147 -0
  339. lusid/models/floating_leg.py +109 -349
  340. lusid/models/flow_convention_name.py +60 -193
  341. lusid/models/flow_conventions.py +120 -578
  342. lusid/models/forward_rate_agreement.py +90 -356
  343. lusid/models/funding_leg.py +89 -259
  344. lusid/models/funding_leg_options.py +91 -0
  345. lusid/models/future.py +100 -388
  346. lusid/models/futures_contract_details.py +112 -537
  347. lusid/models/fx_dependency.py +78 -231
  348. lusid/models/fx_forward.py +97 -481
  349. lusid/models/fx_forward_curve_by_quote_reference.py +114 -387
  350. lusid/models/fx_forward_curve_data.py +95 -360
  351. lusid/models/fx_forward_model_options.py +91 -242
  352. lusid/models/fx_forward_pips_curve_data.py +95 -360
  353. lusid/models/fx_forward_tenor_curve_data.py +117 -420
  354. lusid/models/fx_forward_tenor_pips_curve_data.py +117 -420
  355. lusid/models/fx_forwards_dependency.py +80 -269
  356. lusid/models/fx_option.py +159 -629
  357. lusid/models/fx_rate_schedule.py +111 -0
  358. lusid/models/fx_swap.py +89 -224
  359. lusid/models/fx_tenor_convention.py +53 -166
  360. lusid/models/fx_vol_dependency.py +80 -269
  361. lusid/models/fx_vol_surface_data.py +101 -267
  362. lusid/models/general_ledger_profile_mapping.py +78 -0
  363. lusid/models/general_ledger_profile_request.py +112 -0
  364. lusid/models/general_ledger_profile_response.py +146 -0
  365. lusid/models/get_cds_flow_conventions_response.py +115 -0
  366. lusid/models/get_complex_market_data_response.py +111 -216
  367. lusid/models/get_counterparty_agreement_response.py +97 -215
  368. lusid/models/get_credit_support_annex_response.py +97 -215
  369. lusid/models/get_data_map_response.py +129 -0
  370. lusid/models/get_flow_conventions_response.py +115 -0
  371. lusid/models/get_index_convention_response.py +115 -0
  372. lusid/models/get_instruments_response.py +111 -216
  373. lusid/models/get_quotes_response.py +130 -246
  374. lusid/models/get_recipe_response.py +77 -185
  375. lusid/models/get_reference_portfolio_constituents_response.py +117 -321
  376. lusid/models/get_structured_result_data_response.py +129 -0
  377. lusid/models/get_virtual_document_response.py +129 -0
  378. lusid/models/grouped_result_of_address_key.py +89 -0
  379. lusid/models/holding_adjustment.py +121 -313
  380. lusid/models/holding_adjustment_with_date.py +124 -345
  381. lusid/models/holding_context.py +51 -127
  382. lusid/models/holding_contributor.py +55 -126
  383. lusid/models/holdings_adjustment.py +92 -259
  384. lusid/models/holdings_adjustment_header.py +82 -227
  385. lusid/models/i_unit_definition_dto.py +85 -217
  386. lusid/models/id_selector_definition.py +75 -227
  387. lusid/models/identifier_part_schema.py +74 -295
  388. lusid/models/index_convention.py +100 -388
  389. lusid/models/index_model_options.py +80 -172
  390. lusid/models/index_projection_dependency.py +80 -275
  391. lusid/models/industry_classifier.py +60 -172
  392. lusid/models/inflation_fixing_dependency.py +78 -237
  393. lusid/models/inflation_index_conventions.py +71 -307
  394. lusid/models/inflation_leg.py +120 -455
  395. lusid/models/inflation_linked_bond.py +153 -601
  396. lusid/models/inflation_swap.py +88 -259
  397. lusid/models/informational_error_event.py +78 -237
  398. lusid/models/informational_event.py +88 -262
  399. lusid/models/inline_valuation_request.py +150 -497
  400. lusid/models/inline_valuations_reconciliation_request.py +82 -216
  401. lusid/models/input_transition.py +53 -160
  402. lusid/models/instrument.py +160 -541
  403. lusid/models/instrument_capabilities.py +133 -0
  404. lusid/models/instrument_cash_flow.py +107 -0
  405. lusid/models/instrument_definition.py +93 -251
  406. lusid/models/instrument_definition_format.py +55 -201
  407. lusid/models/instrument_delete_modes.py +38 -0
  408. lusid/models/instrument_event.py +81 -161
  409. lusid/models/instrument_event_holder.py +106 -460
  410. lusid/models/instrument_event_type.py +50 -0
  411. lusid/models/instrument_id_type_descriptor.py +55 -195
  412. lusid/models/instrument_id_value.py +54 -163
  413. lusid/models/instrument_leg.py +82 -143
  414. lusid/models/instrument_list.py +73 -170
  415. lusid/models/instrument_list_compliance_parameter.py +77 -164
  416. lusid/models/instrument_match.py +78 -156
  417. lusid/models/instrument_models.py +78 -186
  418. lusid/models/instrument_payment_diary.py +131 -0
  419. lusid/models/instrument_payment_diary_leg.py +89 -0
  420. lusid/models/instrument_payment_diary_row.py +132 -0
  421. lusid/models/instrument_properties.py +97 -215
  422. lusid/models/instrument_search_property.py +53 -163
  423. lusid/models/instrument_type.py +72 -0
  424. lusid/models/interest_rate_swap.py +110 -322
  425. lusid/models/interest_rate_swaption.py +90 -296
  426. lusid/models/ir_vol_cube_data.py +101 -267
  427. lusid/models/ir_vol_dependency.py +78 -237
  428. lusid/models/is_business_day_response.py +54 -157
  429. lusid/models/je_lines_query_parameters.py +105 -0
  430. lusid/models/journal_entry_line.py +193 -0
  431. lusid/models/journal_entry_lines_query_parameters.py +109 -0
  432. lusid/models/label_value_set.py +51 -129
  433. lusid/models/leg_definition.py +130 -619
  434. lusid/models/legal_entity.py +158 -394
  435. lusid/models/level_step.py +54 -161
  436. lusid/models/life_cycle_event_lineage.py +84 -246
  437. lusid/models/life_cycle_event_value.py +86 -224
  438. lusid/models/link.py +62 -222
  439. lusid/models/list_aggregation_reconciliation.py +73 -211
  440. lusid/models/list_aggregation_response.py +111 -326
  441. lusid/models/list_complex_market_data_with_meta_data_response.py +86 -0
  442. lusid/models/loan_period.py +56 -187
  443. lusid/models/look_up_pricing_model_options.py +75 -198
  444. lusid/models/lusid_instrument.py +98 -166
  445. lusid/models/lusid_problem_details.py +95 -333
  446. lusid/models/lusid_trade_ticket.py +148 -639
  447. lusid/models/lusid_unique_id.py +53 -166
  448. lusid/models/lusid_validation_problem_details.py +106 -362
  449. lusid/models/mapped_string.py +72 -209
  450. lusid/models/mapping.py +93 -281
  451. lusid/models/mapping_rule.py +96 -308
  452. lusid/models/market_context.py +96 -243
  453. lusid/models/market_context_suppliers.py +59 -241
  454. lusid/models/market_data_key_rule.py +114 -462
  455. lusid/models/market_data_options.py +73 -141
  456. lusid/models/market_data_options_type.py +37 -0
  457. lusid/models/market_data_overrides.py +79 -156
  458. lusid/models/market_data_specific_rule.py +115 -494
  459. lusid/models/market_data_type.py +49 -0
  460. lusid/models/market_observable_type.py +41 -0
  461. lusid/models/market_options.py +108 -318
  462. lusid/models/market_quote.py +60 -166
  463. lusid/models/match_criterion.py +95 -0
  464. lusid/models/metric_value.py +58 -155
  465. lusid/models/model_options.py +77 -144
  466. lusid/models/model_options_type.py +44 -0
  467. lusid/models/model_property.py +72 -218
  468. lusid/models/model_schema.py +116 -0
  469. lusid/models/model_selection.py +67 -172
  470. lusid/models/movement_type.py +54 -0
  471. lusid/models/next_value_in_sequence_response.py +66 -158
  472. lusid/models/numeric_comparison_type.py +39 -0
  473. lusid/models/opaque_dependency.py +71 -134
  474. lusid/models/opaque_market_data.py +84 -275
  475. lusid/models/opaque_model_options.py +73 -164
  476. lusid/models/open_event.py +74 -166
  477. lusid/models/operand_type.py +38 -0
  478. lusid/models/operation.py +67 -227
  479. lusid/models/operation_type.py +37 -0
  480. lusid/models/operator.py +43 -0
  481. lusid/models/option_entry.py +71 -0
  482. lusid/models/optionality_schedule.py +118 -0
  483. lusid/models/order.py +173 -706
  484. lusid/models/order_by_spec.py +60 -166
  485. lusid/models/order_flow_configuration.py +51 -129
  486. lusid/models/order_graph_block.py +83 -381
  487. lusid/models/order_graph_block_allocation_detail.py +55 -126
  488. lusid/models/order_graph_block_allocation_synopsis.py +61 -160
  489. lusid/models/order_graph_block_execution_detail.py +55 -126
  490. lusid/models/order_graph_block_execution_synopsis.py +61 -160
  491. lusid/models/order_graph_block_order_detail.py +69 -314
  492. lusid/models/order_graph_block_order_synopsis.py +61 -190
  493. lusid/models/order_graph_block_placement_detail.py +55 -126
  494. lusid/models/order_graph_block_placement_synopsis.py +61 -190
  495. lusid/models/order_graph_placement.py +94 -341
  496. lusid/models/order_graph_placement_allocation_detail.py +55 -126
  497. lusid/models/order_graph_placement_allocation_synopsis.py +61 -160
  498. lusid/models/order_graph_placement_child_placement_detail.py +55 -126
  499. lusid/models/order_graph_placement_execution_detail.py +55 -126
  500. lusid/models/order_graph_placement_execution_synopsis.py +61 -160
  501. lusid/models/order_graph_placement_order_detail.py +55 -126
  502. lusid/models/order_graph_placement_order_synopsis.py +59 -128
  503. lusid/models/order_graph_placement_placement_synopsis.py +61 -160
  504. lusid/models/order_instruction.py +157 -0
  505. lusid/models/order_instruction_request.py +127 -0
  506. lusid/models/order_instruction_set_request.py +82 -0
  507. lusid/models/order_request.py +141 -580
  508. lusid/models/order_set_request.py +64 -126
  509. lusid/models/otc_confirmation.py +55 -125
  510. lusid/models/output_transaction.py +189 -875
  511. lusid/models/output_transition.py +77 -281
  512. lusid/models/package.py +132 -0
  513. lusid/models/package_request.py +111 -0
  514. lusid/models/package_set_request.py +82 -0
  515. lusid/models/paged_resource_list_of_abor.py +113 -0
  516. lusid/models/paged_resource_list_of_abor_configuration.py +113 -0
  517. lusid/models/paged_resource_list_of_account.py +113 -0
  518. lusid/models/paged_resource_list_of_address_key_definition.py +95 -248
  519. lusid/models/paged_resource_list_of_allocation.py +95 -248
  520. lusid/models/paged_resource_list_of_block.py +95 -248
  521. lusid/models/paged_resource_list_of_calendar.py +95 -248
  522. lusid/models/paged_resource_list_of_chart_of_accounts.py +113 -0
  523. lusid/models/paged_resource_list_of_compliance_rule_response.py +95 -248
  524. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +95 -248
  525. lusid/models/paged_resource_list_of_compliance_template.py +95 -248
  526. lusid/models/paged_resource_list_of_corporate_action_source.py +95 -248
  527. lusid/models/paged_resource_list_of_custodian_account.py +113 -0
  528. lusid/models/paged_resource_list_of_custom_entity_definition.py +95 -248
  529. lusid/models/paged_resource_list_of_custom_entity_response.py +95 -248
  530. lusid/models/paged_resource_list_of_custom_entity_type.py +95 -248
  531. lusid/models/paged_resource_list_of_cut_label_definition.py +95 -248
  532. lusid/models/paged_resource_list_of_data_type_summary.py +95 -248
  533. lusid/models/paged_resource_list_of_dialect_id.py +95 -248
  534. lusid/models/paged_resource_list_of_diary_entry.py +113 -0
  535. lusid/models/paged_resource_list_of_execution.py +95 -248
  536. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +113 -0
  537. lusid/models/paged_resource_list_of_instrument.py +95 -248
  538. lusid/models/paged_resource_list_of_instrument_event_holder.py +95 -248
  539. lusid/models/paged_resource_list_of_legal_entity.py +95 -248
  540. lusid/models/paged_resource_list_of_order.py +95 -248
  541. lusid/models/paged_resource_list_of_order_graph_block.py +95 -248
  542. lusid/models/paged_resource_list_of_order_graph_placement.py +95 -248
  543. lusid/models/paged_resource_list_of_order_instruction.py +113 -0
  544. lusid/models/paged_resource_list_of_package.py +113 -0
  545. lusid/models/paged_resource_list_of_participation.py +95 -248
  546. lusid/models/paged_resource_list_of_person.py +95 -248
  547. lusid/models/paged_resource_list_of_placement.py +95 -248
  548. lusid/models/paged_resource_list_of_portfolio_group.py +95 -248
  549. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +95 -248
  550. lusid/models/paged_resource_list_of_portfolio_search_result.py +95 -248
  551. lusid/models/paged_resource_list_of_posting_module_response.py +113 -0
  552. lusid/models/paged_resource_list_of_posting_module_rule.py +113 -0
  553. lusid/models/paged_resource_list_of_property_definition_search_result.py +95 -248
  554. lusid/models/paged_resource_list_of_reconciliation.py +113 -0
  555. lusid/models/paged_resource_list_of_reconciliation_run.py +113 -0
  556. lusid/models/paged_resource_list_of_reconciliation_run_break.py +113 -0
  557. lusid/models/paged_resource_list_of_reference_list_response.py +95 -248
  558. lusid/models/paged_resource_list_of_relationship_definition.py +95 -248
  559. lusid/models/paged_resource_list_of_sequence_definition.py +95 -248
  560. lusid/models/paged_resource_list_of_translation_script_id.py +95 -248
  561. lusid/models/paged_resource_list_of_virtual_row.py +95 -248
  562. lusid/models/participation.py +86 -245
  563. lusid/models/participation_request.py +71 -186
  564. lusid/models/participation_set_request.py +64 -126
  565. lusid/models/performance_return.py +75 -251
  566. lusid/models/performance_returns_metric.py +83 -309
  567. lusid/models/period_type.py +41 -0
  568. lusid/models/perpetual_entity_state.py +39 -0
  569. lusid/models/perpetual_property.py +57 -157
  570. lusid/models/person.py +137 -335
  571. lusid/models/placement.py +161 -698
  572. lusid/models/placement_request.py +136 -614
  573. lusid/models/placement_set_request.py +64 -126
  574. lusid/models/portfolio.py +187 -746
  575. lusid/models/portfolio_cash_flow.py +139 -593
  576. lusid/models/portfolio_cash_ladder.py +116 -250
  577. lusid/models/portfolio_details.py +130 -520
  578. lusid/models/portfolio_entity_id.py +90 -210
  579. lusid/models/portfolio_group.py +138 -402
  580. lusid/models/portfolio_group_id_compliance_parameter.py +77 -164
  581. lusid/models/portfolio_group_id_list.py +81 -167
  582. lusid/models/portfolio_group_id_list_compliance_parameter.py +77 -164
  583. lusid/models/portfolio_group_properties.py +97 -215
  584. lusid/models/portfolio_group_search_result.py +123 -372
  585. lusid/models/portfolio_holding.py +142 -644
  586. lusid/models/portfolio_id_compliance_parameter.py +77 -164
  587. lusid/models/portfolio_id_list.py +81 -167
  588. lusid/models/portfolio_id_list_compliance_parameter.py +77 -164
  589. lusid/models/portfolio_properties.py +97 -215
  590. lusid/models/portfolio_reconciliation_request.py +65 -192
  591. lusid/models/portfolio_result_data_key_rule.py +133 -392
  592. lusid/models/portfolio_return_breakdown.py +109 -492
  593. lusid/models/portfolio_search_result.py +128 -442
  594. lusid/models/portfolio_trade_ticket.py +79 -0
  595. lusid/models/portfolio_type.py +39 -0
  596. lusid/models/portfolios_reconciliation_request.py +62 -188
  597. lusid/models/posting_module_details.py +95 -0
  598. lusid/models/posting_module_request.py +117 -0
  599. lusid/models/posting_module_response.py +139 -0
  600. lusid/models/posting_module_rule.py +94 -0
  601. lusid/models/posting_module_rules_updated_response.py +110 -0
  602. lusid/models/premium.py +56 -193
  603. lusid/models/pricing_context.py +105 -215
  604. lusid/models/pricing_model.py +54 -0
  605. lusid/models/pricing_options.py +80 -434
  606. lusid/models/processed_command.py +67 -224
  607. lusid/models/property_definition.py +221 -736
  608. lusid/models/property_definition_search_result.py +202 -648
  609. lusid/models/property_definition_type.py +38 -0
  610. lusid/models/property_domain.py +73 -0
  611. lusid/models/property_filter.py +87 -228
  612. lusid/models/property_interval.py +68 -221
  613. lusid/models/property_key_compliance_parameter.py +73 -166
  614. lusid/models/property_key_list_compliance_parameter.py +77 -164
  615. lusid/models/property_life_time.py +38 -0
  616. lusid/models/property_schema.py +91 -182
  617. lusid/models/property_type.py +39 -0
  618. lusid/models/property_value.py +68 -184
  619. lusid/models/property_value_equals.py +93 -0
  620. lusid/models/property_value_in.py +93 -0
  621. lusid/models/query_bucketed_cash_flows_request.py +162 -0
  622. lusid/models/query_cash_flows_request.py +96 -0
  623. lusid/models/query_instrument_events_request.py +113 -0
  624. lusid/models/query_trade_tickets_request.py +96 -0
  625. lusid/models/quote.py +87 -313
  626. lusid/models/quote_access_metadata_rule.py +92 -0
  627. lusid/models/quote_access_metadata_rule_id.py +129 -0
  628. lusid/models/quote_dependency.py +78 -240
  629. lusid/models/quote_id.py +57 -161
  630. lusid/models/quote_instrument_id_type.py +45 -0
  631. lusid/models/quote_series_id.py +96 -303
  632. lusid/models/quote_type.py +50 -0
  633. lusid/models/raw_vendor_event.py +84 -232
  634. lusid/models/realised_gain_loss.py +115 -462
  635. lusid/models/reconcile_date_time_rule.py +88 -233
  636. lusid/models/reconcile_numeric_rule.py +88 -233
  637. lusid/models/reconcile_string_rule.py +102 -232
  638. lusid/models/reconciled_transaction.py +69 -215
  639. lusid/models/reconciliation.py +165 -0
  640. lusid/models/reconciliation_break.py +105 -411
  641. lusid/models/reconciliation_break_id.py +88 -0
  642. lusid/models/reconciliation_configuration.py +84 -0
  643. lusid/models/reconciliation_id.py +80 -0
  644. lusid/models/reconciliation_left_right_address_key_pair.py +53 -160
  645. lusid/models/reconciliation_line.py +77 -216
  646. lusid/models/reconciliation_request.py +97 -246
  647. lusid/models/reconciliation_response.py +70 -155
  648. lusid/models/reconciliation_rule.py +74 -143
  649. lusid/models/reconciliation_rule_type.py +40 -0
  650. lusid/models/reconciliation_run.py +95 -0
  651. lusid/models/reconciliation_run_break.py +116 -0
  652. lusid/models/reconciliation_run_id.py +85 -0
  653. lusid/models/reconciliation_side_configuration.py +94 -0
  654. lusid/models/reconciliation_transactions.py +79 -0
  655. lusid/models/reference_data.py +69 -156
  656. lusid/models/reference_instrument.py +77 -239
  657. lusid/models/reference_list.py +77 -147
  658. lusid/models/reference_list_request.py +77 -251
  659. lusid/models/reference_list_response.py +98 -311
  660. lusid/models/reference_list_type.py +42 -0
  661. lusid/models/reference_portfolio_constituent.py +96 -307
  662. lusid/models/reference_portfolio_constituent_request.py +80 -214
  663. lusid/models/reference_portfolio_weight_type.py +39 -0
  664. lusid/models/related_entity.py +105 -349
  665. lusid/models/relation.py +70 -281
  666. lusid/models/relation_definition.py +143 -0
  667. lusid/models/relationship.py +76 -318
  668. lusid/models/relationship_definition.py +111 -448
  669. lusid/models/repo.py +136 -476
  670. lusid/models/reset_event.py +92 -262
  671. lusid/models/resource_id.py +53 -172
  672. lusid/models/resource_list_of_access_controlled_resource.py +95 -248
  673. lusid/models/resource_list_of_access_metadata_value_of.py +100 -248
  674. lusid/models/resource_list_of_address_key_definition.py +95 -248
  675. lusid/models/resource_list_of_aggregated_return.py +95 -248
  676. lusid/models/resource_list_of_aggregation_query.py +95 -248
  677. lusid/models/resource_list_of_allocation.py +95 -248
  678. lusid/models/resource_list_of_block.py +95 -248
  679. lusid/models/resource_list_of_calendar_date.py +95 -248
  680. lusid/models/resource_list_of_change.py +95 -248
  681. lusid/models/resource_list_of_change_history.py +95 -248
  682. lusid/models/resource_list_of_compliance_breached_order_info.py +113 -0
  683. lusid/models/resource_list_of_compliance_rule.py +113 -0
  684. lusid/models/resource_list_of_compliance_rule_result.py +113 -0
  685. lusid/models/resource_list_of_compliance_run_info.py +113 -0
  686. lusid/models/resource_list_of_constituents_adjustment_header.py +95 -248
  687. lusid/models/resource_list_of_corporate_action.py +95 -248
  688. lusid/models/resource_list_of_data_type.py +95 -248
  689. lusid/models/resource_list_of_execution.py +95 -248
  690. lusid/models/resource_list_of_fee_rule.py +113 -0
  691. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +113 -0
  692. lusid/models/resource_list_of_get_counterparty_agreement_response.py +95 -248
  693. lusid/models/resource_list_of_get_credit_support_annex_response.py +95 -248
  694. lusid/models/resource_list_of_get_flow_conventions_response.py +113 -0
  695. lusid/models/resource_list_of_get_index_convention_response.py +113 -0
  696. lusid/models/resource_list_of_get_recipe_response.py +95 -248
  697. lusid/models/resource_list_of_holdings_adjustment_header.py +95 -248
  698. lusid/models/resource_list_of_i_unit_definition_dto.py +95 -248
  699. lusid/models/resource_list_of_instrument_cash_flow.py +113 -0
  700. lusid/models/resource_list_of_instrument_event_holder.py +113 -0
  701. lusid/models/resource_list_of_instrument_id_type_descriptor.py +95 -248
  702. lusid/models/resource_list_of_legal_entity.py +95 -248
  703. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +113 -0
  704. lusid/models/resource_list_of_mapping.py +95 -248
  705. lusid/models/resource_list_of_order.py +95 -248
  706. lusid/models/resource_list_of_order_instruction.py +113 -0
  707. lusid/models/resource_list_of_package.py +113 -0
  708. lusid/models/resource_list_of_participation.py +95 -248
  709. lusid/models/resource_list_of_performance_return.py +95 -248
  710. lusid/models/resource_list_of_person.py +95 -248
  711. lusid/models/resource_list_of_placement.py +95 -248
  712. lusid/models/resource_list_of_portfolio.py +95 -248
  713. lusid/models/resource_list_of_portfolio_cash_flow.py +95 -248
  714. lusid/models/resource_list_of_portfolio_cash_ladder.py +95 -248
  715. lusid/models/resource_list_of_portfolio_trade_ticket.py +113 -0
  716. lusid/models/resource_list_of_processed_command.py +95 -248
  717. lusid/models/resource_list_of_property.py +95 -248
  718. lusid/models/resource_list_of_property_definition.py +95 -248
  719. lusid/models/resource_list_of_property_interval.py +95 -248
  720. lusid/models/resource_list_of_quote.py +95 -248
  721. lusid/models/resource_list_of_quote_access_metadata_rule.py +113 -0
  722. lusid/models/resource_list_of_reconciliation_break.py +95 -248
  723. lusid/models/resource_list_of_relation.py +95 -248
  724. lusid/models/resource_list_of_relationship.py +95 -248
  725. lusid/models/resource_list_of_scope_definition.py +95 -248
  726. lusid/models/resource_list_of_side_definition.py +95 -248
  727. lusid/models/resource_list_of_string.py +87 -248
  728. lusid/models/resource_list_of_tax_rule_set.py +113 -0
  729. lusid/models/resource_list_of_transaction.py +113 -0
  730. lusid/models/resource_list_of_transaction_type.py +95 -248
  731. lusid/models/resource_list_of_value_type.py +88 -248
  732. lusid/models/response_meta_data.py +77 -216
  733. lusid/models/result_data_key_rule.py +103 -389
  734. lusid/models/result_data_schema.py +108 -184
  735. lusid/models/result_key_rule.py +74 -143
  736. lusid/models/result_key_rule_type.py +39 -0
  737. lusid/models/result_value.py +80 -149
  738. lusid/models/result_value0_d.py +87 -225
  739. lusid/models/result_value_bool.py +73 -165
  740. lusid/models/result_value_currency.py +78 -164
  741. lusid/models/result_value_date_time_offset.py +81 -196
  742. lusid/models/result_value_decimal.py +80 -195
  743. lusid/models/result_value_dictionary.py +89 -163
  744. lusid/models/result_value_int.py +80 -195
  745. lusid/models/result_value_string.py +78 -164
  746. lusid/models/result_value_type.py +48 -0
  747. lusid/models/rounding_configuration.py +55 -125
  748. lusid/models/rounding_configuration_component.py +51 -131
  749. lusid/models/rounding_convention.py +67 -218
  750. lusid/models/scaling_methodology.py +39 -0
  751. lusid/models/schedule.py +77 -143
  752. lusid/models/schedule_type.py +43 -0
  753. lusid/models/scope_definition.py +51 -131
  754. lusid/models/sequence_definition.py +94 -376
  755. lusid/models/set_legal_entity_identifiers_request.py +69 -126
  756. lusid/models/set_legal_entity_properties_request.py +69 -126
  757. lusid/models/set_person_identifiers_request.py +69 -126
  758. lusid/models/set_person_properties_request.py +64 -128
  759. lusid/models/set_transaction_configuration_alias.py +84 -0
  760. lusid/models/set_transaction_configuration_source_request.py +107 -0
  761. lusid/models/side_configuration_data.py +76 -336
  762. lusid/models/side_configuration_data_request.py +79 -0
  763. lusid/models/side_definition.py +90 -390
  764. lusid/models/side_definition_request.py +66 -322
  765. lusid/models/sides_definition_request.py +64 -164
  766. lusid/models/simple_cash_flow_loan.py +88 -263
  767. lusid/models/simple_instrument.py +94 -301
  768. lusid/models/sort_order.py +38 -0
  769. lusid/models/step_schedule.py +85 -236
  770. lusid/models/stock_split_event.py +78 -289
  771. lusid/models/stream.py +70 -328
  772. lusid/models/string_comparison_type.py +41 -0
  773. lusid/models/string_compliance_parameter.py +73 -167
  774. lusid/models/string_list.py +73 -170
  775. lusid/models/string_list_compliance_parameter.py +77 -164
  776. lusid/models/structured_result_data.py +91 -0
  777. lusid/models/structured_result_data_id.py +107 -0
  778. lusid/models/sub_holding_key_value_equals.py +93 -0
  779. lusid/models/target_tax_lot.py +86 -278
  780. lusid/models/target_tax_lot_request.py +86 -278
  781. lusid/models/tax_rule.py +97 -0
  782. lusid/models/tax_rule_set.py +124 -0
  783. lusid/models/term_deposit.py +93 -323
  784. lusid/models/total_return_swap.py +88 -259
  785. lusid/models/touch.py +62 -228
  786. lusid/models/trade_ticket.py +76 -0
  787. lusid/models/trade_ticket_type.py +38 -0
  788. lusid/models/transaction.py +181 -782
  789. lusid/models/transaction_configuration_data.py +89 -190
  790. lusid/models/transaction_configuration_data_request.py +89 -190
  791. lusid/models/transaction_configuration_movement_data.py +110 -320
  792. lusid/models/transaction_configuration_movement_data_request.py +110 -320
  793. lusid/models/transaction_configuration_type_alias.py +90 -339
  794. lusid/models/transaction_price.py +63 -162
  795. lusid/models/transaction_price_type.py +39 -0
  796. lusid/models/transaction_property_mapping.py +65 -188
  797. lusid/models/transaction_property_mapping_request.py +65 -188
  798. lusid/models/transaction_query_mode.py +38 -0
  799. lusid/models/transaction_query_parameters.py +67 -234
  800. lusid/models/transaction_reconciliation_request.py +84 -302
  801. lusid/models/transaction_reconciliation_request_v2.py +115 -0
  802. lusid/models/transaction_request.py +143 -625
  803. lusid/models/transaction_roles.py +44 -0
  804. lusid/models/transaction_set_configuration_data.py +89 -188
  805. lusid/models/transaction_set_configuration_data_request.py +92 -0
  806. lusid/models/transaction_status.py +39 -0
  807. lusid/models/transaction_type.py +119 -250
  808. lusid/models/transaction_type_alias.py +80 -282
  809. lusid/models/transaction_type_calculation.py +60 -172
  810. lusid/models/transaction_type_movement.py +128 -366
  811. lusid/models/transaction_type_property_mapping.py +75 -197
  812. lusid/models/transaction_type_request.py +104 -220
  813. lusid/models/transactions_reconciliations_response.py +70 -155
  814. lusid/models/transition_event.py +101 -318
  815. lusid/models/translate_entities_inlined_request.py +72 -195
  816. lusid/models/translate_entities_request.py +76 -187
  817. lusid/models/translate_entities_response.py +104 -186
  818. lusid/models/translate_instrument_definitions_request.py +91 -0
  819. lusid/models/translate_instrument_definitions_response.py +129 -0
  820. lusid/models/translate_trade_ticket_request.py +91 -0
  821. lusid/models/translate_trade_tickets_response.py +129 -0
  822. lusid/models/translation_input.py +51 -134
  823. lusid/models/translation_result.py +66 -163
  824. lusid/models/translation_script.py +57 -193
  825. lusid/models/translation_script_id.py +76 -219
  826. lusid/models/trial_balance.py +103 -0
  827. lusid/models/trial_balance_query_parameters.py +102 -0
  828. lusid/models/trigger_event.py +82 -301
  829. lusid/models/typed_resource_id.py +76 -219
  830. lusid/models/underlying_leg.py +75 -0
  831. lusid/models/unit_schema.py +39 -0
  832. lusid/models/unmatched_holding_method.py +38 -0
  833. lusid/models/update_calendar_request.py +74 -195
  834. lusid/models/update_custom_entity_definition_request.py +77 -204
  835. lusid/models/update_custom_entity_type_request.py +77 -204
  836. lusid/models/update_cut_label_definition_request.py +83 -226
  837. lusid/models/update_data_type_request.py +105 -234
  838. lusid/models/update_derived_property_definition_request.py +66 -229
  839. lusid/models/update_instrument_identifier_request.py +65 -191
  840. lusid/models/update_portfolio_group_request.py +58 -161
  841. lusid/models/update_portfolio_request.py +58 -161
  842. lusid/models/update_property_definition_request.py +58 -164
  843. lusid/models/update_reconciliation_request.py +131 -0
  844. lusid/models/update_relationship_definition_request.py +76 -219
  845. lusid/models/update_tax_rule_set_request.py +95 -0
  846. lusid/models/update_unit_request.py +100 -207
  847. lusid/models/upsert_cds_flow_conventions_request.py +73 -0
  848. lusid/models/upsert_complex_market_data_request.py +61 -156
  849. lusid/models/upsert_compliance_rule_request.py +113 -380
  850. lusid/models/upsert_compliance_run_summary_request.py +72 -250
  851. lusid/models/upsert_corporate_action_request.py +94 -337
  852. lusid/models/upsert_corporate_actions_response.py +111 -216
  853. lusid/models/upsert_counterparty_agreement_request.py +55 -126
  854. lusid/models/upsert_credit_support_annex_request.py +55 -125
  855. lusid/models/upsert_custom_entities_response.py +111 -216
  856. lusid/models/upsert_custom_entity_access_metadata_request.py +64 -126
  857. lusid/models/upsert_flow_conventions_request.py +73 -0
  858. lusid/models/upsert_index_convention_request.py +73 -0
  859. lusid/models/upsert_instrument_event_request.py +98 -329
  860. lusid/models/upsert_instrument_events_response.py +111 -216
  861. lusid/models/upsert_instrument_properties_response.py +67 -159
  862. lusid/models/upsert_instrument_property_request.py +68 -196
  863. lusid/models/upsert_instruments_response.py +135 -246
  864. lusid/models/upsert_legal_entities_response.py +111 -216
  865. lusid/models/upsert_legal_entity_access_metadata_request.py +64 -126
  866. lusid/models/upsert_legal_entity_request.py +115 -267
  867. lusid/models/upsert_person_access_metadata_request.py +64 -126
  868. lusid/models/upsert_person_request.py +92 -232
  869. lusid/models/upsert_portfolio_access_metadata_request.py +59 -128
  870. lusid/models/upsert_portfolio_group_access_metadata_request.py +59 -128
  871. lusid/models/upsert_portfolio_transactions_response.py +101 -216
  872. lusid/models/upsert_quote_access_metadata_rule_request.py +92 -0
  873. lusid/models/upsert_quote_request.py +75 -215
  874. lusid/models/upsert_quotes_response.py +111 -216
  875. lusid/models/upsert_recipe_request.py +61 -125
  876. lusid/models/upsert_reconciliation_break_request.py +98 -0
  877. lusid/models/upsert_reconciliation_run_request.py +71 -0
  878. lusid/models/upsert_reference_portfolio_constituents_request.py +94 -265
  879. lusid/models/upsert_reference_portfolio_constituents_response.py +77 -183
  880. lusid/models/upsert_result_values_data_request.py +93 -0
  881. lusid/models/upsert_returns_response.py +100 -247
  882. lusid/models/upsert_single_structured_data_response.py +74 -188
  883. lusid/models/upsert_structured_data_response.py +99 -217
  884. lusid/models/upsert_structured_result_data_request.py +79 -0
  885. lusid/models/upsert_transaction_properties_response.py +97 -213
  886. lusid/models/user.py +56 -126
  887. lusid/models/valuation_request.py +156 -528
  888. lusid/models/valuation_schedule.py +86 -329
  889. lusid/models/valuations_reconciliation_request.py +82 -216
  890. lusid/models/value_type.py +34 -116
  891. lusid/models/vendor_dependency.py +95 -0
  892. lusid/models/vendor_library.py +43 -0
  893. lusid/models/vendor_model_rule.py +97 -335
  894. lusid/models/version.py +110 -431
  895. lusid/models/version_summary_dto.py +85 -210
  896. lusid/models/versioned_resource_list_of_a2_b_data_record.py +101 -278
  897. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +101 -278
  898. lusid/models/versioned_resource_list_of_holding_contributor.py +101 -278
  899. lusid/models/versioned_resource_list_of_journal_entry_line.py +119 -0
  900. lusid/models/versioned_resource_list_of_output_transaction.py +101 -278
  901. lusid/models/versioned_resource_list_of_portfolio_holding.py +101 -278
  902. lusid/models/versioned_resource_list_of_transaction.py +101 -278
  903. lusid/models/versioned_resource_list_of_trial_balance.py +119 -0
  904. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +134 -0
  905. lusid/models/virtual_document.py +88 -0
  906. lusid/models/virtual_document_row.py +80 -0
  907. lusid/models/virtual_row.py +76 -156
  908. lusid/models/warning.py +71 -0
  909. lusid/models/weekend_mask.py +61 -165
  910. lusid/models/weighted_instrument.py +64 -220
  911. lusid/models/weighted_instruments.py +59 -128
  912. lusid/models/yield_curve_data.py +107 -296
  913. lusid/py.typed +0 -0
  914. lusid/rest.py +171 -237
  915. lusid_sdk-2.0.50b0.dist-info/METADATA +1460 -0
  916. lusid_sdk-2.0.50b0.dist-info/RECORD +917 -0
  917. {lusid_sdk-1.1.131.dist-info → lusid_sdk-2.0.50b0.dist-info}/WHEEL +1 -2
  918. lusid/__version__.py +0 -1
  919. lusid/api/queryable_keys_api.py +0 -196
  920. lusid/models/accumulation_event.py +0 -310
  921. lusid/models/accumulation_event_all_of.py +0 -310
  922. lusid/models/address_key_compliance_parameter_all_of.py +0 -184
  923. lusid/models/address_key_list_all_of.py +0 -188
  924. lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
  925. lusid/models/amortisation_event_all_of.py +0 -283
  926. lusid/models/asset_leg.py +0 -179
  927. lusid/models/basket_all_of.py +0 -247
  928. lusid/models/block_and_order_id_request.py +0 -174
  929. lusid/models/block_and_orders.py +0 -174
  930. lusid/models/block_and_orders_create_request.py +0 -152
  931. lusid/models/block_and_orders_request.py +0 -422
  932. lusid/models/blocked_order_request.py +0 -412
  933. lusid/models/bond_all_of.py +0 -587
  934. lusid/models/bond_coupon_event.py +0 -280
  935. lusid/models/bond_coupon_event_all_of.py +0 -280
  936. lusid/models/bond_default_event_all_of.py +0 -184
  937. lusid/models/bond_principal_event.py +0 -280
  938. lusid/models/bond_principal_event_all_of.py +0 -280
  939. lusid/models/bool_compliance_parameter_all_of.py +0 -182
  940. lusid/models/branch_step.py +0 -219
  941. lusid/models/branch_step_all_of.py +0 -219
  942. lusid/models/calendar_dependency_all_of.py +0 -184
  943. lusid/models/cap_floor_all_of.py +0 -313
  944. lusid/models/cash_dependency_all_of.py +0 -216
  945. lusid/models/cash_dividend_event_all_of.py +0 -308
  946. lusid/models/cash_election.py +0 -334
  947. lusid/models/cash_flow_event_all_of.py +0 -217
  948. lusid/models/cash_flow_value_all_of.py +0 -306
  949. lusid/models/cash_flow_value_set_all_of.py +0 -182
  950. lusid/models/cash_perpetual_all_of.py +0 -248
  951. lusid/models/cds_index_all_of.py +0 -399
  952. lusid/models/check_step.py +0 -251
  953. lusid/models/check_step_all_of.py +0 -251
  954. lusid/models/close_event_all_of.py +0 -214
  955. lusid/models/complex_bond_all_of.py +0 -344
  956. lusid/models/compliance_rule_result_v2.py +0 -267
  957. lusid/models/compliance_step.py +0 -167
  958. lusid/models/constant_volatility_surface.py +0 -285
  959. lusid/models/constant_volatility_surface_all_of.py +0 -285
  960. lusid/models/contract_for_difference_all_of.py +0 -447
  961. lusid/models/create_trade_tickets_response.py +0 -174
  962. lusid/models/credit_default_swap_all_of.py +0 -401
  963. lusid/models/credit_spread_curve_data_all_of.py +0 -437
  964. lusid/models/date_time_compliance_parameter_all_of.py +0 -182
  965. lusid/models/decimal_compliance_parameter_all_of.py +0 -182
  966. lusid/models/decimal_list_all_of.py +0 -188
  967. lusid/models/discount_factor_curve_data_all_of.py +0 -313
  968. lusid/models/discounting_dependency_all_of.py +0 -216
  969. lusid/models/dividend_option_event.py +0 -371
  970. lusid/models/dividend_option_event_all_of.py +0 -371
  971. lusid/models/dividend_reinvestment_event.py +0 -373
  972. lusid/models/dividend_reinvestment_event_all_of.py +0 -373
  973. lusid/models/empty_model_options_all_of.py +0 -152
  974. lusid/models/equity_all_of.py +0 -243
  975. lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
  976. lusid/models/equity_curve_dependency_all_of.py +0 -298
  977. lusid/models/equity_model_options_all_of.py +0 -187
  978. lusid/models/equity_option_all_of.py +0 -571
  979. lusid/models/equity_swap_all_of.py +0 -504
  980. lusid/models/equity_vol_dependency_all_of.py +0 -292
  981. lusid/models/equity_vol_surface_data_all_of.py +0 -284
  982. lusid/models/exchange_traded_option_all_of.py +0 -278
  983. lusid/models/exercise_event_all_of.py +0 -245
  984. lusid/models/exotic_instrument_all_of.py +0 -217
  985. lusid/models/expiry_event.py +0 -184
  986. lusid/models/expiry_event_all_of.py +0 -184
  987. lusid/models/filter_predicate_compliance_parameter.py +0 -185
  988. lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
  989. lusid/models/filter_step.py +0 -219
  990. lusid/models/fixed_leg_all_of.py +0 -304
  991. lusid/models/flexible_loan.py +0 -280
  992. lusid/models/flexible_loan_all_of.py +0 -280
  993. lusid/models/floating_leg_all_of.py +0 -366
  994. lusid/models/forward_rate_agreement_all_of.py +0 -373
  995. lusid/models/fund_share_class.py +0 -324
  996. lusid/models/fund_share_class_all_of.py +0 -324
  997. lusid/models/funding_leg_all_of.py +0 -276
  998. lusid/models/future_all_of.py +0 -405
  999. lusid/models/fx_conventions.py +0 -216
  1000. lusid/models/fx_dependency_all_of.py +0 -248
  1001. lusid/models/fx_forward_all_of.py +0 -498
  1002. lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
  1003. lusid/models/fx_forward_curve_data_all_of.py +0 -377
  1004. lusid/models/fx_forward_model_options_all_of.py +0 -260
  1005. lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
  1006. lusid/models/fx_forward_settlement_event.py +0 -494
  1007. lusid/models/fx_forward_settlement_event_all_of.py +0 -494
  1008. lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
  1009. lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
  1010. lusid/models/fx_forwards_dependency_all_of.py +0 -286
  1011. lusid/models/fx_linked_notional_schedule.py +0 -273
  1012. lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
  1013. lusid/models/fx_option_all_of.py +0 -646
  1014. lusid/models/fx_swap_all_of.py +0 -242
  1015. lusid/models/fx_vol_dependency_all_of.py +0 -286
  1016. lusid/models/group_by_selector_compliance_parameter.py +0 -185
  1017. lusid/models/group_by_step.py +0 -219
  1018. lusid/models/group_filter_predicate_compliance_parameter.py +0 -185
  1019. lusid/models/group_filter_step.py +0 -251
  1020. lusid/models/group_of_market_data_key_rules.py +0 -181
  1021. lusid/models/index_model_options_all_of.py +0 -190
  1022. lusid/models/index_projection_dependency_all_of.py +0 -292
  1023. lusid/models/inflation_fixing_dependency_all_of.py +0 -254
  1024. lusid/models/inflation_leg_all_of.py +0 -472
  1025. lusid/models/inflation_linked_bond_all_of.py +0 -618
  1026. lusid/models/inflation_swap_all_of.py +0 -276
  1027. lusid/models/informational_error_event_all_of.py +0 -254
  1028. lusid/models/informational_event_all_of.py +0 -279
  1029. lusid/models/instrument_event_configuration.py +0 -171
  1030. lusid/models/instrument_leg_all_of.py +0 -152
  1031. lusid/models/instrument_list_all_of.py +0 -188
  1032. lusid/models/interest_rate_swap_all_of.py +0 -339
  1033. lusid/models/interest_rate_swaption_all_of.py +0 -313
  1034. lusid/models/ir_vol_cube_data_all_of.py +0 -284
  1035. lusid/models/ir_vol_dependency_all_of.py +0 -254
  1036. lusid/models/life_cycle_event_value_all_of.py +0 -241
  1037. lusid/models/lineage_member.py +0 -294
  1038. lusid/models/look_up_pricing_model_options_all_of.py +0 -216
  1039. lusid/models/maturity_event.py +0 -184
  1040. lusid/models/maturity_event_all_of.py +0 -184
  1041. lusid/models/move_orders_to_different_blocks_request.py +0 -152
  1042. lusid/models/moved_order_to_different_block_response.py +0 -201
  1043. lusid/models/opaque_dependency_all_of.py +0 -152
  1044. lusid/models/opaque_market_data_all_of.py +0 -293
  1045. lusid/models/opaque_model_options_all_of.py +0 -182
  1046. lusid/models/open_event_all_of.py +0 -183
  1047. lusid/models/order_graph_block_transaction_detail.py +0 -149
  1048. lusid/models/order_graph_block_transaction_synopsis.py +0 -178
  1049. lusid/models/paged_resource_list_of_property_definition.py +0 -266
  1050. lusid/models/place_blocks_request.py +0 -152
  1051. lusid/models/portfolio_group_id_list_all_of.py +0 -185
  1052. lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
  1053. lusid/models/property_key_compliance_parameter_all_of.py +0 -184
  1054. lusid/models/property_list.py +0 -188
  1055. lusid/models/property_list_all_of.py +0 -188
  1056. lusid/models/property_list_compliance_parameter.py +0 -182
  1057. lusid/models/queryable_key.py +0 -508
  1058. lusid/models/quote_dependency_all_of.py +0 -257
  1059. lusid/models/raw_vendor_event_all_of.py +0 -249
  1060. lusid/models/recombine_step.py +0 -219
  1061. lusid/models/reconcile_date_time_rule_all_of.py +0 -251
  1062. lusid/models/reconcile_numeric_rule_all_of.py +0 -251
  1063. lusid/models/reconcile_string_rule_all_of.py +0 -250
  1064. lusid/models/reference_instrument_all_of.py +0 -257
  1065. lusid/models/relative_date_offset.py +0 -211
  1066. lusid/models/repo_all_of.py +0 -493
  1067. lusid/models/reset_event_all_of.py +0 -279
  1068. lusid/models/resource_list_of_block_and_orders.py +0 -266
  1069. lusid/models/resource_list_of_moved_order_to_different_block_response.py +0 -266
  1070. lusid/models/resource_list_of_queryable_key.py +0 -266
  1071. lusid/models/result_data_key_rule_all_of.py +0 -406
  1072. lusid/models/result_value0_d_all_of.py +0 -243
  1073. lusid/models/result_value_bool_all_of.py +0 -183
  1074. lusid/models/result_value_currency_all_of.py +0 -182
  1075. lusid/models/result_value_date_time_offset_all_of.py +0 -213
  1076. lusid/models/result_value_decimal_all_of.py +0 -213
  1077. lusid/models/result_value_dictionary_all_of.py +0 -182
  1078. lusid/models/result_value_int_all_of.py +0 -213
  1079. lusid/models/result_value_string_all_of.py +0 -182
  1080. lusid/models/reverse_stock_split_event.py +0 -306
  1081. lusid/models/reverse_stock_split_event_all_of.py +0 -306
  1082. lusid/models/schema.py +0 -228
  1083. lusid/models/scrip_dividend_event.py +0 -306
  1084. lusid/models/scrip_dividend_event_all_of.py +0 -306
  1085. lusid/models/script_map_reference.py +0 -237
  1086. lusid/models/security_election.py +0 -270
  1087. lusid/models/simple_cash_flow_loan_all_of.py +0 -280
  1088. lusid/models/simple_instrument_all_of.py +0 -318
  1089. lusid/models/staged_modifications_info.py +0 -208
  1090. lusid/models/step_schedule_all_of.py +0 -254
  1091. lusid/models/stock_dividend_event.py +0 -306
  1092. lusid/models/stock_dividend_event_all_of.py +0 -306
  1093. lusid/models/stock_split_event_all_of.py +0 -306
  1094. lusid/models/string_compliance_parameter_all_of.py +0 -185
  1095. lusid/models/term_deposit_all_of.py +0 -340
  1096. lusid/models/total_return_swap_all_of.py +0 -276
  1097. lusid/models/transition_event_all_of.py +0 -335
  1098. lusid/models/translation_context.py +0 -172
  1099. lusid/models/trigger_event_all_of.py +0 -318
  1100. lusid/models/units_ratio.py +0 -178
  1101. lusid/models/upsert_compliance_run_summary_result.py +0 -267
  1102. lusid/models/upsert_dialect_request.py +0 -174
  1103. lusid/models/upsert_translation_script_request.py +0 -182
  1104. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +0 -433
  1105. lusid/models/yield_curve_data_all_of.py +0 -313
  1106. lusid/tcp/__init__.py +0 -1
  1107. lusid/tcp/tcp_keep_alive_probes.py +0 -110
  1108. lusid/utilities/__init__.py +0 -8
  1109. lusid/utilities/api_client_builder.py +0 -145
  1110. lusid/utilities/api_client_factory.py +0 -132
  1111. lusid/utilities/api_configuration_loader.py +0 -87
  1112. lusid/utilities/config_keys.json +0 -50
  1113. lusid/utilities/config_keys.py +0 -13
  1114. lusid/utilities/lusid_retry.py +0 -47
  1115. lusid_sdk-1.1.131.dist-info/METADATA +0 -21
  1116. lusid_sdk-1.1.131.dist-info/RECORD +0 -866
  1117. lusid_sdk-1.1.131.dist-info/top_level.txt +0 -1
@@ -0,0 +1,4087 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ import re # noqa: F401
16
+ import io
17
+ import warnings
18
+
19
+ from pydantic import validate_arguments, ValidationError
20
+ from typing import overload, Optional, Union, Awaitable
21
+
22
+ from typing_extensions import Annotated
23
+ from datetime import datetime
24
+
25
+ from pydantic import Field, StrictInt, StrictStr, conint, conlist, constr, validator
26
+
27
+ from typing import Dict, Optional
28
+
29
+ from lusid.models.account import Account
30
+ from lusid.models.account_properties import AccountProperties
31
+ from lusid.models.accounts_upsert_response import AccountsUpsertResponse
32
+ from lusid.models.chart_of_accounts import ChartOfAccounts
33
+ from lusid.models.chart_of_accounts_properties import ChartOfAccountsProperties
34
+ from lusid.models.chart_of_accounts_request import ChartOfAccountsRequest
35
+ from lusid.models.delete_accounts_response import DeleteAccountsResponse
36
+ from lusid.models.deleted_entity_response import DeletedEntityResponse
37
+ from lusid.models.general_ledger_profile_mapping import GeneralLedgerProfileMapping
38
+ from lusid.models.general_ledger_profile_request import GeneralLedgerProfileRequest
39
+ from lusid.models.general_ledger_profile_response import GeneralLedgerProfileResponse
40
+ from lusid.models.model_property import ModelProperty
41
+ from lusid.models.paged_resource_list_of_account import PagedResourceListOfAccount
42
+ from lusid.models.paged_resource_list_of_chart_of_accounts import PagedResourceListOfChartOfAccounts
43
+ from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
44
+ from lusid.models.paged_resource_list_of_posting_module_response import PagedResourceListOfPostingModuleResponse
45
+ from lusid.models.paged_resource_list_of_posting_module_rule import PagedResourceListOfPostingModuleRule
46
+ from lusid.models.posting_module_details import PostingModuleDetails
47
+ from lusid.models.posting_module_request import PostingModuleRequest
48
+ from lusid.models.posting_module_response import PostingModuleResponse
49
+ from lusid.models.posting_module_rule import PostingModuleRule
50
+ from lusid.models.posting_module_rules_updated_response import PostingModuleRulesUpdatedResponse
51
+
52
+ from lusid.api_client import ApiClient
53
+ from lusid.api_response import ApiResponse
54
+ from lusid.exceptions import ( # noqa: F401
55
+ ApiTypeError,
56
+ ApiValueError
57
+ )
58
+
59
+
60
+ class ChartOfAccountsApi:
61
+ """NOTE: This class is auto generated by OpenAPI Generator
62
+ Ref: https://openapi-generator.tech
63
+
64
+ Do not edit the class manually.
65
+ """
66
+
67
+ def __init__(self, api_client=None) -> None:
68
+ if api_client is None:
69
+ api_client = ApiClient.get_default()
70
+ self.api_client = api_client
71
+
72
+ @overload
73
+ async def create_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], chart_of_accounts_request : Annotated[ChartOfAccountsRequest, Field(..., description="The definition of the Chart of Accounts.")], **kwargs) -> ChartOfAccounts: # noqa: E501
74
+ ...
75
+
76
+ @overload
77
+ def create_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], chart_of_accounts_request : Annotated[ChartOfAccountsRequest, Field(..., description="The definition of the Chart of Accounts.")], async_req: Optional[bool]=True, **kwargs) -> ChartOfAccounts: # noqa: E501
78
+ ...
79
+
80
+ @validate_arguments
81
+ def create_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts.")], chart_of_accounts_request : Annotated[ChartOfAccountsRequest, Field(..., description="The definition of the Chart of Accounts.")], async_req: Optional[bool]=None, **kwargs) -> Union[ChartOfAccounts, Awaitable[ChartOfAccounts]]: # noqa: E501
82
+ """[EXPERIMENTAL] CreateChartOfAccounts: Create a Chart of Accounts # noqa: E501
83
+
84
+ Create the given Chart of Accounts. # noqa: E501
85
+ This method makes a synchronous HTTP request by default. To make an
86
+ asynchronous HTTP request, please pass async_req=True
87
+
88
+ >>> thread = api.create_chart_of_accounts(scope, chart_of_accounts_request, async_req=True)
89
+ >>> result = thread.get()
90
+
91
+ :param scope: The scope of the Chart of Accounts. (required)
92
+ :type scope: str
93
+ :param chart_of_accounts_request: The definition of the Chart of Accounts. (required)
94
+ :type chart_of_accounts_request: ChartOfAccountsRequest
95
+ :param async_req: Whether to execute the request asynchronously.
96
+ :type async_req: bool, optional
97
+ :param _request_timeout: timeout setting for this request.
98
+ If one number provided, it will be total request
99
+ timeout. It can also be a pair (tuple) of
100
+ (connection, read) timeouts.
101
+ :return: Returns the result object.
102
+ If the method is called asynchronously,
103
+ returns the request thread.
104
+ :rtype: ChartOfAccounts
105
+ """
106
+ kwargs['_return_http_data_only'] = True
107
+ if '_preload_content' in kwargs:
108
+ message = "Error! Please call the create_chart_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
109
+ raise ValueError(message)
110
+ if async_req is not None:
111
+ kwargs['async_req'] = async_req
112
+ return self.create_chart_of_accounts_with_http_info(scope, chart_of_accounts_request, **kwargs) # noqa: E501
113
+
114
+ @validate_arguments
115
+ def create_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.")], chart_of_accounts_request : Annotated[ChartOfAccountsRequest, Field(..., description="The definition of the Chart of Accounts.")], **kwargs) -> ApiResponse: # noqa: E501
116
+ """[EXPERIMENTAL] CreateChartOfAccounts: Create a Chart of Accounts # noqa: E501
117
+
118
+ Create the given Chart of Accounts. # noqa: E501
119
+ This method makes a synchronous HTTP request by default. To make an
120
+ asynchronous HTTP request, please pass async_req=True
121
+
122
+ >>> thread = api.create_chart_of_accounts_with_http_info(scope, chart_of_accounts_request, async_req=True)
123
+ >>> result = thread.get()
124
+
125
+ :param scope: The scope of the Chart of Accounts. (required)
126
+ :type scope: str
127
+ :param chart_of_accounts_request: The definition of the Chart of Accounts. (required)
128
+ :type chart_of_accounts_request: ChartOfAccountsRequest
129
+ :param async_req: Whether to execute the request asynchronously.
130
+ :type async_req: bool, optional
131
+ :param _preload_content: if False, the ApiResponse.data will
132
+ be set to none and raw_data will store the
133
+ HTTP response body without reading/decoding.
134
+ Default is True.
135
+ :type _preload_content: bool, optional
136
+ :param _return_http_data_only: response data instead of ApiResponse
137
+ object with status code, headers, etc
138
+ :type _return_http_data_only: bool, optional
139
+ :param _request_timeout: timeout setting for this request. If one
140
+ number provided, it will be total request
141
+ timeout. It can also be a pair (tuple) of
142
+ (connection, read) timeouts.
143
+ :param _request_auth: set to override the auth_settings for an a single
144
+ request; this effectively ignores the authentication
145
+ in the spec for a single request.
146
+ :type _request_auth: dict, optional
147
+ :type _content_type: string, optional: force content-type for the request
148
+ :return: Returns the result object.
149
+ If the method is called asynchronously,
150
+ returns the request thread.
151
+ :rtype: tuple(ChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
152
+ """
153
+
154
+ _params = locals()
155
+
156
+ _all_params = [
157
+ 'scope',
158
+ 'chart_of_accounts_request'
159
+ ]
160
+ _all_params.extend(
161
+ [
162
+ 'async_req',
163
+ '_return_http_data_only',
164
+ '_preload_content',
165
+ '_request_timeout',
166
+ '_request_auth',
167
+ '_content_type',
168
+ '_headers'
169
+ ]
170
+ )
171
+
172
+ # validate the arguments
173
+ for _key, _val in _params['kwargs'].items():
174
+ if _key not in _all_params:
175
+ raise ApiTypeError(
176
+ "Got an unexpected keyword argument '%s'"
177
+ " to method create_chart_of_accounts" % _key
178
+ )
179
+ _params[_key] = _val
180
+ del _params['kwargs']
181
+
182
+ _collection_formats = {}
183
+
184
+ # process the path parameters
185
+ _path_params = {}
186
+ if _params['scope']:
187
+ _path_params['scope'] = _params['scope']
188
+
189
+
190
+ # process the query parameters
191
+ _query_params = []
192
+ # process the header parameters
193
+ _header_params = dict(_params.get('_headers', {}))
194
+ # process the form parameters
195
+ _form_params = []
196
+ _files = {}
197
+ # process the body parameter
198
+ _body_params = None
199
+ if _params['chart_of_accounts_request'] is not None:
200
+ _body_params = _params['chart_of_accounts_request']
201
+
202
+ # set the HTTP header `Accept`
203
+ _header_params['Accept'] = self.api_client.select_header_accept(
204
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
205
+
206
+ # set the HTTP header `Content-Type`
207
+ _content_types_list = _params.get('_content_type',
208
+ self.api_client.select_header_content_type(
209
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
210
+ if _content_types_list:
211
+ _header_params['Content-Type'] = _content_types_list
212
+
213
+ # authentication setting
214
+ _auth_settings = ['oauth2'] # noqa: E501
215
+
216
+ _response_types_map = {
217
+ '201': "ChartOfAccounts",
218
+ '400': "LusidValidationProblemDetails",
219
+ }
220
+
221
+ return self.api_client.call_api(
222
+ '/api/chartofaccounts/{scope}', 'POST',
223
+ _path_params,
224
+ _query_params,
225
+ _header_params,
226
+ body=_body_params,
227
+ post_params=_form_params,
228
+ files=_files,
229
+ response_types_map=_response_types_map,
230
+ auth_settings=_auth_settings,
231
+ async_req=_params.get('async_req'),
232
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
233
+ _preload_content=_params.get('_preload_content', True),
234
+ _request_timeout=_params.get('_request_timeout'),
235
+ collection_formats=_collection_formats,
236
+ _request_auth=_params.get('_request_auth'))
237
+
238
+ @overload
239
+ 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
+ ...
241
+
242
+ @overload
243
+ 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.")], async_req: Optional[bool]=True, **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
244
+ ...
245
+
246
+ @validate_arguments
247
+ 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.")], async_req: Optional[bool]=None, **kwargs) -> Union[GeneralLedgerProfileResponse, Awaitable[GeneralLedgerProfileResponse]]: # noqa: E501
248
+ """[EXPERIMENTAL] CreateGeneralLedgerProfile: Create a General Ledger Profile. # noqa: E501
249
+
250
+ Create the given General Ledger profile. # noqa: E501
251
+ This method makes a synchronous HTTP request by default. To make an
252
+ asynchronous HTTP request, please pass async_req=True
253
+
254
+ >>> thread = api.create_general_ledger_profile(scope, code, general_ledger_profile_request, async_req=True)
255
+ >>> result = thread.get()
256
+
257
+ :param scope: The scope of the Chart of Accounts. (required)
258
+ :type scope: str
259
+ :param code: The code of the Chart of Accounts. (required)
260
+ :type code: str
261
+ :param general_ledger_profile_request: The definition of the General Ledger Profile. (required)
262
+ :type general_ledger_profile_request: GeneralLedgerProfileRequest
263
+ :param async_req: Whether to execute the request asynchronously.
264
+ :type async_req: bool, optional
265
+ :param _request_timeout: timeout setting for this request.
266
+ If one number provided, it will be total request
267
+ timeout. It can also be a pair (tuple) of
268
+ (connection, read) timeouts.
269
+ :return: Returns the result object.
270
+ If the method is called asynchronously,
271
+ returns the request thread.
272
+ :rtype: GeneralLedgerProfileResponse
273
+ """
274
+ kwargs['_return_http_data_only'] = True
275
+ if '_preload_content' in kwargs:
276
+ message = "Error! Please call the create_general_ledger_profile_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
277
+ raise ValueError(message)
278
+ if async_req is not None:
279
+ kwargs['async_req'] = async_req
280
+ return self.create_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_request, **kwargs) # noqa: E501
281
+
282
+ @validate_arguments
283
+ def create_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.")], 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) -> ApiResponse: # noqa: E501
284
+ """[EXPERIMENTAL] CreateGeneralLedgerProfile: Create a General Ledger Profile. # noqa: E501
285
+
286
+ Create the given General Ledger profile. # noqa: E501
287
+ This method makes a synchronous HTTP request by default. To make an
288
+ asynchronous HTTP request, please pass async_req=True
289
+
290
+ >>> thread = api.create_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_request, async_req=True)
291
+ >>> result = thread.get()
292
+
293
+ :param scope: The scope of the Chart of Accounts. (required)
294
+ :type scope: str
295
+ :param code: The code of the Chart of Accounts. (required)
296
+ :type code: str
297
+ :param general_ledger_profile_request: The definition of the General Ledger Profile. (required)
298
+ :type general_ledger_profile_request: GeneralLedgerProfileRequest
299
+ :param async_req: Whether to execute the request asynchronously.
300
+ :type async_req: bool, optional
301
+ :param _preload_content: if False, the ApiResponse.data will
302
+ be set to none and raw_data will store the
303
+ HTTP response body without reading/decoding.
304
+ Default is True.
305
+ :type _preload_content: bool, optional
306
+ :param _return_http_data_only: response data instead of ApiResponse
307
+ object with status code, headers, etc
308
+ :type _return_http_data_only: bool, optional
309
+ :param _request_timeout: timeout setting for this request. If one
310
+ number provided, it will be total request
311
+ timeout. It can also be a pair (tuple) of
312
+ (connection, read) timeouts.
313
+ :param _request_auth: set to override the auth_settings for an a single
314
+ request; this effectively ignores the authentication
315
+ in the spec for a single request.
316
+ :type _request_auth: dict, optional
317
+ :type _content_type: string, optional: force content-type for the request
318
+ :return: Returns the result object.
319
+ If the method is called asynchronously,
320
+ returns the request thread.
321
+ :rtype: tuple(GeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
322
+ """
323
+
324
+ _params = locals()
325
+
326
+ _all_params = [
327
+ 'scope',
328
+ 'code',
329
+ 'general_ledger_profile_request'
330
+ ]
331
+ _all_params.extend(
332
+ [
333
+ 'async_req',
334
+ '_return_http_data_only',
335
+ '_preload_content',
336
+ '_request_timeout',
337
+ '_request_auth',
338
+ '_content_type',
339
+ '_headers'
340
+ ]
341
+ )
342
+
343
+ # validate the arguments
344
+ for _key, _val in _params['kwargs'].items():
345
+ if _key not in _all_params:
346
+ raise ApiTypeError(
347
+ "Got an unexpected keyword argument '%s'"
348
+ " to method create_general_ledger_profile" % _key
349
+ )
350
+ _params[_key] = _val
351
+ del _params['kwargs']
352
+
353
+ _collection_formats = {}
354
+
355
+ # process the path parameters
356
+ _path_params = {}
357
+ if _params['scope']:
358
+ _path_params['scope'] = _params['scope']
359
+
360
+ if _params['code']:
361
+ _path_params['code'] = _params['code']
362
+
363
+
364
+ # process the query parameters
365
+ _query_params = []
366
+ # process the header parameters
367
+ _header_params = dict(_params.get('_headers', {}))
368
+ # process the form parameters
369
+ _form_params = []
370
+ _files = {}
371
+ # process the body parameter
372
+ _body_params = None
373
+ if _params['general_ledger_profile_request'] is not None:
374
+ _body_params = _params['general_ledger_profile_request']
375
+
376
+ # set the HTTP header `Accept`
377
+ _header_params['Accept'] = self.api_client.select_header_accept(
378
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
379
+
380
+ # set the HTTP header `Content-Type`
381
+ _content_types_list = _params.get('_content_type',
382
+ self.api_client.select_header_content_type(
383
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
384
+ if _content_types_list:
385
+ _header_params['Content-Type'] = _content_types_list
386
+
387
+ # authentication setting
388
+ _auth_settings = ['oauth2'] # noqa: E501
389
+
390
+ _response_types_map = {
391
+ '201': "GeneralLedgerProfileResponse",
392
+ '400': "LusidValidationProblemDetails",
393
+ }
394
+
395
+ return self.api_client.call_api(
396
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile', 'POST',
397
+ _path_params,
398
+ _query_params,
399
+ _header_params,
400
+ body=_body_params,
401
+ post_params=_form_params,
402
+ files=_files,
403
+ response_types_map=_response_types_map,
404
+ auth_settings=_auth_settings,
405
+ async_req=_params.get('async_req'),
406
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
407
+ _preload_content=_params.get('_preload_content', True),
408
+ _request_timeout=_params.get('_request_timeout'),
409
+ collection_formats=_collection_formats,
410
+ _request_auth=_params.get('_request_auth'))
411
+
412
+ @overload
413
+ async def create_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_request : Annotated[PostingModuleRequest, Field(..., description="The definition of the Posting Module.")], **kwargs) -> PostingModuleResponse: # noqa: E501
414
+ ...
415
+
416
+ @overload
417
+ def create_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_request : Annotated[PostingModuleRequest, Field(..., description="The definition of the Posting Module.")], async_req: Optional[bool]=True, **kwargs) -> PostingModuleResponse: # noqa: E501
418
+ ...
419
+
420
+ @validate_arguments
421
+ def create_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_request : Annotated[PostingModuleRequest, Field(..., description="The definition of the Posting Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[PostingModuleResponse, Awaitable[PostingModuleResponse]]: # noqa: E501
422
+ """[EXPERIMENTAL] CreatePostingModule: Create a Posting Module # noqa: E501
423
+
424
+ Create the given Posting Module. # noqa: E501
425
+ This method makes a synchronous HTTP request by default. To make an
426
+ asynchronous HTTP request, please pass async_req=True
427
+
428
+ >>> thread = api.create_posting_module(scope, code, posting_module_request, async_req=True)
429
+ >>> result = thread.get()
430
+
431
+ :param scope: The scope of the Chart of Accounts. (required)
432
+ :type scope: str
433
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
434
+ :type code: str
435
+ :param posting_module_request: The definition of the Posting Module. (required)
436
+ :type posting_module_request: PostingModuleRequest
437
+ :param async_req: Whether to execute the request asynchronously.
438
+ :type async_req: bool, optional
439
+ :param _request_timeout: timeout setting for this request.
440
+ If one number provided, it will be total request
441
+ timeout. It can also be a pair (tuple) of
442
+ (connection, read) timeouts.
443
+ :return: Returns the result object.
444
+ If the method is called asynchronously,
445
+ returns the request thread.
446
+ :rtype: PostingModuleResponse
447
+ """
448
+ kwargs['_return_http_data_only'] = True
449
+ if '_preload_content' in kwargs:
450
+ message = "Error! Please call the create_posting_module_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
451
+ raise ValueError(message)
452
+ if async_req is not None:
453
+ kwargs['async_req'] = async_req
454
+ return self.create_posting_module_with_http_info(scope, code, posting_module_request, **kwargs) # noqa: E501
455
+
456
+ @validate_arguments
457
+ def create_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_request : Annotated[PostingModuleRequest, Field(..., description="The definition of the Posting Module.")], **kwargs) -> ApiResponse: # noqa: E501
458
+ """[EXPERIMENTAL] CreatePostingModule: Create a Posting Module # noqa: E501
459
+
460
+ Create the given Posting Module. # noqa: E501
461
+ This method makes a synchronous HTTP request by default. To make an
462
+ asynchronous HTTP request, please pass async_req=True
463
+
464
+ >>> thread = api.create_posting_module_with_http_info(scope, code, posting_module_request, async_req=True)
465
+ >>> result = thread.get()
466
+
467
+ :param scope: The scope of the Chart of Accounts. (required)
468
+ :type scope: str
469
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
470
+ :type code: str
471
+ :param posting_module_request: The definition of the Posting Module. (required)
472
+ :type posting_module_request: PostingModuleRequest
473
+ :param async_req: Whether to execute the request asynchronously.
474
+ :type async_req: bool, optional
475
+ :param _preload_content: if False, the ApiResponse.data will
476
+ be set to none and raw_data will store the
477
+ HTTP response body without reading/decoding.
478
+ Default is True.
479
+ :type _preload_content: bool, optional
480
+ :param _return_http_data_only: response data instead of ApiResponse
481
+ object with status code, headers, etc
482
+ :type _return_http_data_only: bool, optional
483
+ :param _request_timeout: timeout setting for this request. If one
484
+ number provided, it will be total request
485
+ timeout. It can also be a pair (tuple) of
486
+ (connection, read) timeouts.
487
+ :param _request_auth: set to override the auth_settings for an a single
488
+ request; this effectively ignores the authentication
489
+ in the spec for a single request.
490
+ :type _request_auth: dict, optional
491
+ :type _content_type: string, optional: force content-type for the request
492
+ :return: Returns the result object.
493
+ If the method is called asynchronously,
494
+ returns the request thread.
495
+ :rtype: tuple(PostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
496
+ """
497
+
498
+ _params = locals()
499
+
500
+ _all_params = [
501
+ 'scope',
502
+ 'code',
503
+ 'posting_module_request'
504
+ ]
505
+ _all_params.extend(
506
+ [
507
+ 'async_req',
508
+ '_return_http_data_only',
509
+ '_preload_content',
510
+ '_request_timeout',
511
+ '_request_auth',
512
+ '_content_type',
513
+ '_headers'
514
+ ]
515
+ )
516
+
517
+ # validate the arguments
518
+ for _key, _val in _params['kwargs'].items():
519
+ if _key not in _all_params:
520
+ raise ApiTypeError(
521
+ "Got an unexpected keyword argument '%s'"
522
+ " to method create_posting_module" % _key
523
+ )
524
+ _params[_key] = _val
525
+ del _params['kwargs']
526
+
527
+ _collection_formats = {}
528
+
529
+ # process the path parameters
530
+ _path_params = {}
531
+ if _params['scope']:
532
+ _path_params['scope'] = _params['scope']
533
+
534
+ if _params['code']:
535
+ _path_params['code'] = _params['code']
536
+
537
+
538
+ # process the query parameters
539
+ _query_params = []
540
+ # process the header parameters
541
+ _header_params = dict(_params.get('_headers', {}))
542
+ # process the form parameters
543
+ _form_params = []
544
+ _files = {}
545
+ # process the body parameter
546
+ _body_params = None
547
+ if _params['posting_module_request'] is not None:
548
+ _body_params = _params['posting_module_request']
549
+
550
+ # set the HTTP header `Accept`
551
+ _header_params['Accept'] = self.api_client.select_header_accept(
552
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
553
+
554
+ # set the HTTP header `Content-Type`
555
+ _content_types_list = _params.get('_content_type',
556
+ self.api_client.select_header_content_type(
557
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
558
+ if _content_types_list:
559
+ _header_params['Content-Type'] = _content_types_list
560
+
561
+ # authentication setting
562
+ _auth_settings = ['oauth2'] # noqa: E501
563
+
564
+ _response_types_map = {
565
+ '201': "PostingModuleResponse",
566
+ '400': "LusidValidationProblemDetails",
567
+ }
568
+
569
+ return self.api_client.call_api(
570
+ '/api/chartofaccounts/{scope}/{code}/postingmodules', 'POST',
571
+ _path_params,
572
+ _query_params,
573
+ _header_params,
574
+ body=_body_params,
575
+ post_params=_form_params,
576
+ files=_files,
577
+ response_types_map=_response_types_map,
578
+ auth_settings=_auth_settings,
579
+ async_req=_params.get('async_req'),
580
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
581
+ _preload_content=_params.get('_preload_content', True),
582
+ _request_timeout=_params.get('_request_timeout'),
583
+ collection_formats=_collection_formats,
584
+ _request_auth=_params.get('_request_auth'))
585
+
586
+ @overload
587
+ async def delete_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.")], request_body : Annotated[conlist(StrictStr), Field(..., description="The codes of the accounts to delete.")], delete_mode : Annotated[Optional[StrictStr], Field(description="The delete mode to use (defaults to 'Soft').")] = None, **kwargs) -> DeleteAccountsResponse: # noqa: E501
588
+ ...
589
+
590
+ @overload
591
+ def delete_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.")], request_body : Annotated[conlist(StrictStr), Field(..., description="The codes of the accounts to delete.")], delete_mode : Annotated[Optional[StrictStr], Field(description="The delete mode to use (defaults to 'Soft').")] = None, async_req: Optional[bool]=True, **kwargs) -> DeleteAccountsResponse: # noqa: E501
592
+ ...
593
+
594
+ @validate_arguments
595
+ def delete_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.")], request_body : Annotated[conlist(StrictStr), Field(..., description="The codes of the accounts to delete.")], delete_mode : Annotated[Optional[StrictStr], Field(description="The delete mode to use (defaults to 'Soft').")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[DeleteAccountsResponse, Awaitable[DeleteAccountsResponse]]: # noqa: E501
596
+ """[EXPERIMENTAL] DeleteAccounts: Soft or hard delete multiple accounts # noqa: E501
597
+
598
+ Delete one or more account from the Chart of Accounts. Soft deletion marks the account as inactive While the Hard deletion is deleting the account. The maximum number of accounts that this method can delete per request is 2,000. # noqa: E501
599
+ This method makes a synchronous HTTP request by default. To make an
600
+ asynchronous HTTP request, please pass async_req=True
601
+
602
+ >>> thread = api.delete_accounts(scope, code, request_body, delete_mode, async_req=True)
603
+ >>> result = thread.get()
604
+
605
+ :param scope: The scope of the Chart of Accounts. (required)
606
+ :type scope: str
607
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
608
+ :type code: str
609
+ :param request_body: The codes of the accounts to delete. (required)
610
+ :type request_body: List[str]
611
+ :param delete_mode: The delete mode to use (defaults to 'Soft').
612
+ :type delete_mode: str
613
+ :param async_req: Whether to execute the request asynchronously.
614
+ :type async_req: bool, optional
615
+ :param _request_timeout: timeout setting for this request.
616
+ If one number provided, it will be total request
617
+ timeout. It can also be a pair (tuple) of
618
+ (connection, read) timeouts.
619
+ :return: Returns the result object.
620
+ If the method is called asynchronously,
621
+ returns the request thread.
622
+ :rtype: DeleteAccountsResponse
623
+ """
624
+ kwargs['_return_http_data_only'] = True
625
+ if '_preload_content' in kwargs:
626
+ message = "Error! Please call the delete_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
627
+ raise ValueError(message)
628
+ if async_req is not None:
629
+ kwargs['async_req'] = async_req
630
+ return self.delete_accounts_with_http_info(scope, code, request_body, delete_mode, **kwargs) # noqa: E501
631
+
632
+ @validate_arguments
633
+ def delete_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.")], request_body : Annotated[conlist(StrictStr), Field(..., description="The codes of the accounts to delete.")], delete_mode : Annotated[Optional[StrictStr], Field(description="The delete mode to use (defaults to 'Soft').")] = None, **kwargs) -> ApiResponse: # noqa: E501
634
+ """[EXPERIMENTAL] DeleteAccounts: Soft or hard delete multiple accounts # noqa: E501
635
+
636
+ Delete one or more account from the Chart of Accounts. Soft deletion marks the account as inactive While the Hard deletion is deleting the account. The maximum number of accounts that this method can delete per request is 2,000. # noqa: E501
637
+ This method makes a synchronous HTTP request by default. To make an
638
+ asynchronous HTTP request, please pass async_req=True
639
+
640
+ >>> thread = api.delete_accounts_with_http_info(scope, code, request_body, delete_mode, async_req=True)
641
+ >>> result = thread.get()
642
+
643
+ :param scope: The scope of the Chart of Accounts. (required)
644
+ :type scope: str
645
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
646
+ :type code: str
647
+ :param request_body: The codes of the accounts to delete. (required)
648
+ :type request_body: List[str]
649
+ :param delete_mode: The delete mode to use (defaults to 'Soft').
650
+ :type delete_mode: str
651
+ :param async_req: Whether to execute the request asynchronously.
652
+ :type async_req: bool, optional
653
+ :param _preload_content: if False, the ApiResponse.data will
654
+ be set to none and raw_data will store the
655
+ HTTP response body without reading/decoding.
656
+ Default is True.
657
+ :type _preload_content: bool, optional
658
+ :param _return_http_data_only: response data instead of ApiResponse
659
+ object with status code, headers, etc
660
+ :type _return_http_data_only: bool, optional
661
+ :param _request_timeout: timeout setting for this request. If one
662
+ number provided, it will be total request
663
+ timeout. It can also be a pair (tuple) of
664
+ (connection, read) timeouts.
665
+ :param _request_auth: set to override the auth_settings for an a single
666
+ request; this effectively ignores the authentication
667
+ in the spec for a single request.
668
+ :type _request_auth: dict, optional
669
+ :type _content_type: string, optional: force content-type for the request
670
+ :return: Returns the result object.
671
+ If the method is called asynchronously,
672
+ returns the request thread.
673
+ :rtype: tuple(DeleteAccountsResponse, status_code(int), headers(HTTPHeaderDict))
674
+ """
675
+
676
+ _params = locals()
677
+
678
+ _all_params = [
679
+ 'scope',
680
+ 'code',
681
+ 'request_body',
682
+ 'delete_mode'
683
+ ]
684
+ _all_params.extend(
685
+ [
686
+ 'async_req',
687
+ '_return_http_data_only',
688
+ '_preload_content',
689
+ '_request_timeout',
690
+ '_request_auth',
691
+ '_content_type',
692
+ '_headers'
693
+ ]
694
+ )
695
+
696
+ # validate the arguments
697
+ for _key, _val in _params['kwargs'].items():
698
+ if _key not in _all_params:
699
+ raise ApiTypeError(
700
+ "Got an unexpected keyword argument '%s'"
701
+ " to method delete_accounts" % _key
702
+ )
703
+ _params[_key] = _val
704
+ del _params['kwargs']
705
+
706
+ _collection_formats = {}
707
+
708
+ # process the path parameters
709
+ _path_params = {}
710
+ if _params['scope']:
711
+ _path_params['scope'] = _params['scope']
712
+
713
+ if _params['code']:
714
+ _path_params['code'] = _params['code']
715
+
716
+
717
+ # process the query parameters
718
+ _query_params = []
719
+ if _params.get('delete_mode') is not None: # noqa: E501
720
+ _query_params.append(('deleteMode', _params['delete_mode']))
721
+
722
+ # process the header parameters
723
+ _header_params = dict(_params.get('_headers', {}))
724
+ # process the form parameters
725
+ _form_params = []
726
+ _files = {}
727
+ # process the body parameter
728
+ _body_params = None
729
+ if _params['request_body'] is not None:
730
+ _body_params = _params['request_body']
731
+
732
+ # set the HTTP header `Accept`
733
+ _header_params['Accept'] = self.api_client.select_header_accept(
734
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
735
+
736
+ # set the HTTP header `Content-Type`
737
+ _content_types_list = _params.get('_content_type',
738
+ self.api_client.select_header_content_type(
739
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
740
+ if _content_types_list:
741
+ _header_params['Content-Type'] = _content_types_list
742
+
743
+ # authentication setting
744
+ _auth_settings = ['oauth2'] # noqa: E501
745
+
746
+ _response_types_map = {
747
+ '200': "DeleteAccountsResponse",
748
+ '400': "LusidValidationProblemDetails",
749
+ }
750
+
751
+ return self.api_client.call_api(
752
+ '/api/chartofaccounts/{scope}/{code}/accounts/$delete', 'POST',
753
+ _path_params,
754
+ _query_params,
755
+ _header_params,
756
+ body=_body_params,
757
+ post_params=_form_params,
758
+ files=_files,
759
+ response_types_map=_response_types_map,
760
+ auth_settings=_auth_settings,
761
+ async_req=_params.get('async_req'),
762
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
763
+ _preload_content=_params.get('_preload_content', True),
764
+ _request_timeout=_params.get('_request_timeout'),
765
+ collection_formats=_collection_formats,
766
+ _request_auth=_params.get('_request_auth'))
767
+
768
+ @overload
769
+ async def delete_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
770
+ ...
771
+
772
+ @overload
773
+ def delete_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
774
+ ...
775
+
776
+ @validate_arguments
777
+ def delete_chart_of_accounts(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
778
+ """[EXPERIMENTAL] DeleteChartOfAccounts: Delete a Chart of Accounts # noqa: E501
779
+
780
+ Delete the given Chart of Accounts. # noqa: E501
781
+ This method makes a synchronous HTTP request by default. To make an
782
+ asynchronous HTTP request, please pass async_req=True
783
+
784
+ >>> thread = api.delete_chart_of_accounts(scope, code, async_req=True)
785
+ >>> result = thread.get()
786
+
787
+ :param scope: The scope of the Chart of Accounts to be deleted. (required)
788
+ :type scope: str
789
+ :param code: The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts. (required)
790
+ :type code: str
791
+ :param async_req: Whether to execute the request asynchronously.
792
+ :type async_req: bool, optional
793
+ :param _request_timeout: timeout setting for this request.
794
+ If one number provided, it will be total request
795
+ timeout. It can also be a pair (tuple) of
796
+ (connection, read) timeouts.
797
+ :return: Returns the result object.
798
+ If the method is called asynchronously,
799
+ returns the request thread.
800
+ :rtype: DeletedEntityResponse
801
+ """
802
+ kwargs['_return_http_data_only'] = True
803
+ if '_preload_content' in kwargs:
804
+ message = "Error! Please call the delete_chart_of_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
805
+ raise ValueError(message)
806
+ if async_req is not None:
807
+ kwargs['async_req'] = async_req
808
+ return self.delete_chart_of_accounts_with_http_info(scope, code, **kwargs) # noqa: E501
809
+
810
+ @validate_arguments
811
+ def delete_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 to be deleted.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts.")], **kwargs) -> ApiResponse: # noqa: E501
812
+ """[EXPERIMENTAL] DeleteChartOfAccounts: Delete a Chart of Accounts # noqa: E501
813
+
814
+ Delete the given Chart of Accounts. # noqa: E501
815
+ This method makes a synchronous HTTP request by default. To make an
816
+ asynchronous HTTP request, please pass async_req=True
817
+
818
+ >>> thread = api.delete_chart_of_accounts_with_http_info(scope, code, async_req=True)
819
+ >>> result = thread.get()
820
+
821
+ :param scope: The scope of the Chart of Accounts to be deleted. (required)
822
+ :type scope: str
823
+ :param code: The code of the Chart of Accounts to be deleted. Together with the scope this uniquely identifies the Chart of Accounts. (required)
824
+ :type code: str
825
+ :param async_req: Whether to execute the request asynchronously.
826
+ :type async_req: bool, optional
827
+ :param _preload_content: if False, the ApiResponse.data will
828
+ be set to none and raw_data will store the
829
+ HTTP response body without reading/decoding.
830
+ Default is True.
831
+ :type _preload_content: bool, optional
832
+ :param _return_http_data_only: response data instead of ApiResponse
833
+ object with status code, headers, etc
834
+ :type _return_http_data_only: bool, optional
835
+ :param _request_timeout: timeout setting for this request. If one
836
+ number provided, it will be total request
837
+ timeout. It can also be a pair (tuple) of
838
+ (connection, read) timeouts.
839
+ :param _request_auth: set to override the auth_settings for an a single
840
+ request; this effectively ignores the authentication
841
+ in the spec for a single request.
842
+ :type _request_auth: dict, optional
843
+ :type _content_type: string, optional: force content-type for the request
844
+ :return: Returns the result object.
845
+ If the method is called asynchronously,
846
+ returns the request thread.
847
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
848
+ """
849
+
850
+ _params = locals()
851
+
852
+ _all_params = [
853
+ 'scope',
854
+ 'code'
855
+ ]
856
+ _all_params.extend(
857
+ [
858
+ 'async_req',
859
+ '_return_http_data_only',
860
+ '_preload_content',
861
+ '_request_timeout',
862
+ '_request_auth',
863
+ '_content_type',
864
+ '_headers'
865
+ ]
866
+ )
867
+
868
+ # validate the arguments
869
+ for _key, _val in _params['kwargs'].items():
870
+ if _key not in _all_params:
871
+ raise ApiTypeError(
872
+ "Got an unexpected keyword argument '%s'"
873
+ " to method delete_chart_of_accounts" % _key
874
+ )
875
+ _params[_key] = _val
876
+ del _params['kwargs']
877
+
878
+ _collection_formats = {}
879
+
880
+ # process the path parameters
881
+ _path_params = {}
882
+ if _params['scope']:
883
+ _path_params['scope'] = _params['scope']
884
+
885
+ if _params['code']:
886
+ _path_params['code'] = _params['code']
887
+
888
+
889
+ # process the query parameters
890
+ _query_params = []
891
+ # process the header parameters
892
+ _header_params = dict(_params.get('_headers', {}))
893
+ # process the form parameters
894
+ _form_params = []
895
+ _files = {}
896
+ # process the body parameter
897
+ _body_params = None
898
+ # set the HTTP header `Accept`
899
+ _header_params['Accept'] = self.api_client.select_header_accept(
900
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
901
+
902
+ # authentication setting
903
+ _auth_settings = ['oauth2'] # noqa: E501
904
+
905
+ _response_types_map = {
906
+ '200': "DeletedEntityResponse",
907
+ '400': "LusidValidationProblemDetails",
908
+ }
909
+
910
+ return self.api_client.call_api(
911
+ '/api/chartofaccounts/{scope}/{code}', 'DELETE',
912
+ _path_params,
913
+ _query_params,
914
+ _header_params,
915
+ body=_body_params,
916
+ post_params=_form_params,
917
+ files=_files,
918
+ response_types_map=_response_types_map,
919
+ auth_settings=_auth_settings,
920
+ async_req=_params.get('async_req'),
921
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
922
+ _preload_content=_params.get('_preload_content', True),
923
+ _request_timeout=_params.get('_request_timeout'),
924
+ collection_formats=_collection_formats,
925
+ _request_auth=_params.get('_request_auth'))
926
+
927
+ @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
929
+ ...
930
+
931
+ @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
933
+ ...
934
+
935
+ @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
938
+
939
+ Delete the given General Ledger Profile. # noqa: E501
940
+ This method makes a synchronous HTTP request by default. To make an
941
+ asynchronous HTTP request, please pass async_req=True
942
+
943
+ >>> thread = api.delete_general_ledger_profile(scope, code, general_ledger_profile_code, async_req=True)
944
+ >>> result = thread.get()
945
+
946
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
947
+ :type scope: str
948
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
949
+ :type code: str
950
+ :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
951
+ :type general_ledger_profile_code: str
952
+ :param async_req: Whether to execute the request asynchronously.
953
+ :type async_req: bool, optional
954
+ :param _request_timeout: timeout setting for this request.
955
+ If one number provided, it will be total request
956
+ timeout. It can also be a pair (tuple) of
957
+ (connection, read) timeouts.
958
+ :return: Returns the result object.
959
+ If the method is called asynchronously,
960
+ returns the request thread.
961
+ :rtype: DeletedEntityResponse
962
+ """
963
+ kwargs['_return_http_data_only'] = True
964
+ 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
966
+ raise ValueError(message)
967
+ if async_req is not None:
968
+ kwargs['async_req'] = async_req
969
+ return self.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, **kwargs) # noqa: E501
970
+
971
+ @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
974
+
975
+ Delete the given General Ledger Profile. # noqa: E501
976
+ This method makes a synchronous HTTP request by default. To make an
977
+ asynchronous HTTP request, please pass async_req=True
978
+
979
+ >>> thread = api.delete_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, async_req=True)
980
+ >>> result = thread.get()
981
+
982
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
983
+ :type scope: str
984
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
985
+ :type code: str
986
+ :param general_ledger_profile_code: The Code of the General Ledger Profile. (required)
987
+ :type general_ledger_profile_code: str
988
+ :param async_req: Whether to execute the request asynchronously.
989
+ :type async_req: bool, optional
990
+ :param _preload_content: if False, the ApiResponse.data will
991
+ be set to none and raw_data will store the
992
+ HTTP response body without reading/decoding.
993
+ Default is True.
994
+ :type _preload_content: bool, optional
995
+ :param _return_http_data_only: response data instead of ApiResponse
996
+ object with status code, headers, etc
997
+ :type _return_http_data_only: bool, optional
998
+ :param _request_timeout: timeout setting for this request. If one
999
+ number provided, it will be total request
1000
+ timeout. It can also be a pair (tuple) of
1001
+ (connection, read) timeouts.
1002
+ :param _request_auth: set to override the auth_settings for an a single
1003
+ request; this effectively ignores the authentication
1004
+ in the spec for a single request.
1005
+ :type _request_auth: dict, optional
1006
+ :type _content_type: string, optional: force content-type for the request
1007
+ :return: Returns the result object.
1008
+ If the method is called asynchronously,
1009
+ returns the request thread.
1010
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
1011
+ """
1012
+
1013
+ _params = locals()
1014
+
1015
+ _all_params = [
1016
+ 'scope',
1017
+ 'code',
1018
+ 'general_ledger_profile_code'
1019
+ ]
1020
+ _all_params.extend(
1021
+ [
1022
+ 'async_req',
1023
+ '_return_http_data_only',
1024
+ '_preload_content',
1025
+ '_request_timeout',
1026
+ '_request_auth',
1027
+ '_content_type',
1028
+ '_headers'
1029
+ ]
1030
+ )
1031
+
1032
+ # validate the arguments
1033
+ for _key, _val in _params['kwargs'].items():
1034
+ if _key not in _all_params:
1035
+ raise ApiTypeError(
1036
+ "Got an unexpected keyword argument '%s'"
1037
+ " to method delete_general_ledger_profile" % _key
1038
+ )
1039
+ _params[_key] = _val
1040
+ del _params['kwargs']
1041
+
1042
+ _collection_formats = {}
1043
+
1044
+ # process the path parameters
1045
+ _path_params = {}
1046
+ if _params['scope']:
1047
+ _path_params['scope'] = _params['scope']
1048
+
1049
+ if _params['code']:
1050
+ _path_params['code'] = _params['code']
1051
+
1052
+ if _params['general_ledger_profile_code']:
1053
+ _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
1054
+
1055
+
1056
+ # process the query parameters
1057
+ _query_params = []
1058
+ # process the header parameters
1059
+ _header_params = dict(_params.get('_headers', {}))
1060
+ # process the form parameters
1061
+ _form_params = []
1062
+ _files = {}
1063
+ # process the body parameter
1064
+ _body_params = None
1065
+ # set the HTTP header `Accept`
1066
+ _header_params['Accept'] = self.api_client.select_header_accept(
1067
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1068
+
1069
+ # authentication setting
1070
+ _auth_settings = ['oauth2'] # noqa: E501
1071
+
1072
+ _response_types_map = {
1073
+ '200': "DeletedEntityResponse",
1074
+ '400': "LusidValidationProblemDetails",
1075
+ }
1076
+
1077
+ return self.api_client.call_api(
1078
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'DELETE',
1079
+ _path_params,
1080
+ _query_params,
1081
+ _header_params,
1082
+ body=_body_params,
1083
+ post_params=_form_params,
1084
+ files=_files,
1085
+ response_types_map=_response_types_map,
1086
+ auth_settings=_auth_settings,
1087
+ async_req=_params.get('async_req'),
1088
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1089
+ _preload_content=_params.get('_preload_content', True),
1090
+ _request_timeout=_params.get('_request_timeout'),
1091
+ collection_formats=_collection_formats,
1092
+ _request_auth=_params.get('_request_auth'))
1093
+
1094
+ @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
1096
+ ...
1097
+
1098
+ @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
1100
+ ...
1101
+
1102
+ @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
1105
+
1106
+ Delete the given Posting Module. # noqa: E501
1107
+ This method makes a synchronous HTTP request by default. To make an
1108
+ asynchronous HTTP request, please pass async_req=True
1109
+
1110
+ >>> thread = api.delete_posting_module(scope, code, posting_module_code, async_req=True)
1111
+ >>> result = thread.get()
1112
+
1113
+ :param scope: The scope of the Chart of Accounts. (required)
1114
+ :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)
1116
+ :type code: str
1117
+ :param posting_module_code: The code of the Posting Module to be deleted. (required)
1118
+ :type posting_module_code: str
1119
+ :param async_req: Whether to execute the request asynchronously.
1120
+ :type async_req: bool, optional
1121
+ :param _request_timeout: timeout setting for this request.
1122
+ If one number provided, it will be total request
1123
+ timeout. It can also be a pair (tuple) of
1124
+ (connection, read) timeouts.
1125
+ :return: Returns the result object.
1126
+ If the method is called asynchronously,
1127
+ returns the request thread.
1128
+ :rtype: DeletedEntityResponse
1129
+ """
1130
+ kwargs['_return_http_data_only'] = True
1131
+ 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
1133
+ raise ValueError(message)
1134
+ if async_req is not None:
1135
+ kwargs['async_req'] = async_req
1136
+ return self.delete_posting_module_with_http_info(scope, code, posting_module_code, **kwargs) # noqa: E501
1137
+
1138
+ @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
1141
+
1142
+ Delete the given Posting Module. # noqa: E501
1143
+ This method makes a synchronous HTTP request by default. To make an
1144
+ asynchronous HTTP request, please pass async_req=True
1145
+
1146
+ >>> thread = api.delete_posting_module_with_http_info(scope, code, posting_module_code, async_req=True)
1147
+ >>> result = thread.get()
1148
+
1149
+ :param scope: The scope of the Chart of Accounts. (required)
1150
+ :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)
1152
+ :type code: str
1153
+ :param posting_module_code: The code of the Posting Module to be deleted. (required)
1154
+ :type posting_module_code: str
1155
+ :param async_req: Whether to execute the request asynchronously.
1156
+ :type async_req: bool, optional
1157
+ :param _preload_content: if False, the ApiResponse.data will
1158
+ be set to none and raw_data will store the
1159
+ HTTP response body without reading/decoding.
1160
+ Default is True.
1161
+ :type _preload_content: bool, optional
1162
+ :param _return_http_data_only: response data instead of ApiResponse
1163
+ object with status code, headers, etc
1164
+ :type _return_http_data_only: bool, optional
1165
+ :param _request_timeout: timeout setting for this request. If one
1166
+ number provided, it will be total request
1167
+ timeout. It can also be a pair (tuple) of
1168
+ (connection, read) timeouts.
1169
+ :param _request_auth: set to override the auth_settings for an a single
1170
+ request; this effectively ignores the authentication
1171
+ in the spec for a single request.
1172
+ :type _request_auth: dict, optional
1173
+ :type _content_type: string, optional: force content-type for the request
1174
+ :return: Returns the result object.
1175
+ If the method is called asynchronously,
1176
+ returns the request thread.
1177
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
1178
+ """
1179
+
1180
+ _params = locals()
1181
+
1182
+ _all_params = [
1183
+ 'scope',
1184
+ 'code',
1185
+ 'posting_module_code'
1186
+ ]
1187
+ _all_params.extend(
1188
+ [
1189
+ 'async_req',
1190
+ '_return_http_data_only',
1191
+ '_preload_content',
1192
+ '_request_timeout',
1193
+ '_request_auth',
1194
+ '_content_type',
1195
+ '_headers'
1196
+ ]
1197
+ )
1198
+
1199
+ # validate the arguments
1200
+ for _key, _val in _params['kwargs'].items():
1201
+ if _key not in _all_params:
1202
+ raise ApiTypeError(
1203
+ "Got an unexpected keyword argument '%s'"
1204
+ " to method delete_posting_module" % _key
1205
+ )
1206
+ _params[_key] = _val
1207
+ del _params['kwargs']
1208
+
1209
+ _collection_formats = {}
1210
+
1211
+ # process the path parameters
1212
+ _path_params = {}
1213
+ if _params['scope']:
1214
+ _path_params['scope'] = _params['scope']
1215
+
1216
+ if _params['code']:
1217
+ _path_params['code'] = _params['code']
1218
+
1219
+ if _params['posting_module_code']:
1220
+ _path_params['postingModuleCode'] = _params['posting_module_code']
1221
+
1222
+
1223
+ # process the query parameters
1224
+ _query_params = []
1225
+ # process the header parameters
1226
+ _header_params = dict(_params.get('_headers', {}))
1227
+ # process the form parameters
1228
+ _form_params = []
1229
+ _files = {}
1230
+ # process the body parameter
1231
+ _body_params = None
1232
+ # set the HTTP header `Accept`
1233
+ _header_params['Accept'] = self.api_client.select_header_accept(
1234
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1235
+
1236
+ # authentication setting
1237
+ _auth_settings = ['oauth2'] # noqa: E501
1238
+
1239
+ _response_types_map = {
1240
+ '200': "DeletedEntityResponse",
1241
+ '400': "LusidValidationProblemDetails",
1242
+ }
1243
+
1244
+ return self.api_client.call_api(
1245
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'DELETE',
1246
+ _path_params,
1247
+ _query_params,
1248
+ _header_params,
1249
+ body=_body_params,
1250
+ post_params=_form_params,
1251
+ files=_files,
1252
+ response_types_map=_response_types_map,
1253
+ auth_settings=_auth_settings,
1254
+ async_req=_params.get('async_req'),
1255
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1256
+ _preload_content=_params.get('_preload_content', True),
1257
+ _request_timeout=_params.get('_request_timeout'),
1258
+ collection_formats=_collection_formats,
1259
+ _request_auth=_params.get('_request_auth'))
1260
+
1261
+ @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
1263
+ ...
1264
+
1265
+ @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
1267
+ ...
1268
+
1269
+ @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
1272
+
1273
+ Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
1274
+ This method makes a synchronous HTTP request by default. To make an
1275
+ asynchronous HTTP request, please pass async_req=True
1276
+
1277
+ >>> thread = api.get_account(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
1278
+ >>> result = thread.get()
1279
+
1280
+ :param scope: The scope of the Chart of Accounts. (required)
1281
+ :type scope: str
1282
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1283
+ :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]
1292
+ :param async_req: Whether to execute the request asynchronously.
1293
+ :type async_req: bool, optional
1294
+ :param _request_timeout: timeout setting for this request.
1295
+ If one number provided, it will be total request
1296
+ timeout. It can also be a pair (tuple) of
1297
+ (connection, read) timeouts.
1298
+ :return: Returns the result object.
1299
+ If the method is called asynchronously,
1300
+ returns the request thread.
1301
+ :rtype: Account
1302
+ """
1303
+ kwargs['_return_http_data_only'] = True
1304
+ 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
1306
+ raise ValueError(message)
1307
+ if async_req is not None:
1308
+ 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
1310
+
1311
+ @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
1314
+
1315
+ Retrieve the definition of a particular Account which is part of a Chart of Accounts. # noqa: E501
1316
+ This method makes a synchronous HTTP request by default. To make an
1317
+ asynchronous HTTP request, please pass async_req=True
1318
+
1319
+ >>> thread = api.get_account_with_http_info(scope, code, account_code, effective_at, as_at, property_keys, async_req=True)
1320
+ >>> result = thread.get()
1321
+
1322
+ :param scope: The scope of the Chart of Accounts. (required)
1323
+ :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)
1325
+ :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.
1329
+ :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.
1331
+ :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.
1333
+ :type property_keys: List[str]
1334
+ :param async_req: Whether to execute the request asynchronously.
1335
+ :type async_req: bool, optional
1336
+ :param _preload_content: if False, the ApiResponse.data will
1337
+ be set to none and raw_data will store the
1338
+ HTTP response body without reading/decoding.
1339
+ Default is True.
1340
+ :type _preload_content: bool, optional
1341
+ :param _return_http_data_only: response data instead of ApiResponse
1342
+ object with status code, headers, etc
1343
+ :type _return_http_data_only: bool, optional
1344
+ :param _request_timeout: timeout setting for this request. If one
1345
+ number provided, it will be total request
1346
+ timeout. It can also be a pair (tuple) of
1347
+ (connection, read) timeouts.
1348
+ :param _request_auth: set to override the auth_settings for an a single
1349
+ request; this effectively ignores the authentication
1350
+ in the spec for a single request.
1351
+ :type _request_auth: dict, optional
1352
+ :type _content_type: string, optional: force content-type for the request
1353
+ :return: Returns the result object.
1354
+ If the method is called asynchronously,
1355
+ returns the request thread.
1356
+ :rtype: tuple(Account, status_code(int), headers(HTTPHeaderDict))
1357
+ """
1358
+
1359
+ _params = locals()
1360
+
1361
+ _all_params = [
1362
+ 'scope',
1363
+ 'code',
1364
+ 'account_code',
1365
+ 'effective_at',
1366
+ 'as_at',
1367
+ 'property_keys'
1368
+ ]
1369
+ _all_params.extend(
1370
+ [
1371
+ 'async_req',
1372
+ '_return_http_data_only',
1373
+ '_preload_content',
1374
+ '_request_timeout',
1375
+ '_request_auth',
1376
+ '_content_type',
1377
+ '_headers'
1378
+ ]
1379
+ )
1380
+
1381
+ # validate the arguments
1382
+ for _key, _val in _params['kwargs'].items():
1383
+ if _key not in _all_params:
1384
+ raise ApiTypeError(
1385
+ "Got an unexpected keyword argument '%s'"
1386
+ " to method get_account" % _key
1387
+ )
1388
+ _params[_key] = _val
1389
+ del _params['kwargs']
1390
+
1391
+ _collection_formats = {}
1392
+
1393
+ # process the path parameters
1394
+ _path_params = {}
1395
+ if _params['scope']:
1396
+ _path_params['scope'] = _params['scope']
1397
+
1398
+ if _params['code']:
1399
+ _path_params['code'] = _params['code']
1400
+
1401
+ if _params['account_code']:
1402
+ _path_params['accountCode'] = _params['account_code']
1403
+
1404
+
1405
+ # process the query parameters
1406
+ _query_params = []
1407
+ if _params.get('effective_at') is not None: # noqa: E501
1408
+ _query_params.append(('effectiveAt', _params['effective_at']))
1409
+
1410
+ if _params.get('as_at') is not None: # noqa: E501
1411
+ if isinstance(_params['as_at'], datetime):
1412
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1413
+ else:
1414
+ _query_params.append(('asAt', _params['as_at']))
1415
+
1416
+ if _params.get('property_keys') is not None: # noqa: E501
1417
+ _query_params.append(('propertyKeys', _params['property_keys']))
1418
+ _collection_formats['propertyKeys'] = 'multi'
1419
+
1420
+ # process the header parameters
1421
+ _header_params = dict(_params.get('_headers', {}))
1422
+ # process the form parameters
1423
+ _form_params = []
1424
+ _files = {}
1425
+ # process the body parameter
1426
+ _body_params = None
1427
+ # set the HTTP header `Accept`
1428
+ _header_params['Accept'] = self.api_client.select_header_accept(
1429
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1430
+
1431
+ # authentication setting
1432
+ _auth_settings = ['oauth2'] # noqa: E501
1433
+
1434
+ _response_types_map = {
1435
+ '200': "Account",
1436
+ '400': "LusidValidationProblemDetails",
1437
+ }
1438
+
1439
+ return self.api_client.call_api(
1440
+ '/api/chartofaccounts/{scope}/{code}/accounts/{accountCode}', 'GET',
1441
+ _path_params,
1442
+ _query_params,
1443
+ _header_params,
1444
+ body=_body_params,
1445
+ post_params=_form_params,
1446
+ files=_files,
1447
+ response_types_map=_response_types_map,
1448
+ auth_settings=_auth_settings,
1449
+ async_req=_params.get('async_req'),
1450
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1451
+ _preload_content=_params.get('_preload_content', True),
1452
+ _request_timeout=_params.get('_request_timeout'),
1453
+ collection_formats=_collection_formats,
1454
+ _request_auth=_params.get('_request_auth'))
1455
+
1456
+ @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
1458
+ ...
1459
+
1460
+ @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
1462
+ ...
1463
+
1464
+ @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
1467
+
1468
+ Retrieve the definition of a particular Chart of Accounts. # noqa: E501
1469
+ This method makes a synchronous HTTP request by default. To make an
1470
+ asynchronous HTTP request, please pass async_req=True
1471
+
1472
+ >>> thread = api.get_chart_of_accounts(scope, code, effective_at, as_at, property_keys, async_req=True)
1473
+ >>> result = thread.get()
1474
+
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.
1480
+ :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.
1482
+ :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.
1484
+ :type property_keys: List[str]
1485
+ :param async_req: Whether to execute the request asynchronously.
1486
+ :type async_req: bool, optional
1487
+ :param _request_timeout: timeout setting for this request.
1488
+ If one number provided, it will be total request
1489
+ timeout. It can also be a pair (tuple) of
1490
+ (connection, read) timeouts.
1491
+ :return: Returns the result object.
1492
+ If the method is called asynchronously,
1493
+ returns the request thread.
1494
+ :rtype: ChartOfAccounts
1495
+ """
1496
+ kwargs['_return_http_data_only'] = True
1497
+ 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
1499
+ raise ValueError(message)
1500
+ if async_req is not None:
1501
+ 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
1503
+
1504
+ @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
1507
+
1508
+ Retrieve the definition of a particular Chart of Accounts. # noqa: E501
1509
+ This method makes a synchronous HTTP request by default. To make an
1510
+ asynchronous HTTP request, please pass async_req=True
1511
+
1512
+ >>> thread = api.get_chart_of_accounts_with_http_info(scope, code, effective_at, as_at, property_keys, async_req=True)
1513
+ >>> result = thread.get()
1514
+
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.
1520
+ :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.
1522
+ :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.
1524
+ :type property_keys: List[str]
1525
+ :param async_req: Whether to execute the request asynchronously.
1526
+ :type async_req: bool, optional
1527
+ :param _preload_content: if False, the ApiResponse.data will
1528
+ be set to none and raw_data will store the
1529
+ HTTP response body without reading/decoding.
1530
+ Default is True.
1531
+ :type _preload_content: bool, optional
1532
+ :param _return_http_data_only: response data instead of ApiResponse
1533
+ object with status code, headers, etc
1534
+ :type _return_http_data_only: bool, optional
1535
+ :param _request_timeout: timeout setting for this request. If one
1536
+ number provided, it will be total request
1537
+ timeout. It can also be a pair (tuple) of
1538
+ (connection, read) timeouts.
1539
+ :param _request_auth: set to override the auth_settings for an a single
1540
+ request; this effectively ignores the authentication
1541
+ in the spec for a single request.
1542
+ :type _request_auth: dict, optional
1543
+ :type _content_type: string, optional: force content-type for the request
1544
+ :return: Returns the result object.
1545
+ If the method is called asynchronously,
1546
+ returns the request thread.
1547
+ :rtype: tuple(ChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
1548
+ """
1549
+
1550
+ _params = locals()
1551
+
1552
+ _all_params = [
1553
+ 'scope',
1554
+ 'code',
1555
+ 'effective_at',
1556
+ 'as_at',
1557
+ 'property_keys'
1558
+ ]
1559
+ _all_params.extend(
1560
+ [
1561
+ 'async_req',
1562
+ '_return_http_data_only',
1563
+ '_preload_content',
1564
+ '_request_timeout',
1565
+ '_request_auth',
1566
+ '_content_type',
1567
+ '_headers'
1568
+ ]
1569
+ )
1570
+
1571
+ # validate the arguments
1572
+ for _key, _val in _params['kwargs'].items():
1573
+ if _key not in _all_params:
1574
+ raise ApiTypeError(
1575
+ "Got an unexpected keyword argument '%s'"
1576
+ " to method get_chart_of_accounts" % _key
1577
+ )
1578
+ _params[_key] = _val
1579
+ del _params['kwargs']
1580
+
1581
+ _collection_formats = {}
1582
+
1583
+ # process the path parameters
1584
+ _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
+
1592
+ # process the query parameters
1593
+ _query_params = []
1594
+ if _params.get('effective_at') is not None: # noqa: E501
1595
+ _query_params.append(('effectiveAt', _params['effective_at']))
1596
+
1597
+ if _params.get('as_at') is not None: # noqa: E501
1598
+ if isinstance(_params['as_at'], datetime):
1599
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1600
+ else:
1601
+ _query_params.append(('asAt', _params['as_at']))
1602
+
1603
+ if _params.get('property_keys') is not None: # noqa: E501
1604
+ _query_params.append(('propertyKeys', _params['property_keys']))
1605
+ _collection_formats['propertyKeys'] = 'multi'
1606
+
1607
+ # process the header parameters
1608
+ _header_params = dict(_params.get('_headers', {}))
1609
+ # process the form parameters
1610
+ _form_params = []
1611
+ _files = {}
1612
+ # process the body parameter
1613
+ _body_params = None
1614
+ # set the HTTP header `Accept`
1615
+ _header_params['Accept'] = self.api_client.select_header_accept(
1616
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1617
+
1618
+ # authentication setting
1619
+ _auth_settings = ['oauth2'] # noqa: E501
1620
+
1621
+ _response_types_map = {
1622
+ '200': "ChartOfAccounts",
1623
+ '400': "LusidValidationProblemDetails",
1624
+ }
1625
+
1626
+ return self.api_client.call_api(
1627
+ '/api/chartofaccounts/{scope}/{code}', 'GET',
1628
+ _path_params,
1629
+ _query_params,
1630
+ _header_params,
1631
+ body=_body_params,
1632
+ post_params=_form_params,
1633
+ files=_files,
1634
+ response_types_map=_response_types_map,
1635
+ auth_settings=_auth_settings,
1636
+ async_req=_params.get('async_req'),
1637
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1638
+ _preload_content=_params.get('_preload_content', True),
1639
+ _request_timeout=_params.get('_request_timeout'),
1640
+ collection_formats=_collection_formats,
1641
+ _request_auth=_params.get('_request_auth'))
1642
+
1643
+ @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
1645
+ ...
1646
+
1647
+ @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
1649
+ ...
1650
+
1651
+ @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
1654
+
1655
+ Get the given General Ledger Profile. # noqa: E501
1656
+ This method makes a synchronous HTTP request by default. To make an
1657
+ asynchronous HTTP request, please pass async_req=True
1658
+
1659
+ >>> thread = api.get_general_ledger_profile(scope, code, general_ledger_profile_code, async_req=True)
1660
+ >>> result = thread.get()
1661
+
1662
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1663
+ :type scope: str
1664
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1665
+ :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
1668
+ :param async_req: Whether to execute the request asynchronously.
1669
+ :type async_req: bool, optional
1670
+ :param _request_timeout: timeout setting for this request.
1671
+ If one number provided, it will be total request
1672
+ timeout. It can also be a pair (tuple) of
1673
+ (connection, read) timeouts.
1674
+ :return: Returns the result object.
1675
+ If the method is called asynchronously,
1676
+ returns the request thread.
1677
+ :rtype: GeneralLedgerProfileResponse
1678
+ """
1679
+ kwargs['_return_http_data_only'] = True
1680
+ 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
1682
+ raise ValueError(message)
1683
+ if async_req is not None:
1684
+ kwargs['async_req'] = async_req
1685
+ return self.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, **kwargs) # noqa: E501
1686
+
1687
+ @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
1690
+
1691
+ Get the given General Ledger Profile. # noqa: E501
1692
+ This method makes a synchronous HTTP request by default. To make an
1693
+ asynchronous HTTP request, please pass async_req=True
1694
+
1695
+ >>> thread = api.get_general_ledger_profile_with_http_info(scope, code, general_ledger_profile_code, async_req=True)
1696
+ >>> result = thread.get()
1697
+
1698
+ :param scope: The scope of the Chart of Accounts for the General Ledger Profile. (required)
1699
+ :type scope: str
1700
+ :param code: The code of the Chart of Accounts for the General Ledger Profile. (required)
1701
+ :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
1704
+ :param async_req: Whether to execute the request asynchronously.
1705
+ :type async_req: bool, optional
1706
+ :param _preload_content: if False, the ApiResponse.data will
1707
+ be set to none and raw_data will store the
1708
+ HTTP response body without reading/decoding.
1709
+ Default is True.
1710
+ :type _preload_content: bool, optional
1711
+ :param _return_http_data_only: response data instead of ApiResponse
1712
+ object with status code, headers, etc
1713
+ :type _return_http_data_only: bool, optional
1714
+ :param _request_timeout: timeout setting for this request. If one
1715
+ number provided, it will be total request
1716
+ timeout. It can also be a pair (tuple) of
1717
+ (connection, read) timeouts.
1718
+ :param _request_auth: set to override the auth_settings for an a single
1719
+ request; this effectively ignores the authentication
1720
+ in the spec for a single request.
1721
+ :type _request_auth: dict, optional
1722
+ :type _content_type: string, optional: force content-type for the request
1723
+ :return: Returns the result object.
1724
+ If the method is called asynchronously,
1725
+ returns the request thread.
1726
+ :rtype: tuple(GeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
1727
+ """
1728
+
1729
+ _params = locals()
1730
+
1731
+ _all_params = [
1732
+ 'scope',
1733
+ 'code',
1734
+ 'general_ledger_profile_code'
1735
+ ]
1736
+ _all_params.extend(
1737
+ [
1738
+ 'async_req',
1739
+ '_return_http_data_only',
1740
+ '_preload_content',
1741
+ '_request_timeout',
1742
+ '_request_auth',
1743
+ '_content_type',
1744
+ '_headers'
1745
+ ]
1746
+ )
1747
+
1748
+ # validate the arguments
1749
+ for _key, _val in _params['kwargs'].items():
1750
+ if _key not in _all_params:
1751
+ raise ApiTypeError(
1752
+ "Got an unexpected keyword argument '%s'"
1753
+ " to method get_general_ledger_profile" % _key
1754
+ )
1755
+ _params[_key] = _val
1756
+ del _params['kwargs']
1757
+
1758
+ _collection_formats = {}
1759
+
1760
+ # process the path parameters
1761
+ _path_params = {}
1762
+ if _params['scope']:
1763
+ _path_params['scope'] = _params['scope']
1764
+
1765
+ if _params['code']:
1766
+ _path_params['code'] = _params['code']
1767
+
1768
+ if _params['general_ledger_profile_code']:
1769
+ _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
1770
+
1771
+
1772
+ # process the query parameters
1773
+ _query_params = []
1774
+ # process the header parameters
1775
+ _header_params = dict(_params.get('_headers', {}))
1776
+ # process the form parameters
1777
+ _form_params = []
1778
+ _files = {}
1779
+ # process the body parameter
1780
+ _body_params = None
1781
+ # set the HTTP header `Accept`
1782
+ _header_params['Accept'] = self.api_client.select_header_accept(
1783
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1784
+
1785
+ # authentication setting
1786
+ _auth_settings = ['oauth2'] # noqa: E501
1787
+
1788
+ _response_types_map = {
1789
+ '200': "GeneralLedgerProfileResponse",
1790
+ '400': "LusidValidationProblemDetails",
1791
+ }
1792
+
1793
+ return self.api_client.call_api(
1794
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}', 'GET',
1795
+ _path_params,
1796
+ _query_params,
1797
+ _header_params,
1798
+ body=_body_params,
1799
+ post_params=_form_params,
1800
+ files=_files,
1801
+ response_types_map=_response_types_map,
1802
+ auth_settings=_auth_settings,
1803
+ async_req=_params.get('async_req'),
1804
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1805
+ _preload_content=_params.get('_preload_content', True),
1806
+ _request_timeout=_params.get('_request_timeout'),
1807
+ collection_formats=_collection_formats,
1808
+ _request_auth=_params.get('_request_auth'))
1809
+
1810
+ @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
1812
+ ...
1813
+
1814
+ @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
1816
+ ...
1817
+
1818
+ @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
1821
+
1822
+ Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
1823
+ This method makes a synchronous HTTP request by default. To make an
1824
+ asynchronous HTTP request, please pass async_req=True
1825
+
1826
+ >>> thread = api.get_posting_module(scope, code, posting_module_code, async_req=True)
1827
+ >>> result = thread.get()
1828
+
1829
+ :param scope: The scope of the Chart of Accounts. (required)
1830
+ :type scope: str
1831
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1832
+ :type code: str
1833
+ :param posting_module_code: The code of the Posting Module. (required)
1834
+ :type posting_module_code: str
1835
+ :param async_req: Whether to execute the request asynchronously.
1836
+ :type async_req: bool, optional
1837
+ :param _request_timeout: timeout setting for this request.
1838
+ If one number provided, it will be total request
1839
+ timeout. It can also be a pair (tuple) of
1840
+ (connection, read) timeouts.
1841
+ :return: Returns the result object.
1842
+ If the method is called asynchronously,
1843
+ returns the request thread.
1844
+ :rtype: PostingModuleResponse
1845
+ """
1846
+ kwargs['_return_http_data_only'] = True
1847
+ 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
1849
+ raise ValueError(message)
1850
+ if async_req is not None:
1851
+ kwargs['async_req'] = async_req
1852
+ return self.get_posting_module_with_http_info(scope, code, posting_module_code, **kwargs) # noqa: E501
1853
+
1854
+ @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
1857
+
1858
+ Retrieve the definition of a Posting Module complete with its rules. # noqa: E501
1859
+ This method makes a synchronous HTTP request by default. To make an
1860
+ asynchronous HTTP request, please pass async_req=True
1861
+
1862
+ >>> thread = api.get_posting_module_with_http_info(scope, code, posting_module_code, async_req=True)
1863
+ >>> result = thread.get()
1864
+
1865
+ :param scope: The scope of the Chart of Accounts. (required)
1866
+ :type scope: str
1867
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
1868
+ :type code: str
1869
+ :param posting_module_code: The code of the Posting Module. (required)
1870
+ :type posting_module_code: str
1871
+ :param async_req: Whether to execute the request asynchronously.
1872
+ :type async_req: bool, optional
1873
+ :param _preload_content: if False, the ApiResponse.data will
1874
+ be set to none and raw_data will store the
1875
+ HTTP response body without reading/decoding.
1876
+ Default is True.
1877
+ :type _preload_content: bool, optional
1878
+ :param _return_http_data_only: response data instead of ApiResponse
1879
+ object with status code, headers, etc
1880
+ :type _return_http_data_only: bool, optional
1881
+ :param _request_timeout: timeout setting for this request. If one
1882
+ number provided, it will be total request
1883
+ timeout. It can also be a pair (tuple) of
1884
+ (connection, read) timeouts.
1885
+ :param _request_auth: set to override the auth_settings for an a single
1886
+ request; this effectively ignores the authentication
1887
+ in the spec for a single request.
1888
+ :type _request_auth: dict, optional
1889
+ :type _content_type: string, optional: force content-type for the request
1890
+ :return: Returns the result object.
1891
+ If the method is called asynchronously,
1892
+ returns the request thread.
1893
+ :rtype: tuple(PostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
1894
+ """
1895
+
1896
+ _params = locals()
1897
+
1898
+ _all_params = [
1899
+ 'scope',
1900
+ 'code',
1901
+ 'posting_module_code'
1902
+ ]
1903
+ _all_params.extend(
1904
+ [
1905
+ 'async_req',
1906
+ '_return_http_data_only',
1907
+ '_preload_content',
1908
+ '_request_timeout',
1909
+ '_request_auth',
1910
+ '_content_type',
1911
+ '_headers'
1912
+ ]
1913
+ )
1914
+
1915
+ # validate the arguments
1916
+ for _key, _val in _params['kwargs'].items():
1917
+ if _key not in _all_params:
1918
+ raise ApiTypeError(
1919
+ "Got an unexpected keyword argument '%s'"
1920
+ " to method get_posting_module" % _key
1921
+ )
1922
+ _params[_key] = _val
1923
+ del _params['kwargs']
1924
+
1925
+ _collection_formats = {}
1926
+
1927
+ # process the path parameters
1928
+ _path_params = {}
1929
+ if _params['scope']:
1930
+ _path_params['scope'] = _params['scope']
1931
+
1932
+ if _params['code']:
1933
+ _path_params['code'] = _params['code']
1934
+
1935
+ if _params['posting_module_code']:
1936
+ _path_params['postingModuleCode'] = _params['posting_module_code']
1937
+
1938
+
1939
+ # process the query parameters
1940
+ _query_params = []
1941
+ # process the header parameters
1942
+ _header_params = dict(_params.get('_headers', {}))
1943
+ # process the form parameters
1944
+ _form_params = []
1945
+ _files = {}
1946
+ # process the body parameter
1947
+ _body_params = None
1948
+ # set the HTTP header `Accept`
1949
+ _header_params['Accept'] = self.api_client.select_header_accept(
1950
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1951
+
1952
+ # authentication setting
1953
+ _auth_settings = ['oauth2'] # noqa: E501
1954
+
1955
+ _response_types_map = {
1956
+ '200': "PostingModuleResponse",
1957
+ '400': "LusidValidationProblemDetails",
1958
+ }
1959
+
1960
+ return self.api_client.call_api(
1961
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'GET',
1962
+ _path_params,
1963
+ _query_params,
1964
+ _header_params,
1965
+ body=_body_params,
1966
+ post_params=_form_params,
1967
+ files=_files,
1968
+ response_types_map=_response_types_map,
1969
+ auth_settings=_auth_settings,
1970
+ async_req=_params.get('async_req'),
1971
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1972
+ _preload_content=_params.get('_preload_content', True),
1973
+ _request_timeout=_params.get('_request_timeout'),
1974
+ collection_formats=_collection_formats,
1975
+ _request_auth=_params.get('_request_auth'))
1976
+
1977
+ @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
1979
+ ...
1980
+
1981
+ @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
1983
+ ...
1984
+
1985
+ @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
1988
+
1989
+ List the accounts in a Chart of Accounts # noqa: E501
1990
+ This method makes a synchronous HTTP request by default. To make an
1991
+ asynchronous HTTP request, please pass async_req=True
1992
+
1993
+ >>> thread = api.list_accounts(scope, code, effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
1994
+ >>> result = thread.get()
1995
+
1996
+ :param scope: The scope of the Chart of Accounts. (required)
1997
+ :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)
1999
+ :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.
2003
+ :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.
2005
+ :type page: str
2006
+ :param start: When paginating, skip this number of results.
2007
+ :type start: int
2008
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2009
+ :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.
2011
+ :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]
2014
+ :param async_req: Whether to execute the request asynchronously.
2015
+ :type async_req: bool, optional
2016
+ :param _request_timeout: timeout setting for this request.
2017
+ If one number provided, it will be total request
2018
+ timeout. It can also be a pair (tuple) of
2019
+ (connection, read) timeouts.
2020
+ :return: Returns the result object.
2021
+ If the method is called asynchronously,
2022
+ returns the request thread.
2023
+ :rtype: PagedResourceListOfAccount
2024
+ """
2025
+ kwargs['_return_http_data_only'] = True
2026
+ 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
2028
+ raise ValueError(message)
2029
+ if async_req is not None:
2030
+ 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
2032
+
2033
+ @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
2036
+
2037
+ List the accounts in a Chart of Accounts # noqa: E501
2038
+ This method makes a synchronous HTTP request by default. To make an
2039
+ asynchronous HTTP request, please pass async_req=True
2040
+
2041
+ >>> thread = api.list_accounts_with_http_info(scope, code, effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
2042
+ >>> result = thread.get()
2043
+
2044
+ :param scope: The scope of the Chart of Accounts. (required)
2045
+ :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)
2047
+ :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.
2051
+ :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.
2053
+ :type page: str
2054
+ :param start: When paginating, skip this number of results.
2055
+ :type start: int
2056
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2057
+ :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.
2059
+ :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]
2062
+ :param async_req: Whether to execute the request asynchronously.
2063
+ :type async_req: bool, optional
2064
+ :param _preload_content: if False, the ApiResponse.data will
2065
+ be set to none and raw_data will store the
2066
+ HTTP response body without reading/decoding.
2067
+ Default is True.
2068
+ :type _preload_content: bool, optional
2069
+ :param _return_http_data_only: response data instead of ApiResponse
2070
+ object with status code, headers, etc
2071
+ :type _return_http_data_only: bool, optional
2072
+ :param _request_timeout: timeout setting for this request. If one
2073
+ number provided, it will be total request
2074
+ timeout. It can also be a pair (tuple) of
2075
+ (connection, read) timeouts.
2076
+ :param _request_auth: set to override the auth_settings for an a single
2077
+ request; this effectively ignores the authentication
2078
+ in the spec for a single request.
2079
+ :type _request_auth: dict, optional
2080
+ :type _content_type: string, optional: force content-type for the request
2081
+ :return: Returns the result object.
2082
+ If the method is called asynchronously,
2083
+ returns the request thread.
2084
+ :rtype: tuple(PagedResourceListOfAccount, status_code(int), headers(HTTPHeaderDict))
2085
+ """
2086
+
2087
+ _params = locals()
2088
+
2089
+ _all_params = [
2090
+ 'scope',
2091
+ 'code',
2092
+ 'effective_at',
2093
+ 'as_at',
2094
+ 'page',
2095
+ 'start',
2096
+ 'limit',
2097
+ 'filter',
2098
+ 'property_keys'
2099
+ ]
2100
+ _all_params.extend(
2101
+ [
2102
+ 'async_req',
2103
+ '_return_http_data_only',
2104
+ '_preload_content',
2105
+ '_request_timeout',
2106
+ '_request_auth',
2107
+ '_content_type',
2108
+ '_headers'
2109
+ ]
2110
+ )
2111
+
2112
+ # validate the arguments
2113
+ for _key, _val in _params['kwargs'].items():
2114
+ if _key not in _all_params:
2115
+ raise ApiTypeError(
2116
+ "Got an unexpected keyword argument '%s'"
2117
+ " to method list_accounts" % _key
2118
+ )
2119
+ _params[_key] = _val
2120
+ del _params['kwargs']
2121
+
2122
+ _collection_formats = {}
2123
+
2124
+ # process the path parameters
2125
+ _path_params = {}
2126
+ if _params['scope']:
2127
+ _path_params['scope'] = _params['scope']
2128
+
2129
+ if _params['code']:
2130
+ _path_params['code'] = _params['code']
2131
+
2132
+
2133
+ # process the query parameters
2134
+ _query_params = []
2135
+ if _params.get('effective_at') is not None: # noqa: E501
2136
+ _query_params.append(('effectiveAt', _params['effective_at']))
2137
+
2138
+ if _params.get('as_at') is not None: # noqa: E501
2139
+ if isinstance(_params['as_at'], datetime):
2140
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2141
+ else:
2142
+ _query_params.append(('asAt', _params['as_at']))
2143
+
2144
+ if _params.get('page') is not None: # noqa: E501
2145
+ _query_params.append(('page', _params['page']))
2146
+
2147
+ if _params.get('start') is not None: # noqa: E501
2148
+ _query_params.append(('start', _params['start']))
2149
+
2150
+ if _params.get('limit') is not None: # noqa: E501
2151
+ _query_params.append(('limit', _params['limit']))
2152
+
2153
+ if _params.get('filter') is not None: # noqa: E501
2154
+ _query_params.append(('filter', _params['filter']))
2155
+
2156
+ if _params.get('property_keys') is not None: # noqa: E501
2157
+ _query_params.append(('propertyKeys', _params['property_keys']))
2158
+ _collection_formats['propertyKeys'] = 'multi'
2159
+
2160
+ # process the header parameters
2161
+ _header_params = dict(_params.get('_headers', {}))
2162
+ # process the form parameters
2163
+ _form_params = []
2164
+ _files = {}
2165
+ # process the body parameter
2166
+ _body_params = None
2167
+ # set the HTTP header `Accept`
2168
+ _header_params['Accept'] = self.api_client.select_header_accept(
2169
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2170
+
2171
+ # authentication setting
2172
+ _auth_settings = ['oauth2'] # noqa: E501
2173
+
2174
+ _response_types_map = {
2175
+ '200': "PagedResourceListOfAccount",
2176
+ '400': "LusidValidationProblemDetails",
2177
+ }
2178
+
2179
+ return self.api_client.call_api(
2180
+ '/api/chartofaccounts/{scope}/{code}/accounts', 'GET',
2181
+ _path_params,
2182
+ _query_params,
2183
+ _header_params,
2184
+ body=_body_params,
2185
+ post_params=_form_params,
2186
+ files=_files,
2187
+ response_types_map=_response_types_map,
2188
+ auth_settings=_auth_settings,
2189
+ async_req=_params.get('async_req'),
2190
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2191
+ _preload_content=_params.get('_preload_content', True),
2192
+ _request_timeout=_params.get('_request_timeout'),
2193
+ collection_formats=_collection_formats,
2194
+ _request_auth=_params.get('_request_auth'))
2195
+
2196
+ @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
2198
+ ...
2199
+
2200
+ @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
2202
+ ...
2203
+
2204
+ @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
2207
+
2208
+ List all the Charts of Accounts matching particular criteria. # noqa: E501
2209
+ This method makes a synchronous HTTP request by default. To make an
2210
+ asynchronous HTTP request, please pass async_req=True
2211
+
2212
+ >>> thread = api.list_charts_of_accounts(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
2213
+ >>> result = thread.get()
2214
+
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.
2218
+ :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.
2220
+ :type page: str
2221
+ :param start: When paginating, skip this number of results.
2222
+ :type start: int
2223
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2224
+ :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.
2226
+ :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
+ :param async_req: Whether to execute the request asynchronously.
2230
+ :type async_req: bool, optional
2231
+ :param _request_timeout: timeout setting for this request.
2232
+ If one number provided, it will be total request
2233
+ timeout. It can also be a pair (tuple) of
2234
+ (connection, read) timeouts.
2235
+ :return: Returns the result object.
2236
+ If the method is called asynchronously,
2237
+ returns the request thread.
2238
+ :rtype: PagedResourceListOfChartOfAccounts
2239
+ """
2240
+ kwargs['_return_http_data_only'] = True
2241
+ 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
2243
+ raise ValueError(message)
2244
+ if async_req is not None:
2245
+ 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
2247
+
2248
+ @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
2251
+
2252
+ List all the Charts of Accounts matching particular criteria. # noqa: E501
2253
+ This method makes a synchronous HTTP request by default. To make an
2254
+ asynchronous HTTP request, please pass async_req=True
2255
+
2256
+ >>> thread = api.list_charts_of_accounts_with_http_info(effective_at, as_at, page, start, limit, filter, property_keys, async_req=True)
2257
+ >>> result = thread.get()
2258
+
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.
2262
+ :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.
2264
+ :type page: str
2265
+ :param start: When paginating, skip this number of results.
2266
+ :type start: int
2267
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2268
+ :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.
2270
+ :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
+ :param async_req: Whether to execute the request asynchronously.
2274
+ :type async_req: bool, optional
2275
+ :param _preload_content: if False, the ApiResponse.data will
2276
+ be set to none and raw_data will store the
2277
+ HTTP response body without reading/decoding.
2278
+ Default is True.
2279
+ :type _preload_content: bool, optional
2280
+ :param _return_http_data_only: response data instead of ApiResponse
2281
+ object with status code, headers, etc
2282
+ :type _return_http_data_only: bool, optional
2283
+ :param _request_timeout: timeout setting for this request. If one
2284
+ number provided, it will be total request
2285
+ timeout. It can also be a pair (tuple) of
2286
+ (connection, read) timeouts.
2287
+ :param _request_auth: set to override the auth_settings for an a single
2288
+ request; this effectively ignores the authentication
2289
+ in the spec for a single request.
2290
+ :type _request_auth: dict, optional
2291
+ :type _content_type: string, optional: force content-type for the request
2292
+ :return: Returns the result object.
2293
+ If the method is called asynchronously,
2294
+ returns the request thread.
2295
+ :rtype: tuple(PagedResourceListOfChartOfAccounts, status_code(int), headers(HTTPHeaderDict))
2296
+ """
2297
+
2298
+ _params = locals()
2299
+
2300
+ _all_params = [
2301
+ 'effective_at',
2302
+ 'as_at',
2303
+ 'page',
2304
+ 'start',
2305
+ 'limit',
2306
+ 'filter',
2307
+ 'property_keys'
2308
+ ]
2309
+ _all_params.extend(
2310
+ [
2311
+ 'async_req',
2312
+ '_return_http_data_only',
2313
+ '_preload_content',
2314
+ '_request_timeout',
2315
+ '_request_auth',
2316
+ '_content_type',
2317
+ '_headers'
2318
+ ]
2319
+ )
2320
+
2321
+ # validate the arguments
2322
+ for _key, _val in _params['kwargs'].items():
2323
+ if _key not in _all_params:
2324
+ raise ApiTypeError(
2325
+ "Got an unexpected keyword argument '%s'"
2326
+ " to method list_charts_of_accounts" % _key
2327
+ )
2328
+ _params[_key] = _val
2329
+ del _params['kwargs']
2330
+
2331
+ _collection_formats = {}
2332
+
2333
+ # process the path parameters
2334
+ _path_params = {}
2335
+
2336
+ # process the query parameters
2337
+ _query_params = []
2338
+ if _params.get('effective_at') is not None: # noqa: E501
2339
+ _query_params.append(('effectiveAt', _params['effective_at']))
2340
+
2341
+ if _params.get('as_at') is not None: # noqa: E501
2342
+ if isinstance(_params['as_at'], datetime):
2343
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2344
+ else:
2345
+ _query_params.append(('asAt', _params['as_at']))
2346
+
2347
+ if _params.get('page') is not None: # noqa: E501
2348
+ _query_params.append(('page', _params['page']))
2349
+
2350
+ if _params.get('start') is not None: # noqa: E501
2351
+ _query_params.append(('start', _params['start']))
2352
+
2353
+ if _params.get('limit') is not None: # noqa: E501
2354
+ _query_params.append(('limit', _params['limit']))
2355
+
2356
+ if _params.get('filter') is not None: # noqa: E501
2357
+ _query_params.append(('filter', _params['filter']))
2358
+
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
+ # process the header parameters
2364
+ _header_params = dict(_params.get('_headers', {}))
2365
+ # process the form parameters
2366
+ _form_params = []
2367
+ _files = {}
2368
+ # process the body parameter
2369
+ _body_params = None
2370
+ # set the HTTP header `Accept`
2371
+ _header_params['Accept'] = self.api_client.select_header_accept(
2372
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2373
+
2374
+ # authentication setting
2375
+ _auth_settings = ['oauth2'] # noqa: E501
2376
+
2377
+ _response_types_map = {
2378
+ '200': "PagedResourceListOfChartOfAccounts",
2379
+ '400': "LusidValidationProblemDetails",
2380
+ }
2381
+
2382
+ return self.api_client.call_api(
2383
+ '/api/chartofaccounts', 'GET',
2384
+ _path_params,
2385
+ _query_params,
2386
+ _header_params,
2387
+ body=_body_params,
2388
+ post_params=_form_params,
2389
+ files=_files,
2390
+ response_types_map=_response_types_map,
2391
+ auth_settings=_auth_settings,
2392
+ async_req=_params.get('async_req'),
2393
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2394
+ _preload_content=_params.get('_preload_content', True),
2395
+ _request_timeout=_params.get('_request_timeout'),
2396
+ collection_formats=_collection_formats,
2397
+ _request_auth=_params.get('_request_auth'))
2398
+
2399
+ @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
2401
+ ...
2402
+
2403
+ @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
2405
+ ...
2406
+
2407
+ @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
2410
+
2411
+ List all the General Ledger profiles matching particular criteria. # noqa: E501
2412
+ This method makes a synchronous HTTP request by default. To make an
2413
+ asynchronous HTTP request, please pass async_req=True
2414
+
2415
+ >>> thread = api.list_general_ledger_profiles(scope, code, as_at, start, page, limit, filter, async_req=True)
2416
+ >>> result = thread.get()
2417
+
2418
+ :param scope: The scope of the Chart of Accounts (required)
2419
+ :type scope: str
2420
+ :param code: The code of the Chart of Accounts (required)
2421
+ :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.
2423
+ :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.
2427
+ :type page: str
2428
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2429
+ :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.
2431
+ :type filter: str
2432
+ :param async_req: Whether to execute the request asynchronously.
2433
+ :type async_req: bool, optional
2434
+ :param _request_timeout: timeout setting for this request.
2435
+ If one number provided, it will be total request
2436
+ timeout. It can also be a pair (tuple) of
2437
+ (connection, read) timeouts.
2438
+ :return: Returns the result object.
2439
+ If the method is called asynchronously,
2440
+ returns the request thread.
2441
+ :rtype: PagedResourceListOfGeneralLedgerProfileResponse
2442
+ """
2443
+ kwargs['_return_http_data_only'] = True
2444
+ 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
2446
+ raise ValueError(message)
2447
+ if async_req is not None:
2448
+ 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
2450
+
2451
+ @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
2454
+
2455
+ List all the General Ledger profiles matching particular criteria. # noqa: E501
2456
+ This method makes a synchronous HTTP request by default. To make an
2457
+ asynchronous HTTP request, please pass async_req=True
2458
+
2459
+ >>> thread = api.list_general_ledger_profiles_with_http_info(scope, code, as_at, start, page, limit, filter, async_req=True)
2460
+ >>> result = thread.get()
2461
+
2462
+ :param scope: The scope of the Chart of Accounts (required)
2463
+ :type scope: str
2464
+ :param code: The code of the Chart of Accounts (required)
2465
+ :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.
2467
+ :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.
2471
+ :type page: str
2472
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
2473
+ :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.
2475
+ :type filter: str
2476
+ :param async_req: Whether to execute the request asynchronously.
2477
+ :type async_req: bool, optional
2478
+ :param _preload_content: if False, the ApiResponse.data will
2479
+ be set to none and raw_data will store the
2480
+ HTTP response body without reading/decoding.
2481
+ Default is True.
2482
+ :type _preload_content: bool, optional
2483
+ :param _return_http_data_only: response data instead of ApiResponse
2484
+ object with status code, headers, etc
2485
+ :type _return_http_data_only: bool, optional
2486
+ :param _request_timeout: timeout setting for this request. If one
2487
+ number provided, it will be total request
2488
+ timeout. It can also be a pair (tuple) of
2489
+ (connection, read) timeouts.
2490
+ :param _request_auth: set to override the auth_settings for an a single
2491
+ request; this effectively ignores the authentication
2492
+ in the spec for a single request.
2493
+ :type _request_auth: dict, optional
2494
+ :type _content_type: string, optional: force content-type for the request
2495
+ :return: Returns the result object.
2496
+ If the method is called asynchronously,
2497
+ returns the request thread.
2498
+ :rtype: tuple(PagedResourceListOfGeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
2499
+ """
2500
+
2501
+ _params = locals()
2502
+
2503
+ _all_params = [
2504
+ 'scope',
2505
+ 'code',
2506
+ 'as_at',
2507
+ 'start',
2508
+ 'page',
2509
+ 'limit',
2510
+ 'filter'
2511
+ ]
2512
+ _all_params.extend(
2513
+ [
2514
+ 'async_req',
2515
+ '_return_http_data_only',
2516
+ '_preload_content',
2517
+ '_request_timeout',
2518
+ '_request_auth',
2519
+ '_content_type',
2520
+ '_headers'
2521
+ ]
2522
+ )
2523
+
2524
+ # validate the arguments
2525
+ for _key, _val in _params['kwargs'].items():
2526
+ if _key not in _all_params:
2527
+ raise ApiTypeError(
2528
+ "Got an unexpected keyword argument '%s'"
2529
+ " to method list_general_ledger_profiles" % _key
2530
+ )
2531
+ _params[_key] = _val
2532
+ del _params['kwargs']
2533
+
2534
+ _collection_formats = {}
2535
+
2536
+ # process the path parameters
2537
+ _path_params = {}
2538
+ if _params['scope']:
2539
+ _path_params['scope'] = _params['scope']
2540
+
2541
+ if _params['code']:
2542
+ _path_params['code'] = _params['code']
2543
+
2544
+
2545
+ # process the query parameters
2546
+ _query_params = []
2547
+ if _params.get('as_at') is not None: # noqa: E501
2548
+ if isinstance(_params['as_at'], datetime):
2549
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2550
+ else:
2551
+ _query_params.append(('asAt', _params['as_at']))
2552
+
2553
+ if _params.get('start') is not None: # noqa: E501
2554
+ _query_params.append(('start', _params['start']))
2555
+
2556
+ if _params.get('page') is not None: # noqa: E501
2557
+ _query_params.append(('page', _params['page']))
2558
+
2559
+ if _params.get('limit') is not None: # noqa: E501
2560
+ _query_params.append(('limit', _params['limit']))
2561
+
2562
+ if _params.get('filter') is not None: # noqa: E501
2563
+ _query_params.append(('filter', _params['filter']))
2564
+
2565
+ # process the header parameters
2566
+ _header_params = dict(_params.get('_headers', {}))
2567
+ # process the form parameters
2568
+ _form_params = []
2569
+ _files = {}
2570
+ # process the body parameter
2571
+ _body_params = None
2572
+ # set the HTTP header `Accept`
2573
+ _header_params['Accept'] = self.api_client.select_header_accept(
2574
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2575
+
2576
+ # authentication setting
2577
+ _auth_settings = ['oauth2'] # noqa: E501
2578
+
2579
+ _response_types_map = {
2580
+ '200': "PagedResourceListOfGeneralLedgerProfileResponse",
2581
+ '400': "LusidValidationProblemDetails",
2582
+ }
2583
+
2584
+ return self.api_client.call_api(
2585
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile', 'GET',
2586
+ _path_params,
2587
+ _query_params,
2588
+ _header_params,
2589
+ body=_body_params,
2590
+ post_params=_form_params,
2591
+ files=_files,
2592
+ response_types_map=_response_types_map,
2593
+ auth_settings=_auth_settings,
2594
+ async_req=_params.get('async_req'),
2595
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2596
+ _preload_content=_params.get('_preload_content', True),
2597
+ _request_timeout=_params.get('_request_timeout'),
2598
+ collection_formats=_collection_formats,
2599
+ _request_auth=_params.get('_request_auth'))
2600
+
2601
+ @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
2603
+ ...
2604
+
2605
+ @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
2607
+ ...
2608
+
2609
+ @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
2612
+
2613
+ List the Rules in a Posting Module # noqa: E501
2614
+ This method makes a synchronous HTTP request by default. To make an
2615
+ asynchronous HTTP request, please pass async_req=True
2616
+
2617
+ >>> thread = api.list_posting_module_rules(scope, code, posting_module_code, as_at, page, start, limit, filter, async_req=True)
2618
+ >>> result = thread.get()
2619
+
2620
+ :param scope: The scope of the Chart of Accounts. (required)
2621
+ :type scope: str
2622
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2623
+ :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
2636
+ :param async_req: Whether to execute the request asynchronously.
2637
+ :type async_req: bool, optional
2638
+ :param _request_timeout: timeout setting for this request.
2639
+ If one number provided, it will be total request
2640
+ timeout. It can also be a pair (tuple) of
2641
+ (connection, read) timeouts.
2642
+ :return: Returns the result object.
2643
+ If the method is called asynchronously,
2644
+ returns the request thread.
2645
+ :rtype: PagedResourceListOfPostingModuleRule
2646
+ """
2647
+ kwargs['_return_http_data_only'] = True
2648
+ 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
2650
+ raise ValueError(message)
2651
+ if async_req is not None:
2652
+ 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
2654
+
2655
+ @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
2658
+
2659
+ List the Rules in a Posting Module # noqa: E501
2660
+ This method makes a synchronous HTTP request by default. To make an
2661
+ asynchronous HTTP request, please pass async_req=True
2662
+
2663
+ >>> thread = api.list_posting_module_rules_with_http_info(scope, code, posting_module_code, as_at, page, start, limit, filter, async_req=True)
2664
+ >>> result = thread.get()
2665
+
2666
+ :param scope: The scope of the Chart of Accounts. (required)
2667
+ :type scope: str
2668
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2669
+ :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
2682
+ :param async_req: Whether to execute the request asynchronously.
2683
+ :type async_req: bool, optional
2684
+ :param _preload_content: if False, the ApiResponse.data will
2685
+ be set to none and raw_data will store the
2686
+ HTTP response body without reading/decoding.
2687
+ Default is True.
2688
+ :type _preload_content: bool, optional
2689
+ :param _return_http_data_only: response data instead of ApiResponse
2690
+ object with status code, headers, etc
2691
+ :type _return_http_data_only: bool, optional
2692
+ :param _request_timeout: timeout setting for this request. If one
2693
+ number provided, it will be total request
2694
+ timeout. It can also be a pair (tuple) of
2695
+ (connection, read) timeouts.
2696
+ :param _request_auth: set to override the auth_settings for an a single
2697
+ request; this effectively ignores the authentication
2698
+ in the spec for a single request.
2699
+ :type _request_auth: dict, optional
2700
+ :type _content_type: string, optional: force content-type for the request
2701
+ :return: Returns the result object.
2702
+ If the method is called asynchronously,
2703
+ returns the request thread.
2704
+ :rtype: tuple(PagedResourceListOfPostingModuleRule, status_code(int), headers(HTTPHeaderDict))
2705
+ """
2706
+
2707
+ _params = locals()
2708
+
2709
+ _all_params = [
2710
+ 'scope',
2711
+ 'code',
2712
+ 'posting_module_code',
2713
+ 'as_at',
2714
+ 'page',
2715
+ 'start',
2716
+ 'limit',
2717
+ 'filter'
2718
+ ]
2719
+ _all_params.extend(
2720
+ [
2721
+ 'async_req',
2722
+ '_return_http_data_only',
2723
+ '_preload_content',
2724
+ '_request_timeout',
2725
+ '_request_auth',
2726
+ '_content_type',
2727
+ '_headers'
2728
+ ]
2729
+ )
2730
+
2731
+ # validate the arguments
2732
+ for _key, _val in _params['kwargs'].items():
2733
+ if _key not in _all_params:
2734
+ raise ApiTypeError(
2735
+ "Got an unexpected keyword argument '%s'"
2736
+ " to method list_posting_module_rules" % _key
2737
+ )
2738
+ _params[_key] = _val
2739
+ del _params['kwargs']
2740
+
2741
+ _collection_formats = {}
2742
+
2743
+ # process the path parameters
2744
+ _path_params = {}
2745
+ if _params['scope']:
2746
+ _path_params['scope'] = _params['scope']
2747
+
2748
+ if _params['code']:
2749
+ _path_params['code'] = _params['code']
2750
+
2751
+ if _params['posting_module_code']:
2752
+ _path_params['postingModuleCode'] = _params['posting_module_code']
2753
+
2754
+
2755
+ # process the query parameters
2756
+ _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
+ # process the header parameters
2776
+ _header_params = dict(_params.get('_headers', {}))
2777
+ # process the form parameters
2778
+ _form_params = []
2779
+ _files = {}
2780
+ # process the body parameter
2781
+ _body_params = None
2782
+ # set the HTTP header `Accept`
2783
+ _header_params['Accept'] = self.api_client.select_header_accept(
2784
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2785
+
2786
+ # authentication setting
2787
+ _auth_settings = ['oauth2'] # noqa: E501
2788
+
2789
+ _response_types_map = {
2790
+ '200': "PagedResourceListOfPostingModuleRule",
2791
+ '400': "LusidValidationProblemDetails",
2792
+ }
2793
+
2794
+ return self.api_client.call_api(
2795
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}/postingrules', 'GET',
2796
+ _path_params,
2797
+ _query_params,
2798
+ _header_params,
2799
+ body=_body_params,
2800
+ post_params=_form_params,
2801
+ files=_files,
2802
+ response_types_map=_response_types_map,
2803
+ auth_settings=_auth_settings,
2804
+ async_req=_params.get('async_req'),
2805
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2806
+ _preload_content=_params.get('_preload_content', True),
2807
+ _request_timeout=_params.get('_request_timeout'),
2808
+ collection_formats=_collection_formats,
2809
+ _request_auth=_params.get('_request_auth'))
2810
+
2811
+ @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
2813
+ ...
2814
+
2815
+ @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
2817
+ ...
2818
+
2819
+ @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
2822
+
2823
+ List all the Posting Modules matching particular criteria. # noqa: E501
2824
+ This method makes a synchronous HTTP request by default. To make an
2825
+ asynchronous HTTP request, please pass async_req=True
2826
+
2827
+ >>> thread = api.list_posting_modules(scope, code, as_at, page, start, limit, filter, async_req=True)
2828
+ >>> result = thread.get()
2829
+
2830
+ :param scope: The scope of the Chart of Accounts. (required)
2831
+ :type scope: str
2832
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2833
+ :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
2844
+ :param async_req: Whether to execute the request asynchronously.
2845
+ :type async_req: bool, optional
2846
+ :param _request_timeout: timeout setting for this request.
2847
+ If one number provided, it will be total request
2848
+ timeout. It can also be a pair (tuple) of
2849
+ (connection, read) timeouts.
2850
+ :return: Returns the result object.
2851
+ If the method is called asynchronously,
2852
+ returns the request thread.
2853
+ :rtype: PagedResourceListOfPostingModuleResponse
2854
+ """
2855
+ kwargs['_return_http_data_only'] = True
2856
+ 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
2858
+ raise ValueError(message)
2859
+ if async_req is not None:
2860
+ 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
2862
+
2863
+ @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
2866
+
2867
+ List all the Posting Modules matching particular criteria. # noqa: E501
2868
+ This method makes a synchronous HTTP request by default. To make an
2869
+ asynchronous HTTP request, please pass async_req=True
2870
+
2871
+ >>> thread = api.list_posting_modules_with_http_info(scope, code, as_at, page, start, limit, filter, async_req=True)
2872
+ >>> result = thread.get()
2873
+
2874
+ :param scope: The scope of the Chart of Accounts. (required)
2875
+ :type scope: str
2876
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
2877
+ :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
2888
+ :param async_req: Whether to execute the request asynchronously.
2889
+ :type async_req: bool, optional
2890
+ :param _preload_content: if False, the ApiResponse.data will
2891
+ be set to none and raw_data will store the
2892
+ HTTP response body without reading/decoding.
2893
+ Default is True.
2894
+ :type _preload_content: bool, optional
2895
+ :param _return_http_data_only: response data instead of ApiResponse
2896
+ object with status code, headers, etc
2897
+ :type _return_http_data_only: bool, optional
2898
+ :param _request_timeout: timeout setting for this request. If one
2899
+ number provided, it will be total request
2900
+ timeout. It can also be a pair (tuple) of
2901
+ (connection, read) timeouts.
2902
+ :param _request_auth: set to override the auth_settings for an a single
2903
+ request; this effectively ignores the authentication
2904
+ in the spec for a single request.
2905
+ :type _request_auth: dict, optional
2906
+ :type _content_type: string, optional: force content-type for the request
2907
+ :return: Returns the result object.
2908
+ If the method is called asynchronously,
2909
+ returns the request thread.
2910
+ :rtype: tuple(PagedResourceListOfPostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
2911
+ """
2912
+
2913
+ _params = locals()
2914
+
2915
+ _all_params = [
2916
+ 'scope',
2917
+ 'code',
2918
+ 'as_at',
2919
+ 'page',
2920
+ 'start',
2921
+ 'limit',
2922
+ 'filter'
2923
+ ]
2924
+ _all_params.extend(
2925
+ [
2926
+ 'async_req',
2927
+ '_return_http_data_only',
2928
+ '_preload_content',
2929
+ '_request_timeout',
2930
+ '_request_auth',
2931
+ '_content_type',
2932
+ '_headers'
2933
+ ]
2934
+ )
2935
+
2936
+ # validate the arguments
2937
+ for _key, _val in _params['kwargs'].items():
2938
+ if _key not in _all_params:
2939
+ raise ApiTypeError(
2940
+ "Got an unexpected keyword argument '%s'"
2941
+ " to method list_posting_modules" % _key
2942
+ )
2943
+ _params[_key] = _val
2944
+ del _params['kwargs']
2945
+
2946
+ _collection_formats = {}
2947
+
2948
+ # process the path parameters
2949
+ _path_params = {}
2950
+ if _params['scope']:
2951
+ _path_params['scope'] = _params['scope']
2952
+
2953
+ if _params['code']:
2954
+ _path_params['code'] = _params['code']
2955
+
2956
+
2957
+ # process the query parameters
2958
+ _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
+ # process the header parameters
2978
+ _header_params = dict(_params.get('_headers', {}))
2979
+ # process the form parameters
2980
+ _form_params = []
2981
+ _files = {}
2982
+ # process the body parameter
2983
+ _body_params = None
2984
+ # set the HTTP header `Accept`
2985
+ _header_params['Accept'] = self.api_client.select_header_accept(
2986
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2987
+
2988
+ # authentication setting
2989
+ _auth_settings = ['oauth2'] # noqa: E501
2990
+
2991
+ _response_types_map = {
2992
+ '200': "PagedResourceListOfPostingModuleResponse",
2993
+ '400': "LusidValidationProblemDetails",
2994
+ }
2995
+
2996
+ return self.api_client.call_api(
2997
+ '/api/chartofaccounts/{scope}/{code}/postingmodules', 'GET',
2998
+ _path_params,
2999
+ _query_params,
3000
+ _header_params,
3001
+ body=_body_params,
3002
+ post_params=_form_params,
3003
+ files=_files,
3004
+ response_types_map=_response_types_map,
3005
+ auth_settings=_auth_settings,
3006
+ async_req=_params.get('async_req'),
3007
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3008
+ _preload_content=_params.get('_preload_content', True),
3009
+ _request_timeout=_params.get('_request_timeout'),
3010
+ collection_formats=_collection_formats,
3011
+ _request_auth=_params.get('_request_auth'))
3012
+
3013
+ @overload
3014
+ async def set_general_ledger_profile_mappings(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_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the General Ledger Profile")], general_ledger_profile_mapping : Annotated[conlist(GeneralLedgerProfileMapping), Field(..., description="The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided.")], **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
3015
+ ...
3016
+
3017
+ @overload
3018
+ def set_general_ledger_profile_mappings(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_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the General Ledger Profile")], general_ledger_profile_mapping : Annotated[conlist(GeneralLedgerProfileMapping), Field(..., description="The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided.")], async_req: Optional[bool]=True, **kwargs) -> GeneralLedgerProfileResponse: # noqa: E501
3019
+ ...
3020
+
3021
+ @validate_arguments
3022
+ def set_general_ledger_profile_mappings(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_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the General Ledger Profile")], general_ledger_profile_mapping : Annotated[conlist(GeneralLedgerProfileMapping), Field(..., description="The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided.")], async_req: Optional[bool]=None, **kwargs) -> Union[GeneralLedgerProfileResponse, Awaitable[GeneralLedgerProfileResponse]]: # noqa: E501
3023
+ """[EXPERIMENTAL] SetGeneralLedgerProfileMappings: Sets the General Ledger Profile Mappings. # noqa: E501
3024
+
3025
+ Update the given General Ledger profile Mappings. # noqa: E501
3026
+ This method makes a synchronous HTTP request by default. To make an
3027
+ asynchronous HTTP request, please pass async_req=True
3028
+
3029
+ >>> thread = api.set_general_ledger_profile_mappings(scope, code, general_ledger_profile_code, general_ledger_profile_mapping, async_req=True)
3030
+ >>> result = thread.get()
3031
+
3032
+ :param scope: The scope of the Chart of Accounts. (required)
3033
+ :type scope: str
3034
+ :param code: The code of the Chart of Accounts. (required)
3035
+ :type code: str
3036
+ :param general_ledger_profile_code: The code of the General Ledger Profile (required)
3037
+ :type general_ledger_profile_code: str
3038
+ :param general_ledger_profile_mapping: The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided. (required)
3039
+ :type general_ledger_profile_mapping: List[GeneralLedgerProfileMapping]
3040
+ :param async_req: Whether to execute the request asynchronously.
3041
+ :type async_req: bool, optional
3042
+ :param _request_timeout: timeout setting for this request.
3043
+ If one number provided, it will be total request
3044
+ timeout. It can also be a pair (tuple) of
3045
+ (connection, read) timeouts.
3046
+ :return: Returns the result object.
3047
+ If the method is called asynchronously,
3048
+ returns the request thread.
3049
+ :rtype: GeneralLedgerProfileResponse
3050
+ """
3051
+ kwargs['_return_http_data_only'] = True
3052
+ if '_preload_content' in kwargs:
3053
+ message = "Error! Please call the set_general_ledger_profile_mappings_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3054
+ raise ValueError(message)
3055
+ if async_req is not None:
3056
+ kwargs['async_req'] = async_req
3057
+ return self.set_general_ledger_profile_mappings_with_http_info(scope, code, general_ledger_profile_code, general_ledger_profile_mapping, **kwargs) # noqa: E501
3058
+
3059
+ @validate_arguments
3060
+ def set_general_ledger_profile_mappings_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.")], general_ledger_profile_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the General Ledger Profile")], general_ledger_profile_mapping : Annotated[conlist(GeneralLedgerProfileMapping), Field(..., description="The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided.")], **kwargs) -> ApiResponse: # noqa: E501
3061
+ """[EXPERIMENTAL] SetGeneralLedgerProfileMappings: Sets the General Ledger Profile Mappings. # noqa: E501
3062
+
3063
+ Update the given General Ledger profile Mappings. # noqa: E501
3064
+ This method makes a synchronous HTTP request by default. To make an
3065
+ asynchronous HTTP request, please pass async_req=True
3066
+
3067
+ >>> thread = api.set_general_ledger_profile_mappings_with_http_info(scope, code, general_ledger_profile_code, general_ledger_profile_mapping, async_req=True)
3068
+ >>> result = thread.get()
3069
+
3070
+ :param scope: The scope of the Chart of Accounts. (required)
3071
+ :type scope: str
3072
+ :param code: The code of the Chart of Accounts. (required)
3073
+ :type code: str
3074
+ :param general_ledger_profile_code: The code of the General Ledger Profile (required)
3075
+ :type general_ledger_profile_code: str
3076
+ :param general_ledger_profile_mapping: The updated General Ledger Profile Mappings, the previous mappings will be wholly replaced with this data. Mappings will be evaluated in the order they are provided. (required)
3077
+ :type general_ledger_profile_mapping: List[GeneralLedgerProfileMapping]
3078
+ :param async_req: Whether to execute the request asynchronously.
3079
+ :type async_req: bool, optional
3080
+ :param _preload_content: if False, the ApiResponse.data will
3081
+ be set to none and raw_data will store the
3082
+ HTTP response body without reading/decoding.
3083
+ Default is True.
3084
+ :type _preload_content: bool, optional
3085
+ :param _return_http_data_only: response data instead of ApiResponse
3086
+ object with status code, headers, etc
3087
+ :type _return_http_data_only: bool, optional
3088
+ :param _request_timeout: timeout setting for this request. If one
3089
+ number provided, it will be total request
3090
+ timeout. It can also be a pair (tuple) of
3091
+ (connection, read) timeouts.
3092
+ :param _request_auth: set to override the auth_settings for an a single
3093
+ request; this effectively ignores the authentication
3094
+ in the spec for a single request.
3095
+ :type _request_auth: dict, optional
3096
+ :type _content_type: string, optional: force content-type for the request
3097
+ :return: Returns the result object.
3098
+ If the method is called asynchronously,
3099
+ returns the request thread.
3100
+ :rtype: tuple(GeneralLedgerProfileResponse, status_code(int), headers(HTTPHeaderDict))
3101
+ """
3102
+
3103
+ _params = locals()
3104
+
3105
+ _all_params = [
3106
+ 'scope',
3107
+ 'code',
3108
+ 'general_ledger_profile_code',
3109
+ 'general_ledger_profile_mapping'
3110
+ ]
3111
+ _all_params.extend(
3112
+ [
3113
+ 'async_req',
3114
+ '_return_http_data_only',
3115
+ '_preload_content',
3116
+ '_request_timeout',
3117
+ '_request_auth',
3118
+ '_content_type',
3119
+ '_headers'
3120
+ ]
3121
+ )
3122
+
3123
+ # validate the arguments
3124
+ for _key, _val in _params['kwargs'].items():
3125
+ if _key not in _all_params:
3126
+ raise ApiTypeError(
3127
+ "Got an unexpected keyword argument '%s'"
3128
+ " to method set_general_ledger_profile_mappings" % _key
3129
+ )
3130
+ _params[_key] = _val
3131
+ del _params['kwargs']
3132
+
3133
+ _collection_formats = {}
3134
+
3135
+ # process the path parameters
3136
+ _path_params = {}
3137
+ if _params['scope']:
3138
+ _path_params['scope'] = _params['scope']
3139
+
3140
+ if _params['code']:
3141
+ _path_params['code'] = _params['code']
3142
+
3143
+ if _params['general_ledger_profile_code']:
3144
+ _path_params['generalLedgerProfileCode'] = _params['general_ledger_profile_code']
3145
+
3146
+
3147
+ # process the query parameters
3148
+ _query_params = []
3149
+ # process the header parameters
3150
+ _header_params = dict(_params.get('_headers', {}))
3151
+ # process the form parameters
3152
+ _form_params = []
3153
+ _files = {}
3154
+ # process the body parameter
3155
+ _body_params = None
3156
+ if _params['general_ledger_profile_mapping'] is not None:
3157
+ _body_params = _params['general_ledger_profile_mapping']
3158
+
3159
+ # set the HTTP header `Accept`
3160
+ _header_params['Accept'] = self.api_client.select_header_accept(
3161
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3162
+
3163
+ # set the HTTP header `Content-Type`
3164
+ _content_types_list = _params.get('_content_type',
3165
+ self.api_client.select_header_content_type(
3166
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3167
+ if _content_types_list:
3168
+ _header_params['Content-Type'] = _content_types_list
3169
+
3170
+ # authentication setting
3171
+ _auth_settings = ['oauth2'] # noqa: E501
3172
+
3173
+ _response_types_map = {
3174
+ '200': "GeneralLedgerProfileResponse",
3175
+ '400': "LusidValidationProblemDetails",
3176
+ }
3177
+
3178
+ return self.api_client.call_api(
3179
+ '/api/chartofaccounts/{scope}/{code}/generalledgerprofile/{generalLedgerProfileCode}/mappings', 'PUT',
3180
+ _path_params,
3181
+ _query_params,
3182
+ _header_params,
3183
+ body=_body_params,
3184
+ post_params=_form_params,
3185
+ files=_files,
3186
+ response_types_map=_response_types_map,
3187
+ auth_settings=_auth_settings,
3188
+ async_req=_params.get('async_req'),
3189
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3190
+ _preload_content=_params.get('_preload_content', True),
3191
+ _request_timeout=_params.get('_request_timeout'),
3192
+ collection_formats=_collection_formats,
3193
+ _request_auth=_params.get('_request_auth'))
3194
+
3195
+ @overload
3196
+ async def set_posting_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.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be updated.")], posting_module_details : Annotated[PostingModuleDetails, Field(..., description="The new details for the Posting Module.")], **kwargs) -> PostingModuleResponse: # noqa: E501
3197
+ ...
3198
+
3199
+ @overload
3200
+ def set_posting_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.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be updated.")], posting_module_details : Annotated[PostingModuleDetails, Field(..., description="The new details for the Posting Module.")], async_req: Optional[bool]=True, **kwargs) -> PostingModuleResponse: # noqa: E501
3201
+ ...
3202
+
3203
+ @validate_arguments
3204
+ def set_posting_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.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be updated.")], posting_module_details : Annotated[PostingModuleDetails, Field(..., description="The new details for the Posting Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[PostingModuleResponse, Awaitable[PostingModuleResponse]]: # noqa: E501
3205
+ """[EXPERIMENTAL] SetPostingModuleDetails: Set the details of a Posting Module # noqa: E501
3206
+
3207
+ Update the given Posting Module details. # noqa: E501
3208
+ This method makes a synchronous HTTP request by default. To make an
3209
+ asynchronous HTTP request, please pass async_req=True
3210
+
3211
+ >>> thread = api.set_posting_module_details(scope, code, posting_module_code, posting_module_details, async_req=True)
3212
+ >>> result = thread.get()
3213
+
3214
+ :param scope: The scope of the Chart of Accounts. (required)
3215
+ :type scope: str
3216
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3217
+ :type code: str
3218
+ :param posting_module_code: The code of the Posting Module to be updated. (required)
3219
+ :type posting_module_code: str
3220
+ :param posting_module_details: The new details for the Posting Module. (required)
3221
+ :type posting_module_details: PostingModuleDetails
3222
+ :param async_req: Whether to execute the request asynchronously.
3223
+ :type async_req: bool, optional
3224
+ :param _request_timeout: timeout setting for this request.
3225
+ If one number provided, it will be total request
3226
+ timeout. It can also be a pair (tuple) of
3227
+ (connection, read) timeouts.
3228
+ :return: Returns the result object.
3229
+ If the method is called asynchronously,
3230
+ returns the request thread.
3231
+ :rtype: PostingModuleResponse
3232
+ """
3233
+ kwargs['_return_http_data_only'] = True
3234
+ if '_preload_content' in kwargs:
3235
+ message = "Error! Please call the set_posting_module_details_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3236
+ raise ValueError(message)
3237
+ if async_req is not None:
3238
+ kwargs['async_req'] = async_req
3239
+ return self.set_posting_module_details_with_http_info(scope, code, posting_module_code, posting_module_details, **kwargs) # noqa: E501
3240
+
3241
+ @validate_arguments
3242
+ def set_posting_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.")], posting_module_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Posting Module to be updated.")], posting_module_details : Annotated[PostingModuleDetails, Field(..., description="The new details for the Posting Module.")], **kwargs) -> ApiResponse: # noqa: E501
3243
+ """[EXPERIMENTAL] SetPostingModuleDetails: Set the details of a Posting Module # noqa: E501
3244
+
3245
+ Update the given Posting Module details. # noqa: E501
3246
+ This method makes a synchronous HTTP request by default. To make an
3247
+ asynchronous HTTP request, please pass async_req=True
3248
+
3249
+ >>> thread = api.set_posting_module_details_with_http_info(scope, code, posting_module_code, posting_module_details, async_req=True)
3250
+ >>> result = thread.get()
3251
+
3252
+ :param scope: The scope of the Chart of Accounts. (required)
3253
+ :type scope: str
3254
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3255
+ :type code: str
3256
+ :param posting_module_code: The code of the Posting Module to be updated. (required)
3257
+ :type posting_module_code: str
3258
+ :param posting_module_details: The new details for the Posting Module. (required)
3259
+ :type posting_module_details: PostingModuleDetails
3260
+ :param async_req: Whether to execute the request asynchronously.
3261
+ :type async_req: bool, optional
3262
+ :param _preload_content: if False, the ApiResponse.data will
3263
+ be set to none and raw_data will store the
3264
+ HTTP response body without reading/decoding.
3265
+ Default is True.
3266
+ :type _preload_content: bool, optional
3267
+ :param _return_http_data_only: response data instead of ApiResponse
3268
+ object with status code, headers, etc
3269
+ :type _return_http_data_only: bool, optional
3270
+ :param _request_timeout: timeout setting for this request. If one
3271
+ number provided, it will be total request
3272
+ timeout. It can also be a pair (tuple) of
3273
+ (connection, read) timeouts.
3274
+ :param _request_auth: set to override the auth_settings for an a single
3275
+ request; this effectively ignores the authentication
3276
+ in the spec for a single request.
3277
+ :type _request_auth: dict, optional
3278
+ :type _content_type: string, optional: force content-type for the request
3279
+ :return: Returns the result object.
3280
+ If the method is called asynchronously,
3281
+ returns the request thread.
3282
+ :rtype: tuple(PostingModuleResponse, status_code(int), headers(HTTPHeaderDict))
3283
+ """
3284
+
3285
+ _params = locals()
3286
+
3287
+ _all_params = [
3288
+ 'scope',
3289
+ 'code',
3290
+ 'posting_module_code',
3291
+ 'posting_module_details'
3292
+ ]
3293
+ _all_params.extend(
3294
+ [
3295
+ 'async_req',
3296
+ '_return_http_data_only',
3297
+ '_preload_content',
3298
+ '_request_timeout',
3299
+ '_request_auth',
3300
+ '_content_type',
3301
+ '_headers'
3302
+ ]
3303
+ )
3304
+
3305
+ # validate the arguments
3306
+ for _key, _val in _params['kwargs'].items():
3307
+ if _key not in _all_params:
3308
+ raise ApiTypeError(
3309
+ "Got an unexpected keyword argument '%s'"
3310
+ " to method set_posting_module_details" % _key
3311
+ )
3312
+ _params[_key] = _val
3313
+ del _params['kwargs']
3314
+
3315
+ _collection_formats = {}
3316
+
3317
+ # process the path parameters
3318
+ _path_params = {}
3319
+ if _params['scope']:
3320
+ _path_params['scope'] = _params['scope']
3321
+
3322
+ if _params['code']:
3323
+ _path_params['code'] = _params['code']
3324
+
3325
+ if _params['posting_module_code']:
3326
+ _path_params['postingModuleCode'] = _params['posting_module_code']
3327
+
3328
+
3329
+ # process the query parameters
3330
+ _query_params = []
3331
+ # process the header parameters
3332
+ _header_params = dict(_params.get('_headers', {}))
3333
+ # process the form parameters
3334
+ _form_params = []
3335
+ _files = {}
3336
+ # process the body parameter
3337
+ _body_params = None
3338
+ if _params['posting_module_details'] is not None:
3339
+ _body_params = _params['posting_module_details']
3340
+
3341
+ # set the HTTP header `Accept`
3342
+ _header_params['Accept'] = self.api_client.select_header_accept(
3343
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3344
+
3345
+ # set the HTTP header `Content-Type`
3346
+ _content_types_list = _params.get('_content_type',
3347
+ self.api_client.select_header_content_type(
3348
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3349
+ if _content_types_list:
3350
+ _header_params['Content-Type'] = _content_types_list
3351
+
3352
+ # authentication setting
3353
+ _auth_settings = ['oauth2'] # noqa: E501
3354
+
3355
+ _response_types_map = {
3356
+ '200': "PostingModuleResponse",
3357
+ '400': "LusidValidationProblemDetails",
3358
+ }
3359
+
3360
+ return self.api_client.call_api(
3361
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}', 'PUT',
3362
+ _path_params,
3363
+ _query_params,
3364
+ _header_params,
3365
+ body=_body_params,
3366
+ post_params=_form_params,
3367
+ files=_files,
3368
+ response_types_map=_response_types_map,
3369
+ auth_settings=_auth_settings,
3370
+ async_req=_params.get('async_req'),
3371
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3372
+ _preload_content=_params.get('_preload_content', True),
3373
+ _request_timeout=_params.get('_request_timeout'),
3374
+ collection_formats=_collection_formats,
3375
+ _request_auth=_params.get('_request_auth'))
3376
+
3377
+ @overload
3378
+ async def set_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 to be updated.")], posting_module_rule : Annotated[conlist(PostingModuleRule), Field(..., description="The new rule set for the Posting Module.")], **kwargs) -> PostingModuleRulesUpdatedResponse: # noqa: E501
3379
+ ...
3380
+
3381
+ @overload
3382
+ def set_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 to be updated.")], posting_module_rule : Annotated[conlist(PostingModuleRule), Field(..., description="The new rule set for the Posting Module.")], async_req: Optional[bool]=True, **kwargs) -> PostingModuleRulesUpdatedResponse: # noqa: E501
3383
+ ...
3384
+
3385
+ @validate_arguments
3386
+ def set_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 to be updated.")], posting_module_rule : Annotated[conlist(PostingModuleRule), Field(..., description="The new rule set for the Posting Module.")], async_req: Optional[bool]=None, **kwargs) -> Union[PostingModuleRulesUpdatedResponse, Awaitable[PostingModuleRulesUpdatedResponse]]: # noqa: E501
3387
+ """[EXPERIMENTAL] SetPostingModuleRules: Set the rules of a Posting Module # noqa: E501
3388
+
3389
+ Set the given Posting Modules rules, this will replace the existing set of rules for the posting module. # noqa: E501
3390
+ This method makes a synchronous HTTP request by default. To make an
3391
+ asynchronous HTTP request, please pass async_req=True
3392
+
3393
+ >>> thread = api.set_posting_module_rules(scope, code, posting_module_code, posting_module_rule, async_req=True)
3394
+ >>> result = thread.get()
3395
+
3396
+ :param scope: The scope of the Chart of Accounts. (required)
3397
+ :type scope: str
3398
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3399
+ :type code: str
3400
+ :param posting_module_code: The code of the Posting Module to be updated. (required)
3401
+ :type posting_module_code: str
3402
+ :param posting_module_rule: The new rule set for the Posting Module. (required)
3403
+ :type posting_module_rule: List[PostingModuleRule]
3404
+ :param async_req: Whether to execute the request asynchronously.
3405
+ :type async_req: bool, optional
3406
+ :param _request_timeout: timeout setting for this request.
3407
+ If one number provided, it will be total request
3408
+ timeout. It can also be a pair (tuple) of
3409
+ (connection, read) timeouts.
3410
+ :return: Returns the result object.
3411
+ If the method is called asynchronously,
3412
+ returns the request thread.
3413
+ :rtype: PostingModuleRulesUpdatedResponse
3414
+ """
3415
+ kwargs['_return_http_data_only'] = True
3416
+ if '_preload_content' in kwargs:
3417
+ message = "Error! Please call the set_posting_module_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3418
+ raise ValueError(message)
3419
+ if async_req is not None:
3420
+ kwargs['async_req'] = async_req
3421
+ return self.set_posting_module_rules_with_http_info(scope, code, posting_module_code, posting_module_rule, **kwargs) # noqa: E501
3422
+
3423
+ @validate_arguments
3424
+ def set_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 to be updated.")], posting_module_rule : Annotated[conlist(PostingModuleRule), Field(..., description="The new rule set for the Posting Module.")], **kwargs) -> ApiResponse: # noqa: E501
3425
+ """[EXPERIMENTAL] SetPostingModuleRules: Set the rules of a Posting Module # noqa: E501
3426
+
3427
+ Set the given Posting Modules rules, this will replace the existing set of rules for the posting module. # noqa: E501
3428
+ This method makes a synchronous HTTP request by default. To make an
3429
+ asynchronous HTTP request, please pass async_req=True
3430
+
3431
+ >>> thread = api.set_posting_module_rules_with_http_info(scope, code, posting_module_code, posting_module_rule, async_req=True)
3432
+ >>> result = thread.get()
3433
+
3434
+ :param scope: The scope of the Chart of Accounts. (required)
3435
+ :type scope: str
3436
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3437
+ :type code: str
3438
+ :param posting_module_code: The code of the Posting Module to be updated. (required)
3439
+ :type posting_module_code: str
3440
+ :param posting_module_rule: The new rule set for the Posting Module. (required)
3441
+ :type posting_module_rule: List[PostingModuleRule]
3442
+ :param async_req: Whether to execute the request asynchronously.
3443
+ :type async_req: bool, optional
3444
+ :param _preload_content: if False, the ApiResponse.data will
3445
+ be set to none and raw_data will store the
3446
+ HTTP response body without reading/decoding.
3447
+ Default is True.
3448
+ :type _preload_content: bool, optional
3449
+ :param _return_http_data_only: response data instead of ApiResponse
3450
+ object with status code, headers, etc
3451
+ :type _return_http_data_only: bool, optional
3452
+ :param _request_timeout: timeout setting for this request. If one
3453
+ number provided, it will be total request
3454
+ timeout. It can also be a pair (tuple) of
3455
+ (connection, read) timeouts.
3456
+ :param _request_auth: set to override the auth_settings for an a single
3457
+ request; this effectively ignores the authentication
3458
+ in the spec for a single request.
3459
+ :type _request_auth: dict, optional
3460
+ :type _content_type: string, optional: force content-type for the request
3461
+ :return: Returns the result object.
3462
+ If the method is called asynchronously,
3463
+ returns the request thread.
3464
+ :rtype: tuple(PostingModuleRulesUpdatedResponse, status_code(int), headers(HTTPHeaderDict))
3465
+ """
3466
+
3467
+ _params = locals()
3468
+
3469
+ _all_params = [
3470
+ 'scope',
3471
+ 'code',
3472
+ 'posting_module_code',
3473
+ 'posting_module_rule'
3474
+ ]
3475
+ _all_params.extend(
3476
+ [
3477
+ 'async_req',
3478
+ '_return_http_data_only',
3479
+ '_preload_content',
3480
+ '_request_timeout',
3481
+ '_request_auth',
3482
+ '_content_type',
3483
+ '_headers'
3484
+ ]
3485
+ )
3486
+
3487
+ # validate the arguments
3488
+ for _key, _val in _params['kwargs'].items():
3489
+ if _key not in _all_params:
3490
+ raise ApiTypeError(
3491
+ "Got an unexpected keyword argument '%s'"
3492
+ " to method set_posting_module_rules" % _key
3493
+ )
3494
+ _params[_key] = _val
3495
+ del _params['kwargs']
3496
+
3497
+ _collection_formats = {}
3498
+
3499
+ # process the path parameters
3500
+ _path_params = {}
3501
+ if _params['scope']:
3502
+ _path_params['scope'] = _params['scope']
3503
+
3504
+ if _params['code']:
3505
+ _path_params['code'] = _params['code']
3506
+
3507
+ if _params['posting_module_code']:
3508
+ _path_params['postingModuleCode'] = _params['posting_module_code']
3509
+
3510
+
3511
+ # process the query parameters
3512
+ _query_params = []
3513
+ # process the header parameters
3514
+ _header_params = dict(_params.get('_headers', {}))
3515
+ # process the form parameters
3516
+ _form_params = []
3517
+ _files = {}
3518
+ # process the body parameter
3519
+ _body_params = None
3520
+ if _params['posting_module_rule'] is not None:
3521
+ _body_params = _params['posting_module_rule']
3522
+
3523
+ # set the HTTP header `Accept`
3524
+ _header_params['Accept'] = self.api_client.select_header_accept(
3525
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3526
+
3527
+ # set the HTTP header `Content-Type`
3528
+ _content_types_list = _params.get('_content_type',
3529
+ self.api_client.select_header_content_type(
3530
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3531
+ if _content_types_list:
3532
+ _header_params['Content-Type'] = _content_types_list
3533
+
3534
+ # authentication setting
3535
+ _auth_settings = ['oauth2'] # noqa: E501
3536
+
3537
+ _response_types_map = {
3538
+ '200': "PostingModuleRulesUpdatedResponse",
3539
+ '400': "LusidValidationProblemDetails",
3540
+ }
3541
+
3542
+ return self.api_client.call_api(
3543
+ '/api/chartofaccounts/{scope}/{code}/postingmodules/{postingModuleCode}/postingrules', 'PUT',
3544
+ _path_params,
3545
+ _query_params,
3546
+ _header_params,
3547
+ body=_body_params,
3548
+ post_params=_form_params,
3549
+ files=_files,
3550
+ response_types_map=_response_types_map,
3551
+ auth_settings=_auth_settings,
3552
+ async_req=_params.get('async_req'),
3553
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3554
+ _preload_content=_params.get('_preload_content', True),
3555
+ _request_timeout=_params.get('_request_timeout'),
3556
+ collection_formats=_collection_formats,
3557
+ _request_auth=_params.get('_request_auth'))
3558
+
3559
+ @overload
3560
+ async def upsert_account_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. 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 unique ID of the account to create or update properties for.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".")] = None, **kwargs) -> AccountProperties: # noqa: E501
3561
+ ...
3562
+
3563
+ @overload
3564
+ def upsert_account_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. 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 unique ID of the account to create or update properties for.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".")] = None, async_req: Optional[bool]=True, **kwargs) -> AccountProperties: # noqa: E501
3565
+ ...
3566
+
3567
+ @validate_arguments
3568
+ def upsert_account_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. 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 unique ID of the account to create or update properties for.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[AccountProperties, Awaitable[AccountProperties]]: # noqa: E501
3569
+ """[EXPERIMENTAL] UpsertAccountProperties: Upsert account properties # noqa: E501
3570
+
3571
+ Update or insert one or more properties onto a single account. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Account'. Upserting a property that exists for an account, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
3572
+ This method makes a synchronous HTTP request by default. To make an
3573
+ asynchronous HTTP request, please pass async_req=True
3574
+
3575
+ >>> thread = api.upsert_account_properties(scope, code, account_code, request_body, async_req=True)
3576
+ >>> result = thread.get()
3577
+
3578
+ :param scope: The scope of the Chart of Accounts to update or insert the properties onto. (required)
3579
+ :type scope: str
3580
+ :param code: The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3581
+ :type code: str
3582
+ :param account_code: The unique ID of the account to create or update properties for. (required)
3583
+ :type account_code: str
3584
+ :param request_body: The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".
3585
+ :type request_body: Dict[str, ModelProperty]
3586
+ :param async_req: Whether to execute the request asynchronously.
3587
+ :type async_req: bool, optional
3588
+ :param _request_timeout: timeout setting for this request.
3589
+ If one number provided, it will be total request
3590
+ timeout. It can also be a pair (tuple) of
3591
+ (connection, read) timeouts.
3592
+ :return: Returns the result object.
3593
+ If the method is called asynchronously,
3594
+ returns the request thread.
3595
+ :rtype: AccountProperties
3596
+ """
3597
+ kwargs['_return_http_data_only'] = True
3598
+ if '_preload_content' in kwargs:
3599
+ message = "Error! Please call the upsert_account_properties_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3600
+ raise ValueError(message)
3601
+ if async_req is not None:
3602
+ kwargs['async_req'] = async_req
3603
+ return self.upsert_account_properties_with_http_info(scope, code, account_code, request_body, **kwargs) # noqa: E501
3604
+
3605
+ @validate_arguments
3606
+ def upsert_account_properties_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. 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 unique ID of the account to create or update properties for.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3607
+ """[EXPERIMENTAL] UpsertAccountProperties: Upsert account properties # noqa: E501
3608
+
3609
+ Update or insert one or more properties onto a single account. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'Account'. Upserting a property that exists for an account, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
3610
+ This method makes a synchronous HTTP request by default. To make an
3611
+ asynchronous HTTP request, please pass async_req=True
3612
+
3613
+ >>> thread = api.upsert_account_properties_with_http_info(scope, code, account_code, request_body, async_req=True)
3614
+ >>> result = thread.get()
3615
+
3616
+ :param scope: The scope of the Chart of Accounts to update or insert the properties onto. (required)
3617
+ :type scope: str
3618
+ :param code: The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3619
+ :type code: str
3620
+ :param account_code: The unique ID of the account to create or update properties for. (required)
3621
+ :type account_code: str
3622
+ :param request_body: The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"Account/Manager/Id\".
3623
+ :type request_body: Dict[str, ModelProperty]
3624
+ :param async_req: Whether to execute the request asynchronously.
3625
+ :type async_req: bool, optional
3626
+ :param _preload_content: if False, the ApiResponse.data will
3627
+ be set to none and raw_data will store the
3628
+ HTTP response body without reading/decoding.
3629
+ Default is True.
3630
+ :type _preload_content: bool, optional
3631
+ :param _return_http_data_only: response data instead of ApiResponse
3632
+ object with status code, headers, etc
3633
+ :type _return_http_data_only: bool, optional
3634
+ :param _request_timeout: timeout setting for this request. If one
3635
+ number provided, it will be total request
3636
+ timeout. It can also be a pair (tuple) of
3637
+ (connection, read) timeouts.
3638
+ :param _request_auth: set to override the auth_settings for an a single
3639
+ request; this effectively ignores the authentication
3640
+ in the spec for a single request.
3641
+ :type _request_auth: dict, optional
3642
+ :type _content_type: string, optional: force content-type for the request
3643
+ :return: Returns the result object.
3644
+ If the method is called asynchronously,
3645
+ returns the request thread.
3646
+ :rtype: tuple(AccountProperties, status_code(int), headers(HTTPHeaderDict))
3647
+ """
3648
+
3649
+ _params = locals()
3650
+
3651
+ _all_params = [
3652
+ 'scope',
3653
+ 'code',
3654
+ 'account_code',
3655
+ 'request_body'
3656
+ ]
3657
+ _all_params.extend(
3658
+ [
3659
+ 'async_req',
3660
+ '_return_http_data_only',
3661
+ '_preload_content',
3662
+ '_request_timeout',
3663
+ '_request_auth',
3664
+ '_content_type',
3665
+ '_headers'
3666
+ ]
3667
+ )
3668
+
3669
+ # validate the arguments
3670
+ for _key, _val in _params['kwargs'].items():
3671
+ if _key not in _all_params:
3672
+ raise ApiTypeError(
3673
+ "Got an unexpected keyword argument '%s'"
3674
+ " to method upsert_account_properties" % _key
3675
+ )
3676
+ _params[_key] = _val
3677
+ del _params['kwargs']
3678
+
3679
+ _collection_formats = {}
3680
+
3681
+ # process the path parameters
3682
+ _path_params = {}
3683
+ if _params['scope']:
3684
+ _path_params['scope'] = _params['scope']
3685
+
3686
+ if _params['code']:
3687
+ _path_params['code'] = _params['code']
3688
+
3689
+ if _params['account_code']:
3690
+ _path_params['accountCode'] = _params['account_code']
3691
+
3692
+
3693
+ # process the query parameters
3694
+ _query_params = []
3695
+ # process the header parameters
3696
+ _header_params = dict(_params.get('_headers', {}))
3697
+ # process the form parameters
3698
+ _form_params = []
3699
+ _files = {}
3700
+ # process the body parameter
3701
+ _body_params = None
3702
+ if _params['request_body'] is not None:
3703
+ _body_params = _params['request_body']
3704
+
3705
+ # set the HTTP header `Accept`
3706
+ _header_params['Accept'] = self.api_client.select_header_accept(
3707
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3708
+
3709
+ # set the HTTP header `Content-Type`
3710
+ _content_types_list = _params.get('_content_type',
3711
+ self.api_client.select_header_content_type(
3712
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3713
+ if _content_types_list:
3714
+ _header_params['Content-Type'] = _content_types_list
3715
+
3716
+ # authentication setting
3717
+ _auth_settings = ['oauth2'] # noqa: E501
3718
+
3719
+ _response_types_map = {
3720
+ '200': "AccountProperties",
3721
+ '400': "LusidValidationProblemDetails",
3722
+ }
3723
+
3724
+ return self.api_client.call_api(
3725
+ '/api/chartofaccounts/{scope}/{code}/accounts/{accountCode}/properties/$upsert', 'POST',
3726
+ _path_params,
3727
+ _query_params,
3728
+ _header_params,
3729
+ body=_body_params,
3730
+ post_params=_form_params,
3731
+ files=_files,
3732
+ response_types_map=_response_types_map,
3733
+ auth_settings=_auth_settings,
3734
+ async_req=_params.get('async_req'),
3735
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3736
+ _preload_content=_params.get('_preload_content', True),
3737
+ _request_timeout=_params.get('_request_timeout'),
3738
+ collection_formats=_collection_formats,
3739
+ _request_auth=_params.get('_request_auth'))
3740
+
3741
+ @overload
3742
+ async def upsert_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.")], account : Annotated[conlist(Account), Field(..., description="A list of accounts to be created or updated.")], **kwargs) -> AccountsUpsertResponse: # noqa: E501
3743
+ ...
3744
+
3745
+ @overload
3746
+ def upsert_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.")], account : Annotated[conlist(Account), Field(..., description="A list of accounts to be created or updated.")], async_req: Optional[bool]=True, **kwargs) -> AccountsUpsertResponse: # noqa: E501
3747
+ ...
3748
+
3749
+ @validate_arguments
3750
+ def upsert_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.")], account : Annotated[conlist(Account), Field(..., description="A list of accounts to be created or updated.")], async_req: Optional[bool]=None, **kwargs) -> Union[AccountsUpsertResponse, Awaitable[AccountsUpsertResponse]]: # noqa: E501
3751
+ """[EXPERIMENTAL] UpsertAccounts: Upsert Accounts # noqa: E501
3752
+
3753
+ Create or update accounts in the Chart of Accounts. An account will be updated if it already exists and created if it does not. The maximum number of accounts that this method can upsert per request is 2,000. # noqa: E501
3754
+ This method makes a synchronous HTTP request by default. To make an
3755
+ asynchronous HTTP request, please pass async_req=True
3756
+
3757
+ >>> thread = api.upsert_accounts(scope, code, account, async_req=True)
3758
+ >>> result = thread.get()
3759
+
3760
+ :param scope: The scope of the Chart of Accounts. (required)
3761
+ :type scope: str
3762
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3763
+ :type code: str
3764
+ :param account: A list of accounts to be created or updated. (required)
3765
+ :type account: List[Account]
3766
+ :param async_req: Whether to execute the request asynchronously.
3767
+ :type async_req: bool, optional
3768
+ :param _request_timeout: timeout setting for this request.
3769
+ If one number provided, it will be total request
3770
+ timeout. It can also be a pair (tuple) of
3771
+ (connection, read) timeouts.
3772
+ :return: Returns the result object.
3773
+ If the method is called asynchronously,
3774
+ returns the request thread.
3775
+ :rtype: AccountsUpsertResponse
3776
+ """
3777
+ kwargs['_return_http_data_only'] = True
3778
+ if '_preload_content' in kwargs:
3779
+ message = "Error! Please call the upsert_accounts_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3780
+ raise ValueError(message)
3781
+ if async_req is not None:
3782
+ kwargs['async_req'] = async_req
3783
+ return self.upsert_accounts_with_http_info(scope, code, account, **kwargs) # noqa: E501
3784
+
3785
+ @validate_arguments
3786
+ def upsert_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.")], account : Annotated[conlist(Account), Field(..., description="A list of accounts to be created or updated.")], **kwargs) -> ApiResponse: # noqa: E501
3787
+ """[EXPERIMENTAL] UpsertAccounts: Upsert Accounts # noqa: E501
3788
+
3789
+ Create or update accounts in the Chart of Accounts. An account will be updated if it already exists and created if it does not. The maximum number of accounts that this method can upsert per request is 2,000. # noqa: E501
3790
+ This method makes a synchronous HTTP request by default. To make an
3791
+ asynchronous HTTP request, please pass async_req=True
3792
+
3793
+ >>> thread = api.upsert_accounts_with_http_info(scope, code, account, async_req=True)
3794
+ >>> result = thread.get()
3795
+
3796
+ :param scope: The scope of the Chart of Accounts. (required)
3797
+ :type scope: str
3798
+ :param code: The code of the Chart of Accounts. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3799
+ :type code: str
3800
+ :param account: A list of accounts to be created or updated. (required)
3801
+ :type account: List[Account]
3802
+ :param async_req: Whether to execute the request asynchronously.
3803
+ :type async_req: bool, optional
3804
+ :param _preload_content: if False, the ApiResponse.data will
3805
+ be set to none and raw_data will store the
3806
+ HTTP response body without reading/decoding.
3807
+ Default is True.
3808
+ :type _preload_content: bool, optional
3809
+ :param _return_http_data_only: response data instead of ApiResponse
3810
+ object with status code, headers, etc
3811
+ :type _return_http_data_only: bool, optional
3812
+ :param _request_timeout: timeout setting for this request. If one
3813
+ number provided, it will be total request
3814
+ timeout. It can also be a pair (tuple) of
3815
+ (connection, read) timeouts.
3816
+ :param _request_auth: set to override the auth_settings for an a single
3817
+ request; this effectively ignores the authentication
3818
+ in the spec for a single request.
3819
+ :type _request_auth: dict, optional
3820
+ :type _content_type: string, optional: force content-type for the request
3821
+ :return: Returns the result object.
3822
+ If the method is called asynchronously,
3823
+ returns the request thread.
3824
+ :rtype: tuple(AccountsUpsertResponse, status_code(int), headers(HTTPHeaderDict))
3825
+ """
3826
+
3827
+ _params = locals()
3828
+
3829
+ _all_params = [
3830
+ 'scope',
3831
+ 'code',
3832
+ 'account'
3833
+ ]
3834
+ _all_params.extend(
3835
+ [
3836
+ 'async_req',
3837
+ '_return_http_data_only',
3838
+ '_preload_content',
3839
+ '_request_timeout',
3840
+ '_request_auth',
3841
+ '_content_type',
3842
+ '_headers'
3843
+ ]
3844
+ )
3845
+
3846
+ # validate the arguments
3847
+ for _key, _val in _params['kwargs'].items():
3848
+ if _key not in _all_params:
3849
+ raise ApiTypeError(
3850
+ "Got an unexpected keyword argument '%s'"
3851
+ " to method upsert_accounts" % _key
3852
+ )
3853
+ _params[_key] = _val
3854
+ del _params['kwargs']
3855
+
3856
+ _collection_formats = {}
3857
+
3858
+ # process the path parameters
3859
+ _path_params = {}
3860
+ if _params['scope']:
3861
+ _path_params['scope'] = _params['scope']
3862
+
3863
+ if _params['code']:
3864
+ _path_params['code'] = _params['code']
3865
+
3866
+
3867
+ # process the query parameters
3868
+ _query_params = []
3869
+ # process the header parameters
3870
+ _header_params = dict(_params.get('_headers', {}))
3871
+ # process the form parameters
3872
+ _form_params = []
3873
+ _files = {}
3874
+ # process the body parameter
3875
+ _body_params = None
3876
+ if _params['account'] is not None:
3877
+ _body_params = _params['account']
3878
+
3879
+ # set the HTTP header `Accept`
3880
+ _header_params['Accept'] = self.api_client.select_header_accept(
3881
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3882
+
3883
+ # set the HTTP header `Content-Type`
3884
+ _content_types_list = _params.get('_content_type',
3885
+ self.api_client.select_header_content_type(
3886
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
3887
+ if _content_types_list:
3888
+ _header_params['Content-Type'] = _content_types_list
3889
+
3890
+ # authentication setting
3891
+ _auth_settings = ['oauth2'] # noqa: E501
3892
+
3893
+ _response_types_map = {
3894
+ '200': "AccountsUpsertResponse",
3895
+ '400': "LusidValidationProblemDetails",
3896
+ }
3897
+
3898
+ return self.api_client.call_api(
3899
+ '/api/chartofaccounts/{scope}/{code}/accounts', 'POST',
3900
+ _path_params,
3901
+ _query_params,
3902
+ _header_params,
3903
+ body=_body_params,
3904
+ post_params=_form_params,
3905
+ files=_files,
3906
+ response_types_map=_response_types_map,
3907
+ auth_settings=_auth_settings,
3908
+ async_req=_params.get('async_req'),
3909
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3910
+ _preload_content=_params.get('_preload_content', True),
3911
+ _request_timeout=_params.get('_request_timeout'),
3912
+ collection_formats=_collection_formats,
3913
+ _request_auth=_params.get('_request_auth'))
3914
+
3915
+ @overload
3916
+ async def upsert_chart_of_accounts_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".")] = None, **kwargs) -> ChartOfAccountsProperties: # noqa: E501
3917
+ ...
3918
+
3919
+ @overload
3920
+ def upsert_chart_of_accounts_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".")] = None, async_req: Optional[bool]=True, **kwargs) -> ChartOfAccountsProperties: # noqa: E501
3921
+ ...
3922
+
3923
+ @validate_arguments
3924
+ def upsert_chart_of_accounts_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ChartOfAccountsProperties, Awaitable[ChartOfAccountsProperties]]: # noqa: E501
3925
+ """[EXPERIMENTAL] UpsertChartOfAccountsProperties: Upsert Chart of Accounts properties # noqa: E501
3926
+
3927
+ Update or insert one or more properties onto a single Chart of Accounts. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'ChartOfAccounts'. Upserting a property that exists for a Chart of Accounts, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
3928
+ This method makes a synchronous HTTP request by default. To make an
3929
+ asynchronous HTTP request, please pass async_req=True
3930
+
3931
+ >>> thread = api.upsert_chart_of_accounts_properties(scope, code, request_body, async_req=True)
3932
+ >>> result = thread.get()
3933
+
3934
+ :param scope: The scope of the Chart of Accounts to update or insert the properties onto. (required)
3935
+ :type scope: str
3936
+ :param code: The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3937
+ :type code: str
3938
+ :param request_body: The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".
3939
+ :type request_body: Dict[str, ModelProperty]
3940
+ :param async_req: Whether to execute the request asynchronously.
3941
+ :type async_req: bool, optional
3942
+ :param _request_timeout: timeout setting for this request.
3943
+ If one number provided, it will be total request
3944
+ timeout. It can also be a pair (tuple) of
3945
+ (connection, read) timeouts.
3946
+ :return: Returns the result object.
3947
+ If the method is called asynchronously,
3948
+ returns the request thread.
3949
+ :rtype: ChartOfAccountsProperties
3950
+ """
3951
+ kwargs['_return_http_data_only'] = True
3952
+ if '_preload_content' in kwargs:
3953
+ message = "Error! Please call the upsert_chart_of_accounts_properties_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3954
+ raise ValueError(message)
3955
+ if async_req is not None:
3956
+ kwargs['async_req'] = async_req
3957
+ return self.upsert_chart_of_accounts_properties_with_http_info(scope, code, request_body, **kwargs) # noqa: E501
3958
+
3959
+ @validate_arguments
3960
+ def upsert_chart_of_accounts_properties_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Chart of Accounts to update or insert the properties onto.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts.")], request_body : Annotated[Optional[Dict[str, ModelProperty]], Field(description="The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3961
+ """[EXPERIMENTAL] UpsertChartOfAccountsProperties: Upsert Chart of Accounts properties # noqa: E501
3962
+
3963
+ Update or insert one or more properties onto a single Chart of Accounts. A property will be updated if it already exists and inserted if it does not. All properties must be of the domain 'ChartOfAccounts'. Upserting a property that exists for a Chart of Accounts, with a null value, will delete the instance of the property for that group. Properties have an <i>effectiveFrom</i> datetime for which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
3964
+ This method makes a synchronous HTTP request by default. To make an
3965
+ asynchronous HTTP request, please pass async_req=True
3966
+
3967
+ >>> thread = api.upsert_chart_of_accounts_properties_with_http_info(scope, code, request_body, async_req=True)
3968
+ >>> result = thread.get()
3969
+
3970
+ :param scope: The scope of the Chart of Accounts to update or insert the properties onto. (required)
3971
+ :type scope: str
3972
+ :param code: The code of the Chart of Accounts to update or insert the properties onto. Together with the scope this uniquely identifies the Chart of Accounts. (required)
3973
+ :type code: str
3974
+ :param request_body: The properties to be updated or inserted onto the chart of account. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"ChartOfAccounts/Manager/Id\".
3975
+ :type request_body: Dict[str, ModelProperty]
3976
+ :param async_req: Whether to execute the request asynchronously.
3977
+ :type async_req: bool, optional
3978
+ :param _preload_content: if False, the ApiResponse.data will
3979
+ be set to none and raw_data will store the
3980
+ HTTP response body without reading/decoding.
3981
+ Default is True.
3982
+ :type _preload_content: bool, optional
3983
+ :param _return_http_data_only: response data instead of ApiResponse
3984
+ object with status code, headers, etc
3985
+ :type _return_http_data_only: bool, optional
3986
+ :param _request_timeout: timeout setting for this request. If one
3987
+ number provided, it will be total request
3988
+ timeout. It can also be a pair (tuple) of
3989
+ (connection, read) timeouts.
3990
+ :param _request_auth: set to override the auth_settings for an a single
3991
+ request; this effectively ignores the authentication
3992
+ in the spec for a single request.
3993
+ :type _request_auth: dict, optional
3994
+ :type _content_type: string, optional: force content-type for the request
3995
+ :return: Returns the result object.
3996
+ If the method is called asynchronously,
3997
+ returns the request thread.
3998
+ :rtype: tuple(ChartOfAccountsProperties, status_code(int), headers(HTTPHeaderDict))
3999
+ """
4000
+
4001
+ _params = locals()
4002
+
4003
+ _all_params = [
4004
+ 'scope',
4005
+ 'code',
4006
+ 'request_body'
4007
+ ]
4008
+ _all_params.extend(
4009
+ [
4010
+ 'async_req',
4011
+ '_return_http_data_only',
4012
+ '_preload_content',
4013
+ '_request_timeout',
4014
+ '_request_auth',
4015
+ '_content_type',
4016
+ '_headers'
4017
+ ]
4018
+ )
4019
+
4020
+ # validate the arguments
4021
+ for _key, _val in _params['kwargs'].items():
4022
+ if _key not in _all_params:
4023
+ raise ApiTypeError(
4024
+ "Got an unexpected keyword argument '%s'"
4025
+ " to method upsert_chart_of_accounts_properties" % _key
4026
+ )
4027
+ _params[_key] = _val
4028
+ del _params['kwargs']
4029
+
4030
+ _collection_formats = {}
4031
+
4032
+ # process the path parameters
4033
+ _path_params = {}
4034
+ if _params['scope']:
4035
+ _path_params['scope'] = _params['scope']
4036
+
4037
+ if _params['code']:
4038
+ _path_params['code'] = _params['code']
4039
+
4040
+
4041
+ # process the query parameters
4042
+ _query_params = []
4043
+ # process the header parameters
4044
+ _header_params = dict(_params.get('_headers', {}))
4045
+ # process the form parameters
4046
+ _form_params = []
4047
+ _files = {}
4048
+ # process the body parameter
4049
+ _body_params = None
4050
+ if _params['request_body'] is not None:
4051
+ _body_params = _params['request_body']
4052
+
4053
+ # set the HTTP header `Accept`
4054
+ _header_params['Accept'] = self.api_client.select_header_accept(
4055
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
4056
+
4057
+ # set the HTTP header `Content-Type`
4058
+ _content_types_list = _params.get('_content_type',
4059
+ self.api_client.select_header_content_type(
4060
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
4061
+ if _content_types_list:
4062
+ _header_params['Content-Type'] = _content_types_list
4063
+
4064
+ # authentication setting
4065
+ _auth_settings = ['oauth2'] # noqa: E501
4066
+
4067
+ _response_types_map = {
4068
+ '200': "ChartOfAccountsProperties",
4069
+ '400': "LusidValidationProblemDetails",
4070
+ }
4071
+
4072
+ return self.api_client.call_api(
4073
+ '/api/chartofaccounts/{scope}/{code}/properties/$upsert', 'POST',
4074
+ _path_params,
4075
+ _query_params,
4076
+ _header_params,
4077
+ body=_body_params,
4078
+ post_params=_form_params,
4079
+ files=_files,
4080
+ response_types_map=_response_types_map,
4081
+ auth_settings=_auth_settings,
4082
+ async_req=_params.get('async_req'),
4083
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
4084
+ _preload_content=_params.get('_preload_content', True),
4085
+ _request_timeout=_params.get('_request_timeout'),
4086
+ collection_formats=_collection_formats,
4087
+ _request_auth=_params.get('_request_auth'))