@finbourne/lusid-sdk-angular18
Version:
An Angular (18) SDK for secure access to the LUSID® by FINBOURNE web API
685 lines • 111 kB
TypeScript
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AdjustHolding } from '../model/adjustHolding';
import { AdjustHoldingForDateRequest } from '../model/adjustHoldingForDateRequest';
import { AdjustHoldingRequest } from '../model/adjustHoldingRequest';
import { BatchAdjustHoldingsResponse } from '../model/batchAdjustHoldingsResponse';
import { BatchUpsertPortfolioTransactionsResponse } from '../model/batchUpsertPortfolioTransactionsResponse';
import { BucketedCashFlowRequest } from '../model/bucketedCashFlowRequest';
import { BucketedCashFlowResponse } from '../model/bucketedCashFlowResponse';
import { CancelSingleHoldingAdjustmentRequest } from '../model/cancelSingleHoldingAdjustmentRequest';
import { CreatePortfolioDetails } from '../model/createPortfolioDetails';
import { CreateTradeTicketsResponse } from '../model/createTradeTicketsResponse';
import { CreateTransactionPortfolioRequest } from '../model/createTransactionPortfolioRequest';
import { CustodianAccount } from '../model/custodianAccount';
import { CustodianAccountProperties } from '../model/custodianAccountProperties';
import { CustodianAccountRequest } from '../model/custodianAccountRequest';
import { CustodianAccountsUpsertResponse } from '../model/custodianAccountsUpsertResponse';
import { DeleteCustodianAccountsResponse } from '../model/deleteCustodianAccountsResponse';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { HoldingIdsRequest } from '../model/holdingIdsRequest';
import { HoldingsAdjustment } from '../model/holdingsAdjustment';
import { LusidTradeTicket } from '../model/lusidTradeTicket';
import { Operation } from '../model/operation';
import { PagedResourceListOfCustodianAccount } from '../model/pagedResourceListOfCustodianAccount';
import { PerpetualProperty } from '../model/perpetualProperty';
import { Portfolio } from '../model/portfolio';
import { PortfolioDetails } from '../model/portfolioDetails';
import { Property } from '../model/property';
import { ResourceId } from '../model/resourceId';
import { ResourceListOfChangeHistory } from '../model/resourceListOfChangeHistory';
import { ResourceListOfHoldingsAdjustmentHeader } from '../model/resourceListOfHoldingsAdjustmentHeader';
import { ResourceListOfInstrumentCashFlow } from '../model/resourceListOfInstrumentCashFlow';
import { ResourceListOfOutputTransaction } from '../model/resourceListOfOutputTransaction';
import { ResourceListOfPortfolioCashFlow } from '../model/resourceListOfPortfolioCashFlow';
import { ResourceListOfPortfolioCashLadder } from '../model/resourceListOfPortfolioCashLadder';
import { ResourceListOfTransaction } from '../model/resourceListOfTransaction';
import { TransactionQueryParameters } from '../model/transactionQueryParameters';
import { TransactionRequest } from '../model/transactionRequest';
import { UpsertPortfolioTransactionsResponse } from '../model/upsertPortfolioTransactionsResponse';
import { UpsertTransactionPropertiesResponse } from '../model/upsertTransactionPropertiesResponse';
import { VersionedResourceListOfA2BDataRecord } from '../model/versionedResourceListOfA2BDataRecord';
import { VersionedResourceListOfA2BMovementRecord } from '../model/versionedResourceListOfA2BMovementRecord';
import { VersionedResourceListOfHoldingContributor } from '../model/versionedResourceListOfHoldingContributor';
import { VersionedResourceListOfOutputTransaction } from '../model/versionedResourceListOfOutputTransaction';
import { VersionedResourceListOfPortfolioHolding } from '../model/versionedResourceListOfPortfolioHolding';
import { VersionedResourceListOfTransaction } from '../model/versionedResourceListOfTransaction';
import { VersionedResourceListWithWarningsOfPortfolioHolding } from '../model/versionedResourceListWithWarningsOfPortfolioHolding';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export interface AdjustHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which the holdings should be set to the provided targets. */
effectiveAt: string;
/** The selected set of holdings to adjust to the provided targets for the transaction portfolio. */
adjustHoldingRequest: Array<AdjustHoldingRequest>;
/** Optional parameter for specifying a reconciliation method: e.g. FxForward. */
reconciliationMethods?: Array<string>;
}
export interface BatchAdjustHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial */
successMode: string;
/** The selected set of holdings to adjust to the provided targets for the transaction portfolio. */
requestBody: {
[key: string]: AdjustHoldingForDateRequest;
};
/** Optional parameter for specifying a reconciliation method: e.g. FxForward. */
reconciliationMethods?: Array<string>;
}
export interface BatchCreateTradeTicketsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** the trade tickets to create */
lusidTradeTicket: Array<LusidTradeTicket>;
}
export interface BatchSetHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial */
successMode: string;
/** The selected set of holdings to adjust to the provided targets for the transaction portfolio. */
requestBody: {
[key: string]: AdjustHoldingForDateRequest;
};
/** Optional parameter for specifying a reconciliation method: e.g. FxForward. */
reconciliationMethods?: Array<string>;
}
export interface BatchUpsertTransactionsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial. */
successMode: string;
/** The payload describing the transactions to be created or updated. */
requestBody: {
[key: string]: TransactionRequest;
};
/** If set to false, the entire property set will be overwritten by the provided properties. If not specified or set to true, only the properties provided will be updated. */
preserveProperties?: boolean;
}
export interface BuildTransactionsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The query queryParameters which control how the output transactions are built. */
transactionQueryParameters: TransactionQueryParameters;
/** The asAt datetime at which to build the transactions. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** 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\". */
propertyKeys?: Array<string>;
/** When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. */
limit?: number;
/** The pagination token to use to continue listing transactions from a previous call to BuildTransactions. */
page?: string;
}
export interface CancelAdjustHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which the holding adjustments should be undone. */
effectiveAt: string;
}
export interface CancelSingleAdjustHoldingRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which the previous adjustment was made. */
effectiveAt: string;
/** The selected holding adjustment to be canceled. */
cancelSingleHoldingAdjustmentRequest: CancelSingleHoldingAdjustmentRequest;
}
export interface CancelTransactionsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The IDs of the transactions to cancel. */
transactionIds: Array<string>;
}
export interface CreatePortfolioRequestParams {
/** The scope in which to create the transaction portfolio. */
scope: string;
/** The definition of the transaction portfolio. */
createTransactionPortfolioRequest: CreateTransactionPortfolioRequest;
}
export interface CreateTradeTicketRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** the trade ticket to upsert */
lusidTradeTicket?: LusidTradeTicket;
}
export interface DeleteCustodianAccountsRequestParams {
/** The scope of the Transaction Portfolios. */
scope: string;
/** The code of the Transaction Portfolios. Together with the scope this uniquely identifies the Transaction Portfolios. */
code: string;
/** The scope and codes of the custodian accounts to delete. */
resourceId: Array<ResourceId>;
/** The delete mode to use (defaults to \'Soft\'). */
deleteMode?: 'Soft' | 'Hard';
}
export interface DeletePropertiesFromTransactionRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The unique ID of the transaction from which to delete properties. */
transactionId: string;
/** The property keys of the properties to delete. These must be from the \"Transaction\" domain and have the format {domain}/{scope}/{code}, for example \"Transaction/strategy/quantsignal\". */
propertyKeys: Array<string>;
}
export interface GetA2BDataRequestParams {
/** The scope of the portfolio to retrieve the A2B report for. */
scope: string;
/** The code of the portfolio to retrieve the A2B report for. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** 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. */
fromEffectiveAt: string;
/** 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. */
toEffectiveAt: string;
/** The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeId */
recipeIdCode?: string;
/** 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\". */
propertyKeys?: Array<string>;
/** Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
filter?: string;
}
export interface GetA2BMovementsRequestParams {
/** The scope of the portfolio to retrieve the A2B movement report for. */
scope: string;
/** The code of the portfolio to retrieve the A2B movement report for. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** 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. */
fromEffectiveAt: string;
/** 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. */
toEffectiveAt: string;
/** The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeId */
recipeIdCode?: string;
/** 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\". */
propertyKeys?: Array<string>;
/** Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
filter?: string;
}
export interface GetBucketedCashFlowsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** Request specifying the bucketing of cashflows */
bucketedCashFlowRequest?: BucketedCashFlowRequest;
}
export interface GetCustodianAccountRequestParams {
/** The scope of the Transaction Portfolio. */
scope: string;
/** The code of the Transaction Portfolio. Together with the scope this uniquely identifies the Transaction Portfolio. */
code: string;
/** The scope of the Custodian Account. */
custodianAccountScope: string;
/** The code of the Custodian Account. */
custodianAccountCode: string;
/** The effective datetime or cut label at which to retrieve the Custodian Account properties. Defaults to the current LUSID system datetime if not specified. */
effectiveAt?: string;
/** The asAt datetime at which to retrieve the Custodian Account definition. Defaults to returning the latest version of the Custodian Account definition if not specified. */
asAt?: string;
/** A list of property keys from the \'CustodianAccount\' domain to decorate onto the Custodian Account. These must take the format {domain}/{scope}/{code}, for example \'CustodianAccount/Manager/Id\'. If no properties are specified, then no properties will be returned. */
propertyKeys?: Array<string>;
}
export interface GetDetailsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which to retrieve the details of the transaction portfolio. Defaults to the current LUSID system datetime if not specified. */
effectiveAt?: string;
/** The asAt datetime at which to retrieve the details of the transaction portfolio. Defaults to returning the latest version of the details if not specified. */
asAt?: string;
}
export interface GetHoldingContributorsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The unique holding identifier */
holdingId: number;
/** Effective date */
effectiveDate?: string;
/** The from trade date, defaults to first time this holding is opened, lower bound for transactions */
fromTradeDate?: string;
/** The to trade date upper bound date, defaults to effectiveDate. upper bound for transactions */
toTradeDate?: string;
/** If true, transactions from previously closed holdings are returned. If false, only transactions from last time position is opened. */
includeHistoric?: boolean;
/** Constrains the Holding Contributors to those which contributed to the specified tax lot. */
taxLotId?: string;
/** When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. */
limit?: number;
/** The asAt datetime at which to build the transactions. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** The pagination token to use to continue listing transactions from a previous call to GetHoldingContributors. */
page?: string;
}
export interface GetHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified. */
effectiveAt?: string;
/** The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq \'p\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** A list of property keys from the \"Instrument\", \"Holding\", \"Custodian Account\", \"Legal Entity\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\". */
propertyKeys?: Array<string>;
/** Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False. */
byTaxlots?: boolean;
/** Number of days ahead to bring back settlements from, in relation to the specified effectiveAt */
includeSettlementEventsAfterDays?: number;
}
export interface GetHoldingsAdjustmentRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label of the holdings adjustment. */
effectiveAt: string;
/** The asAt datetime at which to retrieve the holdings adjustment. Defaults to the return the latest version of the holdings adjustment if not specified. */
asAt?: string;
/** A list of property keys from the ‘Instrument\' domain to decorate onto holdings adjustments. These must have the format {domain}/{scope}/{code}, for example \'Instrument/system/Name\'. Note that properties from the \'Holding’ domain are automatically returned. */
propertyKeys?: Array<string>;
}
export interface GetHoldingsWithOrdersRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified. */
effectiveAt?: string;
/** The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq \'p\'\" For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** 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\". */
propertyKeys?: Array<string>;
/** Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False. */
byTaxlots?: boolean;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeId */
recipeIdCode?: string;
/** Number of days ahead to bring back settlements from, in relation to the specified effectiveAt */
includeSettlementEventsAfterDays?: number;
}
export interface GetMultipleHoldingContributorsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The array of unique holding identifiers */
holdingIdsRequest: HoldingIdsRequest;
/** Effective date */
effectiveDate?: string;
/** The from trade date, defaults to first time this holding is opened, lower bound for transactions */
fromTransactionDate?: string;
/** The to trade date upper bound date, defaults to effectiveDate. upper bound for transactions */
toTransactionDate?: string;
/** If true, transactions from previously closed holdings are returned. If false, only transactions from last time position is opened. */
includeHistoric?: boolean;
/** Constrains the Holding Contributors to those which contributed to the specified tax lot. */
taxLotId?: string;
/** When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. */
limit?: number;
/** The asAt datetime at which to build the transactions. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** The pagination token to use to continue listing transactions from a previous call to GetHoldingContributors. */
page?: string;
}
export interface GetPortfolioCashFlowsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows. This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up. For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt is before the start of the range they are forward looking and will be expectations assuming the model supports that. There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today. */
effectiveAt?: string;
/** The lower bound effective datetime or cut label (inclusive) from which to retrieve the cashflows. There is no lower bound if this is not specified. i.e. it is the minimum date. */
windowStart?: string;
/** The upper bound effective datetime or cut label (inclusive) from which to retrieve the cashflows. The upper bound defaults to \'max date\' if it is not specified */
windowEnd?: string;
/** The asAt datetime at which to retrieve the data. Defaults to returning the latest version of each transaction if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeID */
recipeIdCode?: string;
/** If absent or set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results. If set to true, unsettled trades will be excluded from the result set. */
excludeUnsettledTrades?: boolean;
}
export interface GetPortfolioCashLadderRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** 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. */
fromEffectiveAt: string;
/** 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. */
toEffectiveAt: string;
/** The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows. This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up. For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt is before the start of the range they are forward looking and will be expectations assuming the model supports that. There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today. */
effectiveAt: string;
/** The asAt datetime at which to retrieve the portfolio. Defaults to returning the latest version of each transaction if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeID */
recipeIdCode?: string;
/** If absent or set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results. If set to true, unsettled trades will be excluded from the result set. */
excludeUnsettledTrades?: boolean;
}
export interface GetPortfolioCashStatementRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** 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. */
fromEffectiveAt: string;
/** 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. */
toEffectiveAt: string;
/** The asAt datetime at which to retrieve the portfolio. Defaults to returning the latest version of each transaction if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeID */
recipeIdCode?: string;
/** A list of property keys from the \"Instrument\" or \"Transaction\" domain to decorate onto the cash flows\' transactions. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Transaction/strategy/quantsignal\". */
propertyKeys?: Array<string>;
}
export interface GetTransactionHistoryRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The unique ID of the transaction to create or update. */
transactionId: string;
/** The asAt datetime at which to retrieve the history of the transaction. Defaults to return the latest version if not specified. */
asAt?: string;
}
export interface GetTransactionsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The lower bound effective datetime or cut label (inclusive) from which to retrieve transactions. There is no lower bound if this is not specified. */
fromTransactionDate?: string;
/** The upper bound effective datetime or cut label (inclusive) from which to retrieve transactions. There is no upper bound if this is not specified. */
toTransactionDate?: string;
/** The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified. */
asAt?: string;
/** Expression with which to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\" For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** A list of property keys from the \'Instrument\', \'Transaction\', \"LegalEntity\" or \"CustodianAccount\" domain to decorate onto transactions. These must have the format {domain}/{scope}/{code}, for example \'Instrument/system/Name\' or \'Transaction/strategy/quantsignal\'. */
propertyKeys?: Array<string>;
/** The pagination token to use to continue listing transactions from a previous call to GetTransactions. */
page?: string;
/** When paginating, limit the number of returned results to this many. The current behaviour is to return all transactions if possible, but this will change to defaulting to 1000 if not specified in the future. It is recommended to populate this field to enable pagination. */
limit?: number;
/** 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. */
showCancelledTransactions?: boolean;
/** A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\". */
sortBy?: Array<string>;
/** The optional scope of a Custom Data Model to use */
dataModelScope?: string;
/** The optional code of a Custom Data Model to use */
dataModelCode?: string;
}
export interface GetUpsertablePortfolioCashFlowsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows. This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up. For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt is before the start of the range they are forward looking and will be expectations assuming the model supports that. There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today. */
effectiveAt?: string;
/** The lower bound effective datetime or cut label (inclusive) from which to retrieve the cashflows. There is no lower bound if this is not specified. i.e. uses minimum date-time */
windowStart?: string;
/** The upper bound effective datetime or cut label (inclusive) from which to retrieve the cashflows. The upper bound defaults to \'max date\' if it is not specified */
windowEnd?: string;
/** The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version of each transaction if not specified. */
asAt?: string;
/** Expression to filter the result set. For example, to return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** The scope of the given recipeId */
recipeIdScope?: string;
/** The code of the given recipeID */
recipeIdCode?: string;
/** If absent or set to true, unsettled trades will be excluded from the result set. If set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results. */
excludeUnsettledTrades?: boolean;
}
export interface ListCustodianAccountsRequestParams {
/** The scope of the Transaction Portfolio. */
scope: string;
/** The code of the Transaction Portfolio. Together with the scope this uniquely identifies the Transaction Portfolios. */
code: string;
/** The effective datetime or cut label at which to list the TimeVariant properties decorated on Custodian Accounts. Defaults to the current LUSID system datetime if not specified. */
effectiveAt?: string;
/** The asAt datetime at which to retrieve the instrument. Defaults to returning the latest version if not specified. */
asAt?: string;
/** The pagination token to use to continue listing custodian accounts; 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. */
page?: string;
/** When paginating, limit the results to this number. Defaults to 100 if not specified. */
limit?: number;
/** Expression to filter the results. For example, to filter on the Custodian Account type, specify \"code eq \'001\'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
/** A list of property keys from the \'CustodianAccount\' domain to decorate onto the Custodian Account. These must have the format {domain}/{scope}/{code}, for example \'CustodianAccount/system/Name\'. */
propertyKeys?: Array<string>;
}
export interface ListHoldingsAdjustmentsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The lower bound effective datetime or cut label (inclusive) from which to retrieve the holdings adjustments. There is no lower bound if this is not specified. */
fromEffectiveAt?: string;
/** The upper bound effective datetime or cut label (inclusive) from which to retrieve the holdings adjustments. There is no upper bound if this is not specified. */
toEffectiveAt?: string;
/** The asAt datetime at which to retrieve the holdings adjustments. Defaults to return the latest version of each holding adjustment if not specified. */
asAt?: string;
}
export interface PatchPortfolioDetailsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The patch document. */
operation: Array<Operation>;
/** 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. */
effectiveAt?: string;
}
export interface PreviewTransactionRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The transaction to be previewed. */
transactionRequest: TransactionRequest;
/** 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\". */
propertyKeys?: Array<string>;
/** Option to specify whether to include previous versions of an amended transaction in the response. Defaults to False if not specified. */
showCancelledTransactions?: boolean;
/** If the preview transaction is an amendment to an existing transaction, then setting this to true will carry forward any unmodified properties from the earlier version. */
preserveProperties?: boolean;
}
export interface ResolveInstrumentRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The instrument identifier type. */
instrumentIdentifierType: string;
/** The value for the given instrument identifier. */
instrumentIdentifierValue: string;
/** 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. */
fromEffectiveAt?: string;
/** When set to true, instrument resolution will be attempted for all transactions and holdings for the given identifier and date range. When set to false (default behaviour), instrument resolution will only be attempted for those transactions and holdings that were previously unresolved. */
reResolve?: boolean;
/** The dictionary with the instrument identifiers to be updated on the transaction and holdings. */
requestBody?: {
[key: string]: string;
};
}
export interface SetHoldingsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The effective datetime or cut label at which the holdings should be set to the provided targets. */
effectiveAt: string;
/** The complete set of target holdings for the transaction portfolio. */
adjustHoldingRequest: Array<AdjustHoldingRequest>;
/** Optional parameter for specifying a reconciliation method: e.g. FxForward. */
reconciliationMethods?: Array<string>;
}
export interface UpsertCustodianAccountsRequestParams {
/** The scope of the Transaction Portfolio. */
scope: string;
/** The code of the Transaction Portfolio. Together with the scope this uniquely identifies the Transaction Portfolios. */
code: string;
/** A list of Custodian Accounts to be created or updated. */
custodianAccountRequest: Array<CustodianAccountRequest>;
}
export interface UpsertCustodianAccountsPropertiesRequestParams {
/** The scope of the Transaction Portfolios to update or insert the properties onto. */
scope: string;
/** The code of the Transaction Portfolios to update or insert the properties onto. Together with the scope this uniquely identifies the Transaction Portfolios. */
code: string;
/** The scope of the Custodian Account to update or insert the properties onto. */
custodianAccountScope: string;
/** The unique ID of the custodian account to create or update properties for. */
custodianAccountCode: string;
/** The properties to be updated or inserted onto the Transaction Portfolio. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \"CustodianAccount/Manager/Id\". */
requestBody?: {
[key: string]: Property;
};
}
export interface UpsertPortfolioDetailsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The details to create or update for the specified transaction portfolio. */
createPortfolioDetails: CreatePortfolioDetails;
/** 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. */
effectiveAt?: string;
}
export interface UpsertTransactionPropertiesRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** The unique ID of the transaction to create or update properties for. */
transactionId: string;
/** The properties and their associated values to create or update. */
requestBody: {
[key: string]: PerpetualProperty;
};
}
export interface UpsertTransactionsRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. */
code: string;
/** A list of transactions to be created or updated. */
transactionRequest: Array<TransactionRequest>;
/** If set to false, the entire property set will be overwritten by the provided properties. If not specified or set to true, only the properties provided will be updated. */
preserveProperties?: boolean;
/** The optional scope of a Custom Data Model to use */
dataModelScope?: string;
/** The optional code of a Custom Data Model to use */
dataModelCode?: string;
}
export declare class TransactionPortfoliosService {
protected httpClient: HttpClient;
protected basePath: string;
defaultHeaders: HttpHeaders;
configuration: Configuration;
encoder: HttpParameterCodec;
constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
private addToHttpParams;
private addToHttpParamsRecursive;
/**
* AdjustHoldings: Adjust holdings
* Adjust one or more holdings of the specified transaction portfolio to the provided targets. LUSID will automatically construct adjustment transactions to ensure that the holdings which have been adjusted are always set to the provided targets for the specified effective datetime. Read more about the difference between adjusting and setting holdings here https://support.lusid.com/docs/how-do-i-manually-adjust-or-set-holdings.
* @param requestParameters
* @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.
*/
adjustHoldings(requestParameters?: AdjustHoldingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<AdjustHolding>;
adjustHoldings(requestParameters?: AdjustHoldingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<HttpResponse<AdjustHolding>>;
adjustHoldings(requestParameters?: AdjustHoldingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<HttpEvent<AdjustHolding>>;
/**
* BatchAdjustHoldings: Batch adjust holdings
* Adjust one or more holdings of the specified transaction portfolio to the provided targets. LUSID will automatically construct adjustment transactions to ensure that the holdings which have been adjusted are always set to the provided targets for the specified effective datetime in each request. Each request must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each adjustment in the response. Note: If using partial failure modes, then it is important to check the response body for failures as any failures will still return a 200 status code
* @param requestParameters
* @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.
*/
batchAdjustHoldings(requestParameters?: BatchAdjustHoldingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<BatchAdjustHoldingsResponse>;
batchAdjustHoldings(requestParameters?: BatchAdjustHoldingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<HttpResponse<BatchAdjustHoldingsResponse>>;
batchAdjustHoldings(requestParameters?: BatchAdjustHoldingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
context?: HttpContext;
transferCache?: boolean;
}): Observable<HttpEvent<BatchAdjustHoldingsResponse>>;
/**
* BatchCreateTradeTickets: Batch Create Trade Tickets
* Batch create trade tickets. Each ticket is broadly equivalent to a singular call to upsert an ins