lusid-sdk 2.1.892__py3-none-any.whl → 2.1.894__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.
@@ -58,30 +58,32 @@ class InvestmentAccountsApi:
58
58
 
59
59
 
60
60
  @overload
61
- async def get_investment_account(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestmentAccount: # noqa: E501
61
+ async def get_investment_account(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investment account entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestmentAccount: # noqa: E501
62
62
  ...
63
63
 
64
64
  @overload
65
- def get_investment_account(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestmentAccount: # noqa: E501
65
+ def get_investment_account(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investment account entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestmentAccount: # noqa: E501
66
66
  ...
67
67
 
68
68
  @validate_arguments
69
- def get_investment_account(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestmentAccount, Awaitable[InvestmentAccount]]: # noqa: E501
69
+ def get_investment_account(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investment account entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestmentAccount, Awaitable[InvestmentAccount]]: # noqa: E501
70
70
  """[EXPERIMENTAL] GetInvestmentAccount: Get Investment Account # noqa: E501
71
71
 
72
72
  Retrieve the definition of an investment account. # noqa: E501
73
73
  This method makes a synchronous HTTP request by default. To make an
74
74
  asynchronous HTTP request, please pass async_req=True
75
75
 
76
- >>> thread = api.get_investment_account(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
76
+ >>> thread = api.get_investment_account(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
77
77
  >>> result = thread.get()
78
78
 
79
- :param id_type_scope: Scope of the investment account identifier type. (required)
80
- :type id_type_scope: str
81
- :param id_type_code: Code of the investment account identifier type. (required)
82
- :type id_type_code: str
83
- :param code: Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account. (required)
84
- :type code: str
79
+ :param identifier_type: Code of the investment account identifier type. (required)
80
+ :type identifier_type: str
81
+ :param identifier_value: Code of the investment account under specified identifier type's scope and code. (required)
82
+ :type identifier_value: str
83
+ :param scope: The scope of the investment account entity. (required)
84
+ :type scope: str
85
+ :param identifier_scope: Scope of the investment account identifier type. (required)
86
+ :type identifier_scope: str
85
87
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".
86
88
  :type property_keys: List[str]
87
89
  :param effective_at: The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.
@@ -106,25 +108,27 @@ class InvestmentAccountsApi:
106
108
  raise ValueError(message)
107
109
  if async_req is not None:
108
110
  kwargs['async_req'] = async_req
109
- return self.get_investment_account_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
111
+ return self.get_investment_account_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
110
112
 
111
113
  @validate_arguments
112
- def get_investment_account_with_http_info(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
114
+ def get_investment_account_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investment account identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investment account under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investment account entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investment account identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
113
115
  """[EXPERIMENTAL] GetInvestmentAccount: Get Investment Account # noqa: E501
114
116
 
115
117
  Retrieve the definition of an investment account. # noqa: E501
116
118
  This method makes a synchronous HTTP request by default. To make an
117
119
  asynchronous HTTP request, please pass async_req=True
118
120
 
119
- >>> thread = api.get_investment_account_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
121
+ >>> thread = api.get_investment_account_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
120
122
  >>> result = thread.get()
121
123
 
122
- :param id_type_scope: Scope of the investment account identifier type. (required)
123
- :type id_type_scope: str
124
- :param id_type_code: Code of the investment account identifier type. (required)
125
- :type id_type_code: str
126
- :param code: Code of the investment account under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investment account. (required)
127
- :type code: str
124
+ :param identifier_type: Code of the investment account identifier type. (required)
125
+ :type identifier_type: str
126
+ :param identifier_value: Code of the investment account under specified identifier type's scope and code. (required)
127
+ :type identifier_value: str
128
+ :param scope: The scope of the investment account entity. (required)
129
+ :type scope: str
130
+ :param identifier_scope: Scope of the investment account identifier type. (required)
131
+ :type identifier_scope: str
128
132
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestmentAccount\" domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestmentAccount/ContactDetails/Address\".
129
133
  :type property_keys: List[str]
130
134
  :param effective_at: The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified.
@@ -160,9 +164,10 @@ class InvestmentAccountsApi:
160
164
  _params = locals()
161
165
 
162
166
  _all_params = [
163
- 'id_type_scope',
164
- 'id_type_code',
165
- 'code',
167
+ 'identifier_type',
168
+ 'identifier_value',
169
+ 'scope',
170
+ 'identifier_scope',
166
171
  'property_keys',
167
172
  'effective_at',
168
173
  'as_at',
@@ -195,18 +200,21 @@ class InvestmentAccountsApi:
195
200
 
196
201
  # process the path parameters
197
202
  _path_params = {}
198
- if _params['id_type_scope']:
199
- _path_params['idTypeScope'] = _params['id_type_scope']
203
+ if _params['identifier_type']:
204
+ _path_params['identifierType'] = _params['identifier_type']
200
205
 
201
- if _params['id_type_code']:
202
- _path_params['idTypeCode'] = _params['id_type_code']
203
-
204
- if _params['code']:
205
- _path_params['code'] = _params['code']
206
+ if _params['identifier_value']:
207
+ _path_params['identifierValue'] = _params['identifier_value']
206
208
 
207
209
 
208
210
  # process the query parameters
209
211
  _query_params = []
212
+ if _params.get('scope') is not None: # noqa: E501
213
+ _query_params.append(('scope', _params['scope']))
214
+
215
+ if _params.get('identifier_scope') is not None: # noqa: E501
216
+ _query_params.append(('identifierScope', _params['identifier_scope']))
217
+
210
218
  if _params.get('property_keys') is not None: # noqa: E501
211
219
  _query_params.append(('propertyKeys', _params['property_keys']))
212
220
  _collection_formats['propertyKeys'] = 'multi'
@@ -244,7 +252,7 @@ class InvestmentAccountsApi:
244
252
  }
245
253
 
246
254
  return self.api_client.call_api(
247
- '/api/investmentaccounts/{idTypeScope}/{idTypeCode}/{code}', 'GET',
255
+ '/api/investmentaccounts/{identifierType}/{identifierValue}', 'GET',
248
256
  _path_params,
249
257
  _query_params,
250
258
  _header_params,
@@ -59,30 +59,32 @@ class InvestorRecordsApi:
59
59
 
60
60
 
61
61
  @overload
62
- async def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
62
+ async def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
63
63
  ...
64
64
 
65
65
  @overload
66
- def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
66
+ def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
67
67
  ...
68
68
 
69
69
  @validate_arguments
70
- def delete_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
70
+ def delete_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
71
71
  """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
72
72
 
73
73
  Delete an investor record. Deletion will be valid from the investor record's creation datetime. This means that the investor record will no longer exist at any effective datetime from the asAt datetime of deletion. # noqa: E501
74
74
  This method makes a synchronous HTTP request by default. To make an
75
75
  asynchronous HTTP request, please pass async_req=True
76
76
 
77
- >>> thread = api.delete_investor_record(id_type_scope, id_type_code, code, async_req=True)
77
+ >>> thread = api.delete_investor_record(identifier_type, identifier_value, scope, identifier_scope, async_req=True)
78
78
  >>> result = thread.get()
79
79
 
80
- :param id_type_scope: The scope of the investor record identifier type. (required)
81
- :type id_type_scope: str
82
- :param id_type_code: The code of the investor record identifier type. (required)
83
- :type id_type_code: str
84
- :param code: Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete. (required)
85
- :type code: str
80
+ :param identifier_type: Code of the investor record identifier type. (required)
81
+ :type identifier_type: str
82
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
83
+ :type identifier_value: str
84
+ :param scope: The scope of the investor record entity. (required)
85
+ :type scope: str
86
+ :param identifier_scope: Scope of the investor record identifier type. (required)
87
+ :type identifier_scope: str
86
88
  :param async_req: Whether to execute the request asynchronously.
87
89
  :type async_req: bool, optional
88
90
  :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
@@ -99,25 +101,27 @@ class InvestorRecordsApi:
99
101
  raise ValueError(message)
100
102
  if async_req is not None:
101
103
  kwargs['async_req'] = async_req
102
- return self.delete_investor_record_with_http_info(id_type_scope, id_type_code, code, **kwargs) # noqa: E501
104
+ return self.delete_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, **kwargs) # noqa: E501
103
105
 
104
106
  @validate_arguments
105
- def delete_investor_record_with_http_info(self, id_type_scope : Annotated[StrictStr, Field(..., description="The scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="The code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete.")], **kwargs) -> ApiResponse: # noqa: E501
107
+ def delete_investor_record_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], **kwargs) -> ApiResponse: # noqa: E501
106
108
  """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
107
109
 
108
110
  Delete an investor record. Deletion will be valid from the investor record's creation datetime. This means that the investor record will no longer exist at any effective datetime from the asAt datetime of deletion. # noqa: E501
109
111
  This method makes a synchronous HTTP request by default. To make an
110
112
  asynchronous HTTP request, please pass async_req=True
111
113
 
112
- >>> thread = api.delete_investor_record_with_http_info(id_type_scope, id_type_code, code, async_req=True)
114
+ >>> thread = api.delete_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, async_req=True)
113
115
  >>> result = thread.get()
114
116
 
115
- :param id_type_scope: The scope of the investor record identifier type. (required)
116
- :type id_type_scope: str
117
- :param id_type_code: The code of the investor record identifier type. (required)
118
- :type id_type_code: str
119
- :param code: Code of the investor record under specified identifier type's scope and code. This together with defined identifier type uniquely identifies the investor record to delete. (required)
120
- :type code: str
117
+ :param identifier_type: Code of the investor record identifier type. (required)
118
+ :type identifier_type: str
119
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
120
+ :type identifier_value: str
121
+ :param scope: The scope of the investor record entity. (required)
122
+ :type scope: str
123
+ :param identifier_scope: Scope of the investor record identifier type. (required)
124
+ :type identifier_scope: str
121
125
  :param async_req: Whether to execute the request asynchronously.
122
126
  :type async_req: bool, optional
123
127
  :param _preload_content: if False, the ApiResponse.data will
@@ -145,9 +149,10 @@ class InvestorRecordsApi:
145
149
  _params = locals()
146
150
 
147
151
  _all_params = [
148
- 'id_type_scope',
149
- 'id_type_code',
150
- 'code'
152
+ 'identifier_type',
153
+ 'identifier_value',
154
+ 'scope',
155
+ 'identifier_scope'
151
156
  ]
152
157
  _all_params.extend(
153
158
  [
@@ -176,18 +181,21 @@ class InvestorRecordsApi:
176
181
 
177
182
  # process the path parameters
178
183
  _path_params = {}
179
- if _params['id_type_scope']:
180
- _path_params['idTypeScope'] = _params['id_type_scope']
184
+ if _params['identifier_type']:
185
+ _path_params['identifierType'] = _params['identifier_type']
181
186
 
182
- if _params['id_type_code']:
183
- _path_params['idTypeCode'] = _params['id_type_code']
184
-
185
- if _params['code']:
186
- _path_params['code'] = _params['code']
187
+ if _params['identifier_value']:
188
+ _path_params['identifierValue'] = _params['identifier_value']
187
189
 
188
190
 
189
191
  # process the query parameters
190
192
  _query_params = []
193
+ if _params.get('scope') is not None: # noqa: E501
194
+ _query_params.append(('scope', _params['scope']))
195
+
196
+ if _params.get('identifier_scope') is not None: # noqa: E501
197
+ _query_params.append(('identifierScope', _params['identifier_scope']))
198
+
191
199
  # process the header parameters
192
200
  _header_params = dict(_params.get('_headers', {}))
193
201
  # process the form parameters
@@ -208,7 +216,7 @@ class InvestorRecordsApi:
208
216
  }
209
217
 
210
218
  return self.api_client.call_api(
211
- '/api/investorrecords/{idTypeScope}/{idTypeCode}/{code}', 'DELETE',
219
+ '/api/investorrecords/{identifierType}/{identifierValue}', 'DELETE',
212
220
  _path_params,
213
221
  _query_params,
214
222
  _header_params,
@@ -227,30 +235,32 @@ class InvestorRecordsApi:
227
235
 
228
236
 
229
237
  @overload
230
- async def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestorRecord: # noqa: E501
238
+ async def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> InvestorRecord: # noqa: E501
231
239
  ...
232
240
 
233
241
  @overload
234
- def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestorRecord: # noqa: E501
242
+ def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> InvestorRecord: # noqa: E501
235
243
  ...
236
244
 
237
245
  @validate_arguments
238
- def get_investor_record(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestorRecord, Awaitable[InvestorRecord]]: # noqa: E501
246
+ def get_investor_record(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InvestorRecord, Awaitable[InvestorRecord]]: # noqa: E501
239
247
  """[EARLY ACCESS] GetInvestorRecord: Get Investor Record # noqa: E501
240
248
 
241
249
  Retrieve the definition of a investor record. # noqa: E501
242
250
  This method makes a synchronous HTTP request by default. To make an
243
251
  asynchronous HTTP request, please pass async_req=True
244
252
 
245
- >>> thread = api.get_investor_record(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
253
+ >>> thread = api.get_investor_record(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
246
254
  >>> result = thread.get()
247
255
 
248
- :param id_type_scope: Scope of the investor record identifier type. (required)
249
- :type id_type_scope: str
250
- :param id_type_code: Code of the investor record identifier type. (required)
251
- :type id_type_code: str
252
- :param code: Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record. (required)
253
- :type code: str
256
+ :param identifier_type: Code of the investor record identifier type. (required)
257
+ :type identifier_type: str
258
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
259
+ :type identifier_value: str
260
+ :param scope: The scope of the investor record entity. (required)
261
+ :type scope: str
262
+ :param identifier_scope: Scope of the investor record identifier type. (required)
263
+ :type identifier_scope: str
254
264
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".
255
265
  :type property_keys: List[str]
256
266
  :param effective_at: The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.
@@ -275,25 +285,27 @@ class InvestorRecordsApi:
275
285
  raise ValueError(message)
276
286
  if async_req is not None:
277
287
  kwargs['async_req'] = async_req
278
- return self.get_investor_record_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
288
+ return self.get_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, **kwargs) # noqa: E501
279
289
 
280
290
  @validate_arguments
281
- def get_investor_record_with_http_info(self, id_type_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], id_type_code : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], code : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
291
+ def get_investor_record_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="Code of the investor record identifier type.")], identifier_value : Annotated[StrictStr, Field(..., description="Code of the investor record under specified identifier type's scope and code.")], scope : Annotated[StrictStr, Field(..., description="The scope of the investor record entity.")], identifier_scope : Annotated[StrictStr, Field(..., description="Scope of the investor record identifier type.")], property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".")] = None, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the investor record. Defaults to return the latest version of the investor record if not specified.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the investor record in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
282
292
  """[EARLY ACCESS] GetInvestorRecord: Get Investor Record # noqa: E501
283
293
 
284
294
  Retrieve the definition of a investor record. # noqa: E501
285
295
  This method makes a synchronous HTTP request by default. To make an
286
296
  asynchronous HTTP request, please pass async_req=True
287
297
 
288
- >>> thread = api.get_investor_record_with_http_info(id_type_scope, id_type_code, code, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
298
+ >>> thread = api.get_investor_record_with_http_info(identifier_type, identifier_value, scope, identifier_scope, property_keys, effective_at, as_at, relationship_definition_ids, async_req=True)
289
299
  >>> result = thread.get()
290
300
 
291
- :param id_type_scope: Scope of the investor record identifier type. (required)
292
- :type id_type_scope: str
293
- :param id_type_code: Code of the investor record identifier type. (required)
294
- :type id_type_code: str
295
- :param code: Code of the investor record under specified identifier type's scope and code. This together with stated identifier type uniquely identifies the investor record. (required)
296
- :type code: str
301
+ :param identifier_type: Code of the investor record identifier type. (required)
302
+ :type identifier_type: str
303
+ :param identifier_value: Code of the investor record under specified identifier type's scope and code. (required)
304
+ :type identifier_value: str
305
+ :param scope: The scope of the investor record entity. (required)
306
+ :type scope: str
307
+ :param identifier_scope: Scope of the investor record identifier type. (required)
308
+ :type identifier_scope: str
297
309
  :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for found investor record, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \"InvestorRecord/ContactDetails/Address\".
298
310
  :type property_keys: List[str]
299
311
  :param effective_at: The effective datetime or cut label at which to retrieve the investor record. Defaults to the current LUSID system datetime if not specified.
@@ -329,9 +341,10 @@ class InvestorRecordsApi:
329
341
  _params = locals()
330
342
 
331
343
  _all_params = [
332
- 'id_type_scope',
333
- 'id_type_code',
334
- 'code',
344
+ 'identifier_type',
345
+ 'identifier_value',
346
+ 'scope',
347
+ 'identifier_scope',
335
348
  'property_keys',
336
349
  'effective_at',
337
350
  'as_at',
@@ -364,18 +377,21 @@ class InvestorRecordsApi:
364
377
 
365
378
  # process the path parameters
366
379
  _path_params = {}
367
- if _params['id_type_scope']:
368
- _path_params['idTypeScope'] = _params['id_type_scope']
380
+ if _params['identifier_type']:
381
+ _path_params['identifierType'] = _params['identifier_type']
369
382
 
370
- if _params['id_type_code']:
371
- _path_params['idTypeCode'] = _params['id_type_code']
372
-
373
- if _params['code']:
374
- _path_params['code'] = _params['code']
383
+ if _params['identifier_value']:
384
+ _path_params['identifierValue'] = _params['identifier_value']
375
385
 
376
386
 
377
387
  # process the query parameters
378
388
  _query_params = []
389
+ if _params.get('scope') is not None: # noqa: E501
390
+ _query_params.append(('scope', _params['scope']))
391
+
392
+ if _params.get('identifier_scope') is not None: # noqa: E501
393
+ _query_params.append(('identifierScope', _params['identifier_scope']))
394
+
379
395
  if _params.get('property_keys') is not None: # noqa: E501
380
396
  _query_params.append(('propertyKeys', _params['property_keys']))
381
397
  _collection_formats['propertyKeys'] = 'multi'
@@ -413,7 +429,7 @@ class InvestorRecordsApi:
413
429
  }
414
430
 
415
431
  return self.api_client.call_api(
416
- '/api/investorrecords/{idTypeScope}/{idTypeCode}/{code}', 'GET',
432
+ '/api/investorrecords/{identifierType}/{identifierValue}', 'GET',
417
433
  _path_params,
418
434
  _query_params,
419
435
  _header_params,
lusid/configuration.py CHANGED
@@ -445,7 +445,7 @@ class Configuration:
445
445
  return "Python SDK Debug Report:\n"\
446
446
  "OS: {env}\n"\
447
447
  "Python Version: {pyversion}\n"\
448
- "Version of the API: 0.11.8115\n"\
448
+ "Version of the API: 0.11.8122\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451
 
@@ -28,10 +28,11 @@ class AccountHolder(BaseModel):
28
28
  An Account Holder of an Investment Account. # noqa: E501
29
29
  """
30
30
  key: Optional[StrictStr] = Field(None,alias="key", description="A client-defined key used to identify the Account Holder, unique within the Investment Account")
31
+ scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope in which the Investor Record lies.")
31
32
  identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Single Account Holder identifier that should target the desired Investor Record.")
32
33
  entity_unique_id: Optional[StrictStr] = Field(None,alias="entityUniqueId", description="The unique InvestorRecord entity identifier")
33
34
  investor_record: Optional[InvestorRecord] = Field(None, alias="investorRecord")
34
- __properties = ["key", "identifiers", "entityUniqueId", "investorRecord"]
35
+ __properties = ["key", "scope", "identifiers", "entityUniqueId", "investorRecord"]
35
36
 
36
37
  class Config:
37
38
  """Pydantic configuration"""
@@ -80,6 +81,11 @@ class AccountHolder(BaseModel):
80
81
  if self.key is None and "key" in self.__fields_set__:
81
82
  _dict['key'] = None
82
83
 
84
+ # set to None if scope (nullable) is None
85
+ # and __fields_set__ contains the field
86
+ if self.scope is None and "scope" in self.__fields_set__:
87
+ _dict['scope'] = None
88
+
83
89
  # set to None if identifiers (nullable) is None
84
90
  # and __fields_set__ contains the field
85
91
  if self.identifiers is None and "identifiers" in self.__fields_set__:
@@ -103,6 +109,7 @@ class AccountHolder(BaseModel):
103
109
 
104
110
  _obj = AccountHolder.parse_obj({
105
111
  "key": obj.get("key"),
112
+ "scope": obj.get("scope"),
106
113
  "identifiers": dict(
107
114
  (_k, ModelProperty.from_dict(_v))
108
115
  for _k, _v in obj.get("identifiers").items()
@@ -27,8 +27,9 @@ class AccountHolderIdentifier(BaseModel):
27
27
  AccountHolderIdentifier
28
28
  """
29
29
  key: StrictStr = Field(...,alias="key", description="A client-defined key used to identify the Account Holder, unique within the Investment Account")
30
+ scope: StrictStr = Field(...,alias="scope", description="The scope in which the Investor Record lies.")
30
31
  identifiers: Dict[str, ModelProperty] = Field(..., description="Single Account Holder identifier that should target the desired Investor Record.")
31
- __properties = ["key", "identifiers"]
32
+ __properties = ["key", "scope", "identifiers"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -82,6 +83,7 @@ class AccountHolderIdentifier(BaseModel):
82
83
 
83
84
  _obj = AccountHolderIdentifier.parse_obj({
84
85
  "key": obj.get("key"),
86
+ "scope": obj.get("scope"),
85
87
  "identifiers": dict(
86
88
  (_k, ModelProperty.from_dict(_v))
87
89
  for _k, _v in obj.get("identifiers").items()
lusid/models/fee.py CHANGED
@@ -50,8 +50,9 @@ class Fee(BaseModel):
50
50
  version: Optional[Version] = None
51
51
  portfolio_id: Optional[ResourceId] = Field(None, alias="portfolioId")
52
52
  share_classes: Optional[conlist(StrictStr)] = Field(None, alias="shareClasses", description="The short codes of the ShareClasses that the Fee should be applied to. Optional: if this is null or empty, then the Fee will be divided between all the ShareClasses of the Fund according to the capital ratio.")
53
+ nav_type_code: Optional[StrictStr] = Field(None,alias="navTypeCode", description="When provided runs against the specified NAV Type, otherwise the Primary NAV Type will be used.")
53
54
  links: Optional[conlist(Link)] = None
54
- __properties = ["href", "feeCode", "feeTypeId", "displayName", "description", "origin", "calculationBase", "accrualCurrency", "treatment", "totalAnnualAccrualAmount", "feeRatePercentage", "payableFrequency", "businessDayConvention", "startDate", "endDate", "anchorDate", "properties", "version", "portfolioId", "shareClasses", "links"]
55
+ __properties = ["href", "feeCode", "feeTypeId", "displayName", "description", "origin", "calculationBase", "accrualCurrency", "treatment", "totalAnnualAccrualAmount", "feeRatePercentage", "payableFrequency", "businessDayConvention", "startDate", "endDate", "anchorDate", "properties", "version", "portfolioId", "shareClasses", "navTypeCode", "links"]
55
56
 
56
57
  class Config:
57
58
  """Pydantic configuration"""
@@ -156,6 +157,11 @@ class Fee(BaseModel):
156
157
  if self.share_classes is None and "share_classes" in self.__fields_set__:
157
158
  _dict['shareClasses'] = None
158
159
 
160
+ # set to None if nav_type_code (nullable) is None
161
+ # and __fields_set__ contains the field
162
+ if self.nav_type_code is None and "nav_type_code" in self.__fields_set__:
163
+ _dict['navTypeCode'] = None
164
+
159
165
  # set to None if links (nullable) is None
160
166
  # and __fields_set__ contains the field
161
167
  if self.links is None and "links" in self.__fields_set__:
@@ -198,6 +204,7 @@ class Fee(BaseModel):
198
204
  "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
199
205
  "portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
200
206
  "share_classes": obj.get("shareClasses"),
207
+ "nav_type_code": obj.get("navTypeCode"),
201
208
  "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
202
209
  })
203
210
  return _obj
@@ -31,19 +31,20 @@ class InvestmentAccount(BaseModel):
31
31
  """
32
32
  Representation of an Investment Account on the LUSID API # noqa: E501
33
33
  """
34
- lusid_investment_account_id: Optional[StrictStr] = Field(None,alias="lusidInvestmentAccountId", description="The unique LUSID Investment Account Identifier of the Investment Account.")
34
+ scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope in which the Investment Account lies.")
35
+ identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investment Account.")
35
36
  display_name: Optional[StrictStr] = Field(None,alias="displayName", description="The display name of the Investment Account")
36
37
  description: Optional[StrictStr] = Field(None,alias="description", description="The description of the Investment Account")
37
- identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investment Account.")
38
38
  account_type: Optional[StrictStr] = Field(None,alias="accountType", description="The type of the of the Investment Account.")
39
39
  account_holders: Optional[conlist(AccountHolder)] = Field(None, alias="accountHolders", description="The Account Holders of the Investment Account.")
40
40
  investment_portfolios: Optional[conlist(InvestmentPortfolio)] = Field(None, alias="investmentPortfolios", description="The Investment Portfolios of the Investment Account.")
41
+ lusid_investment_account_id: Optional[StrictStr] = Field(None,alias="lusidInvestmentAccountId", description="The unique LUSID Investment Account Identifier of the Investment Account.")
41
42
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investment Account.")
42
43
  relationships: Optional[conlist(Relationship)] = Field(None, description="A set of relationships associated to the Investment Account.")
43
44
  href: Optional[StrictStr] = Field(None,alias="href", description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
44
45
  version: Optional[Version] = None
45
46
  links: Optional[conlist(Link)] = None
46
- __properties = ["lusidInvestmentAccountId", "displayName", "description", "identifiers", "accountType", "accountHolders", "investmentPortfolios", "properties", "relationships", "href", "version", "links"]
47
+ __properties = ["scope", "identifiers", "displayName", "description", "accountType", "accountHolders", "investmentPortfolios", "lusidInvestmentAccountId", "properties", "relationships", "href", "version", "links"]
47
48
 
48
49
  class Config:
49
50
  """Pydantic configuration"""
@@ -122,10 +123,15 @@ class InvestmentAccount(BaseModel):
122
123
  if _item:
123
124
  _items.append(_item.to_dict())
124
125
  _dict['links'] = _items
125
- # set to None if lusid_investment_account_id (nullable) is None
126
+ # set to None if scope (nullable) is None
126
127
  # and __fields_set__ contains the field
127
- if self.lusid_investment_account_id is None and "lusid_investment_account_id" in self.__fields_set__:
128
- _dict['lusidInvestmentAccountId'] = None
128
+ if self.scope is None and "scope" in self.__fields_set__:
129
+ _dict['scope'] = None
130
+
131
+ # set to None if identifiers (nullable) is None
132
+ # and __fields_set__ contains the field
133
+ if self.identifiers is None and "identifiers" in self.__fields_set__:
134
+ _dict['identifiers'] = None
129
135
 
130
136
  # set to None if display_name (nullable) is None
131
137
  # and __fields_set__ contains the field
@@ -137,11 +143,6 @@ class InvestmentAccount(BaseModel):
137
143
  if self.description is None and "description" in self.__fields_set__:
138
144
  _dict['description'] = None
139
145
 
140
- # set to None if identifiers (nullable) is None
141
- # and __fields_set__ contains the field
142
- if self.identifiers is None and "identifiers" in self.__fields_set__:
143
- _dict['identifiers'] = None
144
-
145
146
  # set to None if account_type (nullable) is None
146
147
  # and __fields_set__ contains the field
147
148
  if self.account_type is None and "account_type" in self.__fields_set__:
@@ -157,6 +158,11 @@ class InvestmentAccount(BaseModel):
157
158
  if self.investment_portfolios is None and "investment_portfolios" in self.__fields_set__:
158
159
  _dict['investmentPortfolios'] = None
159
160
 
161
+ # set to None if lusid_investment_account_id (nullable) is None
162
+ # and __fields_set__ contains the field
163
+ if self.lusid_investment_account_id is None and "lusid_investment_account_id" in self.__fields_set__:
164
+ _dict['lusidInvestmentAccountId'] = None
165
+
160
166
  # set to None if properties (nullable) is None
161
167
  # and __fields_set__ contains the field
162
168
  if self.properties is None and "properties" in self.__fields_set__:
@@ -189,18 +195,19 @@ class InvestmentAccount(BaseModel):
189
195
  return InvestmentAccount.parse_obj(obj)
190
196
 
191
197
  _obj = InvestmentAccount.parse_obj({
192
- "lusid_investment_account_id": obj.get("lusidInvestmentAccountId"),
193
- "display_name": obj.get("displayName"),
194
- "description": obj.get("description"),
198
+ "scope": obj.get("scope"),
195
199
  "identifiers": dict(
196
200
  (_k, ModelProperty.from_dict(_v))
197
201
  for _k, _v in obj.get("identifiers").items()
198
202
  )
199
203
  if obj.get("identifiers") is not None
200
204
  else None,
205
+ "display_name": obj.get("displayName"),
206
+ "description": obj.get("description"),
201
207
  "account_type": obj.get("accountType"),
202
208
  "account_holders": [AccountHolder.from_dict(_item) for _item in obj.get("accountHolders")] if obj.get("accountHolders") is not None else None,
203
209
  "investment_portfolios": [InvestmentPortfolio.from_dict(_item) for _item in obj.get("investmentPortfolios")] if obj.get("investmentPortfolios") is not None else None,
210
+ "lusid_investment_account_id": obj.get("lusidInvestmentAccountId"),
204
211
  "properties": dict(
205
212
  (_k, ModelProperty.from_dict(_v))
206
213
  for _k, _v in obj.get("properties").items()
@@ -30,17 +30,18 @@ class InvestorRecord(BaseModel):
30
30
  """
31
31
  Representation of an Investor Record on the LUSID API # noqa: E501
32
32
  """
33
- lusid_investor_record_id: Optional[StrictStr] = Field(None,alias="lusidInvestorRecordId", description="The unique LUSID Investor Record Identifier of the Investor Record.")
33
+ scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope in which the Investor Record lies.")
34
+ identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investor Record.")
34
35
  display_name: Optional[StrictStr] = Field(None,alias="displayName", description="The display name of the Investor Record")
35
36
  description: Optional[StrictStr] = Field(None,alias="description", description="The description of the Investor Record")
36
37
  investor: Optional[Investor] = None
37
- identifiers: Optional[Dict[str, ModelProperty]] = Field(None, description="Unique client-defined identifiers of the Investor Record.")
38
+ lusid_investor_record_id: Optional[StrictStr] = Field(None,alias="lusidInvestorRecordId", description="The unique LUSID Investor Record Identifier of the Investor Record.")
38
39
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investor Record.")
39
40
  relationships: Optional[conlist(Relationship)] = Field(None, description="A set of relationships associated to the Investor Record.")
40
41
  href: Optional[StrictStr] = Field(None,alias="href", description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
41
42
  version: Optional[Version] = None
42
43
  links: Optional[conlist(Link)] = None
43
- __properties = ["lusidInvestorRecordId", "displayName", "description", "investor", "identifiers", "properties", "relationships", "href", "version", "links"]
44
+ __properties = ["scope", "identifiers", "displayName", "description", "investor", "lusidInvestorRecordId", "properties", "relationships", "href", "version", "links"]
44
45
 
45
46
  class Config:
46
47
  """Pydantic configuration"""
@@ -74,9 +75,6 @@ class InvestorRecord(BaseModel):
74
75
  exclude={
75
76
  },
76
77
  exclude_none=True)
77
- # override the default output from pydantic by calling `to_dict()` of investor
78
- if self.investor:
79
- _dict['investor'] = self.investor.to_dict()
80
78
  # override the default output from pydantic by calling `to_dict()` of each value in identifiers (dict)
81
79
  _field_dict = {}
82
80
  if self.identifiers:
@@ -84,6 +82,9 @@ class InvestorRecord(BaseModel):
84
82
  if self.identifiers[_key]:
85
83
  _field_dict[_key] = self.identifiers[_key].to_dict()
86
84
  _dict['identifiers'] = _field_dict
85
+ # override the default output from pydantic by calling `to_dict()` of investor
86
+ if self.investor:
87
+ _dict['investor'] = self.investor.to_dict()
87
88
  # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
88
89
  _field_dict = {}
89
90
  if self.properties:
@@ -108,10 +109,15 @@ class InvestorRecord(BaseModel):
108
109
  if _item:
109
110
  _items.append(_item.to_dict())
110
111
  _dict['links'] = _items
111
- # set to None if lusid_investor_record_id (nullable) is None
112
+ # set to None if scope (nullable) is None
112
113
  # and __fields_set__ contains the field
113
- if self.lusid_investor_record_id is None and "lusid_investor_record_id" in self.__fields_set__:
114
- _dict['lusidInvestorRecordId'] = None
114
+ if self.scope is None and "scope" in self.__fields_set__:
115
+ _dict['scope'] = None
116
+
117
+ # set to None if identifiers (nullable) is None
118
+ # and __fields_set__ contains the field
119
+ if self.identifiers is None and "identifiers" in self.__fields_set__:
120
+ _dict['identifiers'] = None
115
121
 
116
122
  # set to None if display_name (nullable) is None
117
123
  # and __fields_set__ contains the field
@@ -123,10 +129,10 @@ class InvestorRecord(BaseModel):
123
129
  if self.description is None and "description" in self.__fields_set__:
124
130
  _dict['description'] = None
125
131
 
126
- # set to None if identifiers (nullable) is None
132
+ # set to None if lusid_investor_record_id (nullable) is None
127
133
  # and __fields_set__ contains the field
128
- if self.identifiers is None and "identifiers" in self.__fields_set__:
129
- _dict['identifiers'] = None
134
+ if self.lusid_investor_record_id is None and "lusid_investor_record_id" in self.__fields_set__:
135
+ _dict['lusidInvestorRecordId'] = None
130
136
 
131
137
  # set to None if properties (nullable) is None
132
138
  # and __fields_set__ contains the field
@@ -160,16 +166,17 @@ class InvestorRecord(BaseModel):
160
166
  return InvestorRecord.parse_obj(obj)
161
167
 
162
168
  _obj = InvestorRecord.parse_obj({
163
- "lusid_investor_record_id": obj.get("lusidInvestorRecordId"),
164
- "display_name": obj.get("displayName"),
165
- "description": obj.get("description"),
166
- "investor": Investor.from_dict(obj.get("investor")) if obj.get("investor") is not None else None,
169
+ "scope": obj.get("scope"),
167
170
  "identifiers": dict(
168
171
  (_k, ModelProperty.from_dict(_v))
169
172
  for _k, _v in obj.get("identifiers").items()
170
173
  )
171
174
  if obj.get("identifiers") is not None
172
175
  else None,
176
+ "display_name": obj.get("displayName"),
177
+ "description": obj.get("description"),
178
+ "investor": Investor.from_dict(obj.get("investor")) if obj.get("investor") is not None else None,
179
+ "lusid_investor_record_id": obj.get("lusidInvestorRecordId"),
173
180
  "properties": dict(
174
181
  (_k, ModelProperty.from_dict(_v))
175
182
  for _k, _v in obj.get("properties").items()
@@ -30,7 +30,7 @@ class LoanPrincipalRepaymentEvent(InstrumentEvent):
30
30
  payment_date: Optional[datetime] = Field(None, alias="paymentDate", description="Date that the Principal is due to be paid.")
31
31
  currency: StrictStr = Field(...,alias="currency", description="Currency of the repayment.")
32
32
  lapse_elections: Optional[conlist(LapseElection)] = Field(None, alias="lapseElections", description="Election for controlling whether the Principal is paid automatically or not. Exactly one election must be provided.")
33
- fraction: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Fraction of the outstanding settled principal balance to be repaid. Must be between 0 and 1, inclusive. Defaults to 1 if not set. Ignored if the field Amount is set to a value different than zero. Note that if there is a repayment on an unsettled trade and the repayment is specified as a fraction, this repayment will not be applied to the unsettled position, as the fraction is always applied to the settled balance only.")
33
+ fraction: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Fraction of the outstanding settled principal balance to be repaid. Must be between 0 and 1, inclusive. Defaults to 1 if not set. Ignored if the field Amount is set to a value different than zero.")
34
34
  amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Amount to be repaid (independent of the fraction). This field is not used at all if not set or set to 0, in this case the fraction field will be used instead. Otherwise, the fraction field is ignored.")
35
35
  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, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent, EarlyRedemptionEvent, FutureMarkToMarketEvent, AdjustGlobalCommitmentEvent, ContractInitialisationEvent, DrawdownEvent, LoanInterestRepaymentEvent, UpdateDepositAmountEvent, LoanPrincipalRepaymentEvent, DepositInterestPaymentEvent, DepositCloseEvent, LoanFacilityContractRolloverEvent, RepurchaseOfferEvent, RepoPartialClosureEvent, RepoCashFlowEvent, FlexibleRepoInterestPaymentEvent, FlexibleRepoCashFlowEvent, FlexibleRepoCollateralEvent, ConversionEvent, FlexibleRepoPartialClosureEvent")
36
36
  additional_properties: Dict[str, Any] = {}
@@ -28,14 +28,15 @@ class UpsertInvestmentAccountRequest(BaseModel):
28
28
  """
29
29
  Request to create or update an investor record # noqa: E501
30
30
  """
31
+ scope: StrictStr = Field(...,alias="scope", description="The scope in which the Investment Account lies.")
31
32
  identifiers: Dict[str, ModelProperty] = Field(..., description="Unique client-defined identifiers of the Investment Account.")
32
- properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investment Account.")
33
33
  display_name: StrictStr = Field(...,alias="displayName", description="The display name of the Investment Account")
34
34
  description: Optional[StrictStr] = Field(None,alias="description", description="The description of the Investment Account")
35
35
  account_type: StrictStr = Field(...,alias="accountType", description="The type of the of the Investment Account.")
36
36
  account_holders: Optional[conlist(AccountHolderIdentifier)] = Field(None, alias="accountHolders", description="The identification of the account holders associated with this investment account")
37
37
  investment_portfolios: Optional[conlist(InvestmentPortfolioIdentifier)] = Field(None, alias="investmentPortfolios", description="The identification of the investment portfolios associated with this investment account")
38
- __properties = ["identifiers", "properties", "displayName", "description", "accountType", "accountHolders", "investmentPortfolios"]
38
+ properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investment Account.")
39
+ __properties = ["scope", "identifiers", "displayName", "description", "accountType", "accountHolders", "investmentPortfolios", "properties"]
39
40
 
40
41
  class Config:
41
42
  """Pydantic configuration"""
@@ -76,13 +77,6 @@ class UpsertInvestmentAccountRequest(BaseModel):
76
77
  if self.identifiers[_key]:
77
78
  _field_dict[_key] = self.identifiers[_key].to_dict()
78
79
  _dict['identifiers'] = _field_dict
79
- # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
80
- _field_dict = {}
81
- if self.properties:
82
- for _key in self.properties:
83
- if self.properties[_key]:
84
- _field_dict[_key] = self.properties[_key].to_dict()
85
- _dict['properties'] = _field_dict
86
80
  # override the default output from pydantic by calling `to_dict()` of each item in account_holders (list)
87
81
  _items = []
88
82
  if self.account_holders:
@@ -97,11 +91,13 @@ class UpsertInvestmentAccountRequest(BaseModel):
97
91
  if _item:
98
92
  _items.append(_item.to_dict())
99
93
  _dict['investmentPortfolios'] = _items
100
- # set to None if properties (nullable) is None
101
- # and __fields_set__ contains the field
102
- if self.properties is None and "properties" in self.__fields_set__:
103
- _dict['properties'] = None
104
-
94
+ # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
95
+ _field_dict = {}
96
+ if self.properties:
97
+ for _key in self.properties:
98
+ if self.properties[_key]:
99
+ _field_dict[_key] = self.properties[_key].to_dict()
100
+ _dict['properties'] = _field_dict
105
101
  # set to None if description (nullable) is None
106
102
  # and __fields_set__ contains the field
107
103
  if self.description is None and "description" in self.__fields_set__:
@@ -117,6 +113,11 @@ class UpsertInvestmentAccountRequest(BaseModel):
117
113
  if self.investment_portfolios is None and "investment_portfolios" in self.__fields_set__:
118
114
  _dict['investmentPortfolios'] = None
119
115
 
116
+ # set to None if properties (nullable) is None
117
+ # and __fields_set__ contains the field
118
+ if self.properties is None and "properties" in self.__fields_set__:
119
+ _dict['properties'] = None
120
+
120
121
  return _dict
121
122
 
122
123
  @classmethod
@@ -129,22 +130,23 @@ class UpsertInvestmentAccountRequest(BaseModel):
129
130
  return UpsertInvestmentAccountRequest.parse_obj(obj)
130
131
 
131
132
  _obj = UpsertInvestmentAccountRequest.parse_obj({
133
+ "scope": obj.get("scope"),
132
134
  "identifiers": dict(
133
135
  (_k, ModelProperty.from_dict(_v))
134
136
  for _k, _v in obj.get("identifiers").items()
135
137
  )
136
138
  if obj.get("identifiers") is not None
137
139
  else None,
140
+ "display_name": obj.get("displayName"),
141
+ "description": obj.get("description"),
142
+ "account_type": obj.get("accountType"),
143
+ "account_holders": [AccountHolderIdentifier.from_dict(_item) for _item in obj.get("accountHolders")] if obj.get("accountHolders") is not None else None,
144
+ "investment_portfolios": [InvestmentPortfolioIdentifier.from_dict(_item) for _item in obj.get("investmentPortfolios")] if obj.get("investmentPortfolios") is not None else None,
138
145
  "properties": dict(
139
146
  (_k, ModelProperty.from_dict(_v))
140
147
  for _k, _v in obj.get("properties").items()
141
148
  )
142
149
  if obj.get("properties") is not None
143
- else None,
144
- "display_name": obj.get("displayName"),
145
- "description": obj.get("description"),
146
- "account_type": obj.get("accountType"),
147
- "account_holders": [AccountHolderIdentifier.from_dict(_item) for _item in obj.get("accountHolders")] if obj.get("accountHolders") is not None else None,
148
- "investment_portfolios": [InvestmentPortfolioIdentifier.from_dict(_item) for _item in obj.get("investmentPortfolios")] if obj.get("investmentPortfolios") is not None else None
150
+ else None
149
151
  })
150
152
  return _obj
@@ -27,12 +27,13 @@ class UpsertInvestorRecordRequest(BaseModel):
27
27
  """
28
28
  Request to create or update an investor record # noqa: E501
29
29
  """
30
+ scope: StrictStr = Field(...,alias="scope", description="The scope in which the Investor Record lies.")
30
31
  identifiers: Dict[str, ModelProperty] = Field(..., description="Unique client-defined identifiers of the Investor Record.")
31
32
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties associated to the Investor Record.")
32
33
  display_name: StrictStr = Field(...,alias="displayName", description="The display name of the Investor Record")
33
34
  description: Optional[StrictStr] = Field(None,alias="description", description="The description of the Investor Record")
34
35
  investor: InvestorIdentifier = Field(...)
35
- __properties = ["identifiers", "properties", "displayName", "description", "investor"]
36
+ __properties = ["scope", "identifiers", "properties", "displayName", "description", "investor"]
36
37
 
37
38
  class Config:
38
39
  """Pydantic configuration"""
@@ -105,6 +106,7 @@ class UpsertInvestorRecordRequest(BaseModel):
105
106
  return UpsertInvestorRecordRequest.parse_obj(obj)
106
107
 
107
108
  _obj = UpsertInvestorRecordRequest.parse_obj({
109
+ "scope": obj.get("scope"),
108
110
  "identifiers": dict(
109
111
  (_k, ModelProperty.from_dict(_v))
110
112
  for _k, _v in obj.get("identifiers").items()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.892
3
+ Version: 2.1.894
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -339,11 +339,11 @@ Class | Method | HTTP request | Description
339
339
  *InstrumentsApi* | [**update_instrument_identifier**](docs/InstrumentsApi.md#update_instrument_identifier) | **POST** /api/instruments/{identifierType}/{identifier} | UpdateInstrumentIdentifier: Update instrument identifier
340
340
  *InstrumentsApi* | [**upsert_instruments**](docs/InstrumentsApi.md#upsert_instruments) | **POST** /api/instruments | UpsertInstruments: Upsert instruments
341
341
  *InstrumentsApi* | [**upsert_instruments_properties**](docs/InstrumentsApi.md#upsert_instruments_properties) | **POST** /api/instruments/$upsertproperties | UpsertInstrumentsProperties: Upsert instruments properties
342
- *InvestmentAccountsApi* | [**get_investment_account**](docs/InvestmentAccountsApi.md#get_investment_account) | **GET** /api/investmentaccounts/{idTypeScope}/{idTypeCode}/{code} | [EXPERIMENTAL] GetInvestmentAccount: Get Investment Account
342
+ *InvestmentAccountsApi* | [**get_investment_account**](docs/InvestmentAccountsApi.md#get_investment_account) | **GET** /api/investmentaccounts/{identifierType}/{identifierValue} | [EXPERIMENTAL] GetInvestmentAccount: Get Investment Account
343
343
  *InvestmentAccountsApi* | [**list_all_investment_accounts**](docs/InvestmentAccountsApi.md#list_all_investment_accounts) | **GET** /api/investmentaccounts | [EXPERIMENTAL] ListAllInvestmentAccounts: List Investment Accounts
344
344
  *InvestmentAccountsApi* | [**upsert_investment_accounts**](docs/InvestmentAccountsApi.md#upsert_investment_accounts) | **POST** /api/investmentaccounts/$batchUpsert | [EXPERIMENTAL] UpsertInvestmentAccounts: Upsert Investment Accounts
345
- *InvestorRecordsApi* | [**delete_investor_record**](docs/InvestorRecordsApi.md#delete_investor_record) | **DELETE** /api/investorrecords/{idTypeScope}/{idTypeCode}/{code} | [EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record
346
- *InvestorRecordsApi* | [**get_investor_record**](docs/InvestorRecordsApi.md#get_investor_record) | **GET** /api/investorrecords/{idTypeScope}/{idTypeCode}/{code} | [EARLY ACCESS] GetInvestorRecord: Get Investor Record
345
+ *InvestorRecordsApi* | [**delete_investor_record**](docs/InvestorRecordsApi.md#delete_investor_record) | **DELETE** /api/investorrecords/{identifierType}/{identifierValue} | [EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record
346
+ *InvestorRecordsApi* | [**get_investor_record**](docs/InvestorRecordsApi.md#get_investor_record) | **GET** /api/investorrecords/{identifierType}/{identifierValue} | [EARLY ACCESS] GetInvestorRecord: Get Investor Record
347
347
  *InvestorRecordsApi* | [**list_all_investor_records**](docs/InvestorRecordsApi.md#list_all_investor_records) | **GET** /api/investorrecords | [EARLY ACCESS] ListAllInvestorRecords: List Investor Records
348
348
  *InvestorRecordsApi* | [**upsert_investor_records**](docs/InvestorRecordsApi.md#upsert_investor_records) | **POST** /api/investorrecords/$batchUpsert | [EARLY ACCESS] UpsertInvestorRecords: Upsert investor records
349
349
  *LegacyComplianceApi* | [**delete_legacy_compliance_rule**](docs/LegacyComplianceApi.md#delete_legacy_compliance_rule) | **DELETE** /api/legacy/compliance/rules/{scope}/{code} | [EXPERIMENTAL] DeleteLegacyComplianceRule: Deletes a compliance rule.
@@ -35,8 +35,8 @@ lusid/api/identifier_definitions_api.py,sha256=x79uhIBI0BJITjwmE7oPMWFOtox60FrrL
35
35
  lusid/api/instrument_event_types_api.py,sha256=RHuGNd8Xf8x0vyvAUFwRNgEB_kpzQTtbsBwlFC3QJcs,79862
36
36
  lusid/api/instrument_events_api.py,sha256=o_VlUMrovreM3P6N84W5jMUrZmc6tVsvD7Ckhf05sfw,57764
37
37
  lusid/api/instruments_api.py,sha256=CWTVmAT4Z_myfrq68M0Ggggj193iUYvhsB2kqqeCjQo,299598
38
- lusid/api/investment_accounts_api.py,sha256=q4urxr1OBEZOsax3QXUY_fF987ZaoXZOX-05vrzbp1U,49364
39
- lusid/api/investor_records_api.py,sha256=_FOonKxHm1pcOyRmByN8HgcxWp-W10hU6il-SDyDkoo,58605
38
+ lusid/api/investment_accounts_api.py,sha256=WOKe67gQXmWAPDmZI1xMPmiKB1Zhz90LwXH4eBfPmjc,49853
39
+ lusid/api/investor_records_api.py,sha256=vQw-D819p_tCrAF0PNVpYTMHwtJe6LSomnKIG6lU_6c,59469
40
40
  lusid/api/legacy_compliance_api.py,sha256=DvApZDZ-_yzZ72e9oqKBK7Ey8oEaavGtw5cgxhEkV0s,93819
41
41
  lusid/api/legal_entities_api.py,sha256=LMmm184b6OJLJiWaKwTXiodtOgDMpKbaz1cl_tqWnnc,257633
42
42
  lusid/api/order_graph_api.py,sha256=-oaauVeAJxJsK6AHscON1nODEDbv8dcXlKNb6ilBOAU,44022
@@ -80,7 +80,7 @@ lusid/api/translation_api.py,sha256=xpRuTfwQvYBlWe6r_L2EI_uVpXqHFnEOim-i-kVQ85E,
80
80
  lusid/api/workspace_api.py,sha256=0pCNi3ZCRbIo0NXKa85XE7vtq0WV5YOKcQKvFlcLUaY,120708
81
81
  lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
82
82
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
83
- lusid/configuration.py,sha256=cl399ooHYjWF-pODYsohgZl0vQb1LPcBf7wkw3WpoKA,17972
83
+ lusid/configuration.py,sha256=gBT2Vzsb7vbCgwF249WvKvh5PUHoTTvxLEgFLOT8Tvk,17972
84
84
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
85
85
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
86
86
  lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
@@ -112,8 +112,8 @@ lusid/models/access_controlled_resource.py,sha256=PQJNVfo_bjC_ci8kLpwe6RxB0Fse3C
112
112
  lusid/models/access_metadata_operation.py,sha256=iym2rTJ1PiGu982kqKkLCCB_z5MWvOIOuixtlX1W704,6433
113
113
  lusid/models/access_metadata_value.py,sha256=vgXuxm4qA_XDSqE2mGdqOEyEAu5r6A6i-FPvh7-agf4,2591
114
114
  lusid/models/account.py,sha256=jvkJG5BYkn1ZtiYIvLqiKvgoNmRh-Zz86mRL3RN5dDo,7713
115
- lusid/models/account_holder.py,sha256=9_bODcjTogDD9g0_CDuK9w3QbD1LDksl6mwGuQJe06c,4408
116
- lusid/models/account_holder_identifier.py,sha256=uY94NgefUOYsdCABcw20757pnsOa6O2guFebu4QzvGA,3059
115
+ lusid/models/account_holder.py,sha256=czzURBsHJlWvFM-vQd-MiDcs1RZPgdTkXibuNJCbbbQ,4776
116
+ lusid/models/account_holder_identifier.py,sha256=bgsDdyHtOc5X02TstwYKOgfFGLCGfMYtzrP57_QqW3Y,3217
117
117
  lusid/models/account_properties.py,sha256=8z1CtWgpuCG67K1g6f-eGpVt0hnoBjIi56ADPoE92iU,4519
118
118
  lusid/models/accounted_transaction.py,sha256=LsffwdsikxR0nLMgsfg0GeRE-J1s_JnQCoO4PzaZE9k,3710
119
119
  lusid/models/accounting_method.py,sha256=Ei42z2hKpF_MkYlulycvPmbipAdCALy5vaSlxgrfhYw,1487
@@ -476,7 +476,7 @@ lusid/models/exotic_instrument.py,sha256=CVoMI836iyo62xe0-lSwaqJU6ND85epmUKkTvbp
476
476
  lusid/models/expanded_group.py,sha256=GwRUSLMp-of4RN2OETbvJ3zeGTnnVpn5ikKs_UOjveM,6177
477
477
  lusid/models/expiry_event.py,sha256=etz7UCo6sKkfBJbxgc9YnhPU6IwjAfjF4rq6ixz_2kk,11026
478
478
  lusid/models/external_fee_component_filter.py,sha256=-pD8c7ezkZId6UmI3137wvBvG6uvsmf_ccyACiQ0OOI,2402
479
- lusid/models/fee.py,sha256=KJJBaZYxCQAFIOeqHJM1rfM00o_JC5IPHB3s_FpIdpk,11257
479
+ lusid/models/fee.py,sha256=CLwOZptw9wJBdnPNfSXAG1x7Ml46njuCGCaTtf0jZ1k,11740
480
480
  lusid/models/fee_accrual.py,sha256=zZA-1xwj8qRqz5n1Tcqr6kZ_wLxck1K1oudBJOz66tI,4481
481
481
  lusid/models/fee_properties.py,sha256=_ngYeeFQ_K0NG0aGdTya541LKQphIExxWvqj9Iurv3Q,4479
482
482
  lusid/models/fee_request.py,sha256=pctiLVcVPdT2nXsL6UU46tGVpLzyn_4mQ43qdy2oU80,9799
@@ -667,12 +667,12 @@ lusid/models/interest_rate_swaption.py,sha256=PWP3P_rGVatMUUy4RMM83rxap0F-NeN_GY
667
667
  lusid/models/intermediate_compliance_step.py,sha256=n_y-NJKd4787d9W5b4_MBJ_9ShzH3q2zTA9AaeowM-Y,7723
668
668
  lusid/models/intermediate_compliance_step_request.py,sha256=Va1ew-xImnr6NuDGT6cvREZoF-WAaXs3LwlNvonnsrs,6829
669
669
  lusid/models/intermediate_securities_distribution_event.py,sha256=Ly4FI4ZEVA5FB8D-QMUO2Pcz-y4EERhrMWiQyE_HpSo,15032
670
- lusid/models/investment_account.py,sha256=g7dWOmwStNKsn1zaaNuovtWF64NVgEO2T1AQisY3dLc,10341
670
+ lusid/models/investment_account.py,sha256=1XYjv5r8UoFocia2uSGQi0s5gOiN9Fhcep0IqaZQSnk,10712
671
671
  lusid/models/investment_portfolio.py,sha256=1nl5w6N8CngWd8Q1bxV__BH1n8OcyK4kwXVq_c98ZRY,4012
672
672
  lusid/models/investment_portfolio_identifier.py,sha256=jdZfm9EXAUDhfGlZLTlu6JCzrCmb3vDP4Sh7tE_pUCw,2684
673
673
  lusid/models/investor.py,sha256=LN5oBu1vTZr_onADnq-SYdRPJUcPBGKWDAlLUeyIYfw,4643
674
674
  lusid/models/investor_identifier.py,sha256=1zC5vggOrPRpU2X4t8m5jpLoAnFnRYkE7HX9H2e0bxg,3327
675
- lusid/models/investor_record.py,sha256=K4tfet2yUeEXcs18wAJPKvnuXnjIpeg1HfC2FsHywAA,8194
675
+ lusid/models/investor_record.py,sha256=sW3XCaNyx1_3U3lzGLcTHb9bpjXLUerIFN8_wI1lcLg,8562
676
676
  lusid/models/ir_vol_cube_data.py,sha256=uJGOWjam6iYYa2zv-Zq3YEtBPFa-ceiLom6CmCYmxGo,9097
677
677
  lusid/models/ir_vol_dependency.py,sha256=KXlWve54ZYT7oD3L3nudagtHx70IYGSxNuZ-Fwlm13I,7758
678
678
  lusid/models/is_business_day_response.py,sha256=s2swRw2kvUrJtUF-tVG_lIR9sFqdPzgfk4acEs9ifm8,2395
@@ -696,7 +696,7 @@ lusid/models/loan_facility.py,sha256=6G5dtJNs5NhPj2IDT3AFuycp6MXPMwl1ETbPyrLvXyI
696
696
  lusid/models/loan_facility_contract_rollover_event.py,sha256=jzjpNdymbKE2o16HcnoW3nIN48kOguyMkamFuvzgTCg,12504
697
697
  lusid/models/loan_interest_repayment_event.py,sha256=OPmcm1z-OJFYUEwpTGPNxk7MA-sPPKDDB5SP0omzT2M,12811
698
698
  lusid/models/loan_period.py,sha256=aYoZLiXQRkjj0DWmXs4ihxHUxYW7Nc0-mfkFaSBAE4k,2383
699
- lusid/models/loan_principal_repayment_event.py,sha256=7PUtDOfSkvnidT98Pq0QTO45bGYSRpi_dgiNo-nHQPI,13713
699
+ lusid/models/loan_principal_repayment_event.py,sha256=sGnmbnAS7IK-pfoJp9uwolkvUqzLbQuBWHiYI6hlH90,13483
700
700
  lusid/models/lock_period_diary_entry_request.py,sha256=pqJQGtnL8Oy8WJ1St3QgA5HhESmvrunFPeBZ0fP9O3I,3126
701
701
  lusid/models/lusid_instrument.py,sha256=6F_phyy7Y7birWD_cb_rNpao46bAJbUicdihfdSbLBI,11346
702
702
  lusid/models/lusid_problem_details.py,sha256=BkzYYV7IX1vrdC8TZNika8RBXHp0s5HIUgq-Jh2Ohd0,4162
@@ -1293,9 +1293,9 @@ lusid/models/upsert_instrument_events_response.py,sha256=I9FaPNGzdWynFl9dlsC0MPn
1293
1293
  lusid/models/upsert_instrument_properties_response.py,sha256=huDpz_pCv4lvevSx17ESPhaCvY5DQB0cfyMbrRJ7DX0,3057
1294
1294
  lusid/models/upsert_instrument_property_request.py,sha256=0eItn57l4qpxeja4xql142VBy7Xe6y01Lqz2iDs0_TE,3553
1295
1295
  lusid/models/upsert_instruments_response.py,sha256=HlP534b08fwebDLOb96KXj4SH9Gdyj-gnPwEWwlK2Uc,7239
1296
- lusid/models/upsert_investment_account_request.py,sha256=aQ9OeM4tHOGTA_aVpGRubTPaaqigFr7arzfpYxc4KW0,6886
1296
+ lusid/models/upsert_investment_account_request.py,sha256=FeomJIEc2E4SakKXG6I6ct73ojietlHDhps3EnXQp6A,7047
1297
1297
  lusid/models/upsert_investment_accounts_response.py,sha256=WSnQ4TmoZDxI0GCyJYLCs5IaxZgXoNmjrZpSZouLXsc,5270
1298
- lusid/models/upsert_investor_record_request.py,sha256=2SF-_RVRlthinFmbJ3ZDymwqPb-ev-ev11kQ8sYVB-I,4885
1298
+ lusid/models/upsert_investor_record_request.py,sha256=bfX2pFoJEDjXK2tm42O6tqB4EN-ofWSa0eHacCOus_o,5043
1299
1299
  lusid/models/upsert_investor_records_response.py,sha256=8sz6LY3GZk_IsZbLYKRPv8fNrHolTOt3Tp2A98PSV4o,5228
1300
1300
  lusid/models/upsert_legal_entities_response.py,sha256=G6ez_E32nLfFrVPi7F6kkPOHPJKfhTqx4wOQvNAyvbY,5196
1301
1301
  lusid/models/upsert_legal_entity_access_metadata_request.py,sha256=-u-sbA9RBdMOZvibZNOktYBsWiCO6auWWIlC8AkHo6E,3073
@@ -1369,6 +1369,6 @@ lusid/models/year_month_day.py,sha256=gwSoxFwlD_wffKdddo1wfvAcLq3Cht3FHQidiaHzAA
1369
1369
  lusid/models/yield_curve_data.py,sha256=I1ZSWxHMgUxj9OQt6i9a4S91KB4_XtmrfFxpN_PV3YQ,9561
1370
1370
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1371
1371
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1372
- lusid_sdk-2.1.892.dist-info/METADATA,sha256=i1FXngupbvRTvP36Dru2wThBWsFAyoVWNqgSXv_GgB0,228776
1373
- lusid_sdk-2.1.892.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1374
- lusid_sdk-2.1.892.dist-info/RECORD,,
1372
+ lusid_sdk-2.1.894.dist-info/METADATA,sha256=Zd0HiFfb7j1Gxnzi0YIoLqxyMup-kUwxxi2w2ffR674,228779
1373
+ lusid_sdk-2.1.894.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1374
+ lusid_sdk-2.1.894.dist-info/RECORD,,