lusid-sdk 2.1.896__py3-none-any.whl → 2.1.898__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 (91) hide show
  1. lusid/__init__.py +14 -0
  2. lusid/api/funds_api.py +230 -1
  3. lusid/api/transaction_portfolios_api.py +559 -2
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +14 -0
  6. lusid/models/accumulation_event.py +3 -3
  7. lusid/models/adjust_global_commitment_event.py +3 -3
  8. lusid/models/amortisation_event.py +3 -3
  9. lusid/models/bond_coupon_event.py +3 -3
  10. lusid/models/bond_default_event.py +3 -3
  11. lusid/models/bond_principal_event.py +3 -3
  12. lusid/models/bonus_issue_event.py +3 -3
  13. lusid/models/call_on_intermediate_securities_event.py +3 -3
  14. lusid/models/capital_distribution_event.py +3 -3
  15. lusid/models/cash_dividend_event.py +3 -3
  16. lusid/models/cash_flow_event.py +3 -3
  17. lusid/models/cds_credit_event.py +3 -3
  18. lusid/models/cdx_credit_event.py +3 -3
  19. lusid/models/close_event.py +3 -3
  20. lusid/models/contract_initialisation_event.py +3 -3
  21. lusid/models/conversion_event.py +3 -3
  22. lusid/models/create_derived_transaction_portfolio_request.py +8 -2
  23. lusid/models/create_transaction_portfolio_request.py +8 -2
  24. lusid/models/credit_premium_cash_flow_event.py +3 -3
  25. lusid/models/deposit_close_event.py +3 -3
  26. lusid/models/deposit_interest_payment_event.py +3 -3
  27. lusid/models/dividend_option_event.py +3 -3
  28. lusid/models/dividend_reinvestment_event.py +3 -3
  29. lusid/models/drawdown_event.py +3 -3
  30. lusid/models/early_redemption_event.py +3 -3
  31. lusid/models/exercise_event.py +3 -3
  32. lusid/models/expiry_event.py +3 -3
  33. lusid/models/flexible_repo_cash_flow_event.py +3 -3
  34. lusid/models/flexible_repo_collateral_event.py +3 -3
  35. lusid/models/flexible_repo_full_closure_event.py +153 -0
  36. lusid/models/flexible_repo_interest_payment_event.py +3 -3
  37. lusid/models/flexible_repo_partial_closure_event.py +3 -3
  38. lusid/models/future_expiry_event.py +3 -3
  39. lusid/models/future_mark_to_market_event.py +3 -3
  40. lusid/models/fx_forward_settlement_event.py +3 -3
  41. lusid/models/informational_error_event.py +3 -3
  42. lusid/models/informational_event.py +3 -3
  43. lusid/models/instrument_event.py +6 -5
  44. lusid/models/instrument_event_type.py +1 -0
  45. lusid/models/intermediate_securities_distribution_event.py +3 -3
  46. lusid/models/loan_facility_contract_rollover_event.py +3 -3
  47. lusid/models/loan_interest_repayment_event.py +3 -3
  48. lusid/models/loan_principal_repayment_event.py +3 -3
  49. lusid/models/maturity_event.py +3 -3
  50. lusid/models/mbs_coupon_event.py +3 -3
  51. lusid/models/mbs_interest_deferral_event.py +3 -3
  52. lusid/models/mbs_interest_shortfall_event.py +3 -3
  53. lusid/models/mbs_principal_event.py +3 -3
  54. lusid/models/mbs_principal_write_off_event.py +3 -3
  55. lusid/models/merger_event.py +3 -3
  56. lusid/models/open_event.py +3 -3
  57. lusid/models/option_exercise_cash_event.py +3 -3
  58. lusid/models/option_exercise_physical_event.py +3 -3
  59. lusid/models/order_update_request.py +18 -4
  60. lusid/models/portfolio.py +7 -1
  61. lusid/models/portfolio_details.py +7 -1
  62. lusid/models/portfolio_settlement_configuration.py +91 -0
  63. lusid/models/portfolio_without_href.py +7 -1
  64. lusid/models/protection_payout_cash_flow_event.py +3 -3
  65. lusid/models/raw_vendor_event.py +3 -3
  66. lusid/models/repo_cash_flow_event.py +3 -3
  67. lusid/models/repo_partial_closure_event.py +3 -3
  68. lusid/models/repurchase_offer_event.py +3 -3
  69. lusid/models/reset_event.py +3 -3
  70. lusid/models/resource_list_of_transaction_settlement_instruction.py +121 -0
  71. lusid/models/reverse_stock_split_event.py +3 -3
  72. lusid/models/scrip_dividend_event.py +3 -3
  73. lusid/models/settlement_configuration_category.py +82 -0
  74. lusid/models/settlement_instruction_request.py +101 -0
  75. lusid/models/single_valuation_point_query_parameters.py +81 -0
  76. lusid/models/spin_off_event.py +3 -3
  77. lusid/models/stock_dividend_event.py +3 -3
  78. lusid/models/stock_split_event.py +3 -3
  79. lusid/models/swap_cash_flow_event.py +3 -3
  80. lusid/models/swap_principal_event.py +3 -3
  81. lusid/models/tender_event.py +3 -3
  82. lusid/models/term_deposit_interest_event.py +3 -3
  83. lusid/models/term_deposit_principal_event.py +3 -3
  84. lusid/models/transaction_settlement_instruction.py +96 -0
  85. lusid/models/transaction_type_movement.py +9 -2
  86. lusid/models/transition_event.py +3 -3
  87. lusid/models/trigger_event.py +3 -3
  88. lusid/models/update_deposit_amount_event.py +3 -3
  89. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/METADATA +12 -1
  90. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/RECORD +91 -84
  91. {lusid_sdk-2.1.896.dist-info → lusid_sdk-2.1.898.dist-info}/WHEEL +0 -0
@@ -60,6 +60,8 @@ from lusid.models.resource_list_of_output_transaction import ResourceListOfOutpu
60
60
  from lusid.models.resource_list_of_portfolio_cash_flow import ResourceListOfPortfolioCashFlow
61
61
  from lusid.models.resource_list_of_portfolio_cash_ladder import ResourceListOfPortfolioCashLadder
62
62
  from lusid.models.resource_list_of_transaction import ResourceListOfTransaction
63
+ from lusid.models.resource_list_of_transaction_settlement_instruction import ResourceListOfTransactionSettlementInstruction
64
+ from lusid.models.settlement_instruction_request import SettlementInstructionRequest
63
65
  from lusid.models.transaction_query_parameters import TransactionQueryParameters
64
66
  from lusid.models.transaction_request import TransactionRequest
65
67
  from lusid.models.upsert_portfolio_transactions_response import UpsertPortfolioTransactionsResponse
@@ -2481,6 +2483,175 @@ class TransactionPortfoliosApi:
2481
2483
  _request_auth=_params.get('_request_auth'))
2482
2484
 
2483
2485
 
2486
+ @overload
2487
+ async def delete_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], settlement_instruction_ids : Annotated[conlist(StrictStr), Field(..., description="A list of Ids of settlement instructions to be deleted.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
2488
+ ...
2489
+
2490
+ @overload
2491
+ def delete_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], settlement_instruction_ids : Annotated[conlist(StrictStr), Field(..., description="A list of Ids of settlement instructions to be deleted.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
2492
+ ...
2493
+
2494
+ @validate_arguments
2495
+ def delete_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], settlement_instruction_ids : Annotated[conlist(StrictStr), Field(..., description="A list of Ids of settlement instructions to be deleted.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
2496
+ """[EARLY ACCESS] DeleteSettlementInstructions: Delete Settlement Instructions. # noqa: E501
2497
+
2498
+ Delete the specified settlement instructions # noqa: E501
2499
+ This method makes a synchronous HTTP request by default. To make an
2500
+ asynchronous HTTP request, please pass async_req=True
2501
+
2502
+ >>> thread = api.delete_settlement_instructions(scope, code, settlement_instruction_ids, async_req=True)
2503
+ >>> result = thread.get()
2504
+
2505
+ :param scope: The scope of the portfolio. (required)
2506
+ :type scope: str
2507
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
2508
+ :type code: str
2509
+ :param settlement_instruction_ids: A list of Ids of settlement instructions to be deleted. (required)
2510
+ :type settlement_instruction_ids: List[str]
2511
+ :param async_req: Whether to execute the request asynchronously.
2512
+ :type async_req: bool, optional
2513
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2514
+ :param opts: Configuration options for this request
2515
+ :type opts: ConfigurationOptions, optional
2516
+ :return: Returns the result object.
2517
+ If the method is called asynchronously,
2518
+ returns the request thread.
2519
+ :rtype: DeletedEntityResponse
2520
+ """
2521
+ kwargs['_return_http_data_only'] = True
2522
+ if '_preload_content' in kwargs:
2523
+ message = "Error! Please call the delete_settlement_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2524
+ raise ValueError(message)
2525
+ if async_req is not None:
2526
+ kwargs['async_req'] = async_req
2527
+ return self.delete_settlement_instructions_with_http_info(scope, code, settlement_instruction_ids, **kwargs) # noqa: E501
2528
+
2529
+ @validate_arguments
2530
+ def delete_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], settlement_instruction_ids : Annotated[conlist(StrictStr), Field(..., description="A list of Ids of settlement instructions to be deleted.")], **kwargs) -> ApiResponse: # noqa: E501
2531
+ """[EARLY ACCESS] DeleteSettlementInstructions: Delete Settlement Instructions. # noqa: E501
2532
+
2533
+ Delete the specified settlement instructions # noqa: E501
2534
+ This method makes a synchronous HTTP request by default. To make an
2535
+ asynchronous HTTP request, please pass async_req=True
2536
+
2537
+ >>> thread = api.delete_settlement_instructions_with_http_info(scope, code, settlement_instruction_ids, async_req=True)
2538
+ >>> result = thread.get()
2539
+
2540
+ :param scope: The scope of the portfolio. (required)
2541
+ :type scope: str
2542
+ :param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
2543
+ :type code: str
2544
+ :param settlement_instruction_ids: A list of Ids of settlement instructions to be deleted. (required)
2545
+ :type settlement_instruction_ids: List[str]
2546
+ :param async_req: Whether to execute the request asynchronously.
2547
+ :type async_req: bool, optional
2548
+ :param _preload_content: if False, the ApiResponse.data will
2549
+ be set to none and raw_data will store the
2550
+ HTTP response body without reading/decoding.
2551
+ Default is True.
2552
+ :type _preload_content: bool, optional
2553
+ :param _return_http_data_only: response data instead of ApiResponse
2554
+ object with status code, headers, etc
2555
+ :type _return_http_data_only: bool, optional
2556
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
2557
+ :param opts: Configuration options for this request
2558
+ :type opts: ConfigurationOptions, optional
2559
+ :param _request_auth: set to override the auth_settings for an a single
2560
+ request; this effectively ignores the authentication
2561
+ in the spec for a single request.
2562
+ :type _request_auth: dict, optional
2563
+ :type _content_type: string, optional: force content-type for the request
2564
+ :return: Returns the result object.
2565
+ If the method is called asynchronously,
2566
+ returns the request thread.
2567
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
2568
+ """
2569
+
2570
+ _params = locals()
2571
+
2572
+ _all_params = [
2573
+ 'scope',
2574
+ 'code',
2575
+ 'settlement_instruction_ids'
2576
+ ]
2577
+ _all_params.extend(
2578
+ [
2579
+ 'async_req',
2580
+ '_return_http_data_only',
2581
+ '_preload_content',
2582
+ '_request_timeout',
2583
+ '_request_auth',
2584
+ '_content_type',
2585
+ '_headers',
2586
+ 'opts'
2587
+ ]
2588
+ )
2589
+
2590
+ # validate the arguments
2591
+ for _key, _val in _params['kwargs'].items():
2592
+ if _key not in _all_params:
2593
+ raise ApiTypeError(
2594
+ "Got an unexpected keyword argument '%s'"
2595
+ " to method delete_settlement_instructions" % _key
2596
+ )
2597
+ _params[_key] = _val
2598
+ del _params['kwargs']
2599
+
2600
+ _collection_formats = {}
2601
+
2602
+ # process the path parameters
2603
+ _path_params = {}
2604
+ if _params['scope']:
2605
+ _path_params['scope'] = _params['scope']
2606
+
2607
+ if _params['code']:
2608
+ _path_params['code'] = _params['code']
2609
+
2610
+
2611
+ # process the query parameters
2612
+ _query_params = []
2613
+ if _params.get('settlement_instruction_ids') is not None: # noqa: E501
2614
+ _query_params.append(('settlementInstructionIds', _params['settlement_instruction_ids']))
2615
+ _collection_formats['settlementInstructionIds'] = 'multi'
2616
+
2617
+ # process the header parameters
2618
+ _header_params = dict(_params.get('_headers', {}))
2619
+ # process the form parameters
2620
+ _form_params = []
2621
+ _files = {}
2622
+ # process the body parameter
2623
+ _body_params = None
2624
+ # set the HTTP header `Accept`
2625
+ _header_params['Accept'] = self.api_client.select_header_accept(
2626
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2627
+
2628
+ # authentication setting
2629
+ _auth_settings = ['oauth2'] # noqa: E501
2630
+
2631
+ _response_types_map = {
2632
+ '200': "DeletedEntityResponse",
2633
+ '400': "LusidValidationProblemDetails",
2634
+ }
2635
+
2636
+ return self.api_client.call_api(
2637
+ '/api/transactionportfolios/{scope}/{code}/settlementinstructions', 'DELETE',
2638
+ _path_params,
2639
+ _query_params,
2640
+ _header_params,
2641
+ body=_body_params,
2642
+ post_params=_form_params,
2643
+ files=_files,
2644
+ response_types_map=_response_types_map,
2645
+ auth_settings=_auth_settings,
2646
+ async_req=_params.get('async_req'),
2647
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2648
+ _preload_content=_params.get('_preload_content', True),
2649
+ _request_timeout=_params.get('_request_timeout'),
2650
+ opts=_params.get('opts'),
2651
+ collection_formats=_collection_formats,
2652
+ _request_auth=_params.get('_request_auth'))
2653
+
2654
+
2484
2655
  @overload
2485
2656
  async def get_a2_b_data(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio to retrieve the A2B report for.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio to retrieve the A2B report for. Together with the scope this uniquely identifies the portfolio.")], from_effective_at : Annotated[StrictStr, Field(..., description="The lower bound effective datetime or cut label (inclusive) from which to retrieve the data. There is no lower bound if this is not specified.")], to_effective_at : Annotated[StrictStr, Field(..., description="The upper bound effective datetime or cut label (inclusive) from which to retrieve the data. There is no upper bound if this is not specified.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version of each transaction if not specified.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field( description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field( description="The code of the given recipeId")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\" domain to decorate onto the results. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\".")] = 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, **kwargs) -> VersionedResourceListOfA2BDataRecord: # noqa: E501
2486
2657
  ...
@@ -6340,6 +6511,217 @@ class TransactionPortfoliosApi:
6340
6511
  _request_auth=_params.get('_request_auth'))
6341
6512
 
6342
6513
 
6514
+ @overload
6515
+ async def list_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio to retrieve settlement instructions for.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio to retrieve settlement instructions for.")], from_date : Annotated[Optional[StrictStr], Field( description="The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.")] = None, to_date : Annotated[Optional[StrictStr], Field( description="The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="The expression to filter out settlement instructions")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.")] = None, **kwargs) -> ResourceListOfTransactionSettlementInstruction: # noqa: E501
6516
+ ...
6517
+
6518
+ @overload
6519
+ def list_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio to retrieve settlement instructions for.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio to retrieve settlement instructions for.")], from_date : Annotated[Optional[StrictStr], Field( description="The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.")] = None, to_date : Annotated[Optional[StrictStr], Field( description="The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="The expression to filter out settlement instructions")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfTransactionSettlementInstruction: # noqa: E501
6520
+ ...
6521
+
6522
+ @validate_arguments
6523
+ def list_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio to retrieve settlement instructions for.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio to retrieve settlement instructions for.")], from_date : Annotated[Optional[StrictStr], Field( description="The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.")] = None, to_date : Annotated[Optional[StrictStr], Field( description="The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="The expression to filter out settlement instructions")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfTransactionSettlementInstruction, Awaitable[ResourceListOfTransactionSettlementInstruction]]: # noqa: E501
6524
+ """[EARLY ACCESS] ListSettlementInstructions: List Settlement Instructions. # noqa: E501
6525
+
6526
+ Display all the Settlement Instructions for a given Portfolio. The transaction Id filter can be ued to return instructions for an individual transaction. # noqa: E501
6527
+ This method makes a synchronous HTTP request by default. To make an
6528
+ asynchronous HTTP request, please pass async_req=True
6529
+
6530
+ >>> thread = api.list_settlement_instructions(scope, code, from_date, to_date, page, limit, filter, as_at, async_req=True)
6531
+ >>> result = thread.get()
6532
+
6533
+ :param scope: The scope of the portfolio to retrieve settlement instructions for. (required)
6534
+ :type scope: str
6535
+ :param code: The code of the portfolio to retrieve settlement instructions for. (required)
6536
+ :type code: str
6537
+ :param from_date: The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.
6538
+ :type from_date: str
6539
+ :param to_date: The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.
6540
+ :type to_date: str
6541
+ :param page: The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
6542
+ :type page: str
6543
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
6544
+ :type limit: int
6545
+ :param filter: The expression to filter out settlement instructions
6546
+ :type filter: str
6547
+ :param as_at: The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.
6548
+ :type as_at: datetime
6549
+ :param async_req: Whether to execute the request asynchronously.
6550
+ :type async_req: bool, optional
6551
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
6552
+ :param opts: Configuration options for this request
6553
+ :type opts: ConfigurationOptions, optional
6554
+ :return: Returns the result object.
6555
+ If the method is called asynchronously,
6556
+ returns the request thread.
6557
+ :rtype: ResourceListOfTransactionSettlementInstruction
6558
+ """
6559
+ kwargs['_return_http_data_only'] = True
6560
+ if '_preload_content' in kwargs:
6561
+ message = "Error! Please call the list_settlement_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
6562
+ raise ValueError(message)
6563
+ if async_req is not None:
6564
+ kwargs['async_req'] = async_req
6565
+ return self.list_settlement_instructions_with_http_info(scope, code, from_date, to_date, page, limit, filter, as_at, **kwargs) # noqa: E501
6566
+
6567
+ @validate_arguments
6568
+ def list_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio to retrieve settlement instructions for.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio to retrieve settlement instructions for.")], from_date : Annotated[Optional[StrictStr], Field( description="The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.")] = None, to_date : Annotated[Optional[StrictStr], Field( description="The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="The expression to filter out settlement instructions")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
6569
+ """[EARLY ACCESS] ListSettlementInstructions: List Settlement Instructions. # noqa: E501
6570
+
6571
+ Display all the Settlement Instructions for a given Portfolio. The transaction Id filter can be ued to return instructions for an individual transaction. # noqa: E501
6572
+ This method makes a synchronous HTTP request by default. To make an
6573
+ asynchronous HTTP request, please pass async_req=True
6574
+
6575
+ >>> thread = api.list_settlement_instructions_with_http_info(scope, code, from_date, to_date, page, limit, filter, as_at, async_req=True)
6576
+ >>> result = thread.get()
6577
+
6578
+ :param scope: The scope of the portfolio to retrieve settlement instructions for. (required)
6579
+ :type scope: str
6580
+ :param code: The code of the portfolio to retrieve settlement instructions for. (required)
6581
+ :type code: str
6582
+ :param from_date: The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified.
6583
+ :type from_date: str
6584
+ :param to_date: The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions.
6585
+ :type to_date: str
6586
+ :param page: The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
6587
+ :type page: str
6588
+ :param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
6589
+ :type limit: int
6590
+ :param filter: The expression to filter out settlement instructions
6591
+ :type filter: str
6592
+ :param as_at: The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified.
6593
+ :type as_at: datetime
6594
+ :param async_req: Whether to execute the request asynchronously.
6595
+ :type async_req: bool, optional
6596
+ :param _preload_content: if False, the ApiResponse.data will
6597
+ be set to none and raw_data will store the
6598
+ HTTP response body without reading/decoding.
6599
+ Default is True.
6600
+ :type _preload_content: bool, optional
6601
+ :param _return_http_data_only: response data instead of ApiResponse
6602
+ object with status code, headers, etc
6603
+ :type _return_http_data_only: bool, optional
6604
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
6605
+ :param opts: Configuration options for this request
6606
+ :type opts: ConfigurationOptions, optional
6607
+ :param _request_auth: set to override the auth_settings for an a single
6608
+ request; this effectively ignores the authentication
6609
+ in the spec for a single request.
6610
+ :type _request_auth: dict, optional
6611
+ :type _content_type: string, optional: force content-type for the request
6612
+ :return: Returns the result object.
6613
+ If the method is called asynchronously,
6614
+ returns the request thread.
6615
+ :rtype: tuple(ResourceListOfTransactionSettlementInstruction, status_code(int), headers(HTTPHeaderDict))
6616
+ """
6617
+
6618
+ _params = locals()
6619
+
6620
+ _all_params = [
6621
+ 'scope',
6622
+ 'code',
6623
+ 'from_date',
6624
+ 'to_date',
6625
+ 'page',
6626
+ 'limit',
6627
+ 'filter',
6628
+ 'as_at'
6629
+ ]
6630
+ _all_params.extend(
6631
+ [
6632
+ 'async_req',
6633
+ '_return_http_data_only',
6634
+ '_preload_content',
6635
+ '_request_timeout',
6636
+ '_request_auth',
6637
+ '_content_type',
6638
+ '_headers',
6639
+ 'opts'
6640
+ ]
6641
+ )
6642
+
6643
+ # validate the arguments
6644
+ for _key, _val in _params['kwargs'].items():
6645
+ if _key not in _all_params:
6646
+ raise ApiTypeError(
6647
+ "Got an unexpected keyword argument '%s'"
6648
+ " to method list_settlement_instructions" % _key
6649
+ )
6650
+ _params[_key] = _val
6651
+ del _params['kwargs']
6652
+
6653
+ _collection_formats = {}
6654
+
6655
+ # process the path parameters
6656
+ _path_params = {}
6657
+ if _params['scope']:
6658
+ _path_params['scope'] = _params['scope']
6659
+
6660
+ if _params['code']:
6661
+ _path_params['code'] = _params['code']
6662
+
6663
+
6664
+ # process the query parameters
6665
+ _query_params = []
6666
+ if _params.get('from_date') is not None: # noqa: E501
6667
+ _query_params.append(('fromDate', _params['from_date']))
6668
+
6669
+ if _params.get('to_date') is not None: # noqa: E501
6670
+ _query_params.append(('toDate', _params['to_date']))
6671
+
6672
+ if _params.get('page') is not None: # noqa: E501
6673
+ _query_params.append(('page', _params['page']))
6674
+
6675
+ if _params.get('limit') is not None: # noqa: E501
6676
+ _query_params.append(('limit', _params['limit']))
6677
+
6678
+ if _params.get('filter') is not None: # noqa: E501
6679
+ _query_params.append(('filter', _params['filter']))
6680
+
6681
+ if _params.get('as_at') is not None: # noqa: E501
6682
+ if isinstance(_params['as_at'], datetime):
6683
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
6684
+ else:
6685
+ _query_params.append(('asAt', _params['as_at']))
6686
+
6687
+ # process the header parameters
6688
+ _header_params = dict(_params.get('_headers', {}))
6689
+ # process the form parameters
6690
+ _form_params = []
6691
+ _files = {}
6692
+ # process the body parameter
6693
+ _body_params = None
6694
+ # set the HTTP header `Accept`
6695
+ _header_params['Accept'] = self.api_client.select_header_accept(
6696
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
6697
+
6698
+ # authentication setting
6699
+ _auth_settings = ['oauth2'] # noqa: E501
6700
+
6701
+ _response_types_map = {
6702
+ '200': "ResourceListOfTransactionSettlementInstruction",
6703
+ '400': "LusidValidationProblemDetails",
6704
+ }
6705
+
6706
+ return self.api_client.call_api(
6707
+ '/api/transactionportfolios/{scope}/{code}/settlementinstructions', 'GET',
6708
+ _path_params,
6709
+ _query_params,
6710
+ _header_params,
6711
+ body=_body_params,
6712
+ post_params=_form_params,
6713
+ files=_files,
6714
+ response_types_map=_response_types_map,
6715
+ auth_settings=_auth_settings,
6716
+ async_req=_params.get('async_req'),
6717
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
6718
+ _preload_content=_params.get('_preload_content', True),
6719
+ _request_timeout=_params.get('_request_timeout'),
6720
+ opts=_params.get('opts'),
6721
+ collection_formats=_collection_formats,
6722
+ _request_auth=_params.get('_request_auth'))
6723
+
6724
+
6343
6725
  @overload
6344
6726
  async def patch_portfolio_details(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], operation : Annotated[conlist(Operation), Field(..., description="The patch document.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which the updated or inserted details should become valid. Defaults to the current LUSID system datetime if not specified. Note that this will affect all bitemporal entities in the request, but will not be used for any perpetual entities.")] = None, **kwargs) -> PortfolioDetails: # noqa: E501
6345
6727
  ...
@@ -6352,7 +6734,7 @@ class TransactionPortfoliosApi:
6352
6734
  def patch_portfolio_details(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], operation : Annotated[conlist(Operation), Field(..., description="The patch document.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which the updated or inserted details should become valid. Defaults to the current LUSID system datetime if not specified. Note that this will affect all bitemporal entities in the request, but will not be used for any perpetual entities.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PortfolioDetails, Awaitable[PortfolioDetails]]: # noqa: E501
6353
6735
  """PatchPortfolioDetails: Patch portfolio details # noqa: E501
6354
6736
 
6355
- Create or update certain details for a particular transaction portfolio. Note that not all elements of a transaction portfolio definition are modifiable once it has been created due to the potential implications for data already stored. The behaviour is defined by the JSON Patch specification. Currently supported fields are: BaseCurrency, SubHoldingKeys, AmortisationMethod, TransactionTypeScope, CashGainLossCalculationDate, InstrumentEventConfiguration, AmortisationRuleSetId, TaxRuleSetScope. # noqa: E501
6737
+ Create or update certain details for a particular transaction portfolio. Note that not all elements of a transaction portfolio definition are modifiable once it has been created due to the potential implications for data already stored. The behaviour is defined by the JSON Patch specification. Currently supported fields are: BaseCurrency, SubHoldingKeys, AmortisationMethod, TransactionTypeScope, CashGainLossCalculationDate, InstrumentEventConfiguration, AmortisationRuleSetId, TaxRuleSetScope, SettlementConfiguration. # noqa: E501
6356
6738
  This method makes a synchronous HTTP request by default. To make an
6357
6739
  asynchronous HTTP request, please pass async_req=True
6358
6740
 
@@ -6389,7 +6771,7 @@ class TransactionPortfoliosApi:
6389
6771
  def patch_portfolio_details_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], operation : Annotated[conlist(Operation), Field(..., description="The patch document.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label at which the updated or inserted details should become valid. Defaults to the current LUSID system datetime if not specified. Note that this will affect all bitemporal entities in the request, but will not be used for any perpetual entities.")] = None, **kwargs) -> ApiResponse: # noqa: E501
6390
6772
  """PatchPortfolioDetails: Patch portfolio details # noqa: E501
6391
6773
 
6392
- Create or update certain details for a particular transaction portfolio. Note that not all elements of a transaction portfolio definition are modifiable once it has been created due to the potential implications for data already stored. The behaviour is defined by the JSON Patch specification. Currently supported fields are: BaseCurrency, SubHoldingKeys, AmortisationMethod, TransactionTypeScope, CashGainLossCalculationDate, InstrumentEventConfiguration, AmortisationRuleSetId, TaxRuleSetScope. # noqa: E501
6774
+ Create or update certain details for a particular transaction portfolio. Note that not all elements of a transaction portfolio definition are modifiable once it has been created due to the potential implications for data already stored. The behaviour is defined by the JSON Patch specification. Currently supported fields are: BaseCurrency, SubHoldingKeys, AmortisationMethod, TransactionTypeScope, CashGainLossCalculationDate, InstrumentEventConfiguration, AmortisationRuleSetId, TaxRuleSetScope, SettlementConfiguration. # noqa: E501
6393
6775
  This method makes a synchronous HTTP request by default. To make an
6394
6776
  asynchronous HTTP request, please pass async_req=True
6395
6777
 
@@ -7671,6 +8053,181 @@ class TransactionPortfoliosApi:
7671
8053
  _request_auth=_params.get('_request_auth'))
7672
8054
 
7673
8055
 
8056
+ @overload
8057
+ async def upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], settlement_instruction_request : Annotated[conlist(SettlementInstructionRequest), Field(..., description="The definition of the settlement instruction.")], **kwargs) -> ResourceListOfTransactionSettlementInstruction: # noqa: E501
8058
+ ...
8059
+
8060
+ @overload
8061
+ def upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], settlement_instruction_request : Annotated[conlist(SettlementInstructionRequest), Field(..., description="The definition of the settlement instruction.")], async_req: Optional[bool]=True, **kwargs) -> ResourceListOfTransactionSettlementInstruction: # noqa: E501
8062
+ ...
8063
+
8064
+ @validate_arguments
8065
+ def upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], settlement_instruction_request : Annotated[conlist(SettlementInstructionRequest), Field(..., description="The definition of the settlement instruction.")], async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfTransactionSettlementInstruction, Awaitable[ResourceListOfTransactionSettlementInstruction]]: # noqa: E501
8066
+ """[EARLY ACCESS] UpsertSettlementInstructions: Upsert Settlement Instructions. # noqa: E501
8067
+
8068
+ Create or update instructions to settle specific transactions. # noqa: E501
8069
+ This method makes a synchronous HTTP request by default. To make an
8070
+ asynchronous HTTP request, please pass async_req=True
8071
+
8072
+ >>> thread = api.upsert_settlement_instructions(scope, code, settlement_instruction_request, async_req=True)
8073
+ >>> result = thread.get()
8074
+
8075
+ :param scope: The scope of the portfolio. (required)
8076
+ :type scope: str
8077
+ :param code: The code of the portfolio. (required)
8078
+ :type code: str
8079
+ :param settlement_instruction_request: The definition of the settlement instruction. (required)
8080
+ :type settlement_instruction_request: List[SettlementInstructionRequest]
8081
+ :param async_req: Whether to execute the request asynchronously.
8082
+ :type async_req: bool, optional
8083
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
8084
+ :param opts: Configuration options for this request
8085
+ :type opts: ConfigurationOptions, optional
8086
+ :return: Returns the result object.
8087
+ If the method is called asynchronously,
8088
+ returns the request thread.
8089
+ :rtype: ResourceListOfTransactionSettlementInstruction
8090
+ """
8091
+ kwargs['_return_http_data_only'] = True
8092
+ if '_preload_content' in kwargs:
8093
+ message = "Error! Please call the upsert_settlement_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
8094
+ raise ValueError(message)
8095
+ if async_req is not None:
8096
+ kwargs['async_req'] = async_req
8097
+ return self.upsert_settlement_instructions_with_http_info(scope, code, settlement_instruction_request, **kwargs) # noqa: E501
8098
+
8099
+ @validate_arguments
8100
+ def upsert_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], settlement_instruction_request : Annotated[conlist(SettlementInstructionRequest), Field(..., description="The definition of the settlement instruction.")], **kwargs) -> ApiResponse: # noqa: E501
8101
+ """[EARLY ACCESS] UpsertSettlementInstructions: Upsert Settlement Instructions. # noqa: E501
8102
+
8103
+ Create or update instructions to settle specific transactions. # noqa: E501
8104
+ This method makes a synchronous HTTP request by default. To make an
8105
+ asynchronous HTTP request, please pass async_req=True
8106
+
8107
+ >>> thread = api.upsert_settlement_instructions_with_http_info(scope, code, settlement_instruction_request, async_req=True)
8108
+ >>> result = thread.get()
8109
+
8110
+ :param scope: The scope of the portfolio. (required)
8111
+ :type scope: str
8112
+ :param code: The code of the portfolio. (required)
8113
+ :type code: str
8114
+ :param settlement_instruction_request: The definition of the settlement instruction. (required)
8115
+ :type settlement_instruction_request: List[SettlementInstructionRequest]
8116
+ :param async_req: Whether to execute the request asynchronously.
8117
+ :type async_req: bool, optional
8118
+ :param _preload_content: if False, the ApiResponse.data will
8119
+ be set to none and raw_data will store the
8120
+ HTTP response body without reading/decoding.
8121
+ Default is True.
8122
+ :type _preload_content: bool, optional
8123
+ :param _return_http_data_only: response data instead of ApiResponse
8124
+ object with status code, headers, etc
8125
+ :type _return_http_data_only: bool, optional
8126
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
8127
+ :param opts: Configuration options for this request
8128
+ :type opts: ConfigurationOptions, optional
8129
+ :param _request_auth: set to override the auth_settings for an a single
8130
+ request; this effectively ignores the authentication
8131
+ in the spec for a single request.
8132
+ :type _request_auth: dict, optional
8133
+ :type _content_type: string, optional: force content-type for the request
8134
+ :return: Returns the result object.
8135
+ If the method is called asynchronously,
8136
+ returns the request thread.
8137
+ :rtype: tuple(ResourceListOfTransactionSettlementInstruction, status_code(int), headers(HTTPHeaderDict))
8138
+ """
8139
+
8140
+ _params = locals()
8141
+
8142
+ _all_params = [
8143
+ 'scope',
8144
+ 'code',
8145
+ 'settlement_instruction_request'
8146
+ ]
8147
+ _all_params.extend(
8148
+ [
8149
+ 'async_req',
8150
+ '_return_http_data_only',
8151
+ '_preload_content',
8152
+ '_request_timeout',
8153
+ '_request_auth',
8154
+ '_content_type',
8155
+ '_headers',
8156
+ 'opts'
8157
+ ]
8158
+ )
8159
+
8160
+ # validate the arguments
8161
+ for _key, _val in _params['kwargs'].items():
8162
+ if _key not in _all_params:
8163
+ raise ApiTypeError(
8164
+ "Got an unexpected keyword argument '%s'"
8165
+ " to method upsert_settlement_instructions" % _key
8166
+ )
8167
+ _params[_key] = _val
8168
+ del _params['kwargs']
8169
+
8170
+ _collection_formats = {}
8171
+
8172
+ # process the path parameters
8173
+ _path_params = {}
8174
+ if _params['scope']:
8175
+ _path_params['scope'] = _params['scope']
8176
+
8177
+ if _params['code']:
8178
+ _path_params['code'] = _params['code']
8179
+
8180
+
8181
+ # process the query parameters
8182
+ _query_params = []
8183
+ # process the header parameters
8184
+ _header_params = dict(_params.get('_headers', {}))
8185
+ # process the form parameters
8186
+ _form_params = []
8187
+ _files = {}
8188
+ # process the body parameter
8189
+ _body_params = None
8190
+ if _params['settlement_instruction_request'] is not None:
8191
+ _body_params = _params['settlement_instruction_request']
8192
+
8193
+ # set the HTTP header `Accept`
8194
+ _header_params['Accept'] = self.api_client.select_header_accept(
8195
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
8196
+
8197
+ # set the HTTP header `Content-Type`
8198
+ _content_types_list = _params.get('_content_type',
8199
+ self.api_client.select_header_content_type(
8200
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
8201
+ if _content_types_list:
8202
+ _header_params['Content-Type'] = _content_types_list
8203
+
8204
+ # authentication setting
8205
+ _auth_settings = ['oauth2'] # noqa: E501
8206
+
8207
+ _response_types_map = {
8208
+ '201': "ResourceListOfTransactionSettlementInstruction",
8209
+ '400': "LusidValidationProblemDetails",
8210
+ }
8211
+
8212
+ return self.api_client.call_api(
8213
+ '/api/transactionportfolios/{scope}/{code}/settlementinstructions', 'POST',
8214
+ _path_params,
8215
+ _query_params,
8216
+ _header_params,
8217
+ body=_body_params,
8218
+ post_params=_form_params,
8219
+ files=_files,
8220
+ response_types_map=_response_types_map,
8221
+ auth_settings=_auth_settings,
8222
+ async_req=_params.get('async_req'),
8223
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
8224
+ _preload_content=_params.get('_preload_content', True),
8225
+ _request_timeout=_params.get('_request_timeout'),
8226
+ opts=_params.get('opts'),
8227
+ collection_formats=_collection_formats,
8228
+ _request_auth=_params.get('_request_auth'))
8229
+
8230
+
7674
8231
  @overload
7675
8232
  async def upsert_transaction_properties(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, 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 properties for.")], request_body : Annotated[Dict[str, PerpetualProperty], Field(..., description="The properties and their associated values to create or update.")], **kwargs) -> UpsertTransactionPropertiesResponse: # noqa: E501
7676
8233
  ...
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.8125\n"\
448
+ "Version of the API: 0.11.8131\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451