@finbourne/lusid-sdk-angular8
Version:
An angular (8+) SDK for secure access to the LUSID® by FINBOURNE web API
397 lines • 54.6 kB
TypeScript
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AccessMetadataOperation } from '../model/accessMetadataOperation';
import { AccessMetadataValue } from '../model/accessMetadataValue';
import { CreatePortfolioGroupRequest } from '../model/createPortfolioGroupRequest';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { ExpandedGroup } from '../model/expandedGroup';
import { PortfolioGroup } from '../model/portfolioGroup';
import { PortfolioGroupProperties } from '../model/portfolioGroupProperties';
import { Property } from '../model/property';
import { ResourceId } from '../model/resourceId';
import { ResourceListOfAccessMetadataValueOf } from '../model/resourceListOfAccessMetadataValueOf';
import { ResourceListOfPortfolioGroup } from '../model/resourceListOfPortfolioGroup';
import { ResourceListOfProcessedCommand } from '../model/resourceListOfProcessedCommand';
import { ResourceListOfPropertyInterval } from '../model/resourceListOfPropertyInterval';
import { ResourceListOfRelation } from '../model/resourceListOfRelation';
import { ResourceListOfRelationship } from '../model/resourceListOfRelationship';
import { TransactionQueryParameters } from '../model/transactionQueryParameters';
import { UpdatePortfolioGroupRequest } from '../model/updatePortfolioGroupRequest';
import { UpsertPortfolioGroupAccessMetadataRequest } from '../model/upsertPortfolioGroupAccessMetadataRequest';
import { VersionedResourceListOfA2BDataRecord } from '../model/versionedResourceListOfA2BDataRecord';
import { VersionedResourceListOfOutputTransaction } from '../model/versionedResourceListOfOutputTransaction';
import { VersionedResourceListOfPortfolioHolding } from '../model/versionedResourceListOfPortfolioHolding';
import { VersionedResourceListOfTransaction } from '../model/versionedResourceListOfTransaction';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class PortfolioGroupsService {
protected httpClient: HttpClient;
protected basePath: string;
defaultHeaders: HttpHeaders;
configuration: Configuration;
constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
/**
* @param consumes string[] mime-types
* @return true: consumes contains 'multipart/form-data', false: otherwise
*/
private canConsumeForm;
/**
* [EARLY ACCESS] AddPortfolioToGroup: Add portfolio to group
* Add a single portfolio to a portfolio group.
* @param scope The scope of the portfolio group to add a portfolio to.
* @param code The code of the portfolio group to add a portfolio to. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label from which the portfolio will be added to the group.
* @param resourceId The resource identifier of the portfolio to add to the portfolio group.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
addPortfolioToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
addPortfolioToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
addPortfolioToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] AddSubGroupToGroup: Add sub group to group
* Add a portfolio group to a portfolio group as a sub group.
* @param scope The scope of the portfolio group to add a portfolio group to.
* @param code The code of the portfolio group to add a portfolio group to. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label from which the sub group will be added to the group.
* @param resourceId The resource identifier of the portfolio group to add to the portfolio group as a sub group.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
addSubGroupToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
addSubGroupToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
addSubGroupToGroup(scope: string, code: string, effectiveAt?: string, resourceId?: ResourceId, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* BuildTransactionsForPortfolioGroup: Build transactions for transaction portfolios in a portfolio group
* Build transactions for transaction portfolios in a portfolio group over a given interval of effective time. When the specified portfolio in a portfolio group is a derived transaction portfolio, the returned set of transactions is the union set of all transactions of the parent (and any grandparents etc.) and the specified derived transaction portfolio itself.
* @param scope The scope of the portfolio group.
* @param code The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.
* @param transactionQueryParameters The query queryParameters which control how the output transactions are built.
* @param asAt The asAt datetime at which to build the transactions. Defaults to return the latest version of each transaction if not specified.
* @param filter Expression to filter the result set. For example, to filter on the Transaction Type, use \"type eq \'Buy\'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param propertyKeys A list of property keys from the \"Instrument\" or \"Transaction\" domain to decorate onto the transactions. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Transaction/strategy/quantsignal\".
* @param limit When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
* @param page The pagination token to use to continue listing transactions from a previous call to BuildTransactions.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
buildTransactionsForPortfolioGroup(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfOutputTransaction>;
buildTransactionsForPortfolioGroup(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfOutputTransaction>>;
buildTransactionsForPortfolioGroup(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfOutputTransaction>>;
/**
* CreatePortfolioGroup: Create portfolio group
* Create a portfolio group in a specific scope.
* @param scope The scope that the portfolio group will be created in.
* @param createPortfolioGroupRequest The definition and details of the portfolio group.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
createPortfolioGroup(scope: string, createPortfolioGroupRequest?: CreatePortfolioGroupRequest, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
createPortfolioGroup(scope: string, createPortfolioGroupRequest?: CreatePortfolioGroupRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
createPortfolioGroup(scope: string, createPortfolioGroupRequest?: CreatePortfolioGroupRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] DeleteGroupProperties: Delete group properties
* Delete one or more properties from a single portfolio group. If the properties are time variant then an effective date time from which the properties will be deleted must be specified. If the properties are perpetual then it is invalid to specify an effective date time for deletion.
* @param scope The scope of the group to delete properties from.
* @param code The code of the group to delete properties from. Together with the scope this uniquely identifies the group.
* @param requestBody The property keys of the properties to delete. These take the format {domain}/{scope}/{code} e.g. \"PortfolioGroup/Manager/Id\". Each property must be from the \"PortfolioGroup\" domain.
* @param effectiveAt The effective datetime or cut label at which to delete time-variant properties from. The property must exist at the specified \'effectiveAt\' datetime. If the \'effectiveAt\' is not provided or is before the time-variant property exists then a failure is returned. Do not specify this parameter if any of the properties to delete are perpetual.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
deleteGroupProperties(scope: string, code: string, requestBody: Array<string>, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deleteGroupProperties(scope: string, code: string, requestBody: Array<string>, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deleteGroupProperties(scope: string, code: string, requestBody: Array<string>, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* [EARLY ACCESS] DeleteKeyFromPortfolioGroupAccessMetadata: Delete a Portfolio Group Access Metadata entry
* Deletes the Portfolio Group Access Metadata entry that exactly matches the provided identifier parts. It is important to always check to verify success (or failure).
* @param scope The scope of the Portfolio Group
* @param code The Portfolio Group code
* @param metadataKey Key of the Access Metadata entry to delete
* @param effectiveAt The effective date to delete at, if this is not supplied, it will delete all data found
* @param effectiveUntil 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
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
deleteKeyFromPortfolioGroupAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deleteKeyFromPortfolioGroupAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deleteKeyFromPortfolioGroupAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* [EARLY ACCESS] DeletePortfolioFromGroup: Delete portfolio from group
* Remove a single portfolio from a portfolio group.
* @param scope The scope of the portfolio group to remove the portfolio from.
* @param code The code of the portfolio group to remove the portfolio from. Together with the scope this uniquely identifies the portfolio group.
* @param portfolioScope The scope of the portfolio being removed from the portfolio group.
* @param portfolioCode The code of the portfolio being removed from the portfolio group. Together with the scope this uniquely identifies the portfolio to remove.
* @param effectiveAt The effective datetime or cut label from which the portfolio will be removed from the portfolio group.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
deletePortfolioFromGroup(scope: string, code: string, portfolioScope: string, portfolioCode: string, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
deletePortfolioFromGroup(scope: string, code: string, portfolioScope: string, portfolioCode: string, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
deletePortfolioFromGroup(scope: string, code: string, portfolioScope: string, portfolioCode: string, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] DeletePortfolioGroup: Delete portfolio group
* Delete a single portfolio group. A portfolio group can be deleted while it still contains portfolios or sub groups. In this case any portfolios or sub groups contained in this group will not be deleted, however they will no longer be grouped together by this portfolio group. The deletion will be valid from the portfolio group\'s creation datetime, ie. the portfolio group will no longer exist at any effective datetime from the asAt datetime of deletion.
* @param scope The scope of the portfolio group to delete.
* @param code The code of the portfolio group to delete. Together with the scope this uniquely identifies the portfolio group to delete.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
deletePortfolioGroup(scope: string, code: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deletePortfolioGroup(scope: string, code: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deletePortfolioGroup(scope: string, code: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* [EARLY ACCESS] DeleteSubGroupFromGroup: Delete sub group from group
* Remove a single portfolio group (sub group) from a portfolio group.
* @param scope The scope of the portfolio group to remove the sub group from.
* @param code The code of the portfolio group to remove the sub group from. Together with the scope this uniquely identifies the portfolio group.
* @param subgroupScope The scope of the sub group to remove from the portfolio group.
* @param subgroupCode The code of the sub group to remove from the portfolio group. Together with the scope this uniquely identifies the sub group.
* @param effectiveAt The effective datetime or cut label from which the sub group will be removed from the portfolio group.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
deleteSubGroupFromGroup(scope: string, code: string, subgroupScope: string, subgroupCode: string, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
deleteSubGroupFromGroup(scope: string, code: string, subgroupScope: string, subgroupCode: string, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
deleteSubGroupFromGroup(scope: string, code: string, subgroupScope: string, subgroupCode: string, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] GetA2BDataForPortfolioGroup: Get A2B data for a Portfolio Group
* Get an A2B report for all Transaction Portfolios within the given portfolio group.
* @param scope The scope of the group to retrieve the A2B report for.
* @param code The code of the group to retrieve the A2B report for. Together with the scope this uniquely identifies the portfolio group.
* @param fromEffectiveAt 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.
* @param toEffectiveAt 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.
* @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version of each transaction if not specified.
* @param recipeIdScope The scope of the given recipeId
* @param recipeIdCode The code of the given recipeId
* @param propertyKeys 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\".
* @param filter Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getA2BDataForPortfolioGroup(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfA2BDataRecord>;
getA2BDataForPortfolioGroup(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfA2BDataRecord>>;
getA2BDataForPortfolioGroup(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfA2BDataRecord>>;
/**
* [EARLY ACCESS] GetGroupProperties: Get group properties
* List all the properties of a single portfolio group.
* @param scope The scope of the group to list the properties for.
* @param code The code of the group to list the properties for. Together with the scope this uniquely identifies the group.
* @param effectiveAt The effective date time or cut label at which to list the group\'s properties. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt date time at which to list the group\'s properties. Defaults to return the latest version of each property if not specified.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getGroupProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroupProperties>;
getGroupProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroupProperties>>;
getGroupProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroupProperties>>;
/**
* GetHoldingsForPortfolioGroup: Get holdings for transaction portfolios in portfolio group
* Get the holdings of transaction portfolios in specified portfolio group.
* @param scope The scope of the portfolio group.
* @param code The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.
* @param filter Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param propertyKeys A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".
* @param byTaxlots Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getHoldingsForPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfPortfolioHolding>;
getHoldingsForPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfPortfolioHolding>>;
getHoldingsForPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfPortfolioHolding>>;
/**
* GetPortfolioGroup: Get portfolio group
* Retrieve the definition of a single portfolio group.
* @param scope The scope of the portfolio group to retrieve the definition for.
* @param code The code of the portfolio group to retrieve the definition for. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label at which to retrieve the portfolio group definition. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve the portfolio group definition. Defaults to return the latest version of the portfolio group definition if not specified.
* @param relatedEntityPropertyKeys A list of property keys from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param relationshipDefinitionIds A list of relationship definitions that are used to decorate related entities onto the portfolio group in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
getPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
getPortfolioGroup(scope: string, code: string, effectiveAt?: string, asAt?: Date, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] GetPortfolioGroupAccessMetadataByKey: Get an entry identified by a metadataKey in the Access Metadata of a Portfolio Group
* Get a specific Portfolio Group access metadata by specifying the corresponding identifier parts No matching will be performed through this endpoint. To retrieve a rule, it is necessary to specify, exactly, the identifier of the rule
* @param scope The scope of the Portfolio Group
* @param code The Portfolio Group code
* @param metadataKey Key of the metadata entry to retrieve
* @param effectiveAt The effectiveAt datetime at which to retrieve the access metadata
* @param asAt The asAt datetime at which to retrieve the access metadata
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<Array<AccessMetadataValue>>;
getPortfolioGroupAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<AccessMetadataValue>>>;
getPortfolioGroupAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<AccessMetadataValue>>>;
/**
* GetPortfolioGroupCommands: Get portfolio group commands
* Gets all the commands that modified a single portfolio group.
* @param scope The scope of the portfolio group to retrieve the commands for.
* @param code The code of the portfolio group to retrieve the commands for. Together with the scope this uniquely identifies the portfolio group.
* @param fromAsAt The lower bound asAt datetime (inclusive) from which to retrieve commands. There is no lower bound if this is not specified.
* @param toAsAt The upper bound asAt datetime (inclusive) from which to retrieve commands. There is no upper bound if this is not specified.
* @param filter Expression to filter the result set. For example, to filter on the User ID, use \"userId.id eq \'string\'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfProcessedCommand>;
getPortfolioGroupCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfProcessedCommand>>;
getPortfolioGroupCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfProcessedCommand>>;
/**
* [EARLY ACCESS] GetPortfolioGroupExpansion: Get portfolio group expansion
* List all the portfolios in a group, including all portfolios within sub groups in the group. Each portfolio will be decorated with all of its properties unless a property filter is specified.
* @param scope The scope of the portfolio group to expand.
* @param code The code of the portfolio group to expand. Together with the scope this uniquely identifies the portfolio group to expand.
* @param effectiveAt The effective datetime or cut label at which to expand the portfolio group. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to expand the portfolio group. Defaults to return the latest version of each portfolio in the group if not specified.
* @param propertyFilter The restricted list of property keys from the \"Portfolio\" domain which will be decorated onto each portfolio. These take the format {domain}/{scope}/{code} e.g. \"Portfolio/Manager/Id\".
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupExpansion(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyFilter?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ExpandedGroup>;
getPortfolioGroupExpansion(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyFilter?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ExpandedGroup>>;
getPortfolioGroupExpansion(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyFilter?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ExpandedGroup>>;
/**
* [EARLY ACCESS] GetPortfolioGroupMetadata: Get Access Metadata rules for Portfolio Group
* Pass the scope and Portfolio Group code parameters to retrieve the associated Access Metadata
* @param scope The scope of the Portfolio Group
* @param code The Portfolio Group code
* @param effectiveAt The effectiveAt datetime at which to retrieve the Access Metadata
* @param asAt The asAt datetime at which to retrieve the Access Metadata
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<{
[key: string]: Array<AccessMetadataValue>;
}>;
getPortfolioGroupMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
[key: string]: Array<AccessMetadataValue>;
}>>;
getPortfolioGroupMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
[key: string]: Array<AccessMetadataValue>;
}>>;
/**
* [EARLY ACCESS] GetPortfolioGroupPropertyTimeSeries: Get the time series of a portfolio group property
* List the complete time series of a portfolio group property.
* @param scope The scope of the group.
* @param code The code of the group. Together with the scope this uniquely identifies the portfolio group.
* @param propertyKey The property key of the property that will have its history shown. These must be in the format {domain}/{scope}/{code} e.g. \"PortfolioGroup/Manager/Id\". Each property must be from the \"PortfolioGroup\" domain.
* @param portfolioGroupEffectiveAt The effective datetime used to resolve the portfolio group. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolio group\'s property history. Defaults to return the current datetime if not supplied.
* @param filter Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param page The pagination token to use to continue listing properties from a previous call to get property time series. 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.
* @param limit When paginating, limit the number of returned results to this many.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioGroupEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPropertyInterval>;
getPortfolioGroupPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioGroupEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPropertyInterval>>;
getPortfolioGroupPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioGroupEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPropertyInterval>>;
/**
* [EXPERIMENTAL] GetPortfolioGroupRelations: Get Relations for Portfolio Group
* Get relations for the specified Portfolio Group
* @param scope The scope of the portfolio group.
* @param code The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label at which to retrieve relations. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve relations. Defaults to return the latest LUSID AsAt time if not specified.
* @param filter Expression to filter the relations. Users should provide null or empty string for this field until further notice.
* @param identifierTypes Identifiers types (as property keys) used for referencing Persons or Legal Entities. These take the format {domain}/{scope}/{code} e.g. \"Person/CompanyDetails/Role\". They must be from the \"Person\" or \"LegalEntity\" domain. Only identifier types stated will be used to look up relevant entities in relations. If not applicable, provide an empty array.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfRelation>;
getPortfolioGroupRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfRelation>>;
getPortfolioGroupRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfRelation>>;
/**
* [EARLY ACCESS] GetPortfolioGroupRelationships: Get Relationships for Portfolio Group
* Get relationships for the specified Portfolio Group
* @param scope The scope of the portfolio group.
* @param code The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label at which to retrieve relationship. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve relationships. Defaults to return the latest LUSID AsAt time if not specified.
* @param filter Expression to filter relationships. Users should provide null or empty string for this field until further notice.
* @param identifierTypes Identifier types (as property keys) used for referencing Persons or Legal Entities. These can be specified from the \'Person\' or \'LegalEntity\' domains and have the format {domain}/{scope}/{code}, for example \'Person/CompanyDetails/Role\'. An Empty array may be used to return all related Entities.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getPortfolioGroupRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfRelationship>;
getPortfolioGroupRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfRelationship>>;
getPortfolioGroupRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfRelationship>>;
/**
* GetTransactionsForPortfolioGroup: Get transactions for transaction portfolios in a portfolio group
* Get transactions for transaction portfolios in a portfolio group over a given interval of effective time. When the specified portfolio in a portfolio group is a derived transaction portfolio, the returned set of transactions is the union set of all transactions of the parent (and any grandparents etc.) and the specified derived transaction portfolio itself.
* @param scope The scope of the portfolio group.
* @param code The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.
* @param fromTransactionDate The lower bound effective datetime or cut label (inclusive) from which to retrieve the transactions. There is no lower bound if this is not specified.
* @param toTransactionDate The upper bound effective datetime or cut label (inclusive) from which to retrieve transactions. There is no upper bound if this is not specified.
* @param asAt The asAt datetime at which to retrieve the transactions. Defaults to return the latest version of each transaction if not specified.
* @param filter Expression to filter the result set. For example, to filter on the Transaction Type, use \"type eq \'Buy\'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param propertyKeys A list of property keys from the \"Instrument\" or \"Transaction\" domain to decorate onto the transactions. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Transaction/strategy/quantsignal\".
* @param limit When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
* @param page The pagination token to use to continue listing transactions from a previous call to GetTransactions.
* @param showCancelledTransactions Option to specify whether or not to include cancelled transactions, including previous versions of transactions which have since been amended. Defaults to False if not specified.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
getTransactionsForPortfolioGroup(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, showCancelledTransactions?: boolean, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfTransaction>;
getTransactionsForPortfolioGroup(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, showCancelledTransactions?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfTransaction>>;
getTransactionsForPortfolioGroup(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, showCancelledTransactions?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfTransaction>>;
/**
* [EARLY ACCESS] ListPortfolioGroups: List portfolio groups
* List all the portfolio groups in a single scope.
* @param scope The scope to list the portfolio groups in.
* @param effectiveAt The effective datetime or cut label at which to list the portfolio groups. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolio groups. Defaults to return the latest version of each portfolio group if not specified.
* @param filter Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq \'string\'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
* @param relatedEntityPropertyKeys A list of property keys from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param relationshipDefinitionIds A list of relationship definitions that are used to decorate related entities onto the portfolio groups in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
listPortfolioGroups(scope: string, effectiveAt?: string, asAt?: Date, filter?: string, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPortfolioGroup>;
listPortfolioGroups(scope: string, effectiveAt?: string, asAt?: Date, filter?: string, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPortfolioGroup>>;
listPortfolioGroups(scope: string, effectiveAt?: string, asAt?: Date, filter?: string, relatedEntityPropertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPortfolioGroup>>;
/**
* [EARLY ACCESS] PatchPortfolioGroupAccessMetadata: Patch Access Metadata rules for a Portfolio Group.
* Patch Portfolio Group Access Metadata Rules in a single scope. The behaviour is defined by the JSON Patch specification. Currently only \'add\' is a supported operation on the patch document. Currently only valid metadata keys are supported paths on the patch document. The response will return any affected Portfolio Group Access Metadata rules or a 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.
* @param scope The scope of the Portfolio Group
* @param code The Portfolio Group code
* @param accessMetadataOperation The Json patch document
* @param effectiveAt The date this rule will be effective from
* @param effectiveUntil 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
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
patchPortfolioGroupAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'body', reportProgress?: boolean): Observable<{
[key: string]: Array<AccessMetadataValue>;
}>;
patchPortfolioGroupAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
[key: string]: Array<AccessMetadataValue>;
}>>;
patchPortfolioGroupAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
[key: string]: Array<AccessMetadataValue>;
}>>;
/**
* [EARLY ACCESS] UpdatePortfolioGroup: Update portfolio group
* Update the definition of a single portfolio group. Not all elements within a portfolio group definition are modifiable due to the potential implications for data already stored against the portfolio group.
* @param scope The scope of the portfolio group to update the definition for.
* @param code The code of the portfolio group to update the definition for. Together with the scope this uniquely identifies the portfolio group.
* @param effectiveAt The effective datetime or cut label at which to update the definition.
* @param updatePortfolioGroupRequest The updated portfolio group definition.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
updatePortfolioGroup(scope: string, code: string, effectiveAt?: string, updatePortfolioGroupRequest?: UpdatePortfolioGroupRequest, observe?: 'body', reportProgress?: boolean): Observable<PortfolioGroup>;
updatePortfolioGroup(scope: string, code: string, effectiveAt?: string, updatePortfolioGroupRequest?: UpdatePortfolioGroupRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioGroup>>;
updatePortfolioGroup(scope: string, code: string, effectiveAt?: string, updatePortfolioGroupRequest?: UpdatePortfolioGroupRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioGroup>>;
/**
* [EARLY ACCESS] UpsertGroupProperties: Upsert group properties
* Update or insert one or more properties onto a single group. A property will be updated if it already exists and inserted if it does not. All