lusid-sdk 2.1.110__py3-none-any.whl → 2.1.131__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (47) hide show
  1. lusid/__init__.py +40 -0
  2. lusid/api/__init__.py +2 -0
  3. lusid/api/amortisation_rule_sets_api.py +175 -0
  4. lusid/api/compliance_api.py +502 -0
  5. lusid/api/fee_types_api.py +909 -0
  6. lusid/api/instrument_events_api.py +189 -0
  7. lusid/api/portfolio_groups_api.py +16 -8
  8. lusid/api/portfolios_api.py +212 -0
  9. lusid/api/transaction_portfolios_api.py +32 -16
  10. lusid/configuration.py +1 -1
  11. lusid/models/__init__.py +38 -0
  12. lusid/models/amortisation_rule_set.py +7 -11
  13. lusid/models/applicable_instrument_event.py +106 -0
  14. lusid/models/compliance_rule_template.py +153 -0
  15. lusid/models/compliance_step_request.py +76 -0
  16. lusid/models/compliance_step_type_request.py +42 -0
  17. lusid/models/compliance_template_variation_dto.py +112 -0
  18. lusid/models/compliance_template_variation_request.py +112 -0
  19. lusid/models/create_compliance_template_request.py +95 -0
  20. lusid/models/create_derived_property_definition_request.py +3 -3
  21. lusid/models/create_property_definition_request.py +3 -3
  22. lusid/models/diary_entry_request.py +1 -1
  23. lusid/models/fee_accrual.py +83 -0
  24. lusid/models/fee_type.py +115 -0
  25. lusid/models/fee_type_request.py +105 -0
  26. lusid/models/flow_conventions.py +1 -1
  27. lusid/models/operation.py +2 -2
  28. lusid/models/paged_resource_list_of_fee_type.py +113 -0
  29. lusid/models/paged_resource_list_of_instrument_event_instruction.py +113 -0
  30. lusid/models/portfolio_entity_id.py +2 -18
  31. lusid/models/portfolio_holding.py +19 -4
  32. lusid/models/property_definition.py +3 -3
  33. lusid/models/property_definition_search_result.py +3 -3
  34. lusid/models/property_domain.py +1 -0
  35. lusid/models/query_applicable_instrument_events_request.py +89 -0
  36. lusid/models/quote_access_metadata_rule_id.py +1 -1
  37. lusid/models/quote_series_id.py +1 -1
  38. lusid/models/resource_list_of_applicable_instrument_event.py +113 -0
  39. lusid/models/rules_interval.py +83 -0
  40. lusid/models/set_amortisation_rules_request.py +73 -0
  41. lusid/models/settlement_schedule.py +78 -0
  42. lusid/models/update_compliance_template_request.py +95 -0
  43. lusid/models/update_fee_type_request.py +96 -0
  44. lusid/models/valuation_point_data_response.py +15 -2
  45. {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/METADATA +34 -4
  46. {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/RECORD +47 -27
  47. {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/WHEEL +0 -0
@@ -20,15 +20,19 @@ from pydantic.v1 import validate_arguments, ValidationError
20
20
  from typing import overload, Optional, Union, Awaitable
21
21
 
22
22
  from typing_extensions import Annotated
23
+ from datetime import datetime
24
+
23
25
  from pydantic.v1 import Field, StrictInt, constr, validator
24
26
 
25
27
  from typing import Optional
26
28
 
27
29
  from lusid.models.bucketed_cash_flow_response import BucketedCashFlowResponse
30
+ from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
28
31
  from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
29
32
  from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
30
33
  from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
31
34
  from lusid.models.query_trade_tickets_request import QueryTradeTicketsRequest
35
+ from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
32
36
  from lusid.models.resource_list_of_instrument_cash_flow import ResourceListOfInstrumentCashFlow
33
37
  from lusid.models.resource_list_of_instrument_event_holder import ResourceListOfInstrumentEventHolder
34
38
  from lusid.models.resource_list_of_portfolio_trade_ticket import ResourceListOfPortfolioTradeTicket
@@ -53,6 +57,191 @@ class InstrumentEventsApi:
53
57
  api_client = ApiClient.get_default()
54
58
  self.api_client = api_client
55
59
 
60
+ @overload
61
+ async def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, **kwargs) -> ResourceListOfApplicableInstrumentEvent: # noqa: E501
62
+ ...
63
+
64
+ @overload
65
+ def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfApplicableInstrumentEvent: # noqa: E501
66
+ ...
67
+
68
+ @validate_arguments
69
+ def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfApplicableInstrumentEvent, Awaitable[ResourceListOfApplicableInstrumentEvent]]: # noqa: E501
70
+ """[EXPERIMENTAL] QueryApplicableInstrumentEvents: Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
71
+
72
+ Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
73
+ This method makes a synchronous HTTP request by default. To make an
74
+ asynchronous HTTP request, please pass async_req=True
75
+
76
+ >>> thread = api.query_applicable_instrument_events(as_at, limit, page, query_applicable_instrument_events_request, async_req=True)
77
+ >>> result = thread.get()
78
+
79
+ :param as_at: The as at time to use.
80
+ :type as_at: datetime
81
+ :param limit: Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.
82
+ :type limit: int
83
+ :param page: Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this
84
+ :type page: str
85
+ :param query_applicable_instrument_events_request: The filter parameters used to retrieve applicable instrument events.
86
+ :type query_applicable_instrument_events_request: QueryApplicableInstrumentEventsRequest
87
+ :param async_req: Whether to execute the request asynchronously.
88
+ :type async_req: bool, optional
89
+ :param _request_timeout: timeout setting for this request.
90
+ If one number provided, it will be total request
91
+ timeout. It can also be a pair (tuple) of
92
+ (connection, read) timeouts.
93
+ :return: Returns the result object.
94
+ If the method is called asynchronously,
95
+ returns the request thread.
96
+ :rtype: ResourceListOfApplicableInstrumentEvent
97
+ """
98
+ kwargs['_return_http_data_only'] = True
99
+ if '_preload_content' in kwargs:
100
+ message = "Error! Please call the query_applicable_instrument_events_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
101
+ raise ValueError(message)
102
+ if async_req is not None:
103
+ kwargs['async_req'] = async_req
104
+ return self.query_applicable_instrument_events_with_http_info(as_at, limit, page, query_applicable_instrument_events_request, **kwargs) # noqa: E501
105
+
106
+ @validate_arguments
107
+ def query_applicable_instrument_events_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, **kwargs) -> ApiResponse: # noqa: E501
108
+ """[EXPERIMENTAL] QueryApplicableInstrumentEvents: Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
109
+
110
+ Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
111
+ This method makes a synchronous HTTP request by default. To make an
112
+ asynchronous HTTP request, please pass async_req=True
113
+
114
+ >>> thread = api.query_applicable_instrument_events_with_http_info(as_at, limit, page, query_applicable_instrument_events_request, async_req=True)
115
+ >>> result = thread.get()
116
+
117
+ :param as_at: The as at time to use.
118
+ :type as_at: datetime
119
+ :param limit: Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.
120
+ :type limit: int
121
+ :param page: Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this
122
+ :type page: str
123
+ :param query_applicable_instrument_events_request: The filter parameters used to retrieve applicable instrument events.
124
+ :type query_applicable_instrument_events_request: QueryApplicableInstrumentEventsRequest
125
+ :param async_req: Whether to execute the request asynchronously.
126
+ :type async_req: bool, optional
127
+ :param _preload_content: if False, the ApiResponse.data will
128
+ be set to none and raw_data will store the
129
+ HTTP response body without reading/decoding.
130
+ Default is True.
131
+ :type _preload_content: bool, optional
132
+ :param _return_http_data_only: response data instead of ApiResponse
133
+ object with status code, headers, etc
134
+ :type _return_http_data_only: bool, optional
135
+ :param _request_timeout: timeout setting for this request. If one
136
+ number provided, it will be total request
137
+ timeout. It can also be a pair (tuple) of
138
+ (connection, read) timeouts.
139
+ :param _request_auth: set to override the auth_settings for an a single
140
+ request; this effectively ignores the authentication
141
+ in the spec for a single request.
142
+ :type _request_auth: dict, optional
143
+ :type _content_type: string, optional: force content-type for the request
144
+ :return: Returns the result object.
145
+ If the method is called asynchronously,
146
+ returns the request thread.
147
+ :rtype: tuple(ResourceListOfApplicableInstrumentEvent, status_code(int), headers(HTTPHeaderDict))
148
+ """
149
+
150
+ _params = locals()
151
+
152
+ _all_params = [
153
+ 'as_at',
154
+ 'limit',
155
+ 'page',
156
+ 'query_applicable_instrument_events_request'
157
+ ]
158
+ _all_params.extend(
159
+ [
160
+ 'async_req',
161
+ '_return_http_data_only',
162
+ '_preload_content',
163
+ '_request_timeout',
164
+ '_request_auth',
165
+ '_content_type',
166
+ '_headers'
167
+ ]
168
+ )
169
+
170
+ # validate the arguments
171
+ for _key, _val in _params['kwargs'].items():
172
+ if _key not in _all_params:
173
+ raise ApiTypeError(
174
+ "Got an unexpected keyword argument '%s'"
175
+ " to method query_applicable_instrument_events" % _key
176
+ )
177
+ _params[_key] = _val
178
+ del _params['kwargs']
179
+
180
+ _collection_formats = {}
181
+
182
+ # process the path parameters
183
+ _path_params = {}
184
+
185
+ # process the query parameters
186
+ _query_params = []
187
+ if _params.get('as_at') is not None: # noqa: E501
188
+ if isinstance(_params['as_at'], datetime):
189
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
190
+ else:
191
+ _query_params.append(('asAt', _params['as_at']))
192
+
193
+ if _params.get('limit') is not None: # noqa: E501
194
+ _query_params.append(('limit', _params['limit']))
195
+
196
+ if _params.get('page') is not None: # noqa: E501
197
+ _query_params.append(('page', _params['page']))
198
+
199
+ # process the header parameters
200
+ _header_params = dict(_params.get('_headers', {}))
201
+ # process the form parameters
202
+ _form_params = []
203
+ _files = {}
204
+ # process the body parameter
205
+ _body_params = None
206
+ if _params['query_applicable_instrument_events_request'] is not None:
207
+ _body_params = _params['query_applicable_instrument_events_request']
208
+
209
+ # set the HTTP header `Accept`
210
+ _header_params['Accept'] = self.api_client.select_header_accept(
211
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
212
+
213
+ # set the HTTP header `Content-Type`
214
+ _content_types_list = _params.get('_content_type',
215
+ self.api_client.select_header_content_type(
216
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
217
+ if _content_types_list:
218
+ _header_params['Content-Type'] = _content_types_list
219
+
220
+ # authentication setting
221
+ _auth_settings = ['oauth2'] # noqa: E501
222
+
223
+ _response_types_map = {
224
+ '200': "ResourceListOfApplicableInstrumentEvent",
225
+ '400': "LusidValidationProblemDetails",
226
+ }
227
+
228
+ return self.api_client.call_api(
229
+ '/api/instrumentevents/$queryApplicableInstrumentEvents', 'POST',
230
+ _path_params,
231
+ _query_params,
232
+ _header_params,
233
+ body=_body_params,
234
+ post_params=_form_params,
235
+ files=_files,
236
+ response_types_map=_response_types_map,
237
+ auth_settings=_auth_settings,
238
+ async_req=_params.get('async_req'),
239
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
240
+ _preload_content=_params.get('_preload_content', True),
241
+ _request_timeout=_params.get('_request_timeout'),
242
+ collection_formats=_collection_formats,
243
+ _request_auth=_params.get('_request_auth'))
244
+
56
245
  @overload
57
246
  async def query_bucketed_cash_flows(self, query_bucketed_cash_flows_request : Annotated[Optional[QueryBucketedCashFlowsRequest], Field(description="The Query Information.")] = None, **kwargs) -> BucketedCashFlowResponse: # noqa: E501
58
247
  ...
@@ -2108,22 +2108,22 @@ class PortfolioGroupsApi:
2108
2108
  _request_auth=_params.get('_request_auth'))
2109
2109
 
2110
2110
  @overload
2111
- async def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2111
+ async def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2112
2112
  ...
2113
2113
 
2114
2114
  @overload
2115
- def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2115
+ def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
2116
2116
  ...
2117
2117
 
2118
2118
  @validate_arguments
2119
- def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
2119
+ def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
2120
2120
  """GetHoldingsForPortfolioGroup: Get holdings for transaction portfolios in portfolio group # noqa: E501
2121
2121
 
2122
2122
  Get the holdings of transaction portfolios in specified portfolio group. # noqa: E501
2123
2123
  This method makes a synchronous HTTP request by default. To make an
2124
2124
  asynchronous HTTP request, please pass async_req=True
2125
2125
 
2126
- >>> thread = api.get_holdings_for_portfolio_group(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
2126
+ >>> thread = api.get_holdings_for_portfolio_group(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
2127
2127
  >>> result = thread.get()
2128
2128
 
2129
2129
  :param scope: The scope of the portfolio group. (required)
@@ -2140,6 +2140,8 @@ class PortfolioGroupsApi:
2140
2140
  :type property_keys: List[str]
2141
2141
  :param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
2142
2142
  :type by_taxlots: bool
2143
+ :param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
2144
+ :type include_settlement_events_after_days: int
2143
2145
  :param async_req: Whether to execute the request asynchronously.
2144
2146
  :type async_req: bool, optional
2145
2147
  :param _request_timeout: timeout setting for this request.
@@ -2157,17 +2159,17 @@ class PortfolioGroupsApi:
2157
2159
  raise ValueError(message)
2158
2160
  if async_req is not None:
2159
2161
  kwargs['async_req'] = async_req
2160
- return self.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, **kwargs) # noqa: E501
2162
+ return self.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, **kwargs) # noqa: E501
2161
2163
 
2162
2164
  @validate_arguments
2163
- def get_holdings_for_portfolio_group_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2165
+ def get_holdings_for_portfolio_group_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. 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 holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> ApiResponse: # noqa: E501
2164
2166
  """GetHoldingsForPortfolioGroup: Get holdings for transaction portfolios in portfolio group # noqa: E501
2165
2167
 
2166
2168
  Get the holdings of transaction portfolios in specified portfolio group. # noqa: E501
2167
2169
  This method makes a synchronous HTTP request by default. To make an
2168
2170
  asynchronous HTTP request, please pass async_req=True
2169
2171
 
2170
- >>> thread = api.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
2172
+ >>> thread = api.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
2171
2173
  >>> result = thread.get()
2172
2174
 
2173
2175
  :param scope: The scope of the portfolio group. (required)
@@ -2184,6 +2186,8 @@ class PortfolioGroupsApi:
2184
2186
  :type property_keys: List[str]
2185
2187
  :param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
2186
2188
  :type by_taxlots: bool
2189
+ :param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
2190
+ :type include_settlement_events_after_days: int
2187
2191
  :param async_req: Whether to execute the request asynchronously.
2188
2192
  :type async_req: bool, optional
2189
2193
  :param _preload_content: if False, the ApiResponse.data will
@@ -2218,7 +2222,8 @@ class PortfolioGroupsApi:
2218
2222
  'as_at',
2219
2223
  'filter',
2220
2224
  'property_keys',
2221
- 'by_taxlots'
2225
+ 'by_taxlots',
2226
+ 'include_settlement_events_after_days'
2222
2227
  ]
2223
2228
  _all_params.extend(
2224
2229
  [
@@ -2274,6 +2279,9 @@ class PortfolioGroupsApi:
2274
2279
  if _params.get('by_taxlots') is not None: # noqa: E501
2275
2280
  _query_params.append(('byTaxlots', _params['by_taxlots']))
2276
2281
 
2282
+ if _params.get('include_settlement_events_after_days') is not None: # noqa: E501
2283
+ _query_params.append(('includeSettlementEventsAfterDays', _params['include_settlement_events_after_days']))
2284
+
2277
2285
  # process the header parameters
2278
2286
  _header_params = dict(_params.get('_headers', {}))
2279
2287
  # process the form parameters
@@ -40,6 +40,7 @@ from lusid.models.instrument_event_instruction_request import InstrumentEventIns
40
40
  from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
41
41
  from lusid.models.model_property import ModelProperty
42
42
  from lusid.models.operation import Operation
43
+ from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
43
44
  from lusid.models.performance_return import PerformanceReturn
44
45
  from lusid.models.portfolio import Portfolio
45
46
  from lusid.models.portfolio_properties import PortfolioProperties
@@ -3756,6 +3757,217 @@ class PortfoliosApi:
3756
3757
  collection_formats=_collection_formats,
3757
3758
  _request_auth=_params.get('_request_auth'))
3758
3759
 
3760
+ @overload
3761
+ async def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest 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 instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfInstrumentEventInstruction: # noqa: E501
3762
+ ...
3763
+
3764
+ @overload
3765
+ def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest 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 instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfInstrumentEventInstruction: # noqa: E501
3766
+ ...
3767
+
3768
+ @validate_arguments
3769
+ def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest 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 instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfInstrumentEventInstruction, Awaitable[PagedResourceListOfInstrumentEventInstruction]]: # noqa: E501
3770
+ """[EARLY ACCESS] ListInstrumentEventInstructions: List Instrument Event Instructions # noqa: E501
3771
+
3772
+ Lists all instructions for a particular portfolio # noqa: E501
3773
+ This method makes a synchronous HTTP request by default. To make an
3774
+ asynchronous HTTP request, please pass async_req=True
3775
+
3776
+ >>> thread = api.list_instrument_event_instructions(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, async_req=True)
3777
+ >>> result = thread.get()
3778
+
3779
+ :param scope: The scope of the portfolio. (required)
3780
+ :type scope: str
3781
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
3782
+ :type code: str
3783
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
3784
+ :type portfolio_effective_at: str
3785
+ :param as_at: The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.
3786
+ :type as_at: datetime
3787
+ :param page: The pagination token to use to continue listing instructions; 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.
3788
+ :type page: str
3789
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3790
+ :type limit: int
3791
+ :param filter: Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3792
+ :type filter: str
3793
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
3794
+ :type sort_by: List[str]
3795
+ :param async_req: Whether to execute the request asynchronously.
3796
+ :type async_req: bool, optional
3797
+ :param _request_timeout: timeout setting for this request.
3798
+ If one number provided, it will be total request
3799
+ timeout. It can also be a pair (tuple) of
3800
+ (connection, read) timeouts.
3801
+ :return: Returns the result object.
3802
+ If the method is called asynchronously,
3803
+ returns the request thread.
3804
+ :rtype: PagedResourceListOfInstrumentEventInstruction
3805
+ """
3806
+ kwargs['_return_http_data_only'] = True
3807
+ if '_preload_content' in kwargs:
3808
+ message = "Error! Please call the list_instrument_event_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
3809
+ raise ValueError(message)
3810
+ if async_req is not None:
3811
+ kwargs['async_req'] = async_req
3812
+ return self.list_instrument_event_instructions_with_http_info(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
3813
+
3814
+ @validate_arguments
3815
+ def list_instrument_event_instructions_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest 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 instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
3816
+ """[EARLY ACCESS] ListInstrumentEventInstructions: List Instrument Event Instructions # noqa: E501
3817
+
3818
+ Lists all instructions for a particular portfolio # noqa: E501
3819
+ This method makes a synchronous HTTP request by default. To make an
3820
+ asynchronous HTTP request, please pass async_req=True
3821
+
3822
+ >>> thread = api.list_instrument_event_instructions_with_http_info(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, async_req=True)
3823
+ >>> result = thread.get()
3824
+
3825
+ :param scope: The scope of the portfolio. (required)
3826
+ :type scope: str
3827
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
3828
+ :type code: str
3829
+ :param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
3830
+ :type portfolio_effective_at: str
3831
+ :param as_at: The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.
3832
+ :type as_at: datetime
3833
+ :param page: The pagination token to use to continue listing instructions; 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.
3834
+ :type page: str
3835
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
3836
+ :type limit: int
3837
+ :param filter: Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
3838
+ :type filter: str
3839
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
3840
+ :type sort_by: List[str]
3841
+ :param async_req: Whether to execute the request asynchronously.
3842
+ :type async_req: bool, optional
3843
+ :param _preload_content: if False, the ApiResponse.data will
3844
+ be set to none and raw_data will store the
3845
+ HTTP response body without reading/decoding.
3846
+ Default is True.
3847
+ :type _preload_content: bool, optional
3848
+ :param _return_http_data_only: response data instead of ApiResponse
3849
+ object with status code, headers, etc
3850
+ :type _return_http_data_only: bool, optional
3851
+ :param _request_timeout: timeout setting for this request. If one
3852
+ number provided, it will be total request
3853
+ timeout. It can also be a pair (tuple) of
3854
+ (connection, read) timeouts.
3855
+ :param _request_auth: set to override the auth_settings for an a single
3856
+ request; this effectively ignores the authentication
3857
+ in the spec for a single request.
3858
+ :type _request_auth: dict, optional
3859
+ :type _content_type: string, optional: force content-type for the request
3860
+ :return: Returns the result object.
3861
+ If the method is called asynchronously,
3862
+ returns the request thread.
3863
+ :rtype: tuple(PagedResourceListOfInstrumentEventInstruction, status_code(int), headers(HTTPHeaderDict))
3864
+ """
3865
+
3866
+ _params = locals()
3867
+
3868
+ _all_params = [
3869
+ 'scope',
3870
+ 'code',
3871
+ 'portfolio_effective_at',
3872
+ 'as_at',
3873
+ 'page',
3874
+ 'limit',
3875
+ 'filter',
3876
+ 'sort_by'
3877
+ ]
3878
+ _all_params.extend(
3879
+ [
3880
+ 'async_req',
3881
+ '_return_http_data_only',
3882
+ '_preload_content',
3883
+ '_request_timeout',
3884
+ '_request_auth',
3885
+ '_content_type',
3886
+ '_headers'
3887
+ ]
3888
+ )
3889
+
3890
+ # validate the arguments
3891
+ for _key, _val in _params['kwargs'].items():
3892
+ if _key not in _all_params:
3893
+ raise ApiTypeError(
3894
+ "Got an unexpected keyword argument '%s'"
3895
+ " to method list_instrument_event_instructions" % _key
3896
+ )
3897
+ _params[_key] = _val
3898
+ del _params['kwargs']
3899
+
3900
+ _collection_formats = {}
3901
+
3902
+ # process the path parameters
3903
+ _path_params = {}
3904
+ if _params['scope']:
3905
+ _path_params['scope'] = _params['scope']
3906
+
3907
+ if _params['code']:
3908
+ _path_params['code'] = _params['code']
3909
+
3910
+
3911
+ # process the query parameters
3912
+ _query_params = []
3913
+ if _params.get('portfolio_effective_at') is not None: # noqa: E501
3914
+ _query_params.append(('portfolioEffectiveAt', _params['portfolio_effective_at']))
3915
+
3916
+ if _params.get('as_at') is not None: # noqa: E501
3917
+ if isinstance(_params['as_at'], datetime):
3918
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
3919
+ else:
3920
+ _query_params.append(('asAt', _params['as_at']))
3921
+
3922
+ if _params.get('page') is not None: # noqa: E501
3923
+ _query_params.append(('page', _params['page']))
3924
+
3925
+ if _params.get('limit') is not None: # noqa: E501
3926
+ _query_params.append(('limit', _params['limit']))
3927
+
3928
+ if _params.get('filter') is not None: # noqa: E501
3929
+ _query_params.append(('filter', _params['filter']))
3930
+
3931
+ if _params.get('sort_by') is not None: # noqa: E501
3932
+ _query_params.append(('sortBy', _params['sort_by']))
3933
+ _collection_formats['sortBy'] = 'multi'
3934
+
3935
+ # process the header parameters
3936
+ _header_params = dict(_params.get('_headers', {}))
3937
+ # process the form parameters
3938
+ _form_params = []
3939
+ _files = {}
3940
+ # process the body parameter
3941
+ _body_params = None
3942
+ # set the HTTP header `Accept`
3943
+ _header_params['Accept'] = self.api_client.select_header_accept(
3944
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
3945
+
3946
+ # authentication setting
3947
+ _auth_settings = ['oauth2'] # noqa: E501
3948
+
3949
+ _response_types_map = {
3950
+ '200': "PagedResourceListOfInstrumentEventInstruction",
3951
+ '400': "LusidValidationProblemDetails",
3952
+ }
3953
+
3954
+ return self.api_client.call_api(
3955
+ '/api/portfolios/{scope}/{code}/instrumenteventinstructions', 'GET',
3956
+ _path_params,
3957
+ _query_params,
3958
+ _header_params,
3959
+ body=_body_params,
3960
+ post_params=_form_params,
3961
+ files=_files,
3962
+ response_types_map=_response_types_map,
3963
+ auth_settings=_auth_settings,
3964
+ async_req=_params.get('async_req'),
3965
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
3966
+ _preload_content=_params.get('_preload_content', True),
3967
+ _request_timeout=_params.get('_request_timeout'),
3968
+ collection_formats=_collection_formats,
3969
+ _request_auth=_params.get('_request_auth'))
3970
+
3759
3971
  @overload
3760
3972
  async def list_portfolio_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the portfolio's 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 list the portfolio's properties. Defaults to returning the latest version of each property 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 commands; this value is returned from the previous call.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results per page to this number.")] = None, **kwargs) -> ResourceListOfProperty: # noqa: E501
3761
3973
  ...