lusid-sdk 2.1.405__py3-none-any.whl → 2.1.423__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. lusid/__init__.py +40 -8
  2. lusid/api/__init__.py +2 -2
  3. lusid/api/abor_api.py +8 -16
  4. lusid/api/allocations_api.py +2 -2
  5. lusid/api/chart_of_accounts_api.py +174 -0
  6. lusid/api/custom_entities_api.py +2 -2
  7. lusid/api/entities_api.py +180 -0
  8. lusid/api/{fund_configurations_api.py → fund_configuration_entities_api.py} +1 -1
  9. lusid/api/group_reconciliations_api.py +1418 -27
  10. lusid/api/instruments_api.py +6 -6
  11. lusid/api/legal_entities_api.py +4 -4
  12. lusid/api/order_graph_api.py +4 -4
  13. lusid/api/portfolios_api.py +27 -30
  14. lusid/api/reference_lists_api.py +2 -2
  15. lusid/api/reference_portfolio_api.py +176 -0
  16. lusid/api/transaction_portfolios_api.py +2 -2
  17. lusid/configuration.py +1 -1
  18. lusid/models/__init__.py +38 -6
  19. lusid/models/access_metadata_value.py +1 -1
  20. lusid/models/address_key_list.py +3 -3
  21. lusid/models/amount.py +69 -0
  22. lusid/models/batch_upsert_portfolio_access_metadata_request.py +27 -17
  23. lusid/models/batch_upsert_portfolio_access_metadata_response.py +56 -16
  24. lusid/models/{metadata_key_value.py → batch_upsert_portfolio_access_metadata_response_item.py} +15 -9
  25. lusid/models/{component_rule.py → break_code_source.py} +17 -21
  26. lusid/models/create_group_reconciliation_definition_request.py +113 -0
  27. lusid/models/custom_entity_entity.py +146 -0
  28. lusid/models/decimal_list.py +3 -3
  29. lusid/models/diary_entry_request.py +10 -1
  30. lusid/models/fixed_schedule.py +3 -3
  31. lusid/models/float_schedule.py +4 -4
  32. lusid/models/flow_conventions.py +7 -1
  33. lusid/models/fund_configuration.py +44 -17
  34. lusid/models/fund_configuration_request.py +31 -19
  35. lusid/models/fund_id_list.py +99 -0
  36. lusid/models/group_reconciliation_aggregate_attribute_rule.py +2 -2
  37. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +1 -1
  38. lusid/models/group_reconciliation_core_comparison_rule_operand.py +1 -1
  39. lusid/models/group_reconciliation_definition.py +136 -0
  40. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +83 -0
  41. lusid/models/group_reconciliation_definition_currencies.py +71 -0
  42. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +86 -0
  43. lusid/models/group_reconciliation_definition_recipe_ids.py +78 -0
  44. lusid/models/instrument.py +7 -1
  45. lusid/models/instrument_definition.py +8 -2
  46. lusid/models/instrument_list.py +3 -3
  47. lusid/models/market_data_key_rule.py +5 -3
  48. lusid/models/market_data_specific_rule.py +5 -3
  49. lusid/models/merger_event.py +19 -19
  50. lusid/models/output_transaction.py +9 -2
  51. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +113 -0
  52. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +113 -0
  53. lusid/models/portfolio_group_id_list.py +3 -3
  54. lusid/models/portfolio_id_list.py +3 -3
  55. lusid/models/property_list.py +3 -3
  56. lusid/models/reference_list.py +6 -5
  57. lusid/models/reference_list_type.py +1 -0
  58. lusid/models/settlement_cycle.py +79 -0
  59. lusid/models/share_class_dealing_breakdown.py +3 -2
  60. lusid/models/stock_dividend_event.py +17 -3
  61. lusid/models/string_list.py +3 -3
  62. lusid/models/transaction.py +9 -2
  63. lusid/models/transaction_date_windows.py +85 -0
  64. lusid/models/transaction_request.py +9 -2
  65. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +91 -0
  66. lusid/models/update_group_reconciliation_definition_request.py +107 -0
  67. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +84 -0
  68. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +115 -0
  69. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/METADATA +50 -23
  70. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/RECORD +71 -55
  71. lusid/models/metadata_key_value_response.py +0 -86
  72. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/WHEEL +0 -0
@@ -78,7 +78,7 @@ class InstrumentsApi:
78
78
 
79
79
  @validate_arguments
80
80
  def batch_upsert_instrument_properties(self, request_body : Annotated[Dict[str, UpsertInstrumentPropertyRequest], Field(..., description="A list of instruments and associated instrument properties to create or update.")], scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, identifier_effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime used to resolve each instrument from the provided identifiers. Defaults to the current LUSID system datetime if not specified.")] = None, success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertInstrumentPropertiesResponse, Awaitable[BatchUpsertInstrumentPropertiesResponse]]: # noqa: E501
81
- """[EARLY ACCESS] BatchUpsertInstrumentProperties: Batch upsert instruments properties # noqa: E501
81
+ """BatchUpsertInstrumentProperties: Batch upsert instruments properties # noqa: E501
82
82
 
83
83
  Create or update one or more properties for particular instruments. Each instrument property is updated if it exists and created if it does not. For any failures, a reason is provided. Properties have an <i>effectiveFrom</i> datetime from which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
84
84
  This method makes a synchronous HTTP request by default. To make an
@@ -116,7 +116,7 @@ class InstrumentsApi:
116
116
 
117
117
  @validate_arguments
118
118
  def batch_upsert_instrument_properties_with_http_info(self, request_body : Annotated[Dict[str, UpsertInstrumentPropertyRequest], Field(..., description="A list of instruments and associated instrument properties to create or update.")], scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, identifier_effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime used to resolve each instrument from the provided identifiers. Defaults to the current LUSID system datetime if not specified.")] = None, success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial.")] = None, **kwargs) -> ApiResponse: # noqa: E501
119
- """[EARLY ACCESS] BatchUpsertInstrumentProperties: Batch upsert instruments properties # noqa: E501
119
+ """BatchUpsertInstrumentProperties: Batch upsert instruments properties # noqa: E501
120
120
 
121
121
  Create or update one or more properties for particular instruments. Each instrument property is updated if it exists and created if it does not. For any failures, a reason is provided. Properties have an <i>effectiveFrom</i> datetime from which the property is valid, and an <i>effectiveUntil</i> datetime until which the property is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property. # noqa: E501
122
122
  This method makes a synchronous HTTP request by default. To make an
@@ -1886,7 +1886,7 @@ class InstrumentsApi:
1886
1886
 
1887
1887
  @validate_arguments
1888
1888
  def get_instrument_properties(self, identifier_type : Annotated[StrictStr, Field(..., description="The unique identifier type to search, for example 'Figi'.")], identifier : Annotated[StrictStr, Field(..., description="An <i>identifierType</i> value to use to identify the instrument, for example 'BBG000BLNNV0'.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the instrument's properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the instrument's properties. Defaults to returning the latest version of each property if not specified.")] = None, scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InstrumentProperties, Awaitable[InstrumentProperties]]: # noqa: E501
1889
- """[EARLY ACCESS] GetInstrumentProperties: Get instrument properties # noqa: E501
1889
+ """GetInstrumentProperties: Get instrument properties # noqa: E501
1890
1890
 
1891
1891
  List all the properties of a particular instrument, as identified by a particular unique identifier. # noqa: E501
1892
1892
  This method makes a synchronous HTTP request by default. To make an
@@ -1926,7 +1926,7 @@ class InstrumentsApi:
1926
1926
 
1927
1927
  @validate_arguments
1928
1928
  def get_instrument_properties_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="The unique identifier type to search, for example 'Figi'.")], identifier : Annotated[StrictStr, Field(..., description="An <i>identifierType</i> value to use to identify the instrument, for example 'BBG000BLNNV0'.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to list the instrument's properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the instrument's properties. Defaults to returning the latest version of each property if not specified.")] = None, scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1929
- """[EARLY ACCESS] GetInstrumentProperties: Get instrument properties # noqa: E501
1929
+ """GetInstrumentProperties: Get instrument properties # noqa: E501
1930
1930
 
1931
1931
  List all the properties of a particular instrument, as identified by a particular unique identifier. # noqa: E501
1932
1932
  This method makes a synchronous HTTP request by default. To make an
@@ -2072,7 +2072,7 @@ class InstrumentsApi:
2072
2072
 
2073
2073
  @validate_arguments
2074
2074
  def get_instrument_property_time_series(self, identifier_type : Annotated[StrictStr, Field(..., description="The unique identifier type to search, for example 'Figi'.")], identifier : Annotated[StrictStr, Field(..., description="An <i>identifierType</i> value to use to identify the instrument, for example 'BBG000BLNNV0'.")], property_key : Annotated[StrictStr, Field(..., description="The property key of a property from the 'Instrument' domain whose history to retrieve. This must have the format {domain}/{scope}/{code}, for example 'Instrument/system/Name'.")], identifier_effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime used to resolve the instrument from the identifier. 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 instrument's property history. Defaults to returning the current datetime if not supplied.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing properties; this value is returned from the previous call. If a pagination token is provided, the <i>filter</i>, <i>effectiveAt</i> and <i>asAt</i> fields must not have changed since the original request. For more information, see https://support.lusid.com/knowledgebase/article/KA-01915.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number.")] = None, scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfPropertyInterval, Awaitable[ResourceListOfPropertyInterval]]: # noqa: E501
2075
- """[EARLY ACCESS] GetInstrumentPropertyTimeSeries: Get instrument property time series # noqa: E501
2075
+ """GetInstrumentPropertyTimeSeries: Get instrument property time series # noqa: E501
2076
2076
 
2077
2077
  Retrieve the complete time series (history) for a particular property of an instrument. # noqa: E501
2078
2078
  This method makes a synchronous HTTP request by default. To make an
@@ -2120,7 +2120,7 @@ class InstrumentsApi:
2120
2120
 
2121
2121
  @validate_arguments
2122
2122
  def get_instrument_property_time_series_with_http_info(self, identifier_type : Annotated[StrictStr, Field(..., description="The unique identifier type to search, for example 'Figi'.")], identifier : Annotated[StrictStr, Field(..., description="An <i>identifierType</i> value to use to identify the instrument, for example 'BBG000BLNNV0'.")], property_key : Annotated[StrictStr, Field(..., description="The property key of a property from the 'Instrument' domain whose history to retrieve. This must have the format {domain}/{scope}/{code}, for example 'Instrument/system/Name'.")], identifier_effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime used to resolve the instrument from the identifier. 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 instrument's property history. Defaults to returning the current datetime if not supplied.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing properties; this value is returned from the previous call. If a pagination token is provided, the <i>filter</i>, <i>effectiveAt</i> and <i>asAt</i> fields must not have changed since the original request. For more information, see https://support.lusid.com/knowledgebase/article/KA-01915.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number.")] = None, scope : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="The scope in which the instrument lies. When not supplied the scope is 'default'.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2123
- """[EARLY ACCESS] GetInstrumentPropertyTimeSeries: Get instrument property time series # noqa: E501
2123
+ """GetInstrumentPropertyTimeSeries: Get instrument property time series # noqa: E501
2124
2124
 
2125
2125
  Retrieve the complete time series (history) for a particular property of an instrument. # noqa: E501
2126
2126
  This method makes a synchronous HTTP request by default. To make an
@@ -239,7 +239,7 @@ class LegalEntitiesApi:
239
239
 
240
240
  @validate_arguments
241
241
  def delete_legal_entity_access_metadata(self, id_type_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Scope of the Legal Entity identifier.")], id_type_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity identifier.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity under specified identifier type's scope and code.")], metadata_key : Annotated[constr(strict=True, max_length=100, min_length=1), Field(..., description="Key of the metadata entry to retrieve")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the delete is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
242
- """[EARLY ACCESS] DeleteLegalEntityAccessMetadata: Delete a Legal Entity Access Metadata entry # noqa: E501
242
+ """DeleteLegalEntityAccessMetadata: Delete a Legal Entity Access Metadata entry # noqa: E501
243
243
 
244
244
  Deletes the Legal Entity Access Metadata entry that exactly matches the provided identifier parts. It is important to always check to verify success (or failure). # noqa: E501
245
245
  This method makes a synchronous HTTP request by default. To make an
@@ -281,7 +281,7 @@ class LegalEntitiesApi:
281
281
 
282
282
  @validate_arguments
283
283
  def delete_legal_entity_access_metadata_with_http_info(self, id_type_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Scope of the Legal Entity identifier.")], id_type_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity identifier.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity under specified identifier type's scope and code.")], metadata_key : Annotated[constr(strict=True, max_length=100, min_length=1), Field(..., description="Key of the metadata entry to retrieve")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the delete is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
284
- """[EARLY ACCESS] DeleteLegalEntityAccessMetadata: Delete a Legal Entity Access Metadata entry # noqa: E501
284
+ """DeleteLegalEntityAccessMetadata: Delete a Legal Entity Access Metadata entry # noqa: E501
285
285
 
286
286
  Deletes the Legal Entity Access Metadata entry that exactly matches the provided identifier parts. It is important to always check to verify success (or failure). # noqa: E501
287
287
  This method makes a synchronous HTTP request by default. To make an
@@ -3332,7 +3332,7 @@ class LegalEntitiesApi:
3332
3332
 
3333
3333
  @validate_arguments
3334
3334
  def upsert_legal_entity_access_metadata(self, id_type_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Scope of the Legal Entity identifier.")], id_type_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity identifier.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity under specified identifier type's scope and code.")], metadata_key : Annotated[constr(strict=True, max_length=100, min_length=1), Field(..., description="Key of the metadata entry to retrieve")], upsert_legal_entity_access_metadata_request : Annotated[UpsertLegalEntityAccessMetadataRequest, Field(..., description="The Legal Entity Access Metadata entry to upsert")], effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to upsert the Access Metadata")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective datetime until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' datetime of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfAccessMetadataValueOf, Awaitable[ResourceListOfAccessMetadataValueOf]]: # noqa: E501
3335
- """[EARLY ACCESS] UpsertLegalEntityAccessMetadata: Upsert a Legal Entity Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
3335
+ """UpsertLegalEntityAccessMetadata: Upsert a Legal Entity Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
3336
3336
 
3337
3337
  Update or insert one Legal Entity Access Metadata entry in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Legal Entity Access Metadata rule or failure message if unsuccessful. It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched. # noqa: E501
3338
3338
  This method makes a synchronous HTTP request by default. To make an
@@ -3376,7 +3376,7 @@ class LegalEntitiesApi:
3376
3376
 
3377
3377
  @validate_arguments
3378
3378
  def upsert_legal_entity_access_metadata_with_http_info(self, id_type_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Scope of the Legal Entity identifier.")], id_type_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity identifier.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Code of the Legal Entity under specified identifier type's scope and code.")], metadata_key : Annotated[constr(strict=True, max_length=100, min_length=1), Field(..., description="Key of the metadata entry to retrieve")], upsert_legal_entity_access_metadata_request : Annotated[UpsertLegalEntityAccessMetadataRequest, Field(..., description="The Legal Entity Access Metadata entry to upsert")], effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to upsert the Access Metadata")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective datetime until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' datetime of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
3379
- """[EARLY ACCESS] UpsertLegalEntityAccessMetadata: Upsert a Legal Entity Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
3379
+ """UpsertLegalEntityAccessMetadata: Upsert a Legal Entity Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
3380
3380
 
3381
3381
  Update or insert one Legal Entity Access Metadata entry in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Legal Entity Access Metadata rule or failure message if unsuccessful. It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched. # noqa: E501
3382
3382
  This method makes a synchronous HTTP request by default. To make an
@@ -59,7 +59,7 @@ class OrderGraphApi:
59
59
 
60
60
  @validate_arguments
61
61
  def list_order_graph_blocks(self, as_at : Annotated[Optional[datetime], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01832/")] = None, pagination_token : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = 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, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01914/")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="Must be block-level properties. See https://support.lusid.com/knowledgebase/article/KA-01855/")] = None, use_compliance_v2 : Annotated[Optional[StrictBool], Field(description="Whether to use the V2 compliance engine when deriving compliance statuses for orders. (default: false)")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfOrderGraphBlock, Awaitable[PagedResourceListOfOrderGraphBlock]]: # noqa: E501
62
- """[EARLY ACCESS] ListOrderGraphBlocks: Lists blocks that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
62
+ """ListOrderGraphBlocks: Lists blocks that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
63
63
 
64
64
  Lists all blocks of orders, subject to the filter, along with the IDs of orders, placements, allocations and executions in the block, the total quantities of each, and a simple text field describing the overall state. # noqa: E501
65
65
  This method makes a synchronous HTTP request by default. To make an
@@ -103,7 +103,7 @@ class OrderGraphApi:
103
103
 
104
104
  @validate_arguments
105
105
  def list_order_graph_blocks_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01832/")] = None, pagination_token : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = 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, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01914/")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="Must be block-level properties. See https://support.lusid.com/knowledgebase/article/KA-01855/")] = None, use_compliance_v2 : Annotated[Optional[StrictBool], Field(description="Whether to use the V2 compliance engine when deriving compliance statuses for orders. (default: false)")] = None, **kwargs) -> ApiResponse: # noqa: E501
106
- """[EARLY ACCESS] ListOrderGraphBlocks: Lists blocks that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
106
+ """ListOrderGraphBlocks: Lists blocks that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
107
107
 
108
108
  Lists all blocks of orders, subject to the filter, along with the IDs of orders, placements, allocations and executions in the block, the total quantities of each, and a simple text field describing the overall state. # noqa: E501
109
109
  This method makes a synchronous HTTP request by default. To make an
@@ -467,7 +467,7 @@ class OrderGraphApi:
467
467
 
468
468
  @validate_arguments
469
469
  def list_order_graph_placements(self, as_at : Annotated[Optional[datetime], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01832/")] = None, pagination_token : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = 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, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01914/")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="Must be placement properties. See https://support.lusid.com/knowledgebase/article/KA-01855/")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfOrderGraphPlacement, Awaitable[PagedResourceListOfOrderGraphPlacement]]: # noqa: E501
470
- """[EARLY ACCESS] ListOrderGraphPlacements: Lists placements that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
470
+ """ListOrderGraphPlacements: Lists placements that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
471
471
 
472
472
  Lists all order placements, subject to the filter, along with the IDs of the block and order that the placement is for, each placement's quantity, the IDs of all allocations and executions in the placement and the total quantities of those, and a simple text field describing the overall state of the placement. # noqa: E501
473
473
  This method makes a synchronous HTTP request by default. To make an
@@ -509,7 +509,7 @@ class OrderGraphApi:
509
509
 
510
510
  @validate_arguments
511
511
  def list_order_graph_placements_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01832/")] = None, pagination_token : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = 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, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01915/")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="See https://support.lusid.com/knowledgebase/article/KA-01914/")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="Must be placement properties. See https://support.lusid.com/knowledgebase/article/KA-01855/")] = None, **kwargs) -> ApiResponse: # noqa: E501
512
- """[EARLY ACCESS] ListOrderGraphPlacements: Lists placements that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
512
+ """ListOrderGraphPlacements: Lists placements that pass the filter provided, and builds a summary picture of the state of their associated order entities. # noqa: E501
513
513
 
514
514
  Lists all order placements, subject to the filter, along with the IDs of the block and order that the placement is for, each placement's quantity, the IDs of all allocations and executions in the placement and the total quantities of those, and a simple text field describing the overall state of the placement. # noqa: E501
515
515
  This method makes a synchronous HTTP request by default. To make an
@@ -80,30 +80,30 @@ class PortfoliosApi:
80
80
  self.api_client = api_client
81
81
 
82
82
  @overload
83
- async def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
83
+ async def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], Field(description="The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
84
84
  ...
85
85
 
86
86
  @overload
87
- def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
87
+ def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], Field(description="The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
88
88
  ...
89
89
 
90
90
  @validate_arguments
91
- def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertPortfolioAccessMetadataResponse, Awaitable[BatchUpsertPortfolioAccessMetadataResponse]]: # noqa: E501
92
- """[EXPERIMENTAL] BatchUpsertPortfolioAccessMetadata: Upsert multiple portfolio access metadata with different keys to multiple portfolios # noqa: E501
91
+ def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], Field(description="The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertPortfolioAccessMetadataResponse, Awaitable[BatchUpsertPortfolioAccessMetadataResponse]]: # noqa: E501
92
+ """[EARLY ACCESS] BatchUpsertPortfolioAccessMetadata: Upsert multiple Portfolio Access Metadata Rules to multiple Portfolios # noqa: E501
93
93
 
94
- Update or insert multiple Portfolios Access Metadata Rule in multiple scopes. Items will be updated if it already exists and inserted if it does not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
94
+ Update or insert multiple Access Metadata rules for multiple Portfolios. Items will be updated if they already exist and inserted if they do not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or a failure message if unsuccessful Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
95
95
  This method makes a synchronous HTTP request by default. To make an
96
96
  asynchronous HTTP request, please pass async_req=True
97
97
 
98
- >>> thread = api.batch_upsert_portfolio_access_metadata(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, async_req=True)
98
+ >>> thread = api.batch_upsert_portfolio_access_metadata(request_body, effective_at, effective_until, async_req=True)
99
99
  >>> result = thread.get()
100
100
 
101
- :param batch_upsert_portfolio_access_metadata_request: The Portfolio Access Metadata Rule to update or insert (required)
102
- :type batch_upsert_portfolio_access_metadata_request: BatchUpsertPortfolioAccessMetadataRequest
103
- :param effective_at: The date this rule will effective from
101
+ :param request_body: The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for (required)
102
+ :type request_body: Dict[str, BatchUpsertPortfolioAccessMetadataRequest]
103
+ :param effective_at: The date these rules will be effective from
104
104
  :type effective_at: str
105
- :param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
106
- :type effective_until: datetime
105
+ :param effective_until: The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
106
+ :type effective_until: str
107
107
  :param async_req: Whether to execute the request asynchronously.
108
108
  :type async_req: bool, optional
109
109
  :param _request_timeout: timeout setting for this request.
@@ -121,25 +121,25 @@ class PortfoliosApi:
121
121
  raise ValueError(message)
122
122
  if async_req is not None:
123
123
  kwargs['async_req'] = async_req
124
- return self.batch_upsert_portfolio_access_metadata_with_http_info(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, **kwargs) # noqa: E501
124
+ return self.batch_upsert_portfolio_access_metadata_with_http_info(request_body, effective_at, effective_until, **kwargs) # noqa: E501
125
125
 
126
126
  @validate_arguments
127
- def batch_upsert_portfolio_access_metadata_with_http_info(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
128
- """[EXPERIMENTAL] BatchUpsertPortfolioAccessMetadata: Upsert multiple portfolio access metadata with different keys to multiple portfolios # noqa: E501
127
+ def batch_upsert_portfolio_access_metadata_with_http_info(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], Field(description="The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
128
+ """[EARLY ACCESS] BatchUpsertPortfolioAccessMetadata: Upsert multiple Portfolio Access Metadata Rules to multiple Portfolios # noqa: E501
129
129
 
130
- Update or insert multiple Portfolios Access Metadata Rule in multiple scopes. Items will be updated if it already exists and inserted if it does not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
130
+ Update or insert multiple Access Metadata rules for multiple Portfolios. Items will be updated if they already exist and inserted if they do not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or a failure message if unsuccessful Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
131
131
  This method makes a synchronous HTTP request by default. To make an
132
132
  asynchronous HTTP request, please pass async_req=True
133
133
 
134
- >>> thread = api.batch_upsert_portfolio_access_metadata_with_http_info(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, async_req=True)
134
+ >>> thread = api.batch_upsert_portfolio_access_metadata_with_http_info(request_body, effective_at, effective_until, async_req=True)
135
135
  >>> result = thread.get()
136
136
 
137
- :param batch_upsert_portfolio_access_metadata_request: The Portfolio Access Metadata Rule to update or insert (required)
138
- :type batch_upsert_portfolio_access_metadata_request: BatchUpsertPortfolioAccessMetadataRequest
139
- :param effective_at: The date this rule will effective from
137
+ :param request_body: The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for (required)
138
+ :type request_body: Dict[str, BatchUpsertPortfolioAccessMetadataRequest]
139
+ :param effective_at: The date these rules will be effective from
140
140
  :type effective_at: str
141
- :param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
142
- :type effective_until: datetime
141
+ :param effective_until: The effective date until which the Access Metadata is valid. If not supplied, this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
142
+ :type effective_until: str
143
143
  :param async_req: Whether to execute the request asynchronously.
144
144
  :type async_req: bool, optional
145
145
  :param _preload_content: if False, the ApiResponse.data will
@@ -168,7 +168,7 @@ class PortfoliosApi:
168
168
  _params = locals()
169
169
 
170
170
  _all_params = [
171
- 'batch_upsert_portfolio_access_metadata_request',
171
+ 'request_body',
172
172
  'effective_at',
173
173
  'effective_until'
174
174
  ]
@@ -205,10 +205,7 @@ class PortfoliosApi:
205
205
  _query_params.append(('effectiveAt', _params['effective_at']))
206
206
 
207
207
  if _params.get('effective_until') is not None: # noqa: E501
208
- if isinstance(_params['effective_until'], datetime):
209
- _query_params.append(('effectiveUntil', _params['effective_until'].strftime(self.api_client.configuration.datetime_format)))
210
- else:
211
- _query_params.append(('effectiveUntil', _params['effective_until']))
208
+ _query_params.append(('effectiveUntil', _params['effective_until']))
212
209
 
213
210
  # process the header parameters
214
211
  _header_params = dict(_params.get('_headers', {}))
@@ -217,8 +214,8 @@ class PortfoliosApi:
217
214
  _files = {}
218
215
  # process the body parameter
219
216
  _body_params = None
220
- if _params['batch_upsert_portfolio_access_metadata_request'] is not None:
221
- _body_params = _params['batch_upsert_portfolio_access_metadata_request']
217
+ if _params['request_body'] is not None:
218
+ _body_params = _params['request_body']
222
219
 
223
220
  # set the HTTP header `Accept`
224
221
  _header_params['Accept'] = self.api_client.select_header_accept(
@@ -5532,7 +5529,7 @@ class PortfoliosApi:
5532
5529
 
5533
5530
  @validate_arguments
5534
5531
  def upsert_portfolio_access_metadata(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Portfolio Access Metadata Rule.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Portfolio code")], metadata_key : Annotated[constr(strict=True, max_length=256, min_length=1), Field(..., description="Key of the access metadata to upsert")], upsert_portfolio_access_metadata_request : Annotated[UpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfAccessMetadataValueOf, Awaitable[ResourceListOfAccessMetadataValueOf]]: # noqa: E501
5535
- """[EARLY ACCESS] UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
5532
+ """UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
5536
5533
 
5537
5534
  Update or insert one Portfolio Access Metadata Rule in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Portfolio Access Metadata Rule or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exists with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
5538
5535
  This method makes a synchronous HTTP request by default. To make an
@@ -5574,7 +5571,7 @@ class PortfoliosApi:
5574
5571
 
5575
5572
  @validate_arguments
5576
5573
  def upsert_portfolio_access_metadata_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Portfolio Access Metadata Rule.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Portfolio code")], metadata_key : Annotated[constr(strict=True, max_length=256, min_length=1), Field(..., description="Key of the access metadata to upsert")], upsert_portfolio_access_metadata_request : Annotated[UpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
5577
- """[EARLY ACCESS] UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
5574
+ """UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID. # noqa: E501
5578
5575
 
5579
5576
  Update or insert one Portfolio Access Metadata Rule in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Portfolio Access Metadata Rule or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exists with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
5580
5577
  This method makes a synchronous HTTP request by default. To make an
@@ -220,7 +220,7 @@ class ReferenceListsApi:
220
220
 
221
221
  @validate_arguments
222
222
  def get_reference_list(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to which the Reference List belongs.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Reference List's unique identifier.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Reference List. Defaults to return the latest version of the Reference List if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ReferenceListResponse, Awaitable[ReferenceListResponse]]: # noqa: E501
223
- """[EARLY ACCESS] GetReferenceList: Get Reference List # noqa: E501
223
+ """GetReferenceList: Get Reference List # noqa: E501
224
224
 
225
225
  Retrieve a Reference List instance at a point in AsAt time. # noqa: E501
226
226
  This method makes a synchronous HTTP request by default. To make an
@@ -256,7 +256,7 @@ class ReferenceListsApi:
256
256
 
257
257
  @validate_arguments
258
258
  def get_reference_list_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to which the Reference List belongs.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The Reference List's unique identifier.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Reference List. Defaults to return the latest version of the Reference List if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
259
- """[EARLY ACCESS] GetReferenceList: Get Reference List # noqa: E501
259
+ """GetReferenceList: Get Reference List # noqa: E501
260
260
 
261
261
  Retrieve a Reference List instance at a point in AsAt time. # noqa: E501
262
262
  This method makes a synchronous HTTP request by default. To make an
@@ -30,6 +30,8 @@ from lusid.models.create_reference_portfolio_request import CreateReferencePortf
30
30
  from lusid.models.get_reference_portfolio_constituents_response import GetReferencePortfolioConstituentsResponse
31
31
  from lusid.models.portfolio import Portfolio
32
32
  from lusid.models.resource_list_of_constituents_adjustment_header import ResourceListOfConstituentsAdjustmentHeader
33
+ from lusid.models.upsert_reference_portfolio_constituent_properties_request import UpsertReferencePortfolioConstituentPropertiesRequest
34
+ from lusid.models.upsert_reference_portfolio_constituent_properties_response import UpsertReferencePortfolioConstituentPropertiesResponse
33
35
  from lusid.models.upsert_reference_portfolio_constituents_request import UpsertReferencePortfolioConstituentsRequest
34
36
  from lusid.models.upsert_reference_portfolio_constituents_response import UpsertReferencePortfolioConstituentsResponse
35
37
 
@@ -592,6 +594,180 @@ class ReferencePortfolioApi:
592
594
  collection_formats=_collection_formats,
593
595
  _request_auth=_params.get('_request_auth'))
594
596
 
597
+ @overload
598
+ async def upsert_reference_portfolio_constituent_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reference portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio.")], upsert_reference_portfolio_constituent_properties_request : Annotated[UpsertReferencePortfolioConstituentPropertiesRequest, Field(..., description="The request to modify properties for the constituent.")], **kwargs) -> UpsertReferencePortfolioConstituentPropertiesResponse: # noqa: E501
599
+ ...
600
+
601
+ @overload
602
+ def upsert_reference_portfolio_constituent_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reference portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio.")], upsert_reference_portfolio_constituent_properties_request : Annotated[UpsertReferencePortfolioConstituentPropertiesRequest, Field(..., description="The request to modify properties for the constituent.")], async_req: Optional[bool]=True, **kwargs) -> UpsertReferencePortfolioConstituentPropertiesResponse: # noqa: E501
603
+ ...
604
+
605
+ @validate_arguments
606
+ def upsert_reference_portfolio_constituent_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reference portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio.")], upsert_reference_portfolio_constituent_properties_request : Annotated[UpsertReferencePortfolioConstituentPropertiesRequest, Field(..., description="The request to modify properties for the constituent.")], async_req: Optional[bool]=None, **kwargs) -> Union[UpsertReferencePortfolioConstituentPropertiesResponse, Awaitable[UpsertReferencePortfolioConstituentPropertiesResponse]]: # noqa: E501
607
+ """[EARLY ACCESS] UpsertReferencePortfolioConstituentProperties: Upsert constituent properties # noqa: E501
608
+
609
+ Create or update one or more constituent properties for a single constituent in the reference portfolio. Each property will be updated if it already exists, created if it does not and deleted if value is null. Both constituent and portfolio must exist at the time when properties are created or updated. # noqa: E501
610
+ This method makes a synchronous HTTP request by default. To make an
611
+ asynchronous HTTP request, please pass async_req=True
612
+
613
+ >>> thread = api.upsert_reference_portfolio_constituent_properties(scope, code, upsert_reference_portfolio_constituent_properties_request, async_req=True)
614
+ >>> result = thread.get()
615
+
616
+ :param scope: The scope of the reference portfolio. (required)
617
+ :type scope: str
618
+ :param code: The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio. (required)
619
+ :type code: str
620
+ :param upsert_reference_portfolio_constituent_properties_request: The request to modify properties for the constituent. (required)
621
+ :type upsert_reference_portfolio_constituent_properties_request: UpsertReferencePortfolioConstituentPropertiesRequest
622
+ :param async_req: Whether to execute the request asynchronously.
623
+ :type async_req: bool, optional
624
+ :param _request_timeout: timeout setting for this request.
625
+ If one number provided, it will be total request
626
+ timeout. It can also be a pair (tuple) of
627
+ (connection, read) timeouts.
628
+ :return: Returns the result object.
629
+ If the method is called asynchronously,
630
+ returns the request thread.
631
+ :rtype: UpsertReferencePortfolioConstituentPropertiesResponse
632
+ """
633
+ kwargs['_return_http_data_only'] = True
634
+ if '_preload_content' in kwargs:
635
+ message = "Error! Please call the upsert_reference_portfolio_constituent_properties_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
636
+ raise ValueError(message)
637
+ if async_req is not None:
638
+ kwargs['async_req'] = async_req
639
+ return self.upsert_reference_portfolio_constituent_properties_with_http_info(scope, code, upsert_reference_portfolio_constituent_properties_request, **kwargs) # noqa: E501
640
+
641
+ @validate_arguments
642
+ def upsert_reference_portfolio_constituent_properties_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reference portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio.")], upsert_reference_portfolio_constituent_properties_request : Annotated[UpsertReferencePortfolioConstituentPropertiesRequest, Field(..., description="The request to modify properties for the constituent.")], **kwargs) -> ApiResponse: # noqa: E501
643
+ """[EARLY ACCESS] UpsertReferencePortfolioConstituentProperties: Upsert constituent properties # noqa: E501
644
+
645
+ Create or update one or more constituent properties for a single constituent in the reference portfolio. Each property will be updated if it already exists, created if it does not and deleted if value is null. Both constituent and portfolio must exist at the time when properties are created or updated. # noqa: E501
646
+ This method makes a synchronous HTTP request by default. To make an
647
+ asynchronous HTTP request, please pass async_req=True
648
+
649
+ >>> thread = api.upsert_reference_portfolio_constituent_properties_with_http_info(scope, code, upsert_reference_portfolio_constituent_properties_request, async_req=True)
650
+ >>> result = thread.get()
651
+
652
+ :param scope: The scope of the reference portfolio. (required)
653
+ :type scope: str
654
+ :param code: The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio. (required)
655
+ :type code: str
656
+ :param upsert_reference_portfolio_constituent_properties_request: The request to modify properties for the constituent. (required)
657
+ :type upsert_reference_portfolio_constituent_properties_request: UpsertReferencePortfolioConstituentPropertiesRequest
658
+ :param async_req: Whether to execute the request asynchronously.
659
+ :type async_req: bool, optional
660
+ :param _preload_content: if False, the ApiResponse.data will
661
+ be set to none and raw_data will store the
662
+ HTTP response body without reading/decoding.
663
+ Default is True.
664
+ :type _preload_content: bool, optional
665
+ :param _return_http_data_only: response data instead of ApiResponse
666
+ object with status code, headers, etc
667
+ :type _return_http_data_only: bool, optional
668
+ :param _request_timeout: timeout setting for this request. If one
669
+ number provided, it will be total request
670
+ timeout. It can also be a pair (tuple) of
671
+ (connection, read) timeouts.
672
+ :param _request_auth: set to override the auth_settings for an a single
673
+ request; this effectively ignores the authentication
674
+ in the spec for a single request.
675
+ :type _request_auth: dict, optional
676
+ :type _content_type: string, optional: force content-type for the request
677
+ :return: Returns the result object.
678
+ If the method is called asynchronously,
679
+ returns the request thread.
680
+ :rtype: tuple(UpsertReferencePortfolioConstituentPropertiesResponse, status_code(int), headers(HTTPHeaderDict))
681
+ """
682
+
683
+ _params = locals()
684
+
685
+ _all_params = [
686
+ 'scope',
687
+ 'code',
688
+ 'upsert_reference_portfolio_constituent_properties_request'
689
+ ]
690
+ _all_params.extend(
691
+ [
692
+ 'async_req',
693
+ '_return_http_data_only',
694
+ '_preload_content',
695
+ '_request_timeout',
696
+ '_request_auth',
697
+ '_content_type',
698
+ '_headers'
699
+ ]
700
+ )
701
+
702
+ # validate the arguments
703
+ for _key, _val in _params['kwargs'].items():
704
+ if _key not in _all_params:
705
+ raise ApiTypeError(
706
+ "Got an unexpected keyword argument '%s'"
707
+ " to method upsert_reference_portfolio_constituent_properties" % _key
708
+ )
709
+ _params[_key] = _val
710
+ del _params['kwargs']
711
+
712
+ _collection_formats = {}
713
+
714
+ # process the path parameters
715
+ _path_params = {}
716
+ if _params['scope']:
717
+ _path_params['scope'] = _params['scope']
718
+
719
+ if _params['code']:
720
+ _path_params['code'] = _params['code']
721
+
722
+
723
+ # process the query parameters
724
+ _query_params = []
725
+ # process the header parameters
726
+ _header_params = dict(_params.get('_headers', {}))
727
+ # process the form parameters
728
+ _form_params = []
729
+ _files = {}
730
+ # process the body parameter
731
+ _body_params = None
732
+ if _params['upsert_reference_portfolio_constituent_properties_request'] is not None:
733
+ _body_params = _params['upsert_reference_portfolio_constituent_properties_request']
734
+
735
+ # set the HTTP header `Accept`
736
+ _header_params['Accept'] = self.api_client.select_header_accept(
737
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
738
+
739
+ # set the HTTP header `Content-Type`
740
+ _content_types_list = _params.get('_content_type',
741
+ self.api_client.select_header_content_type(
742
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
743
+ if _content_types_list:
744
+ _header_params['Content-Type'] = _content_types_list
745
+
746
+ # authentication setting
747
+ _auth_settings = ['oauth2'] # noqa: E501
748
+
749
+ _response_types_map = {
750
+ '200': "UpsertReferencePortfolioConstituentPropertiesResponse",
751
+ '400': "LusidValidationProblemDetails",
752
+ }
753
+
754
+ return self.api_client.call_api(
755
+ '/api/referenceportfolios/{scope}/{code}/constituents/properties', 'POST',
756
+ _path_params,
757
+ _query_params,
758
+ _header_params,
759
+ body=_body_params,
760
+ post_params=_form_params,
761
+ files=_files,
762
+ response_types_map=_response_types_map,
763
+ auth_settings=_auth_settings,
764
+ async_req=_params.get('async_req'),
765
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
766
+ _preload_content=_params.get('_preload_content', True),
767
+ _request_timeout=_params.get('_request_timeout'),
768
+ collection_formats=_collection_formats,
769
+ _request_auth=_params.get('_request_auth'))
770
+
595
771
  @overload
596
772
  async def upsert_reference_portfolio_constituents(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the reference portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the reference portfolio. Together with the scope this uniquely identifies the reference portfolio.")], upsert_reference_portfolio_constituents_request : Annotated[UpsertReferencePortfolioConstituentsRequest, Field(..., description="The constituents to upload to the reference portfolio.")], **kwargs) -> UpsertReferencePortfolioConstituentsResponse: # noqa: E501
597
773
  ...
@@ -4610,7 +4610,7 @@ class TransactionPortfoliosApi:
4610
4610
 
4611
4611
  @validate_arguments
4612
4612
  def get_transaction_history(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The unique ID of the transaction to create or update.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the history of the transaction. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfChangeHistory, Awaitable[ResourceListOfChangeHistory]]: # noqa: E501
4613
- """[EARLY ACCESS] GetTransactionHistory: Get the history of a transaction # noqa: E501
4613
+ """GetTransactionHistory: Get the history of a transaction # noqa: E501
4614
4614
 
4615
4615
  Get all of the changes that have happened to a transaction. # noqa: E501
4616
4616
  This method makes a synchronous HTTP request by default. To make an
@@ -4648,7 +4648,7 @@ class TransactionPortfoliosApi:
4648
4648
 
4649
4649
  @validate_arguments
4650
4650
  def get_transaction_history_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The unique ID of the transaction to create or update.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the history of the transaction. Defaults to return the latest version if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
4651
- """[EARLY ACCESS] GetTransactionHistory: Get the history of a transaction # noqa: E501
4651
+ """GetTransactionHistory: Get the history of a transaction # noqa: E501
4652
4652
 
4653
4653
  Get all of the changes that have happened to a transaction. # noqa: E501
4654
4654
  This method makes a synchronous HTTP request by default. To make an
lusid/configuration.py CHANGED
@@ -382,7 +382,7 @@ class Configuration:
382
382
  return "Python SDK Debug Report:\n"\
383
383
  "OS: {env}\n"\
384
384
  "Python Version: {pyversion}\n"\
385
- "Version of the API: 0.11.6835\n"\
385
+ "Version of the API: 0.11.6853\n"\
386
386
  "SDK Package Version: {package_version}".\
387
387
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
388
388