lusid-sdk 2.1.599__py3-none-any.whl → 2.1.637__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. lusid/__init__.py +34 -0
  2. lusid/api/corporate_action_sources_api.py +6 -6
  3. lusid/api/entities_api.py +24 -24
  4. lusid/api/funds_api.py +438 -1
  5. lusid/api/order_management_api.py +16 -8
  6. lusid/api/staged_modifications_api.py +12 -12
  7. lusid/api/timelines_api.py +363 -0
  8. lusid/api/transaction_portfolios_api.py +183 -0
  9. lusid/api/workspace_api.py +96 -48
  10. lusid/configuration.py +1 -1
  11. lusid/models/__init__.py +34 -0
  12. lusid/models/accounted_transaction.py +88 -0
  13. lusid/models/accumulation_event.py +3 -3
  14. lusid/models/adjust_global_commitment_event.py +93 -0
  15. lusid/models/amortisation_event.py +3 -3
  16. lusid/models/basket.py +3 -3
  17. lusid/models/bond.py +11 -5
  18. lusid/models/bond_coupon_event.py +3 -3
  19. lusid/models/bond_default_event.py +3 -3
  20. lusid/models/bond_principal_event.py +3 -3
  21. lusid/models/bonus_issue_event.py +3 -3
  22. lusid/models/call_on_intermediate_securities_event.py +3 -3
  23. lusid/models/cancel_single_holding_adjustment_request.py +96 -0
  24. lusid/models/cap_floor.py +22 -7
  25. lusid/models/capital_distribution_event.py +3 -3
  26. lusid/models/cash.py +3 -3
  27. lusid/models/cash_dividend_event.py +3 -3
  28. lusid/models/cash_flow_event.py +3 -3
  29. lusid/models/cash_perpetual.py +3 -3
  30. lusid/models/cds_credit_event.py +3 -3
  31. lusid/models/cds_index.py +3 -3
  32. lusid/models/cdx_credit_event.py +3 -3
  33. lusid/models/close_event.py +3 -3
  34. lusid/models/closed_period.py +128 -0
  35. lusid/models/complete_portfolio.py +3 -3
  36. lusid/models/complex_bond.py +20 -7
  37. lusid/models/contract_details.py +101 -0
  38. lusid/models/contract_for_difference.py +3 -3
  39. lusid/models/contract_initialisation_event.py +99 -0
  40. lusid/models/create_closed_period_request.py +96 -0
  41. lusid/models/create_derived_property_definition_request.py +3 -3
  42. lusid/models/create_derived_transaction_portfolio_request.py +8 -2
  43. lusid/models/create_property_definition_request.py +3 -3
  44. lusid/models/credit_default_swap.py +3 -3
  45. lusid/models/credit_premium_cash_flow_event.py +3 -3
  46. lusid/models/dependency_source_filter.py +19 -4
  47. lusid/models/dividend_option_event.py +3 -3
  48. lusid/models/dividend_reinvestment_event.py +3 -3
  49. lusid/models/drawdown_event.py +99 -0
  50. lusid/models/early_redemption_event.py +3 -3
  51. lusid/models/eligibility_calculation.py +6 -4
  52. lusid/models/equity.py +3 -3
  53. lusid/models/equity_option.py +23 -7
  54. lusid/models/equity_swap.py +3 -3
  55. lusid/models/exchange_traded_option.py +12 -6
  56. lusid/models/exercise_event.py +3 -3
  57. lusid/models/exotic_instrument.py +3 -3
  58. lusid/models/expiry_event.py +3 -3
  59. lusid/models/fee_accrual.py +3 -1
  60. lusid/models/fixed_leg.py +3 -3
  61. lusid/models/flexible_deposit.py +105 -0
  62. lusid/models/flexible_loan.py +3 -3
  63. lusid/models/floating_leg.py +3 -3
  64. lusid/models/forward_rate_agreement.py +3 -3
  65. lusid/models/fund_share_class.py +3 -3
  66. lusid/models/funding_leg.py +3 -3
  67. lusid/models/future.py +19 -7
  68. lusid/models/future_expiry_event.py +3 -3
  69. lusid/models/future_mark_to_market_event.py +100 -0
  70. lusid/models/fx_forward.py +3 -3
  71. lusid/models/fx_forward_settlement_event.py +3 -3
  72. lusid/models/fx_option.py +3 -3
  73. lusid/models/fx_swap.py +3 -3
  74. lusid/models/group_reconciliation_summary.py +2 -2
  75. lusid/models/inflation_leg.py +3 -3
  76. lusid/models/inflation_linked_bond.py +11 -5
  77. lusid/models/inflation_swap.py +3 -3
  78. lusid/models/informational_error_event.py +3 -3
  79. lusid/models/informational_event.py +3 -3
  80. lusid/models/instrument_event.py +10 -5
  81. lusid/models/instrument_event_instruction.py +9 -2
  82. lusid/models/instrument_event_instruction_request.py +10 -3
  83. lusid/models/instrument_event_type.py +5 -0
  84. lusid/models/instrument_leg.py +3 -3
  85. lusid/models/instrument_type.py +1 -0
  86. lusid/models/interest_rate_swap.py +3 -3
  87. lusid/models/interest_rate_swaption.py +3 -3
  88. lusid/models/intermediate_securities_distribution_event.py +3 -3
  89. lusid/models/loan_facility.py +3 -3
  90. lusid/models/loan_interest_repayment_event.py +97 -0
  91. lusid/models/lusid_instrument.py +6 -5
  92. lusid/models/mark_to_market_conventions.py +74 -0
  93. lusid/models/market_data_key_rule.py +1 -1
  94. lusid/models/market_data_specific_rule.py +1 -1
  95. lusid/models/mastered_instrument.py +3 -3
  96. lusid/models/maturity_event.py +3 -3
  97. lusid/models/mbs_coupon_event.py +3 -3
  98. lusid/models/mbs_interest_deferral_event.py +3 -3
  99. lusid/models/mbs_interest_shortfall_event.py +3 -3
  100. lusid/models/mbs_principal_event.py +3 -3
  101. lusid/models/mbs_principal_write_off_event.py +3 -3
  102. lusid/models/merger_event.py +3 -3
  103. lusid/models/open_event.py +3 -3
  104. lusid/models/option_exercise_cash_event.py +3 -3
  105. lusid/models/option_exercise_physical_event.py +3 -3
  106. lusid/models/pnl_journal_entry_line.py +95 -0
  107. lusid/models/portfolio.py +3 -3
  108. lusid/models/portfolio_id.py +80 -0
  109. lusid/models/portfolio_search_result.py +3 -3
  110. lusid/models/portfolio_type.py +1 -0
  111. lusid/models/portfolio_without_href.py +3 -3
  112. lusid/models/property_definition.py +3 -3
  113. lusid/models/property_definition_search_result.py +3 -3
  114. lusid/models/property_domain.py +1 -0
  115. lusid/models/protection_payout_cash_flow_event.py +3 -3
  116. lusid/models/raw_vendor_event.py +3 -3
  117. lusid/models/reference_instrument.py +3 -3
  118. lusid/models/repo.py +3 -3
  119. lusid/models/reset_event.py +3 -3
  120. lusid/models/reverse_stock_split_event.py +3 -3
  121. lusid/models/scrip_dividend_event.py +3 -3
  122. lusid/models/side_definition.py +8 -1
  123. lusid/models/side_definition_request.py +9 -2
  124. lusid/models/simple_cash_flow_loan.py +3 -3
  125. lusid/models/simple_instrument.py +3 -3
  126. lusid/models/spin_off_event.py +3 -3
  127. lusid/models/stock_dividend_event.py +3 -3
  128. lusid/models/stock_split_event.py +3 -3
  129. lusid/models/swap_cash_flow_event.py +3 -3
  130. lusid/models/swap_principal_event.py +3 -3
  131. lusid/models/tender_event.py +3 -3
  132. lusid/models/term_deposit.py +3 -3
  133. lusid/models/term_deposit_interest_event.py +3 -3
  134. lusid/models/term_deposit_principal_event.py +3 -3
  135. lusid/models/total_return_swap.py +3 -3
  136. lusid/models/trading_conventions.py +73 -0
  137. lusid/models/transition_event.py +3 -3
  138. lusid/models/trigger_event.py +3 -3
  139. lusid/models/valuation_point_resource_list_of_accounted_transaction.py +125 -0
  140. lusid/models/valuation_point_resource_list_of_pnl_journal_entry_line.py +125 -0
  141. lusid/models/workspace.py +1 -1
  142. lusid/models/workspace_creation_request.py +1 -1
  143. lusid/models/workspace_item.py +4 -2
  144. lusid/models/workspace_item_creation_request.py +11 -2
  145. {lusid_sdk-2.1.599.dist-info → lusid_sdk-2.1.637.dist-info}/METADATA +32 -10
  146. {lusid_sdk-2.1.599.dist-info → lusid_sdk-2.1.637.dist-info}/RECORD +147 -130
  147. {lusid_sdk-2.1.599.dist-info → lusid_sdk-2.1.637.dist-info}/WHEEL +0 -0
lusid/api/funds_api.py CHANGED
@@ -22,7 +22,7 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from datetime import datetime
24
24
 
25
- from pydantic.v1 import Field, StrictStr, conint, conlist, constr, validator
25
+ from pydantic.v1 import Field, StrictInt, StrictStr, conint, conlist, constr, validator
26
26
 
27
27
  from typing import Dict, Optional
28
28
 
@@ -45,7 +45,9 @@ from lusid.models.upsert_valuation_point_request import UpsertValuationPointRequ
45
45
  from lusid.models.valuation_point_data_query_parameters import ValuationPointDataQueryParameters
46
46
  from lusid.models.valuation_point_data_request import ValuationPointDataRequest
47
47
  from lusid.models.valuation_point_data_response import ValuationPointDataResponse
48
+ from lusid.models.valuation_point_resource_list_of_accounted_transaction import ValuationPointResourceListOfAccountedTransaction
48
49
  from lusid.models.valuation_point_resource_list_of_journal_entry_line import ValuationPointResourceListOfJournalEntryLine
50
+ from lusid.models.valuation_point_resource_list_of_pnl_journal_entry_line import ValuationPointResourceListOfPnlJournalEntryLine
49
51
  from lusid.models.valuation_point_resource_list_of_trial_balance import ValuationPointResourceListOfTrialBalance
50
52
 
51
53
  from lusid.api_client import ApiClient
@@ -2043,6 +2045,441 @@ class FundsApi:
2043
2045
  collection_formats=_collection_formats,
2044
2046
  _request_auth=_params.get('_request_auth'))
2045
2047
 
2048
+ @overload
2049
+ async def get_valuation_point_pnl_summary(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Trial balance from a previous call to Trial balance.")] = None, **kwargs) -> ValuationPointResourceListOfPnlJournalEntryLine: # noqa: E501
2050
+ ...
2051
+
2052
+ @overload
2053
+ def get_valuation_point_pnl_summary(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Trial balance from a previous call to Trial balance.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfPnlJournalEntryLine: # noqa: E501
2054
+ ...
2055
+
2056
+ @validate_arguments
2057
+ def get_valuation_point_pnl_summary(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Trial balance from a previous call to Trial balance.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfPnlJournalEntryLine, Awaitable[ValuationPointResourceListOfPnlJournalEntryLine]]: # noqa: E501
2058
+ """[EXPERIMENTAL] GetValuationPointPnlSummary: Get a PnL summary for the given Valuation Point in the Fund. # noqa: E501
2059
+
2060
+ Gets the PnL Summary lines from the journal entry lines produced when calculating the valuation point. # noqa: E501
2061
+ This method makes a synchronous HTTP request by default. To make an
2062
+ asynchronous HTTP request, please pass async_req=True
2063
+
2064
+ >>> thread = api.get_valuation_point_pnl_summary(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, async_req=True)
2065
+ >>> result = thread.get()
2066
+
2067
+ :param scope: The scope of the Fund. (required)
2068
+ :type scope: str
2069
+ :param code: The code of the Fund. Together with the scope is the unique identifier for the given Fund. (required)
2070
+ :type code: str
2071
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the PnL summary (required)
2072
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2073
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2074
+ :type general_ledger_profile_code: str
2075
+ :param as_at: The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.
2076
+ :type as_at: datetime
2077
+ :param filter: \"Expression to filter the result set.\"
2078
+ :type filter: str
2079
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2080
+ :type limit: int
2081
+ :param page: The pagination token to use to continue listing Trial balance from a previous call to Trial balance.
2082
+ :type page: str
2083
+ :param async_req: Whether to execute the request asynchronously.
2084
+ :type async_req: bool, optional
2085
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2086
+ :param opts: Configuration options for this request
2087
+ :type opts: ConfigurationOptions, optional
2088
+ :return: Returns the result object.
2089
+ If the method is called asynchronously,
2090
+ returns the request thread.
2091
+ :rtype: ValuationPointResourceListOfPnlJournalEntryLine
2092
+ """
2093
+ kwargs['_return_http_data_only'] = True
2094
+ if '_preload_content' in kwargs:
2095
+ message = "Error! Please call the get_valuation_point_pnl_summary_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2096
+ raise ValueError(message)
2097
+ if async_req is not None:
2098
+ kwargs['async_req'] = async_req
2099
+ return self.get_valuation_point_pnl_summary_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, **kwargs) # noqa: E501
2100
+
2101
+ @validate_arguments
2102
+ def get_valuation_point_pnl_summary_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the PnL summary")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="\"Expression to filter the result set.\"")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Trial balance from a previous call to Trial balance.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2103
+ """[EXPERIMENTAL] GetValuationPointPnlSummary: Get a PnL summary for the given Valuation Point in the Fund. # noqa: E501
2104
+
2105
+ Gets the PnL Summary lines from the journal entry lines produced when calculating the valuation point. # noqa: E501
2106
+ This method makes a synchronous HTTP request by default. To make an
2107
+ asynchronous HTTP request, please pass async_req=True
2108
+
2109
+ >>> thread = api.get_valuation_point_pnl_summary_with_http_info(scope, code, valuation_point_data_query_parameters, general_ledger_profile_code, as_at, filter, limit, page, async_req=True)
2110
+ >>> result = thread.get()
2111
+
2112
+ :param scope: The scope of the Fund. (required)
2113
+ :type scope: str
2114
+ :param code: The code of the Fund. Together with the scope is the unique identifier for the given Fund. (required)
2115
+ :type code: str
2116
+ :param valuation_point_data_query_parameters: The query parameters used in running the generation of the PnL summary (required)
2117
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2118
+ :param general_ledger_profile_code: The optional code of a general ledger profile used to decorate journal entry lines with levels.
2119
+ :type general_ledger_profile_code: str
2120
+ :param as_at: The asAt datetime at which to retrieve PnL summary. Defaults to returning the latest version of each transaction if not specified.
2121
+ :type as_at: datetime
2122
+ :param filter: \"Expression to filter the result set.\"
2123
+ :type filter: str
2124
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2125
+ :type limit: int
2126
+ :param page: The pagination token to use to continue listing Trial balance from a previous call to Trial balance.
2127
+ :type page: str
2128
+ :param async_req: Whether to execute the request asynchronously.
2129
+ :type async_req: bool, optional
2130
+ :param _preload_content: if False, the ApiResponse.data will
2131
+ be set to none and raw_data will store the
2132
+ HTTP response body without reading/decoding.
2133
+ Default is True.
2134
+ :type _preload_content: bool, optional
2135
+ :param _return_http_data_only: response data instead of ApiResponse
2136
+ object with status code, headers, etc
2137
+ :type _return_http_data_only: bool, optional
2138
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2139
+ :param opts: Configuration options for this request
2140
+ :type opts: ConfigurationOptions, optional
2141
+ :param _request_auth: set to override the auth_settings for an a single
2142
+ request; this effectively ignores the authentication
2143
+ in the spec for a single request.
2144
+ :type _request_auth: dict, optional
2145
+ :type _content_type: string, optional: force content-type for the request
2146
+ :return: Returns the result object.
2147
+ If the method is called asynchronously,
2148
+ returns the request thread.
2149
+ :rtype: tuple(ValuationPointResourceListOfPnlJournalEntryLine, status_code(int), headers(HTTPHeaderDict))
2150
+ """
2151
+
2152
+ _params = locals()
2153
+
2154
+ _all_params = [
2155
+ 'scope',
2156
+ 'code',
2157
+ 'valuation_point_data_query_parameters',
2158
+ 'general_ledger_profile_code',
2159
+ 'as_at',
2160
+ 'filter',
2161
+ 'limit',
2162
+ 'page'
2163
+ ]
2164
+ _all_params.extend(
2165
+ [
2166
+ 'async_req',
2167
+ '_return_http_data_only',
2168
+ '_preload_content',
2169
+ '_request_timeout',
2170
+ '_request_auth',
2171
+ '_content_type',
2172
+ '_headers',
2173
+ 'opts'
2174
+ ]
2175
+ )
2176
+
2177
+ # validate the arguments
2178
+ for _key, _val in _params['kwargs'].items():
2179
+ if _key not in _all_params:
2180
+ raise ApiTypeError(
2181
+ "Got an unexpected keyword argument '%s'"
2182
+ " to method get_valuation_point_pnl_summary" % _key
2183
+ )
2184
+ _params[_key] = _val
2185
+ del _params['kwargs']
2186
+
2187
+ _collection_formats = {}
2188
+
2189
+ # process the path parameters
2190
+ _path_params = {}
2191
+ if _params['scope']:
2192
+ _path_params['scope'] = _params['scope']
2193
+
2194
+ if _params['code']:
2195
+ _path_params['code'] = _params['code']
2196
+
2197
+
2198
+ # process the query parameters
2199
+ _query_params = []
2200
+ if _params.get('general_ledger_profile_code') is not None: # noqa: E501
2201
+ _query_params.append(('generalLedgerProfileCode', _params['general_ledger_profile_code']))
2202
+
2203
+ if _params.get('as_at') is not None: # noqa: E501
2204
+ if isinstance(_params['as_at'], datetime):
2205
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2206
+ else:
2207
+ _query_params.append(('asAt', _params['as_at']))
2208
+
2209
+ if _params.get('filter') is not None: # noqa: E501
2210
+ _query_params.append(('filter', _params['filter']))
2211
+
2212
+ if _params.get('limit') is not None: # noqa: E501
2213
+ _query_params.append(('limit', _params['limit']))
2214
+
2215
+ if _params.get('page') is not None: # noqa: E501
2216
+ _query_params.append(('page', _params['page']))
2217
+
2218
+ # process the header parameters
2219
+ _header_params = dict(_params.get('_headers', {}))
2220
+ # process the form parameters
2221
+ _form_params = []
2222
+ _files = {}
2223
+ # process the body parameter
2224
+ _body_params = None
2225
+ if _params['valuation_point_data_query_parameters'] is not None:
2226
+ _body_params = _params['valuation_point_data_query_parameters']
2227
+
2228
+ # set the HTTP header `Accept`
2229
+ _header_params['Accept'] = self.api_client.select_header_accept(
2230
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2231
+
2232
+ # set the HTTP header `Content-Type`
2233
+ _content_types_list = _params.get('_content_type',
2234
+ self.api_client.select_header_content_type(
2235
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2236
+ if _content_types_list:
2237
+ _header_params['Content-Type'] = _content_types_list
2238
+
2239
+ # authentication setting
2240
+ _auth_settings = ['oauth2'] # noqa: E501
2241
+
2242
+ _response_types_map = {
2243
+ '200': "ValuationPointResourceListOfPnlJournalEntryLine",
2244
+ '400': "LusidValidationProblemDetails",
2245
+ }
2246
+
2247
+ return self.api_client.call_api(
2248
+ '/api/funds/{scope}/{code}/valuationpoints/pnlsummary/$query', 'POST',
2249
+ _path_params,
2250
+ _query_params,
2251
+ _header_params,
2252
+ body=_body_params,
2253
+ post_params=_form_params,
2254
+ files=_files,
2255
+ response_types_map=_response_types_map,
2256
+ auth_settings=_auth_settings,
2257
+ async_req=_params.get('async_req'),
2258
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2259
+ _preload_content=_params.get('_preload_content', True),
2260
+ _request_timeout=_params.get('_request_timeout'),
2261
+ opts=_params.get('opts'),
2262
+ collection_formats=_collection_formats,
2263
+ _request_auth=_params.get('_request_auth'))
2264
+
2265
+ @overload
2266
+ async def get_valuation_point_transactions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ValuationPointResourceListOfAccountedTransaction: # noqa: E501
2267
+ ...
2268
+
2269
+ @overload
2270
+ def get_valuation_point_transactions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=True, **kwargs) -> ValuationPointResourceListOfAccountedTransaction: # noqa: E501
2271
+ ...
2272
+
2273
+ @validate_arguments
2274
+ def get_valuation_point_transactions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ValuationPointResourceListOfAccountedTransaction, Awaitable[ValuationPointResourceListOfAccountedTransaction]]: # noqa: E501
2275
+ """[EXPERIMENTAL] GetValuationPointTransactions: Get the Transactions for the given Fund. # noqa: E501
2276
+
2277
+ Gets the Transactions for the given Valuation Point for a Fund # noqa: E501
2278
+ This method makes a synchronous HTTP request by default. To make an
2279
+ asynchronous HTTP request, please pass async_req=True
2280
+
2281
+ >>> thread = api.get_valuation_point_transactions(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, async_req=True)
2282
+ >>> result = thread.get()
2283
+
2284
+ :param scope: The scope of the Fund. (required)
2285
+ :type scope: str
2286
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
2287
+ :type code: str
2288
+ :param valuation_point_data_query_parameters: The arguments to use for querying the transactions. (required)
2289
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2290
+ :param as_at: The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.
2291
+ :type as_at: datetime
2292
+ :param filter: Expression to filter the result set.
2293
+ :type filter: str
2294
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2295
+ :type limit: int
2296
+ :param page: The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.
2297
+ :type page: str
2298
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2299
+ :type property_keys: List[str]
2300
+ :param async_req: Whether to execute the request asynchronously.
2301
+ :type async_req: bool, optional
2302
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2303
+ :param opts: Configuration options for this request
2304
+ :type opts: ConfigurationOptions, optional
2305
+ :return: Returns the result object.
2306
+ If the method is called asynchronously,
2307
+ returns the request thread.
2308
+ :rtype: ValuationPointResourceListOfAccountedTransaction
2309
+ """
2310
+ kwargs['_return_http_data_only'] = True
2311
+ if '_preload_content' in kwargs:
2312
+ message = "Error! Please call the get_valuation_point_transactions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2313
+ raise ValueError(message)
2314
+ if async_req is not None:
2315
+ kwargs['async_req'] = async_req
2316
+ return self.get_valuation_point_transactions_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, **kwargs) # noqa: E501
2317
+
2318
+ @validate_arguments
2319
+ def get_valuation_point_transactions_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope is creating the unique identifier for the given Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The arguments to use for querying the transactions.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2320
+ """[EXPERIMENTAL] GetValuationPointTransactions: Get the Transactions for the given Fund. # noqa: E501
2321
+
2322
+ Gets the Transactions for the given Valuation Point for a Fund # noqa: E501
2323
+ This method makes a synchronous HTTP request by default. To make an
2324
+ asynchronous HTTP request, please pass async_req=True
2325
+
2326
+ >>> thread = api.get_valuation_point_transactions_with_http_info(scope, code, valuation_point_data_query_parameters, as_at, filter, limit, page, property_keys, async_req=True)
2327
+ >>> result = thread.get()
2328
+
2329
+ :param scope: The scope of the Fund. (required)
2330
+ :type scope: str
2331
+ :param code: The code of the Fund. Together with the scope is creating the unique identifier for the given Fund. (required)
2332
+ :type code: str
2333
+ :param valuation_point_data_query_parameters: The arguments to use for querying the transactions. (required)
2334
+ :type valuation_point_data_query_parameters: ValuationPointDataQueryParameters
2335
+ :param as_at: The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.
2336
+ :type as_at: datetime
2337
+ :param filter: Expression to filter the result set.
2338
+ :type filter: str
2339
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
2340
+ :type limit: int
2341
+ :param page: The pagination token to use to continue listing transactions from a previous call to GetValuationPointTransactions.
2342
+ :type page: str
2343
+ :param property_keys: A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.
2344
+ :type property_keys: List[str]
2345
+ :param async_req: Whether to execute the request asynchronously.
2346
+ :type async_req: bool, optional
2347
+ :param _preload_content: if False, the ApiResponse.data will
2348
+ be set to none and raw_data will store the
2349
+ HTTP response body without reading/decoding.
2350
+ Default is True.
2351
+ :type _preload_content: bool, optional
2352
+ :param _return_http_data_only: response data instead of ApiResponse
2353
+ object with status code, headers, etc
2354
+ :type _return_http_data_only: bool, optional
2355
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2356
+ :param opts: Configuration options for this request
2357
+ :type opts: ConfigurationOptions, optional
2358
+ :param _request_auth: set to override the auth_settings for an a single
2359
+ request; this effectively ignores the authentication
2360
+ in the spec for a single request.
2361
+ :type _request_auth: dict, optional
2362
+ :type _content_type: string, optional: force content-type for the request
2363
+ :return: Returns the result object.
2364
+ If the method is called asynchronously,
2365
+ returns the request thread.
2366
+ :rtype: tuple(ValuationPointResourceListOfAccountedTransaction, status_code(int), headers(HTTPHeaderDict))
2367
+ """
2368
+
2369
+ _params = locals()
2370
+
2371
+ _all_params = [
2372
+ 'scope',
2373
+ 'code',
2374
+ 'valuation_point_data_query_parameters',
2375
+ 'as_at',
2376
+ 'filter',
2377
+ 'limit',
2378
+ 'page',
2379
+ 'property_keys'
2380
+ ]
2381
+ _all_params.extend(
2382
+ [
2383
+ 'async_req',
2384
+ '_return_http_data_only',
2385
+ '_preload_content',
2386
+ '_request_timeout',
2387
+ '_request_auth',
2388
+ '_content_type',
2389
+ '_headers',
2390
+ 'opts'
2391
+ ]
2392
+ )
2393
+
2394
+ # validate the arguments
2395
+ for _key, _val in _params['kwargs'].items():
2396
+ if _key not in _all_params:
2397
+ raise ApiTypeError(
2398
+ "Got an unexpected keyword argument '%s'"
2399
+ " to method get_valuation_point_transactions" % _key
2400
+ )
2401
+ _params[_key] = _val
2402
+ del _params['kwargs']
2403
+
2404
+ _collection_formats = {}
2405
+
2406
+ # process the path parameters
2407
+ _path_params = {}
2408
+ if _params['scope']:
2409
+ _path_params['scope'] = _params['scope']
2410
+
2411
+ if _params['code']:
2412
+ _path_params['code'] = _params['code']
2413
+
2414
+
2415
+ # process the query parameters
2416
+ _query_params = []
2417
+ if _params.get('as_at') is not None: # noqa: E501
2418
+ if isinstance(_params['as_at'], datetime):
2419
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
2420
+ else:
2421
+ _query_params.append(('asAt', _params['as_at']))
2422
+
2423
+ if _params.get('filter') is not None: # noqa: E501
2424
+ _query_params.append(('filter', _params['filter']))
2425
+
2426
+ if _params.get('limit') is not None: # noqa: E501
2427
+ _query_params.append(('limit', _params['limit']))
2428
+
2429
+ if _params.get('page') is not None: # noqa: E501
2430
+ _query_params.append(('page', _params['page']))
2431
+
2432
+ if _params.get('property_keys') is not None: # noqa: E501
2433
+ _query_params.append(('propertyKeys', _params['property_keys']))
2434
+ _collection_formats['propertyKeys'] = 'multi'
2435
+
2436
+ # process the header parameters
2437
+ _header_params = dict(_params.get('_headers', {}))
2438
+ # process the form parameters
2439
+ _form_params = []
2440
+ _files = {}
2441
+ # process the body parameter
2442
+ _body_params = None
2443
+ if _params['valuation_point_data_query_parameters'] is not None:
2444
+ _body_params = _params['valuation_point_data_query_parameters']
2445
+
2446
+ # set the HTTP header `Accept`
2447
+ _header_params['Accept'] = self.api_client.select_header_accept(
2448
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2449
+
2450
+ # set the HTTP header `Content-Type`
2451
+ _content_types_list = _params.get('_content_type',
2452
+ self.api_client.select_header_content_type(
2453
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2454
+ if _content_types_list:
2455
+ _header_params['Content-Type'] = _content_types_list
2456
+
2457
+ # authentication setting
2458
+ _auth_settings = ['oauth2'] # noqa: E501
2459
+
2460
+ _response_types_map = {
2461
+ '200': "ValuationPointResourceListOfAccountedTransaction",
2462
+ '400': "LusidValidationProblemDetails",
2463
+ }
2464
+
2465
+ return self.api_client.call_api(
2466
+ '/api/funds/{scope}/{code}/valuationpoints/transactions/$query', 'POST',
2467
+ _path_params,
2468
+ _query_params,
2469
+ _header_params,
2470
+ body=_body_params,
2471
+ post_params=_form_params,
2472
+ files=_files,
2473
+ response_types_map=_response_types_map,
2474
+ auth_settings=_auth_settings,
2475
+ async_req=_params.get('async_req'),
2476
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2477
+ _preload_content=_params.get('_preload_content', True),
2478
+ _request_timeout=_params.get('_request_timeout'),
2479
+ opts=_params.get('opts'),
2480
+ collection_formats=_collection_formats,
2481
+ _request_auth=_params.get('_request_auth'))
2482
+
2046
2483
  @overload
2047
2484
  async def get_valuation_point_trial_balance(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], valuation_point_data_query_parameters : Annotated[ValuationPointDataQueryParameters, Field(..., description="The query parameters used in running the generation of the Trial Balance.")], general_ledger_profile_code : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Trial Balance. Defaults to returning the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results by. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Trial Balances. This token is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the journal entry lines.")] = None, **kwargs) -> ValuationPointResourceListOfTrialBalance: # noqa: E501
2048
2485
  ...
@@ -68,28 +68,30 @@ class OrderManagementApi:
68
68
  self.api_client = api_client
69
69
 
70
70
  @overload
71
- async def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, **kwargs) -> BookTransactionsResponse: # noqa: E501
71
+ async def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, mark_orders_and_allocations_as_booked : Annotated[Optional[StrictBool], Field(description="Whether to mark allocations and fully-booked orders with state Booked")] = None, **kwargs) -> BookTransactionsResponse: # noqa: E501
72
72
  ...
73
73
 
74
74
  @overload
75
- def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, async_req: Optional[bool]=True, **kwargs) -> BookTransactionsResponse: # noqa: E501
75
+ def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, mark_orders_and_allocations_as_booked : Annotated[Optional[StrictBool], Field(description="Whether to mark allocations and fully-booked orders with state Booked")] = None, async_req: Optional[bool]=True, **kwargs) -> BookTransactionsResponse: # noqa: E501
76
76
  ...
77
77
 
78
78
  @validate_arguments
79
- def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BookTransactionsResponse, Awaitable[BookTransactionsResponse]]: # noqa: E501
79
+ def book_transactions(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, mark_orders_and_allocations_as_booked : Annotated[Optional[StrictBool], Field(description="Whether to mark allocations and fully-booked orders with state Booked")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BookTransactionsResponse, Awaitable[BookTransactionsResponse]]: # noqa: E501
80
80
  """[EXPERIMENTAL] BookTransactions: Books transactions using specific allocations as a source. # noqa: E501
81
81
 
82
82
  Takes a collection of allocation IDs, and maps fields from those allocations and related orders onto new transactions. # noqa: E501
83
83
  This method makes a synchronous HTTP request by default. To make an
84
84
  asynchronous HTTP request, please pass async_req=True
85
85
 
86
- >>> thread = api.book_transactions(book_transactions_request, apply_fees_and_commission, async_req=True)
86
+ >>> thread = api.book_transactions(book_transactions_request, apply_fees_and_commission, mark_orders_and_allocations_as_booked, async_req=True)
87
87
  >>> result = thread.get()
88
88
 
89
89
  :param book_transactions_request: The allocations to create transactions for (required)
90
90
  :type book_transactions_request: BookTransactionsRequest
91
91
  :param apply_fees_and_commission: Whether to apply fees and commissions to transactions (default: true)
92
92
  :type apply_fees_and_commission: bool
93
+ :param mark_orders_and_allocations_as_booked: Whether to mark allocations and fully-booked orders with state Booked
94
+ :type mark_orders_and_allocations_as_booked: bool
93
95
  :param async_req: Whether to execute the request asynchronously.
94
96
  :type async_req: bool, optional
95
97
  :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
@@ -106,23 +108,25 @@ class OrderManagementApi:
106
108
  raise ValueError(message)
107
109
  if async_req is not None:
108
110
  kwargs['async_req'] = async_req
109
- return self.book_transactions_with_http_info(book_transactions_request, apply_fees_and_commission, **kwargs) # noqa: E501
111
+ return self.book_transactions_with_http_info(book_transactions_request, apply_fees_and_commission, mark_orders_and_allocations_as_booked, **kwargs) # noqa: E501
110
112
 
111
113
  @validate_arguments
112
- def book_transactions_with_http_info(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, **kwargs) -> ApiResponse: # noqa: E501
114
+ def book_transactions_with_http_info(self, book_transactions_request : Annotated[BookTransactionsRequest, Field(..., description="The allocations to create transactions for")], apply_fees_and_commission : Annotated[Optional[StrictBool], Field(description="Whether to apply fees and commissions to transactions (default: true)")] = None, mark_orders_and_allocations_as_booked : Annotated[Optional[StrictBool], Field(description="Whether to mark allocations and fully-booked orders with state Booked")] = None, **kwargs) -> ApiResponse: # noqa: E501
113
115
  """[EXPERIMENTAL] BookTransactions: Books transactions using specific allocations as a source. # noqa: E501
114
116
 
115
117
  Takes a collection of allocation IDs, and maps fields from those allocations and related orders onto new transactions. # noqa: E501
116
118
  This method makes a synchronous HTTP request by default. To make an
117
119
  asynchronous HTTP request, please pass async_req=True
118
120
 
119
- >>> thread = api.book_transactions_with_http_info(book_transactions_request, apply_fees_and_commission, async_req=True)
121
+ >>> thread = api.book_transactions_with_http_info(book_transactions_request, apply_fees_and_commission, mark_orders_and_allocations_as_booked, async_req=True)
120
122
  >>> result = thread.get()
121
123
 
122
124
  :param book_transactions_request: The allocations to create transactions for (required)
123
125
  :type book_transactions_request: BookTransactionsRequest
124
126
  :param apply_fees_and_commission: Whether to apply fees and commissions to transactions (default: true)
125
127
  :type apply_fees_and_commission: bool
128
+ :param mark_orders_and_allocations_as_booked: Whether to mark allocations and fully-booked orders with state Booked
129
+ :type mark_orders_and_allocations_as_booked: bool
126
130
  :param async_req: Whether to execute the request asynchronously.
127
131
  :type async_req: bool, optional
128
132
  :param _preload_content: if False, the ApiResponse.data will
@@ -151,7 +155,8 @@ class OrderManagementApi:
151
155
 
152
156
  _all_params = [
153
157
  'book_transactions_request',
154
- 'apply_fees_and_commission'
158
+ 'apply_fees_and_commission',
159
+ 'mark_orders_and_allocations_as_booked'
155
160
  ]
156
161
  _all_params.extend(
157
162
  [
@@ -186,6 +191,9 @@ class OrderManagementApi:
186
191
  if _params.get('apply_fees_and_commission') is not None: # noqa: E501
187
192
  _query_params.append(('applyFeesAndCommission', _params['apply_fees_and_commission']))
188
193
 
194
+ if _params.get('mark_orders_and_allocations_as_booked') is not None: # noqa: E501
195
+ _query_params.append(('markOrdersAndAllocationsAsBooked', _params['mark_orders_and_allocations_as_booked']))
196
+
189
197
  # process the header parameters
190
198
  _header_params = dict(_params.get('_headers', {}))
191
199
  # process the form parameters