lusid-sdk 2.1.110__py3-none-any.whl → 2.1.122__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.

lusid/__init__.py CHANGED
@@ -146,6 +146,7 @@ from lusid.models.amortisation_rule_set import AmortisationRuleSet
146
146
  from lusid.models.annul_quotes_response import AnnulQuotesResponse
147
147
  from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
148
148
  from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
149
+ from lusid.models.applicable_instrument_event import ApplicableInstrumentEvent
149
150
  from lusid.models.asset_class import AssetClass
150
151
  from lusid.models.asset_leg import AssetLeg
151
152
  from lusid.models.barrier import Barrier
@@ -374,6 +375,7 @@ from lusid.models.exercise_event import ExerciseEvent
374
375
  from lusid.models.exotic_instrument import ExoticInstrument
375
376
  from lusid.models.expanded_group import ExpandedGroup
376
377
  from lusid.models.expiry_event import ExpiryEvent
378
+ from lusid.models.fee_accrual import FeeAccrual
377
379
  from lusid.models.fee_rule import FeeRule
378
380
  from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
379
381
  from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
@@ -618,6 +620,7 @@ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
618
620
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
619
621
  from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
620
622
  from lusid.models.paged_resource_list_of_instrument_event_holder import PagedResourceListOfInstrumentEventHolder
623
+ from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
621
624
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
622
625
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
623
626
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
@@ -710,6 +713,7 @@ from lusid.models.property_type import PropertyType
710
713
  from lusid.models.property_value import PropertyValue
711
714
  from lusid.models.property_value_equals import PropertyValueEquals
712
715
  from lusid.models.property_value_in import PropertyValueIn
716
+ from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
713
717
  from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
714
718
  from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
715
719
  from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
@@ -771,6 +775,7 @@ from lusid.models.resource_list_of_address_key_definition import ResourceListOfA
771
775
  from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
772
776
  from lusid.models.resource_list_of_aggregation_query import ResourceListOfAggregationQuery
773
777
  from lusid.models.resource_list_of_allocation import ResourceListOfAllocation
778
+ from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
774
779
  from lusid.models.resource_list_of_block import ResourceListOfBlock
775
780
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
776
781
  from lusid.models.resource_list_of_calendar_date import ResourceListOfCalendarDate
@@ -1179,6 +1184,7 @@ __all__ = [
1179
1184
  "AnnulQuotesResponse",
1180
1185
  "AnnulSingleStructuredDataResponse",
1181
1186
  "AnnulStructuredDataResponse",
1187
+ "ApplicableInstrumentEvent",
1182
1188
  "AssetClass",
1183
1189
  "AssetLeg",
1184
1190
  "Barrier",
@@ -1407,6 +1413,7 @@ __all__ = [
1407
1413
  "ExoticInstrument",
1408
1414
  "ExpandedGroup",
1409
1415
  "ExpiryEvent",
1416
+ "FeeAccrual",
1410
1417
  "FeeRule",
1411
1418
  "FeeRuleUpsertRequest",
1412
1419
  "FeeRuleUpsertResponse",
@@ -1651,6 +1658,7 @@ __all__ = [
1651
1658
  "PagedResourceListOfGeneralLedgerProfileResponse",
1652
1659
  "PagedResourceListOfInstrument",
1653
1660
  "PagedResourceListOfInstrumentEventHolder",
1661
+ "PagedResourceListOfInstrumentEventInstruction",
1654
1662
  "PagedResourceListOfLegalEntity",
1655
1663
  "PagedResourceListOfOrder",
1656
1664
  "PagedResourceListOfOrderGraphBlock",
@@ -1743,6 +1751,7 @@ __all__ = [
1743
1751
  "PropertyValue",
1744
1752
  "PropertyValueEquals",
1745
1753
  "PropertyValueIn",
1754
+ "QueryApplicableInstrumentEventsRequest",
1746
1755
  "QueryBucketedCashFlowsRequest",
1747
1756
  "QueryCashFlowsRequest",
1748
1757
  "QueryInstrumentEventsRequest",
@@ -1804,6 +1813,7 @@ __all__ = [
1804
1813
  "ResourceListOfAggregatedReturn",
1805
1814
  "ResourceListOfAggregationQuery",
1806
1815
  "ResourceListOfAllocation",
1816
+ "ResourceListOfApplicableInstrumentEvent",
1807
1817
  "ResourceListOfBlock",
1808
1818
  "ResourceListOfBlockAndOrders",
1809
1819
  "ResourceListOfCalendarDate",
@@ -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
  ...
@@ -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
  ...
lusid/configuration.py CHANGED
@@ -373,7 +373,7 @@ class Configuration:
373
373
  return "Python SDK Debug Report:\n"\
374
374
  "OS: {env}\n"\
375
375
  "Python Version: {pyversion}\n"\
376
- "Version of the API: 0.11.6544\n"\
376
+ "Version of the API: 0.11.6556\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
lusid/models/__init__.py CHANGED
@@ -69,6 +69,7 @@ from lusid.models.amortisation_rule_set import AmortisationRuleSet
69
69
  from lusid.models.annul_quotes_response import AnnulQuotesResponse
70
70
  from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
71
71
  from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
72
+ from lusid.models.applicable_instrument_event import ApplicableInstrumentEvent
72
73
  from lusid.models.asset_class import AssetClass
73
74
  from lusid.models.asset_leg import AssetLeg
74
75
  from lusid.models.barrier import Barrier
@@ -297,6 +298,7 @@ from lusid.models.exercise_event import ExerciseEvent
297
298
  from lusid.models.exotic_instrument import ExoticInstrument
298
299
  from lusid.models.expanded_group import ExpandedGroup
299
300
  from lusid.models.expiry_event import ExpiryEvent
301
+ from lusid.models.fee_accrual import FeeAccrual
300
302
  from lusid.models.fee_rule import FeeRule
301
303
  from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
302
304
  from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
@@ -541,6 +543,7 @@ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
541
543
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
542
544
  from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
543
545
  from lusid.models.paged_resource_list_of_instrument_event_holder import PagedResourceListOfInstrumentEventHolder
546
+ from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
544
547
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
545
548
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
546
549
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
@@ -633,6 +636,7 @@ from lusid.models.property_type import PropertyType
633
636
  from lusid.models.property_value import PropertyValue
634
637
  from lusid.models.property_value_equals import PropertyValueEquals
635
638
  from lusid.models.property_value_in import PropertyValueIn
639
+ from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
636
640
  from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
637
641
  from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
638
642
  from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
@@ -694,6 +698,7 @@ from lusid.models.resource_list_of_address_key_definition import ResourceListOfA
694
698
  from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
695
699
  from lusid.models.resource_list_of_aggregation_query import ResourceListOfAggregationQuery
696
700
  from lusid.models.resource_list_of_allocation import ResourceListOfAllocation
701
+ from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
697
702
  from lusid.models.resource_list_of_block import ResourceListOfBlock
698
703
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
699
704
  from lusid.models.resource_list_of_calendar_date import ResourceListOfCalendarDate
@@ -1027,6 +1032,7 @@ __all__ = [
1027
1032
  "AnnulQuotesResponse",
1028
1033
  "AnnulSingleStructuredDataResponse",
1029
1034
  "AnnulStructuredDataResponse",
1035
+ "ApplicableInstrumentEvent",
1030
1036
  "AssetClass",
1031
1037
  "AssetLeg",
1032
1038
  "Barrier",
@@ -1255,6 +1261,7 @@ __all__ = [
1255
1261
  "ExoticInstrument",
1256
1262
  "ExpandedGroup",
1257
1263
  "ExpiryEvent",
1264
+ "FeeAccrual",
1258
1265
  "FeeRule",
1259
1266
  "FeeRuleUpsertRequest",
1260
1267
  "FeeRuleUpsertResponse",
@@ -1499,6 +1506,7 @@ __all__ = [
1499
1506
  "PagedResourceListOfGeneralLedgerProfileResponse",
1500
1507
  "PagedResourceListOfInstrument",
1501
1508
  "PagedResourceListOfInstrumentEventHolder",
1509
+ "PagedResourceListOfInstrumentEventInstruction",
1502
1510
  "PagedResourceListOfLegalEntity",
1503
1511
  "PagedResourceListOfOrder",
1504
1512
  "PagedResourceListOfOrderGraphBlock",
@@ -1591,6 +1599,7 @@ __all__ = [
1591
1599
  "PropertyValue",
1592
1600
  "PropertyValueEquals",
1593
1601
  "PropertyValueIn",
1602
+ "QueryApplicableInstrumentEventsRequest",
1594
1603
  "QueryBucketedCashFlowsRequest",
1595
1604
  "QueryCashFlowsRequest",
1596
1605
  "QueryInstrumentEventsRequest",
@@ -1652,6 +1661,7 @@ __all__ = [
1652
1661
  "ResourceListOfAggregatedReturn",
1653
1662
  "ResourceListOfAggregationQuery",
1654
1663
  "ResourceListOfAllocation",
1664
+ "ResourceListOfApplicableInstrumentEvent",
1655
1665
  "ResourceListOfBlock",
1656
1666
  "ResourceListOfBlockAndOrders",
1657
1667
  "ResourceListOfCalendarDate",