lusid-sdk 2.1.106__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.

Files changed (49) hide show
  1. lusid/__init__.py +12 -0
  2. lusid/api/instrument_events_api.py +189 -0
  3. lusid/api/portfolios_api.py +212 -0
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +12 -0
  6. lusid/models/accumulation_event.py +3 -3
  7. lusid/models/amortisation_event.py +3 -3
  8. lusid/models/applicable_instrument_event.py +106 -0
  9. lusid/models/bond_coupon_event.py +3 -3
  10. lusid/models/bond_default_event.py +3 -3
  11. lusid/models/bond_principal_event.py +3 -3
  12. lusid/models/capital_distribution_event.py +117 -0
  13. lusid/models/cash_dividend_event.py +3 -3
  14. lusid/models/cash_flow_event.py +3 -3
  15. lusid/models/close_event.py +3 -3
  16. lusid/models/create_derived_property_definition_request.py +3 -3
  17. lusid/models/create_property_definition_request.py +3 -3
  18. lusid/models/dividend_option_event.py +3 -3
  19. lusid/models/dividend_reinvestment_event.py +3 -3
  20. lusid/models/exercise_event.py +3 -3
  21. lusid/models/expiry_event.py +3 -3
  22. lusid/models/fee_accrual.py +83 -0
  23. lusid/models/fx_forward_settlement_event.py +3 -3
  24. lusid/models/informational_error_event.py +3 -3
  25. lusid/models/informational_event.py +3 -3
  26. lusid/models/instrument_event.py +6 -5
  27. lusid/models/instrument_event_type.py +1 -0
  28. lusid/models/maturity_event.py +3 -3
  29. lusid/models/open_event.py +3 -3
  30. lusid/models/paged_resource_list_of_instrument_event_instruction.py +113 -0
  31. lusid/models/property_definition.py +3 -3
  32. lusid/models/property_definition_search_result.py +3 -3
  33. lusid/models/property_domain.py +1 -0
  34. lusid/models/query_applicable_instrument_events_request.py +89 -0
  35. lusid/models/quote_access_metadata_rule_id.py +1 -1
  36. lusid/models/quote_series_id.py +1 -1
  37. lusid/models/raw_vendor_event.py +3 -3
  38. lusid/models/reset_event.py +3 -3
  39. lusid/models/resource_list_of_applicable_instrument_event.py +113 -0
  40. lusid/models/reverse_stock_split_event.py +3 -3
  41. lusid/models/scrip_dividend_event.py +3 -3
  42. lusid/models/stock_dividend_event.py +3 -3
  43. lusid/models/stock_split_event.py +3 -3
  44. lusid/models/transition_event.py +3 -3
  45. lusid/models/trigger_event.py +3 -3
  46. lusid/models/valuation_point_data_response.py +15 -2
  47. {lusid_sdk-2.1.106.dist-info → lusid_sdk-2.1.122.dist-info}/METADATA +11 -3
  48. {lusid_sdk-2.1.106.dist-info → lusid_sdk-2.1.122.dist-info}/RECORD +49 -43
  49. {lusid_sdk-2.1.106.dist-info → lusid_sdk-2.1.122.dist-info}/WHEEL +0 -0
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
@@ -180,6 +181,7 @@ from lusid.models.calendar import Calendar
180
181
  from lusid.models.calendar_date import CalendarDate
181
182
  from lusid.models.calendar_dependency import CalendarDependency
182
183
  from lusid.models.cap_floor import CapFloor
184
+ from lusid.models.capital_distribution_event import CapitalDistributionEvent
183
185
  from lusid.models.cash_dependency import CashDependency
184
186
  from lusid.models.cash_dividend_event import CashDividendEvent
185
187
  from lusid.models.cash_election import CashElection
@@ -373,6 +375,7 @@ from lusid.models.exercise_event import ExerciseEvent
373
375
  from lusid.models.exotic_instrument import ExoticInstrument
374
376
  from lusid.models.expanded_group import ExpandedGroup
375
377
  from lusid.models.expiry_event import ExpiryEvent
378
+ from lusid.models.fee_accrual import FeeAccrual
376
379
  from lusid.models.fee_rule import FeeRule
377
380
  from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
378
381
  from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
@@ -617,6 +620,7 @@ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
617
620
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
618
621
  from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
619
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
620
624
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
621
625
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
622
626
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
@@ -709,6 +713,7 @@ from lusid.models.property_type import PropertyType
709
713
  from lusid.models.property_value import PropertyValue
710
714
  from lusid.models.property_value_equals import PropertyValueEquals
711
715
  from lusid.models.property_value_in import PropertyValueIn
716
+ from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
712
717
  from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
713
718
  from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
714
719
  from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
@@ -770,6 +775,7 @@ from lusid.models.resource_list_of_address_key_definition import ResourceListOfA
770
775
  from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
771
776
  from lusid.models.resource_list_of_aggregation_query import ResourceListOfAggregationQuery
772
777
  from lusid.models.resource_list_of_allocation import ResourceListOfAllocation
778
+ from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
773
779
  from lusid.models.resource_list_of_block import ResourceListOfBlock
774
780
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
775
781
  from lusid.models.resource_list_of_calendar_date import ResourceListOfCalendarDate
@@ -1178,6 +1184,7 @@ __all__ = [
1178
1184
  "AnnulQuotesResponse",
1179
1185
  "AnnulSingleStructuredDataResponse",
1180
1186
  "AnnulStructuredDataResponse",
1187
+ "ApplicableInstrumentEvent",
1181
1188
  "AssetClass",
1182
1189
  "AssetLeg",
1183
1190
  "Barrier",
@@ -1212,6 +1219,7 @@ __all__ = [
1212
1219
  "CalendarDate",
1213
1220
  "CalendarDependency",
1214
1221
  "CapFloor",
1222
+ "CapitalDistributionEvent",
1215
1223
  "CashDependency",
1216
1224
  "CashDividendEvent",
1217
1225
  "CashElection",
@@ -1405,6 +1413,7 @@ __all__ = [
1405
1413
  "ExoticInstrument",
1406
1414
  "ExpandedGroup",
1407
1415
  "ExpiryEvent",
1416
+ "FeeAccrual",
1408
1417
  "FeeRule",
1409
1418
  "FeeRuleUpsertRequest",
1410
1419
  "FeeRuleUpsertResponse",
@@ -1649,6 +1658,7 @@ __all__ = [
1649
1658
  "PagedResourceListOfGeneralLedgerProfileResponse",
1650
1659
  "PagedResourceListOfInstrument",
1651
1660
  "PagedResourceListOfInstrumentEventHolder",
1661
+ "PagedResourceListOfInstrumentEventInstruction",
1652
1662
  "PagedResourceListOfLegalEntity",
1653
1663
  "PagedResourceListOfOrder",
1654
1664
  "PagedResourceListOfOrderGraphBlock",
@@ -1741,6 +1751,7 @@ __all__ = [
1741
1751
  "PropertyValue",
1742
1752
  "PropertyValueEquals",
1743
1753
  "PropertyValueIn",
1754
+ "QueryApplicableInstrumentEventsRequest",
1744
1755
  "QueryBucketedCashFlowsRequest",
1745
1756
  "QueryCashFlowsRequest",
1746
1757
  "QueryInstrumentEventsRequest",
@@ -1802,6 +1813,7 @@ __all__ = [
1802
1813
  "ResourceListOfAggregatedReturn",
1803
1814
  "ResourceListOfAggregationQuery",
1804
1815
  "ResourceListOfAllocation",
1816
+ "ResourceListOfApplicableInstrumentEvent",
1805
1817
  "ResourceListOfBlock",
1806
1818
  "ResourceListOfBlockAndOrders",
1807
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.6540\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
@@ -103,6 +104,7 @@ from lusid.models.calendar import Calendar
103
104
  from lusid.models.calendar_date import CalendarDate
104
105
  from lusid.models.calendar_dependency import CalendarDependency
105
106
  from lusid.models.cap_floor import CapFloor
107
+ from lusid.models.capital_distribution_event import CapitalDistributionEvent
106
108
  from lusid.models.cash_dependency import CashDependency
107
109
  from lusid.models.cash_dividend_event import CashDividendEvent
108
110
  from lusid.models.cash_election import CashElection
@@ -296,6 +298,7 @@ from lusid.models.exercise_event import ExerciseEvent
296
298
  from lusid.models.exotic_instrument import ExoticInstrument
297
299
  from lusid.models.expanded_group import ExpandedGroup
298
300
  from lusid.models.expiry_event import ExpiryEvent
301
+ from lusid.models.fee_accrual import FeeAccrual
299
302
  from lusid.models.fee_rule import FeeRule
300
303
  from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
301
304
  from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
@@ -540,6 +543,7 @@ from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
540
543
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
541
544
  from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
542
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
543
547
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
544
548
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
545
549
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
@@ -632,6 +636,7 @@ from lusid.models.property_type import PropertyType
632
636
  from lusid.models.property_value import PropertyValue
633
637
  from lusid.models.property_value_equals import PropertyValueEquals
634
638
  from lusid.models.property_value_in import PropertyValueIn
639
+ from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
635
640
  from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
636
641
  from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
637
642
  from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
@@ -693,6 +698,7 @@ from lusid.models.resource_list_of_address_key_definition import ResourceListOfA
693
698
  from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
694
699
  from lusid.models.resource_list_of_aggregation_query import ResourceListOfAggregationQuery
695
700
  from lusid.models.resource_list_of_allocation import ResourceListOfAllocation
701
+ from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
696
702
  from lusid.models.resource_list_of_block import ResourceListOfBlock
697
703
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
698
704
  from lusid.models.resource_list_of_calendar_date import ResourceListOfCalendarDate
@@ -1026,6 +1032,7 @@ __all__ = [
1026
1032
  "AnnulQuotesResponse",
1027
1033
  "AnnulSingleStructuredDataResponse",
1028
1034
  "AnnulStructuredDataResponse",
1035
+ "ApplicableInstrumentEvent",
1029
1036
  "AssetClass",
1030
1037
  "AssetLeg",
1031
1038
  "Barrier",
@@ -1060,6 +1067,7 @@ __all__ = [
1060
1067
  "CalendarDate",
1061
1068
  "CalendarDependency",
1062
1069
  "CapFloor",
1070
+ "CapitalDistributionEvent",
1063
1071
  "CashDependency",
1064
1072
  "CashDividendEvent",
1065
1073
  "CashElection",
@@ -1253,6 +1261,7 @@ __all__ = [
1253
1261
  "ExoticInstrument",
1254
1262
  "ExpandedGroup",
1255
1263
  "ExpiryEvent",
1264
+ "FeeAccrual",
1256
1265
  "FeeRule",
1257
1266
  "FeeRuleUpsertRequest",
1258
1267
  "FeeRuleUpsertResponse",
@@ -1497,6 +1506,7 @@ __all__ = [
1497
1506
  "PagedResourceListOfGeneralLedgerProfileResponse",
1498
1507
  "PagedResourceListOfInstrument",
1499
1508
  "PagedResourceListOfInstrumentEventHolder",
1509
+ "PagedResourceListOfInstrumentEventInstruction",
1500
1510
  "PagedResourceListOfLegalEntity",
1501
1511
  "PagedResourceListOfOrder",
1502
1512
  "PagedResourceListOfOrderGraphBlock",
@@ -1589,6 +1599,7 @@ __all__ = [
1589
1599
  "PropertyValue",
1590
1600
  "PropertyValueEquals",
1591
1601
  "PropertyValueIn",
1602
+ "QueryApplicableInstrumentEventsRequest",
1592
1603
  "QueryBucketedCashFlowsRequest",
1593
1604
  "QueryCashFlowsRequest",
1594
1605
  "QueryInstrumentEventsRequest",
@@ -1650,6 +1661,7 @@ __all__ = [
1650
1661
  "ResourceListOfAggregatedReturn",
1651
1662
  "ResourceListOfAggregationQuery",
1652
1663
  "ResourceListOfAllocation",
1664
+ "ResourceListOfApplicableInstrumentEvent",
1653
1665
  "ResourceListOfBlock",
1654
1666
  "ResourceListOfBlockAndOrders",
1655
1667
  "ResourceListOfCalendarDate",