lusid-sdk 2.1.351__py3-none-any.whl → 2.1.390__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. lusid/__init__.py +34 -0
  2. lusid/api/__init__.py +2 -0
  3. lusid/api/funds_api.py +9 -8
  4. lusid/api/group_reconciliations_api.py +378 -0
  5. lusid/api/order_management_api.py +161 -0
  6. lusid/api/workspace_api.py +40 -40
  7. lusid/configuration.py +1 -1
  8. lusid/models/__init__.py +32 -0
  9. lusid/models/accept_estimate_valuation_point_response.py +100 -0
  10. lusid/models/accumulation_event.py +3 -3
  11. lusid/models/action_id.py +1 -1
  12. lusid/models/amortisation_event.py +3 -3
  13. lusid/models/applicable_instrument_event.py +14 -2
  14. lusid/models/bond_coupon_event.py +3 -3
  15. lusid/models/bond_default_event.py +3 -3
  16. lusid/models/bond_principal_event.py +3 -3
  17. lusid/models/calendar.py +17 -2
  18. lusid/models/capital_distribution_event.py +3 -3
  19. lusid/models/cash_dividend_event.py +3 -3
  20. lusid/models/cash_flow_event.py +3 -3
  21. lusid/models/close_event.py +3 -3
  22. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +97 -0
  23. lusid/models/custom_entity_definition.py +17 -2
  24. lusid/models/custom_entity_type.py +17 -2
  25. lusid/models/data_type.py +7 -1
  26. lusid/models/dividend_option_event.py +3 -3
  27. lusid/models/dividend_reinvestment_event.py +3 -3
  28. lusid/models/entity_change_item.py +121 -0
  29. lusid/models/exercise_event.py +3 -3
  30. lusid/models/expiry_event.py +3 -3
  31. lusid/models/fee.py +1 -1
  32. lusid/models/fee_request.py +1 -1
  33. lusid/models/flow_conventions.py +1 -1
  34. lusid/models/fund_amount.py +1 -1
  35. lusid/models/fund_details.py +74 -0
  36. lusid/models/future_expiry_event.py +3 -3
  37. lusid/models/futures_contract_details.py +6 -1
  38. lusid/models/fx_forward_settlement_event.py +3 -3
  39. lusid/models/generated_event_diagnostics.py +75 -0
  40. lusid/models/group_reconciliation_aggregate_attribute_rule.py +84 -0
  41. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +71 -0
  42. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +73 -0
  43. lusid/models/group_reconciliation_comparison_rule_tolerance.py +71 -0
  44. lusid/models/group_reconciliation_comparison_ruleset.py +125 -0
  45. lusid/models/group_reconciliation_core_attribute_rule.py +95 -0
  46. lusid/models/group_reconciliation_core_comparison_rule_operand.py +71 -0
  47. lusid/models/index_convention.py +1 -1
  48. lusid/models/informational_error_event.py +3 -3
  49. lusid/models/informational_event.py +3 -3
  50. lusid/models/instrument_event.py +7 -5
  51. lusid/models/instrument_event_instruction.py +19 -4
  52. lusid/models/instrument_event_type.py +2 -0
  53. lusid/models/maturity_event.py +3 -3
  54. lusid/models/merger_event.py +3 -3
  55. lusid/models/new_instrument.py +10 -2
  56. lusid/models/open_event.py +3 -3
  57. lusid/models/order_graph_block_order_detail.py +1 -1
  58. lusid/models/order_update_request.py +5 -0
  59. lusid/models/person.py +17 -2
  60. lusid/models/placement_update_request.py +6 -1
  61. lusid/models/previous_nav.py +3 -3
  62. lusid/models/raw_vendor_event.py +3 -3
  63. lusid/models/reset_event.py +3 -3
  64. lusid/models/resource_list_of_entity_change_item.py +113 -0
  65. lusid/models/reverse_stock_split_event.py +3 -3
  66. lusid/models/scrip_dividend_event.py +3 -3
  67. lusid/models/share_class_amount.py +7 -9
  68. lusid/models/share_class_breakdown.py +4 -5
  69. lusid/models/spin_off_event.py +3 -3
  70. lusid/models/stock_dividend_event.py +3 -3
  71. lusid/models/stock_split_event.py +3 -3
  72. lusid/models/swap_cash_flow_event.py +97 -0
  73. lusid/models/swap_principal_event.py +97 -0
  74. lusid/models/transaction_diagnostics.py +71 -0
  75. lusid/models/transition_event.py +3 -3
  76. lusid/models/trigger_event.py +3 -3
  77. lusid/models/valuation_point_data_response.py +21 -1
  78. lusid/models/weighted_instrument.py +9 -2
  79. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/METADATA +40 -21
  80. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/RECORD +81 -64
  81. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/WHEEL +0 -0
@@ -0,0 +1,71 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Any, Dict, List
22
+ from pydantic.v1 import BaseModel, Field, StrictStr, conlist, constr
23
+
24
+ class TransactionDiagnostics(BaseModel):
25
+ """
26
+ Represents a set of diagnostics per transaction, where applicable. # noqa: E501
27
+ """
28
+ transaction_display_name: constr(strict=True, min_length=1) = Field(..., alias="transactionDisplayName")
29
+ error_details: conlist(StrictStr) = Field(..., alias="errorDetails")
30
+ __properties = ["transactionDisplayName", "errorDetails"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+ allow_population_by_field_name = True
35
+ validate_assignment = True
36
+
37
+ def to_str(self) -> str:
38
+ """Returns the string representation of the model using alias"""
39
+ return pprint.pformat(self.dict(by_alias=True))
40
+
41
+ def to_json(self) -> str:
42
+ """Returns the JSON representation of the model using alias"""
43
+ return json.dumps(self.to_dict())
44
+
45
+ @classmethod
46
+ def from_json(cls, json_str: str) -> TransactionDiagnostics:
47
+ """Create an instance of TransactionDiagnostics from a JSON string"""
48
+ return cls.from_dict(json.loads(json_str))
49
+
50
+ def to_dict(self):
51
+ """Returns the dictionary representation of the model using alias"""
52
+ _dict = self.dict(by_alias=True,
53
+ exclude={
54
+ },
55
+ exclude_none=True)
56
+ return _dict
57
+
58
+ @classmethod
59
+ def from_dict(cls, obj: dict) -> TransactionDiagnostics:
60
+ """Create an instance of TransactionDiagnostics from a dict"""
61
+ if obj is None:
62
+ return None
63
+
64
+ if not isinstance(obj, dict):
65
+ return TransactionDiagnostics.parse_obj(obj)
66
+
67
+ _obj = TransactionDiagnostics.parse_obj({
68
+ "transaction_display_name": obj.get("transactionDisplayName"),
69
+ "error_details": obj.get("errorDetails")
70
+ })
71
+ return _obj
@@ -34,15 +34,15 @@ class TransitionEvent(InstrumentEvent):
34
34
  payment_date: Optional[datetime] = Field(None, alias="paymentDate", description="The payment date of the corporate action")
35
35
  input_transition: Optional[InputTransition] = Field(None, alias="inputTransition")
36
36
  output_transitions: Optional[conlist(OutputTransition)] = Field(None, alias="outputTransitions", description="The resulting transitions from this event")
37
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent")
37
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent")
38
38
  additional_properties: Dict[str, Any] = {}
39
39
  __properties = ["instrumentEventType", "announcementDate", "exDate", "recordDate", "paymentDate", "inputTransition", "outputTransitions"]
40
40
 
41
41
  @validator('instrument_event_type')
42
42
  def instrument_event_type_validate_enum(cls, value):
43
43
  """Validates the enum"""
44
- if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent'):
45
- raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent')")
44
+ if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent'):
45
+ raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent')")
46
46
  return value
47
47
 
48
48
  class Config:
@@ -31,15 +31,15 @@ class TriggerEvent(InstrumentEvent):
31
31
  trigger_direction: constr(strict=True, min_length=1) = Field(..., alias="triggerDirection", description="The direction of the trigger; valid options are Up and Down")
32
32
  trigger_date: datetime = Field(..., alias="triggerDate", description="The date the trigger happens at.")
33
33
  maturity_date: datetime = Field(..., alias="maturityDate", description="The date the trigger takes effect.")
34
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent")
34
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent")
35
35
  additional_properties: Dict[str, Any] = {}
36
36
  __properties = ["instrumentEventType", "level", "triggerType", "triggerDirection", "triggerDate", "maturityDate"]
37
37
 
38
38
  @validator('instrument_event_type')
39
39
  def instrument_event_type_validate_enum(cls, value):
40
40
  """Validates the enum"""
41
- if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent'):
42
- raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent')")
41
+ if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent'):
42
+ raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent')")
43
43
  return value
44
44
 
45
45
  class Config:
@@ -21,6 +21,7 @@ import json
21
21
  from typing import Any, Dict, List, Optional, Union
22
22
  from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr
23
23
  from lusid.models.fee_accrual import FeeAccrual
24
+ from lusid.models.fund_details import FundDetails
24
25
  from lusid.models.fund_valuation_point_data import FundValuationPointData
25
26
  from lusid.models.link import Link
26
27
  from lusid.models.share_class_data import ShareClassData
@@ -39,10 +40,13 @@ class ValuationPointDataResponse(BaseModel):
39
40
  fees: Dict[str, FeeAccrual] = Field(..., description="DEPRECATED. Bucket of detail for any 'Fees' that have been charged in the selected period.")
40
41
  nav: Union[StrictFloat, StrictInt] = Field(..., description="DEPRECATED. The Net Asset Value of the Fund at the Period end. This represents the GAV with any fees applied in the period.")
41
42
  previous_nav: Union[StrictFloat, StrictInt] = Field(..., alias="previousNav", description="DEPRECATED. The Net Asset Value of the Fund at the End of the last Period.")
43
+ fund_details: FundDetails = Field(..., alias="fundDetails")
42
44
  fund_valuation_point_data: FundValuationPointData = Field(..., alias="fundValuationPointData")
43
45
  share_class_data: Dict[str, ShareClassData] = Field(..., alias="shareClassData", description="The data for all share classes in fund. Share classes are identified by their short codes.")
46
+ valuation_point_code: Optional[StrictStr] = Field(None, alias="valuationPointCode", description="The code of the valuation point.")
47
+ previous_valuation_point_code: Optional[StrictStr] = Field(None, alias="previousValuationPointCode", description="The code of the previous valuation point.")
44
48
  links: Optional[conlist(Link)] = None
45
- __properties = ["href", "type", "status", "backout", "dealing", "pnL", "gav", "fees", "nav", "previousNav", "fundValuationPointData", "shareClassData", "links"]
49
+ __properties = ["href", "type", "status", "backout", "dealing", "pnL", "gav", "fees", "nav", "previousNav", "fundDetails", "fundValuationPointData", "shareClassData", "valuationPointCode", "previousValuationPointCode", "links"]
46
50
 
47
51
  class Config:
48
52
  """Pydantic configuration"""
@@ -75,6 +79,9 @@ class ValuationPointDataResponse(BaseModel):
75
79
  if self.fees[_key]:
76
80
  _field_dict[_key] = self.fees[_key].to_dict()
77
81
  _dict['fees'] = _field_dict
82
+ # override the default output from pydantic by calling `to_dict()` of fund_details
83
+ if self.fund_details:
84
+ _dict['fundDetails'] = self.fund_details.to_dict()
78
85
  # override the default output from pydantic by calling `to_dict()` of fund_valuation_point_data
79
86
  if self.fund_valuation_point_data:
80
87
  _dict['fundValuationPointData'] = self.fund_valuation_point_data.to_dict()
@@ -97,6 +104,16 @@ class ValuationPointDataResponse(BaseModel):
97
104
  if self.href is None and "href" in self.__fields_set__:
98
105
  _dict['href'] = None
99
106
 
107
+ # set to None if valuation_point_code (nullable) is None
108
+ # and __fields_set__ contains the field
109
+ if self.valuation_point_code is None and "valuation_point_code" in self.__fields_set__:
110
+ _dict['valuationPointCode'] = None
111
+
112
+ # set to None if previous_valuation_point_code (nullable) is None
113
+ # and __fields_set__ contains the field
114
+ if self.previous_valuation_point_code is None and "previous_valuation_point_code" in self.__fields_set__:
115
+ _dict['previousValuationPointCode'] = None
116
+
100
117
  # set to None if links (nullable) is None
101
118
  # and __fields_set__ contains the field
102
119
  if self.links is None and "links" in self.__fields_set__:
@@ -129,6 +146,7 @@ class ValuationPointDataResponse(BaseModel):
129
146
  else None,
130
147
  "nav": obj.get("nav"),
131
148
  "previous_nav": obj.get("previousNav"),
149
+ "fund_details": FundDetails.from_dict(obj.get("fundDetails")) if obj.get("fundDetails") is not None else None,
132
150
  "fund_valuation_point_data": FundValuationPointData.from_dict(obj.get("fundValuationPointData")) if obj.get("fundValuationPointData") is not None else None,
133
151
  "share_class_data": dict(
134
152
  (_k, ShareClassData.from_dict(_v))
@@ -136,6 +154,8 @@ class ValuationPointDataResponse(BaseModel):
136
154
  )
137
155
  if obj.get("shareClassData") is not None
138
156
  else None,
157
+ "valuation_point_code": obj.get("valuationPointCode"),
158
+ "previous_valuation_point_code": obj.get("previousValuationPointCode"),
139
159
  "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
140
160
  })
141
161
  return _obj
@@ -31,7 +31,8 @@ class WeightedInstrument(BaseModel):
31
31
  holding_identifier: Optional[constr(strict=True, max_length=256, min_length=0)] = Field(None, alias="holdingIdentifier", description="Identifier for the instrument. For a single, unique trade or transaction this can be thought of as equivalent to the transaction identifier, or a composite of the sub-holding keys for a regular sub-holding. When there are multiple transactions sharing the same underlying instrument such as purchase of shares on multiple dates where tax implications are different this would not be the case. In an inlined aggregation request if this is wanted to identify a line item, it can be specified in the set of aggregation keys given on the aggregation request that accompanies the set of weighted instruments.")
32
32
  instrument: Optional[LusidInstrument] = None
33
33
  in_line_lookup_identifiers: Optional[WeightedInstrumentInLineLookupIdentifiers] = Field(None, alias="inLineLookupIdentifiers")
34
- __properties = ["quantity", "holdingIdentifier", "instrument", "inLineLookupIdentifiers"]
34
+ instrument_scope: Optional[constr(strict=True, max_length=256, min_length=0)] = Field(None, alias="instrumentScope", description="The scope in which to resolve the instrument, if no inlined definition is provided. If left empty, the default scope will be used.")
35
+ __properties = ["quantity", "holdingIdentifier", "instrument", "inLineLookupIdentifiers", "instrumentScope"]
35
36
 
36
37
  class Config:
37
38
  """Pydantic configuration"""
@@ -73,6 +74,11 @@ class WeightedInstrument(BaseModel):
73
74
  if self.in_line_lookup_identifiers is None and "in_line_lookup_identifiers" in self.__fields_set__:
74
75
  _dict['inLineLookupIdentifiers'] = None
75
76
 
77
+ # set to None if instrument_scope (nullable) is None
78
+ # and __fields_set__ contains the field
79
+ if self.instrument_scope is None and "instrument_scope" in self.__fields_set__:
80
+ _dict['instrumentScope'] = None
81
+
76
82
  return _dict
77
83
 
78
84
  @classmethod
@@ -88,6 +94,7 @@ class WeightedInstrument(BaseModel):
88
94
  "quantity": obj.get("quantity"),
89
95
  "holding_identifier": obj.get("holdingIdentifier"),
90
96
  "instrument": LusidInstrument.from_dict(obj.get("instrument")) if obj.get("instrument") is not None else None,
91
- "in_line_lookup_identifiers": WeightedInstrumentInLineLookupIdentifiers.from_dict(obj.get("inLineLookupIdentifiers")) if obj.get("inLineLookupIdentifiers") is not None else None
97
+ "in_line_lookup_identifiers": WeightedInstrumentInLineLookupIdentifiers.from_dict(obj.get("inLineLookupIdentifiers")) if obj.get("inLineLookupIdentifiers") is not None else None,
98
+ "instrument_scope": obj.get("instrumentScope")
92
99
  })
93
100
  return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.351
3
+ Version: 2.1.390
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -247,6 +247,8 @@ Class | Method | HTTP request | Description
247
247
  *FundsApi* | [**upsert_diary_entry_type_valuation_point**](docs/FundsApi.md#upsert_diary_entry_type_valuation_point) | **POST** /api/funds/{scope}/{code}/valuationpoints | [EXPERIMENTAL] UpsertDiaryEntryTypeValuationPoint: Upsert Valuation Point.
248
248
  *FundsApi* | [**upsert_fee_properties**](docs/FundsApi.md#upsert_fee_properties) | **POST** /api/funds/{scope}/{code}/fees/{feeCode}/properties/$upsert | [EXPERIMENTAL] UpsertFeeProperties: Upsert Fee properties.
249
249
  *FundsApi* | [**upsert_fund_properties**](docs/FundsApi.md#upsert_fund_properties) | **POST** /api/funds/{scope}/{code}/properties/$upsert | [EXPERIMENTAL] UpsertFundProperties: Upsert Fund properties.
250
+ *GroupReconciliationsApi* | [**create_comparison_ruleset**](docs/GroupReconciliationsApi.md#create_comparison_ruleset) | **POST** /api/reconciliations/comparisonrulesets | [EXPERIMENTAL] CreateComparisonRuleset: Create a Group Reconciliation Comparison Ruleset
251
+ *GroupReconciliationsApi* | [**get_comparison_ruleset**](docs/GroupReconciliationsApi.md#get_comparison_ruleset) | **GET** /api/reconciliations/comparisonrulesets/{scope}/{code} | [EXPERIMENTAL] GetComparisonRuleset: Get a single Group Reconciliation Comparison Ruleset by scope and code
250
252
  *InstrumentEventTypesApi* | [**create_transaction_template**](docs/InstrumentEventTypesApi.md#create_transaction_template) | **POST** /api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope} | [EXPERIMENTAL] CreateTransactionTemplate: Create Transaction Template
251
253
  *InstrumentEventTypesApi* | [**delete_transaction_template**](docs/InstrumentEventTypesApi.md#delete_transaction_template) | **DELETE** /api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope} | [EXPERIMENTAL] DeleteTransactionTemplate: Delete Transaction Template
252
254
  *InstrumentEventTypesApi* | [**get_transaction_template**](docs/InstrumentEventTypesApi.md#get_transaction_template) | **GET** /api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope} | [EXPERIMENTAL] GetTransactionTemplate: Get Transaction Template
@@ -316,6 +318,7 @@ Class | Method | HTTP request | Description
316
318
  *OrderManagementApi* | [**cancel_orders**](docs/OrderManagementApi.md#cancel_orders) | **POST** /api/ordermanagement/cancelorders | [EARLY ACCESS] CancelOrders: Cancel existing orders
317
319
  *OrderManagementApi* | [**cancel_placements**](docs/OrderManagementApi.md#cancel_placements) | **POST** /api/ordermanagement/$cancelplacements | [EARLY ACCESS] CancelPlacements: Cancel existing placements
318
320
  *OrderManagementApi* | [**create_orders**](docs/OrderManagementApi.md#create_orders) | **POST** /api/ordermanagement/createorders | [EARLY ACCESS] CreateOrders: Upsert a Block and associated orders
321
+ *OrderManagementApi* | [**get_order_history**](docs/OrderManagementApi.md#get_order_history) | **GET** /api/ordermanagement/order/{scope}/{code}/$history | [EXPERIMENTAL] GetOrderHistory: Get the history of an order and related entity changes
319
322
  *OrderManagementApi* | [**move_orders**](docs/OrderManagementApi.md#move_orders) | **POST** /api/ordermanagement/moveorders | [EARLY ACCESS] MoveOrders: Move orders to new or existing block
320
323
  *OrderManagementApi* | [**place_blocks**](docs/OrderManagementApi.md#place_blocks) | **POST** /api/ordermanagement/placeblocks | [EARLY ACCESS] PlaceBlocks: Places blocks for a given list of placement requests.
321
324
  *OrderManagementApi* | [**run_allocation_service**](docs/OrderManagementApi.md#run_allocation_service) | **POST** /api/ordermanagement/allocate | [EXPERIMENTAL] RunAllocationService: Runs the Allocation Service
@@ -573,26 +576,26 @@ Class | Method | HTTP request | Description
573
576
  *TransactionPortfoliosApi* | [**upsert_transactions**](docs/TransactionPortfoliosApi.md#upsert_transactions) | **POST** /api/transactionportfolios/{scope}/{code}/transactions | UpsertTransactions: Upsert transactions
574
577
  *TranslationApi* | [**translate_instrument_definitions**](docs/TranslationApi.md#translate_instrument_definitions) | **POST** /api/translation/instrumentdefinitions | [EXPERIMENTAL] TranslateInstrumentDefinitions: Translate instruments
575
578
  *TranslationApi* | [**translate_trade_tickets**](docs/TranslationApi.md#translate_trade_tickets) | **POST** /api/translation/tradetickets | [EXPERIMENTAL] TranslateTradeTickets: Translate trade ticket
576
- *WorkspaceApi* | [**create_personal_item**](docs/WorkspaceApi.md#create_personal_item) | **POST** /api/workspaces/personal/{workspaceName}/items | [EARLY ACCESS] CreatePersonalItem: Create a new item in a personal workspace.
577
- *WorkspaceApi* | [**create_personal_workspace**](docs/WorkspaceApi.md#create_personal_workspace) | **POST** /api/workspaces/personal | [EARLY ACCESS] CreatePersonalWorkspace: Create a new personal workspace.
578
- *WorkspaceApi* | [**create_shared_item**](docs/WorkspaceApi.md#create_shared_item) | **POST** /api/workspaces/shared/{workspaceName}/items | [EARLY ACCESS] CreateSharedItem: Create a new item in a shared workspace.
579
- *WorkspaceApi* | [**create_shared_workspace**](docs/WorkspaceApi.md#create_shared_workspace) | **POST** /api/workspaces/shared | [EARLY ACCESS] CreateSharedWorkspace: Create a new shared workspace.
580
- *WorkspaceApi* | [**delete_personal_item**](docs/WorkspaceApi.md#delete_personal_item) | **DELETE** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EARLY ACCESS] DeletePersonalItem: Delete an item from a personal workspace.
581
- *WorkspaceApi* | [**delete_personal_workspace**](docs/WorkspaceApi.md#delete_personal_workspace) | **DELETE** /api/workspaces/personal/{workspaceName} | [EARLY ACCESS] DeletePersonalWorkspace: Delete a personal workspace.
582
- *WorkspaceApi* | [**delete_shared_item**](docs/WorkspaceApi.md#delete_shared_item) | **DELETE** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EARLY ACCESS] DeleteSharedItem: Delete an item from a shared workspace.
583
- *WorkspaceApi* | [**delete_shared_workspace**](docs/WorkspaceApi.md#delete_shared_workspace) | **DELETE** /api/workspaces/shared/{workspaceName} | [EARLY ACCESS] DeleteSharedWorkspace: Delete a shared workspace.
584
- *WorkspaceApi* | [**get_personal_item**](docs/WorkspaceApi.md#get_personal_item) | **GET** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EARLY ACCESS] GetPersonalItem: Get a single personal workspace item.
585
- *WorkspaceApi* | [**get_personal_workspace**](docs/WorkspaceApi.md#get_personal_workspace) | **GET** /api/workspaces/personal/{workspaceName} | [EARLY ACCESS] GetPersonalWorkspace: Get a personal workspace.
586
- *WorkspaceApi* | [**get_shared_item**](docs/WorkspaceApi.md#get_shared_item) | **GET** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EARLY ACCESS] GetSharedItem: Get a single shared workspace item.
587
- *WorkspaceApi* | [**get_shared_workspace**](docs/WorkspaceApi.md#get_shared_workspace) | **GET** /api/workspaces/shared/{workspaceName} | [EARLY ACCESS] GetSharedWorkspace: Get a shared workspace.
588
- *WorkspaceApi* | [**list_personal_items**](docs/WorkspaceApi.md#list_personal_items) | **GET** /api/workspaces/personal/{workspaceName}/items | [EARLY ACCESS] ListPersonalItems: List the items in a personal workspace.
589
- *WorkspaceApi* | [**list_personal_workspaces**](docs/WorkspaceApi.md#list_personal_workspaces) | **GET** /api/workspaces/personal | [EARLY ACCESS] ListPersonalWorkspaces: List personal workspaces.
590
- *WorkspaceApi* | [**list_shared_items**](docs/WorkspaceApi.md#list_shared_items) | **GET** /api/workspaces/shared/{workspaceName}/items | [EARLY ACCESS] ListSharedItems: List the items in a shared workspace.
591
- *WorkspaceApi* | [**list_shared_workspaces**](docs/WorkspaceApi.md#list_shared_workspaces) | **GET** /api/workspaces/shared | [EARLY ACCESS] ListSharedWorkspaces: List shared workspaces.
592
- *WorkspaceApi* | [**update_personal_item**](docs/WorkspaceApi.md#update_personal_item) | **PUT** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EARLY ACCESS] UpdatePersonalItem: Update an item in a personal workspace.
593
- *WorkspaceApi* | [**update_personal_workspace**](docs/WorkspaceApi.md#update_personal_workspace) | **PUT** /api/workspaces/personal/{workspaceName} | [EARLY ACCESS] UpdatePersonalWorkspace: Update a personal workspace.
594
- *WorkspaceApi* | [**update_shared_item**](docs/WorkspaceApi.md#update_shared_item) | **PUT** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EARLY ACCESS] UpdateSharedItem: Update an item in a shared workspace.
595
- *WorkspaceApi* | [**update_shared_workspace**](docs/WorkspaceApi.md#update_shared_workspace) | **PUT** /api/workspaces/shared/{workspaceName} | [EARLY ACCESS] UpdateSharedWorkspace: Update a shared workspace.
579
+ *WorkspaceApi* | [**create_personal_item**](docs/WorkspaceApi.md#create_personal_item) | **POST** /api/workspaces/personal/{workspaceName}/items | [EXPERIMENTAL] CreatePersonalItem: Create a new item in a personal workspace.
580
+ *WorkspaceApi* | [**create_personal_workspace**](docs/WorkspaceApi.md#create_personal_workspace) | **POST** /api/workspaces/personal | [EXPERIMENTAL] CreatePersonalWorkspace: Create a new personal workspace.
581
+ *WorkspaceApi* | [**create_shared_item**](docs/WorkspaceApi.md#create_shared_item) | **POST** /api/workspaces/shared/{workspaceName}/items | [EXPERIMENTAL] CreateSharedItem: Create a new item in a shared workspace.
582
+ *WorkspaceApi* | [**create_shared_workspace**](docs/WorkspaceApi.md#create_shared_workspace) | **POST** /api/workspaces/shared | [EXPERIMENTAL] CreateSharedWorkspace: Create a new shared workspace.
583
+ *WorkspaceApi* | [**delete_personal_item**](docs/WorkspaceApi.md#delete_personal_item) | **DELETE** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EXPERIMENTAL] DeletePersonalItem: Delete an item from a personal workspace.
584
+ *WorkspaceApi* | [**delete_personal_workspace**](docs/WorkspaceApi.md#delete_personal_workspace) | **DELETE** /api/workspaces/personal/{workspaceName} | [EXPERIMENTAL] DeletePersonalWorkspace: Delete a personal workspace.
585
+ *WorkspaceApi* | [**delete_shared_item**](docs/WorkspaceApi.md#delete_shared_item) | **DELETE** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EXPERIMENTAL] DeleteSharedItem: Delete an item from a shared workspace.
586
+ *WorkspaceApi* | [**delete_shared_workspace**](docs/WorkspaceApi.md#delete_shared_workspace) | **DELETE** /api/workspaces/shared/{workspaceName} | [EXPERIMENTAL] DeleteSharedWorkspace: Delete a shared workspace.
587
+ *WorkspaceApi* | [**get_personal_item**](docs/WorkspaceApi.md#get_personal_item) | **GET** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EXPERIMENTAL] GetPersonalItem: Get a single personal workspace item.
588
+ *WorkspaceApi* | [**get_personal_workspace**](docs/WorkspaceApi.md#get_personal_workspace) | **GET** /api/workspaces/personal/{workspaceName} | [EXPERIMENTAL] GetPersonalWorkspace: Get a personal workspace.
589
+ *WorkspaceApi* | [**get_shared_item**](docs/WorkspaceApi.md#get_shared_item) | **GET** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EXPERIMENTAL] GetSharedItem: Get a single shared workspace item.
590
+ *WorkspaceApi* | [**get_shared_workspace**](docs/WorkspaceApi.md#get_shared_workspace) | **GET** /api/workspaces/shared/{workspaceName} | [EXPERIMENTAL] GetSharedWorkspace: Get a shared workspace.
591
+ *WorkspaceApi* | [**list_personal_items**](docs/WorkspaceApi.md#list_personal_items) | **GET** /api/workspaces/personal/{workspaceName}/items | [EXPERIMENTAL] ListPersonalItems: List the items in a personal workspace.
592
+ *WorkspaceApi* | [**list_personal_workspaces**](docs/WorkspaceApi.md#list_personal_workspaces) | **GET** /api/workspaces/personal | [EXPERIMENTAL] ListPersonalWorkspaces: List personal workspaces.
593
+ *WorkspaceApi* | [**list_shared_items**](docs/WorkspaceApi.md#list_shared_items) | **GET** /api/workspaces/shared/{workspaceName}/items | [EXPERIMENTAL] ListSharedItems: List the items in a shared workspace.
594
+ *WorkspaceApi* | [**list_shared_workspaces**](docs/WorkspaceApi.md#list_shared_workspaces) | **GET** /api/workspaces/shared | [EXPERIMENTAL] ListSharedWorkspaces: List shared workspaces.
595
+ *WorkspaceApi* | [**update_personal_item**](docs/WorkspaceApi.md#update_personal_item) | **PUT** /api/workspaces/personal/{workspaceName}/items/{itemName} | [EXPERIMENTAL] UpdatePersonalItem: Update an item in a personal workspace.
596
+ *WorkspaceApi* | [**update_personal_workspace**](docs/WorkspaceApi.md#update_personal_workspace) | **PUT** /api/workspaces/personal/{workspaceName} | [EXPERIMENTAL] UpdatePersonalWorkspace: Update a personal workspace.
597
+ *WorkspaceApi* | [**update_shared_item**](docs/WorkspaceApi.md#update_shared_item) | **PUT** /api/workspaces/shared/{workspaceName}/items/{itemName} | [EXPERIMENTAL] UpdateSharedItem: Update an item in a shared workspace.
598
+ *WorkspaceApi* | [**update_shared_workspace**](docs/WorkspaceApi.md#update_shared_workspace) | **PUT** /api/workspaces/shared/{workspaceName} | [EXPERIMENTAL] UpdateSharedWorkspace: Update a shared workspace.
596
599
 
597
600
 
598
601
  <a id="documentation-for-models"></a>
@@ -608,6 +611,7 @@ Class | Method | HTTP request | Description
608
611
  - [AborConfigurationRequest](docs/AborConfigurationRequest.md)
609
612
  - [AborProperties](docs/AborProperties.md)
610
613
  - [AborRequest](docs/AborRequest.md)
614
+ - [AcceptEstimateValuationPointResponse](docs/AcceptEstimateValuationPointResponse.md)
611
615
  - [AccessControlledAction](docs/AccessControlledAction.md)
612
616
  - [AccessControlledResource](docs/AccessControlledResource.md)
613
617
  - [AccessMetadataOperation](docs/AccessMetadataOperation.md)
@@ -796,6 +800,7 @@ Class | Method | HTTP request | Description
796
800
  - [CreateDateRequest](docs/CreateDateRequest.md)
797
801
  - [CreateDerivedPropertyDefinitionRequest](docs/CreateDerivedPropertyDefinitionRequest.md)
798
802
  - [CreateDerivedTransactionPortfolioRequest](docs/CreateDerivedTransactionPortfolioRequest.md)
803
+ - [CreateGroupReconciliationComparisonRulesetRequest](docs/CreateGroupReconciliationComparisonRulesetRequest.md)
799
804
  - [CreatePortfolioDetails](docs/CreatePortfolioDetails.md)
800
805
  - [CreatePortfolioGroupRequest](docs/CreatePortfolioGroupRequest.md)
801
806
  - [CreatePropertyDefinitionRequest](docs/CreatePropertyDefinitionRequest.md)
@@ -881,6 +886,7 @@ Class | Method | HTTP request | Description
881
886
  - [ElectionSpecification](docs/ElectionSpecification.md)
882
887
  - [EligibilityCalculation](docs/EligibilityCalculation.md)
883
888
  - [EmptyModelOptions](docs/EmptyModelOptions.md)
889
+ - [EntityChangeItem](docs/EntityChangeItem.md)
884
890
  - [EntityIdentifier](docs/EntityIdentifier.md)
885
891
  - [Equity](docs/Equity.md)
886
892
  - [EquityAllOfIdentifiers](docs/EquityAllOfIdentifiers.md)
@@ -935,6 +941,7 @@ Class | Method | HTTP request | Description
935
941
  - [FundConfiguration](docs/FundConfiguration.md)
936
942
  - [FundConfigurationProperties](docs/FundConfigurationProperties.md)
937
943
  - [FundConfigurationRequest](docs/FundConfigurationRequest.md)
944
+ - [FundDetails](docs/FundDetails.md)
938
945
  - [FundPnlBreakdown](docs/FundPnlBreakdown.md)
939
946
  - [FundPreviousNAV](docs/FundPreviousNAV.md)
940
947
  - [FundProperties](docs/FundProperties.md)
@@ -967,6 +974,7 @@ Class | Method | HTTP request | Description
967
974
  - [GeneralLedgerProfileMapping](docs/GeneralLedgerProfileMapping.md)
968
975
  - [GeneralLedgerProfileRequest](docs/GeneralLedgerProfileRequest.md)
969
976
  - [GeneralLedgerProfileResponse](docs/GeneralLedgerProfileResponse.md)
977
+ - [GeneratedEventDiagnostics](docs/GeneratedEventDiagnostics.md)
970
978
  - [GetCdsFlowConventionsResponse](docs/GetCdsFlowConventionsResponse.md)
971
979
  - [GetComplexMarketDataResponse](docs/GetComplexMarketDataResponse.md)
972
980
  - [GetCounterpartyAgreementResponse](docs/GetCounterpartyAgreementResponse.md)
@@ -989,6 +997,13 @@ Class | Method | HTTP request | Description
989
997
  - [GroupFilterStep](docs/GroupFilterStep.md)
990
998
  - [GroupFilterStepRequest](docs/GroupFilterStepRequest.md)
991
999
  - [GroupOfMarketDataKeyRules](docs/GroupOfMarketDataKeyRules.md)
1000
+ - [GroupReconciliationAggregateAttributeRule](docs/GroupReconciliationAggregateAttributeRule.md)
1001
+ - [GroupReconciliationAggregateComparisonRuleOperand](docs/GroupReconciliationAggregateComparisonRuleOperand.md)
1002
+ - [GroupReconciliationComparisonRuleStringValueMap](docs/GroupReconciliationComparisonRuleStringValueMap.md)
1003
+ - [GroupReconciliationComparisonRuleTolerance](docs/GroupReconciliationComparisonRuleTolerance.md)
1004
+ - [GroupReconciliationComparisonRuleset](docs/GroupReconciliationComparisonRuleset.md)
1005
+ - [GroupReconciliationCoreAttributeRule](docs/GroupReconciliationCoreAttributeRule.md)
1006
+ - [GroupReconciliationCoreComparisonRuleOperand](docs/GroupReconciliationCoreComparisonRuleOperand.md)
992
1007
  - [GroupedResultOfAddressKey](docs/GroupedResultOfAddressKey.md)
993
1008
  - [HoldingAdjustment](docs/HoldingAdjustment.md)
994
1009
  - [HoldingAdjustmentWithDate](docs/HoldingAdjustmentWithDate.md)
@@ -1353,6 +1368,7 @@ Class | Method | HTTP request | Description
1353
1368
  - [ResourceListOfConstituentsAdjustmentHeader](docs/ResourceListOfConstituentsAdjustmentHeader.md)
1354
1369
  - [ResourceListOfCorporateAction](docs/ResourceListOfCorporateAction.md)
1355
1370
  - [ResourceListOfDataType](docs/ResourceListOfDataType.md)
1371
+ - [ResourceListOfEntityChangeItem](docs/ResourceListOfEntityChangeItem.md)
1356
1372
  - [ResourceListOfExecution](docs/ResourceListOfExecution.md)
1357
1373
  - [ResourceListOfFeeRule](docs/ResourceListOfFeeRule.md)
1358
1374
  - [ResourceListOfGetCdsFlowConventionsResponse](docs/ResourceListOfGetCdsFlowConventionsResponse.md)
@@ -1475,6 +1491,8 @@ Class | Method | HTTP request | Description
1475
1491
  - [StructuredResultData](docs/StructuredResultData.md)
1476
1492
  - [StructuredResultDataId](docs/StructuredResultDataId.md)
1477
1493
  - [SubHoldingKeyValueEquals](docs/SubHoldingKeyValueEquals.md)
1494
+ - [SwapCashFlowEvent](docs/SwapCashFlowEvent.md)
1495
+ - [SwapPrincipalEvent](docs/SwapPrincipalEvent.md)
1478
1496
  - [TargetTaxLot](docs/TargetTaxLot.md)
1479
1497
  - [TargetTaxLotRequest](docs/TargetTaxLotRequest.md)
1480
1498
  - [TaxRule](docs/TaxRule.md)
@@ -1492,6 +1510,7 @@ Class | Method | HTTP request | Description
1492
1510
  - [TransactionConfigurationMovementDataRequest](docs/TransactionConfigurationMovementDataRequest.md)
1493
1511
  - [TransactionConfigurationTypeAlias](docs/TransactionConfigurationTypeAlias.md)
1494
1512
  - [TransactionCurrencyAndAmount](docs/TransactionCurrencyAndAmount.md)
1513
+ - [TransactionDiagnostics](docs/TransactionDiagnostics.md)
1495
1514
  - [TransactionFieldMap](docs/TransactionFieldMap.md)
1496
1515
  - [TransactionPrice](docs/TransactionPrice.md)
1497
1516
  - [TransactionPriceAndType](docs/TransactionPriceAndType.md)