lusid-sdk 2.1.805__py3-none-any.whl → 2.1.807__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.
lusid/__init__.py CHANGED
@@ -89,6 +89,7 @@ from lusid.api.timelines_api import TimelinesApi
89
89
  from lusid.api.transaction_configuration_api import TransactionConfigurationApi
90
90
  from lusid.api.transaction_fees_api import TransactionFeesApi
91
91
  from lusid.api.transaction_portfolios_api import TransactionPortfoliosApi
92
+ from lusid.api.transfer_agency_api import TransferAgencyApi
92
93
  from lusid.api.translation_api import TranslationApi
93
94
  from lusid.api.workspace_api import WorkspaceApi
94
95
 
@@ -207,9 +208,12 @@ from lusid.models.bool_list_compliance_parameter import BoolListComplianceParame
207
208
  from lusid.models.branch_step import BranchStep
208
209
  from lusid.models.branch_step_request import BranchStepRequest
209
210
  from lusid.models.break_code_source import BreakCodeSource
211
+ from lusid.models.bucket import Bucket
210
212
  from lusid.models.bucketed_cash_flow_request import BucketedCashFlowRequest
211
213
  from lusid.models.bucketed_cash_flow_response import BucketedCashFlowResponse
212
214
  from lusid.models.bucketing_schedule import BucketingSchedule
215
+ from lusid.models.calculate_order_dates_request import CalculateOrderDatesRequest
216
+ from lusid.models.calculate_order_dates_response import CalculateOrderDatesResponse
213
217
  from lusid.models.calculation_info import CalculationInfo
214
218
  from lusid.models.calendar import Calendar
215
219
  from lusid.models.calendar_date import CalendarDate
@@ -437,6 +441,7 @@ from lusid.models.economic_dependency import EconomicDependency
437
441
  from lusid.models.economic_dependency_type import EconomicDependencyType
438
442
  from lusid.models.economic_dependency_with_complex_market_data import EconomicDependencyWithComplexMarketData
439
443
  from lusid.models.economic_dependency_with_quote import EconomicDependencyWithQuote
444
+ from lusid.models.economics import Economics
440
445
  from lusid.models.effective_range import EffectiveRange
441
446
  from lusid.models.election_specification import ElectionSpecification
442
447
  from lusid.models.eligibility_calculation import EligibilityCalculation
@@ -1007,6 +1012,7 @@ from lusid.models.resource_list_of_i_unit_definition_dto import ResourceListOfIU
1007
1012
  from lusid.models.resource_list_of_instrument_cash_flow import ResourceListOfInstrumentCashFlow
1008
1013
  from lusid.models.resource_list_of_instrument_event_holder import ResourceListOfInstrumentEventHolder
1009
1014
  from lusid.models.resource_list_of_instrument_id_type_descriptor import ResourceListOfInstrumentIdTypeDescriptor
1015
+ from lusid.models.resource_list_of_investor_record import ResourceListOfInvestorRecord
1010
1016
  from lusid.models.resource_list_of_legal_entity import ResourceListOfLegalEntity
1011
1017
  from lusid.models.resource_list_of_list_complex_market_data_with_meta_data_response import ResourceListOfListComplexMarketDataWithMetaDataResponse
1012
1018
  from lusid.models.resource_list_of_mapping import ResourceListOfMapping
@@ -1180,6 +1186,7 @@ from lusid.models.transaction_type_movement import TransactionTypeMovement
1180
1186
  from lusid.models.transaction_type_property_mapping import TransactionTypePropertyMapping
1181
1187
  from lusid.models.transaction_type_request import TransactionTypeRequest
1182
1188
  from lusid.models.transactions_reconciliations_response import TransactionsReconciliationsResponse
1189
+ from lusid.models.transfer_agency_dates import TransferAgencyDates
1183
1190
  from lusid.models.transition_event import TransitionEvent
1184
1191
  from lusid.models.translate_entities_inlined_request import TranslateEntitiesInlinedRequest
1185
1192
  from lusid.models.translate_entities_request import TranslateEntitiesRequest
@@ -1407,6 +1414,7 @@ __all__ = [
1407
1414
  "TransactionConfigurationApi",
1408
1415
  "TransactionFeesApi",
1409
1416
  "TransactionPortfoliosApi",
1417
+ "TransferAgencyApi",
1410
1418
  "TranslationApi",
1411
1419
  "WorkspaceApi",
1412
1420
  "A2BBreakdown",
@@ -1515,9 +1523,12 @@ __all__ = [
1515
1523
  "BranchStep",
1516
1524
  "BranchStepRequest",
1517
1525
  "BreakCodeSource",
1526
+ "Bucket",
1518
1527
  "BucketedCashFlowRequest",
1519
1528
  "BucketedCashFlowResponse",
1520
1529
  "BucketingSchedule",
1530
+ "CalculateOrderDatesRequest",
1531
+ "CalculateOrderDatesResponse",
1521
1532
  "CalculationInfo",
1522
1533
  "Calendar",
1523
1534
  "CalendarDate",
@@ -1745,6 +1756,7 @@ __all__ = [
1745
1756
  "EconomicDependencyType",
1746
1757
  "EconomicDependencyWithComplexMarketData",
1747
1758
  "EconomicDependencyWithQuote",
1759
+ "Economics",
1748
1760
  "EffectiveRange",
1749
1761
  "ElectionSpecification",
1750
1762
  "EligibilityCalculation",
@@ -2315,6 +2327,7 @@ __all__ = [
2315
2327
  "ResourceListOfInstrumentCashFlow",
2316
2328
  "ResourceListOfInstrumentEventHolder",
2317
2329
  "ResourceListOfInstrumentIdTypeDescriptor",
2330
+ "ResourceListOfInvestorRecord",
2318
2331
  "ResourceListOfLegalEntity",
2319
2332
  "ResourceListOfListComplexMarketDataWithMetaDataResponse",
2320
2333
  "ResourceListOfMapping",
@@ -2488,6 +2501,7 @@ __all__ = [
2488
2501
  "TransactionTypePropertyMapping",
2489
2502
  "TransactionTypeRequest",
2490
2503
  "TransactionsReconciliationsResponse",
2504
+ "TransferAgencyDates",
2491
2505
  "TransitionEvent",
2492
2506
  "TranslateEntitiesInlinedRequest",
2493
2507
  "TranslateEntitiesRequest",
lusid/api/__init__.py CHANGED
@@ -73,6 +73,7 @@ from lusid.api.timelines_api import TimelinesApi
73
73
  from lusid.api.transaction_configuration_api import TransactionConfigurationApi
74
74
  from lusid.api.transaction_fees_api import TransactionFeesApi
75
75
  from lusid.api.transaction_portfolios_api import TransactionPortfoliosApi
76
+ from lusid.api.transfer_agency_api import TransferAgencyApi
76
77
  from lusid.api.translation_api import TranslationApi
77
78
  from lusid.api.workspace_api import WorkspaceApi
78
79
 
@@ -150,6 +151,7 @@ __all__ = [
150
151
  "TransactionConfigurationApi",
151
152
  "TransactionFeesApi",
152
153
  "TransactionPortfoliosApi",
154
+ "TransferAgencyApi",
153
155
  "TranslationApi",
154
156
  "WorkspaceApi"
155
157
  ]
@@ -22,12 +22,13 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from datetime import datetime
24
24
 
25
- from pydantic.v1 import Field, StrictStr, conlist, constr, validator
25
+ from pydantic.v1 import Field, StrictStr, conint, conlist, constr, validator
26
26
 
27
27
  from typing import Dict, Optional
28
28
 
29
29
  from lusid.models.deleted_entity_response import DeletedEntityResponse
30
30
  from lusid.models.investor_record import InvestorRecord
31
+ from lusid.models.resource_list_of_investor_record import ResourceListOfInvestorRecord
31
32
  from lusid.models.upsert_investor_record_request import UpsertInvestorRecordRequest
32
33
  from lusid.models.upsert_investor_records_response import UpsertInvestorRecordsResponse
33
34
 
@@ -67,7 +68,7 @@ class InvestorRecordsApi:
67
68
 
68
69
  @validate_arguments
69
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
- """DeleteInvestorRecord: Delete Investor Record # noqa: E501
71
+ """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
71
72
 
72
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
73
74
  This method makes a synchronous HTTP request by default. To make an
@@ -102,7 +103,7 @@ class InvestorRecordsApi:
102
103
 
103
104
  @validate_arguments
104
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
105
- """DeleteInvestorRecord: Delete Investor Record # noqa: E501
106
+ """[EARLY ACCESS] DeleteInvestorRecord: Delete Investor Record # noqa: E501
106
107
 
107
108
  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
108
109
  This method makes a synchronous HTTP request by default. To make an
@@ -430,6 +431,220 @@ class InvestorRecordsApi:
430
431
  _request_auth=_params.get('_request_auth'))
431
432
 
432
433
 
434
+ @overload
435
+ async def list_all_investor_records(self, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, 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 each 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, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ResourceListOfInvestorRecord: # noqa: E501
436
+ ...
437
+
438
+ @overload
439
+ def list_all_investor_records(self, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, 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 each 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, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfInvestorRecord: # noqa: E501
440
+ ...
441
+
442
+ @validate_arguments
443
+ def list_all_investor_records(self, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, 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 each 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, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfInvestorRecord, Awaitable[ResourceListOfInvestorRecord]]: # noqa: E501
444
+ """[EARLY ACCESS] ListAllInvestorRecords: List Investor Records # noqa: E501
445
+
446
+ List all investor records which the user is entitled to see. # noqa: E501
447
+ This method makes a synchronous HTTP request by default. To make an
448
+ asynchronous HTTP request, please pass async_req=True
449
+
450
+ >>> thread = api.list_all_investor_records(effective_at, as_at, page, limit, filter, sort_by, property_keys, relationship_definition_ids, async_req=True)
451
+ >>> result = thread.get()
452
+
453
+ :param effective_at: The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.
454
+ :type effective_at: str
455
+ :param as_at: The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.
456
+ :type as_at: datetime
457
+ :param page: The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.
458
+ :type page: str
459
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.
460
+ :type limit: int
461
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
462
+ :type filter: str
463
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
464
+ :type sort_by: List[str]
465
+ :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for each 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\".
466
+ :type property_keys: List[str]
467
+ :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
468
+ :type relationship_definition_ids: List[str]
469
+ :param async_req: Whether to execute the request asynchronously.
470
+ :type async_req: bool, optional
471
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
472
+ :param opts: Configuration options for this request
473
+ :type opts: ConfigurationOptions, optional
474
+ :return: Returns the result object.
475
+ If the method is called asynchronously,
476
+ returns the request thread.
477
+ :rtype: ResourceListOfInvestorRecord
478
+ """
479
+ kwargs['_return_http_data_only'] = True
480
+ if '_preload_content' in kwargs:
481
+ message = "Error! Please call the list_all_investor_records_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
482
+ raise ValueError(message)
483
+ if async_req is not None:
484
+ kwargs['async_req'] = async_req
485
+ return self.list_all_investor_records_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, relationship_definition_ids, **kwargs) # noqa: E501
486
+
487
+ @validate_arguments
488
+ def list_all_investor_records_with_http_info(self, effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, 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 each 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, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
489
+ """[EARLY ACCESS] ListAllInvestorRecords: List Investor Records # noqa: E501
490
+
491
+ List all investor records which the user is entitled to see. # noqa: E501
492
+ This method makes a synchronous HTTP request by default. To make an
493
+ asynchronous HTTP request, please pass async_req=True
494
+
495
+ >>> thread = api.list_all_investor_records_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, relationship_definition_ids, async_req=True)
496
+ >>> result = thread.get()
497
+
498
+ :param effective_at: The effective datetime or cut label at which to list the investor records. Defaults to the current LUSID system datetime if not specified.
499
+ :type effective_at: str
500
+ :param as_at: The asAt datetime at which to list the investor records. Defaults to return the latest version of each investor records if not specified.
501
+ :type as_at: datetime
502
+ :param page: The pagination token to use to continue listing investor records from a previous call to list investor records. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.
503
+ :type page: str
504
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified.
505
+ :type limit: int
506
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
507
+ :type filter: str
508
+ :param sort_by: A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".
509
+ :type sort_by: List[str]
510
+ :param property_keys: A list of property keys or identifier types (as property keys) from the \"InvestorRecord\" domain to include for each 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\".
511
+ :type property_keys: List[str]
512
+ :param relationship_definition_ids: A list of relationship definitions that are used to decorate related entities onto each portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
513
+ :type relationship_definition_ids: List[str]
514
+ :param async_req: Whether to execute the request asynchronously.
515
+ :type async_req: bool, optional
516
+ :param _preload_content: if False, the ApiResponse.data will
517
+ be set to none and raw_data will store the
518
+ HTTP response body without reading/decoding.
519
+ Default is True.
520
+ :type _preload_content: bool, optional
521
+ :param _return_http_data_only: response data instead of ApiResponse
522
+ object with status code, headers, etc
523
+ :type _return_http_data_only: bool, optional
524
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
525
+ :param opts: Configuration options for this request
526
+ :type opts: ConfigurationOptions, optional
527
+ :param _request_auth: set to override the auth_settings for an a single
528
+ request; this effectively ignores the authentication
529
+ in the spec for a single request.
530
+ :type _request_auth: dict, optional
531
+ :type _content_type: string, optional: force content-type for the request
532
+ :return: Returns the result object.
533
+ If the method is called asynchronously,
534
+ returns the request thread.
535
+ :rtype: tuple(ResourceListOfInvestorRecord, status_code(int), headers(HTTPHeaderDict))
536
+ """
537
+
538
+ _params = locals()
539
+
540
+ _all_params = [
541
+ 'effective_at',
542
+ 'as_at',
543
+ 'page',
544
+ 'limit',
545
+ 'filter',
546
+ 'sort_by',
547
+ 'property_keys',
548
+ 'relationship_definition_ids'
549
+ ]
550
+ _all_params.extend(
551
+ [
552
+ 'async_req',
553
+ '_return_http_data_only',
554
+ '_preload_content',
555
+ '_request_timeout',
556
+ '_request_auth',
557
+ '_content_type',
558
+ '_headers',
559
+ 'opts'
560
+ ]
561
+ )
562
+
563
+ # validate the arguments
564
+ for _key, _val in _params['kwargs'].items():
565
+ if _key not in _all_params:
566
+ raise ApiTypeError(
567
+ "Got an unexpected keyword argument '%s'"
568
+ " to method list_all_investor_records" % _key
569
+ )
570
+ _params[_key] = _val
571
+ del _params['kwargs']
572
+
573
+ _collection_formats = {}
574
+
575
+ # process the path parameters
576
+ _path_params = {}
577
+
578
+ # process the query parameters
579
+ _query_params = []
580
+ if _params.get('effective_at') is not None: # noqa: E501
581
+ _query_params.append(('effectiveAt', _params['effective_at']))
582
+
583
+ if _params.get('as_at') is not None: # noqa: E501
584
+ if isinstance(_params['as_at'], datetime):
585
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
586
+ else:
587
+ _query_params.append(('asAt', _params['as_at']))
588
+
589
+ if _params.get('page') is not None: # noqa: E501
590
+ _query_params.append(('page', _params['page']))
591
+
592
+ if _params.get('limit') is not None: # noqa: E501
593
+ _query_params.append(('limit', _params['limit']))
594
+
595
+ if _params.get('filter') is not None: # noqa: E501
596
+ _query_params.append(('filter', _params['filter']))
597
+
598
+ if _params.get('sort_by') is not None: # noqa: E501
599
+ _query_params.append(('sortBy', _params['sort_by']))
600
+ _collection_formats['sortBy'] = 'multi'
601
+
602
+ if _params.get('property_keys') is not None: # noqa: E501
603
+ _query_params.append(('propertyKeys', _params['property_keys']))
604
+ _collection_formats['propertyKeys'] = 'multi'
605
+
606
+ if _params.get('relationship_definition_ids') is not None: # noqa: E501
607
+ _query_params.append(('relationshipDefinitionIds', _params['relationship_definition_ids']))
608
+ _collection_formats['relationshipDefinitionIds'] = 'multi'
609
+
610
+ # process the header parameters
611
+ _header_params = dict(_params.get('_headers', {}))
612
+ # process the form parameters
613
+ _form_params = []
614
+ _files = {}
615
+ # process the body parameter
616
+ _body_params = None
617
+ # set the HTTP header `Accept`
618
+ _header_params['Accept'] = self.api_client.select_header_accept(
619
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
620
+
621
+ # authentication setting
622
+ _auth_settings = ['oauth2'] # noqa: E501
623
+
624
+ _response_types_map = {
625
+ '200': "ResourceListOfInvestorRecord",
626
+ '400': "LusidValidationProblemDetails",
627
+ }
628
+
629
+ return self.api_client.call_api(
630
+ '/api/investorrecords', 'GET',
631
+ _path_params,
632
+ _query_params,
633
+ _header_params,
634
+ body=_body_params,
635
+ post_params=_form_params,
636
+ files=_files,
637
+ response_types_map=_response_types_map,
638
+ auth_settings=_auth_settings,
639
+ async_req=_params.get('async_req'),
640
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
641
+ _preload_content=_params.get('_preload_content', True),
642
+ _request_timeout=_params.get('_request_timeout'),
643
+ opts=_params.get('opts'),
644
+ collection_formats=_collection_formats,
645
+ _request_auth=_params.get('_request_auth'))
646
+
647
+
433
648
  @overload
434
649
  async def upsert_investor_records(self, success_mode : Annotated[StrictStr, Field(..., description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")], request_body : Annotated[Dict[str, UpsertInvestorRecordRequest], Field(..., description="A collection of requests to create or update Investor Records.")], **kwargs) -> UpsertInvestorRecordsResponse: # noqa: E501
435
650
  ...
@@ -0,0 +1,212 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ import re # noqa: F401
16
+ import io
17
+ import warnings
18
+
19
+ from pydantic.v1 import validate_arguments, ValidationError
20
+ from typing import overload, Optional, Union, Awaitable
21
+
22
+ from typing_extensions import Annotated
23
+ from pydantic.v1 import Field
24
+
25
+ from typing import Dict
26
+
27
+ from lusid.models.calculate_order_dates_request import CalculateOrderDatesRequest
28
+ from lusid.models.calculate_order_dates_response import CalculateOrderDatesResponse
29
+
30
+ from lusid.api_client import ApiClient
31
+ from lusid.api_response import ApiResponse
32
+ from lusid.exceptions import ( # noqa: F401
33
+ ApiTypeError,
34
+ ApiValueError
35
+ )
36
+ from lusid.extensions.configuration_options import ConfigurationOptions
37
+
38
+ # ensure templated type usages are imported
39
+ from pydantic.v1 import Field, StrictStr
40
+ from typing import Optional
41
+ from typing_extensions import Annotated
42
+
43
+ class TransferAgencyApi:
44
+ """NOTE: This class is auto generated by OpenAPI Generator
45
+ Ref: https://openapi-generator.tech
46
+
47
+ Do not edit the class manually.
48
+ """
49
+
50
+ def __init__(self, api_client=None) -> None:
51
+ if api_client is None:
52
+ api_client = ApiClient.get_default()
53
+ self.api_client = api_client
54
+
55
+
56
+ @overload
57
+ async def calculate_order_dates(self, request_body : Annotated[Dict[str, CalculateOrderDatesRequest], Field(..., description="The request containing the dates used for calculation")], **kwargs) -> CalculateOrderDatesResponse: # noqa: E501
58
+ ...
59
+
60
+ @overload
61
+ def calculate_order_dates(self, request_body : Annotated[Dict[str, CalculateOrderDatesRequest], Field(..., description="The request containing the dates used for calculation")], async_req: Optional[bool]=True, **kwargs) -> CalculateOrderDatesResponse: # noqa: E501
62
+ ...
63
+
64
+ @validate_arguments
65
+ def calculate_order_dates(self, request_body : Annotated[Dict[str, CalculateOrderDatesRequest], Field(..., description="The request containing the dates used for calculation")], async_req: Optional[bool]=None, **kwargs) -> Union[CalculateOrderDatesResponse, Awaitable[CalculateOrderDatesResponse]]: # noqa: E501
66
+ """[EXPERIMENTAL] CalculateOrderDates: Calculate the key dates associated with transfer agency orders # noqa: E501
67
+
68
+ The response contains both the collection of successfully calculated dates and any failed calculations, each in the form of a dictionary keyed by the request's keys. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
69
+ This method makes a synchronous HTTP request by default. To make an
70
+ asynchronous HTTP request, please pass async_req=True
71
+
72
+ >>> thread = api.calculate_order_dates(request_body, async_req=True)
73
+ >>> result = thread.get()
74
+
75
+ :param request_body: The request containing the dates used for calculation (required)
76
+ :type request_body: Dict[str, CalculateOrderDatesRequest]
77
+ :param async_req: Whether to execute the request asynchronously.
78
+ :type async_req: bool, optional
79
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
80
+ :param opts: Configuration options for this request
81
+ :type opts: ConfigurationOptions, optional
82
+ :return: Returns the result object.
83
+ If the method is called asynchronously,
84
+ returns the request thread.
85
+ :rtype: CalculateOrderDatesResponse
86
+ """
87
+ kwargs['_return_http_data_only'] = True
88
+ if '_preload_content' in kwargs:
89
+ message = "Error! Please call the calculate_order_dates_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
90
+ raise ValueError(message)
91
+ if async_req is not None:
92
+ kwargs['async_req'] = async_req
93
+ return self.calculate_order_dates_with_http_info(request_body, **kwargs) # noqa: E501
94
+
95
+ @validate_arguments
96
+ def calculate_order_dates_with_http_info(self, request_body : Annotated[Dict[str, CalculateOrderDatesRequest], Field(..., description="The request containing the dates used for calculation")], **kwargs) -> ApiResponse: # noqa: E501
97
+ """[EXPERIMENTAL] CalculateOrderDates: Calculate the key dates associated with transfer agency orders # noqa: E501
98
+
99
+ The response contains both the collection of successfully calculated dates and any failed calculations, each in the form of a dictionary keyed by the request's keys. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
100
+ This method makes a synchronous HTTP request by default. To make an
101
+ asynchronous HTTP request, please pass async_req=True
102
+
103
+ >>> thread = api.calculate_order_dates_with_http_info(request_body, async_req=True)
104
+ >>> result = thread.get()
105
+
106
+ :param request_body: The request containing the dates used for calculation (required)
107
+ :type request_body: Dict[str, CalculateOrderDatesRequest]
108
+ :param async_req: Whether to execute the request asynchronously.
109
+ :type async_req: bool, optional
110
+ :param _preload_content: if False, the ApiResponse.data will
111
+ be set to none and raw_data will store the
112
+ HTTP response body without reading/decoding.
113
+ Default is True.
114
+ :type _preload_content: bool, optional
115
+ :param _return_http_data_only: response data instead of ApiResponse
116
+ object with status code, headers, etc
117
+ :type _return_http_data_only: bool, optional
118
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
119
+ :param opts: Configuration options for this request
120
+ :type opts: ConfigurationOptions, optional
121
+ :param _request_auth: set to override the auth_settings for an a single
122
+ request; this effectively ignores the authentication
123
+ in the spec for a single request.
124
+ :type _request_auth: dict, optional
125
+ :type _content_type: string, optional: force content-type for the request
126
+ :return: Returns the result object.
127
+ If the method is called asynchronously,
128
+ returns the request thread.
129
+ :rtype: tuple(CalculateOrderDatesResponse, status_code(int), headers(HTTPHeaderDict))
130
+ """
131
+
132
+ _params = locals()
133
+
134
+ _all_params = [
135
+ 'request_body'
136
+ ]
137
+ _all_params.extend(
138
+ [
139
+ 'async_req',
140
+ '_return_http_data_only',
141
+ '_preload_content',
142
+ '_request_timeout',
143
+ '_request_auth',
144
+ '_content_type',
145
+ '_headers',
146
+ 'opts'
147
+ ]
148
+ )
149
+
150
+ # validate the arguments
151
+ for _key, _val in _params['kwargs'].items():
152
+ if _key not in _all_params:
153
+ raise ApiTypeError(
154
+ "Got an unexpected keyword argument '%s'"
155
+ " to method calculate_order_dates" % _key
156
+ )
157
+ _params[_key] = _val
158
+ del _params['kwargs']
159
+
160
+ _collection_formats = {}
161
+
162
+ # process the path parameters
163
+ _path_params = {}
164
+
165
+ # process the query parameters
166
+ _query_params = []
167
+ # process the header parameters
168
+ _header_params = dict(_params.get('_headers', {}))
169
+ # process the form parameters
170
+ _form_params = []
171
+ _files = {}
172
+ # process the body parameter
173
+ _body_params = None
174
+ if _params['request_body'] is not None:
175
+ _body_params = _params['request_body']
176
+
177
+ # set the HTTP header `Accept`
178
+ _header_params['Accept'] = self.api_client.select_header_accept(
179
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
180
+
181
+ # set the HTTP header `Content-Type`
182
+ _content_types_list = _params.get('_content_type',
183
+ self.api_client.select_header_content_type(
184
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
185
+ if _content_types_list:
186
+ _header_params['Content-Type'] = _content_types_list
187
+
188
+ # authentication setting
189
+ _auth_settings = ['oauth2'] # noqa: E501
190
+
191
+ _response_types_map = {
192
+ '200': "CalculateOrderDatesResponse",
193
+ '400': "LusidValidationProblemDetails",
194
+ }
195
+
196
+ return self.api_client.call_api(
197
+ '/api/transferagency/orderdates', 'POST',
198
+ _path_params,
199
+ _query_params,
200
+ _header_params,
201
+ body=_body_params,
202
+ post_params=_form_params,
203
+ files=_files,
204
+ response_types_map=_response_types_map,
205
+ auth_settings=_auth_settings,
206
+ async_req=_params.get('async_req'),
207
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
208
+ _preload_content=_params.get('_preload_content', True),
209
+ _request_timeout=_params.get('_request_timeout'),
210
+ opts=_params.get('opts'),
211
+ collection_formats=_collection_formats,
212
+ _request_auth=_params.get('_request_auth'))
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.7826\n"\
448
+ "Version of the API: 0.11.7834\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451