@finbourne/lusid-sdk-angular18
Version:
An Angular (18) SDK for secure access to the LUSID® by FINBOURNE web API
661 lines • 139 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 { BatchAmendTransactionSettlementInstructionResponse } from '../model/batchAmendTransactionSettlementInstructionResponse';
import { BatchUpsertPortfolioTransactionsResponse } from '../model/batchUpsertPortfolioTransactionsResponse';
import { BatchUpsertTransactionSettlementInstructionResponse } from '../model/batchUpsertTransactionSettlementInstructionResponse';
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 { OverrideVirtualTransactionsResponse } from '../model/overrideVirtualTransactionsResponse';
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 { ResourceListOfTransactionSettlementInstruction } from '../model/resourceListOfTransactionSettlementInstruction';
import { SettlementInstructionAmendRequest } from '../model/settlementInstructionAmendRequest';
import { SettlementInstructionQuery } from '../model/settlementInstructionQuery';
import { SettlementInstructionRequest } from '../model/settlementInstructionRequest';
import { TransactionQueryParameters } from '../model/transactionQueryParameters';
import { TransactionRequest } from '../model/transactionRequest';
import { TransactionSettlementStatus } from '../model/transactionSettlementStatus';
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 { VersionedResourceListOfTransactionSettlementInstruction } from '../model/versionedResourceListOfTransactionSettlementInstruction';
import { VersionedResourceListWithPostBodiesOfSettlementInstructionWithTransactionToSettlementInstructionQuery } from '../model/versionedResourceListWithPostBodiesOfSettlementInstructionWithTransactionToSettlementInstructionQuery';
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>;
/** Optional parameter to override movement name for the set holdings. */
overrideMovementName?: string;
/** Optional parameter will create an additional offset movement for the set holdings with this new name and transaction type: CarryAsPnl */
overrideOffsetMovementName?: 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 BatchAmendSettlementInstructionsRequestParams {
/** The scope of the portfolio. */
scope: string;
/** The code of the portfolio. */
code: string;
/** The amendments to make to the settlement instructions. */
requestBody: {
[key: string]: SettlementInstructionAmendRequest;
};
/** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial */
successMode?: 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. Available values: FxForward. */
reconciliationMethods?: Array<string>;
}
export interface BatchUpsertSettlementInstructionsRequestParams {
/** The scope of the portfolio. */
scope: string;
/** The code of the portfolio. */
code: string;
/** The definition of the settlement instruction. */
requestBody: {
[key: string]: SettlementInstructionRequest;
};
/** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial */
successMode?: 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 BuildSettlementInstructionsRequestParams {
/** 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 queryParameters which control how the settlement instructions are built and returned. */
settlementInstructionQuery: SettlementInstructionQuery;
}
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;
/** The optional scope of a Custom Data Model to use */
dataModelScope?: string;
/** The optional code of a Custom Data Model to use */
dataModelCode?: string;
/** The membership types of the specified Custom Data Model to return. Default value: Member. Available values: All, Member, Candidate. */
membershipType?: 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. Default value: Soft. Available values: Soft, Hard. */
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 DeleteSettlementInstructionsRequestParams {
/** The scope of the portfolio. */
scope: string;
/** The code of the portfolio. Together with the scope this uniquely identifies the portfolio. */
code: string;
/** A list of Ids of settlement instructions to be deleted. */
settlementInstructionIds: 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 GetA2BMovementsTradingVsHoldingRequestParams {
/** 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;
/** The scope of the timeline to use for loading data per closed period. */
timelineScope?: string;
/** The code of the timeline to use for loading data per closed period. */
timelineCode?: string;
/** The closed period ID. If specified, both timelineScope and timelineCode must also be specified. When provided, the timeline A2B is filtered to only the matching closed period. The fromEffectiveAt and toEffectiveAt parameters still define the overall query window; the closedPeriodId restricts which closed period\'s data is returned within that window. */
closedPeriodId?: 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;
/** If true, contributing transaction which have not settled yet will also be returned. False by default */
includeUnsettledMovements?: boolean;
/** 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;
/** The scope of the timeline used for evaluation. If provided, you must also provide a timelineCode. */
timelineScope?: string;
/** The code of the Timeline. This can optionally include a colon, followed by the Closed Period Id to use at the head of the timeline, for a timeline with unconfirmed periods. */
timelineCode?: 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;
/** The scope of the Timeline. */
timelineScope?: string;
/** The code of the Timeline. This can optionally include a colon, followed by the Closed Period Id to use at the head of the timeline, for a timeline with unconfirmed periods. */
timelineCode?: string;
/** The closed period ID. If this is specified, both timelineScope and timelineCode must be specified. Either closedPeriodId or effectiveAt can be used with a Timeline. */
closedPeriodId?: string;
}
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>;
/** Expression to filter the holding adjustments result set. Supported fields: InstrumentUid, InstrumentScope, Currency, Properties[Holding/{scope}/{code}], SubHoldingKeys[Transaction/{scope}/{code}]. For example, to filter on a specific instrument, specify \"InstrumentUid eq \'LUID_00003D4X\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: 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;
/** If true, contributing transaction which have not settled yet will also be returned. False by default */
includeUnsettledMovements?: boolean;
/** 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;
/** The scope of the timeline used for evaluation. If provided, you must also provide a timelineCode. */
timelineScope?: string;
/** The code of the Timeline. This can optionally include a colon, followed by the Closed Period Id to use at the head of the timeline, for a timeline with unconfirmed periods. */
timelineCode?: 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 GetTransactionSettlementStatusRequestParams {
/** The scope of the transaction portfolio. */
scope: string;
/** The code of the transaction portfolio. This together with the scope uniquely identifies the transaction portfolio. */
code: string;
/** The ID of the transaction. */
transactionId: string;
/** The effective date and time or cut label to get the transaction settlement status. This defaults to the current LUSID system time if not specified. */
effectiveAt?: string;
/** The asAt date and time to get the transaction settlement status. This defaults to return the latest status if not specified. */
asAt?: string;
/** A list of property keys from the \'SettlementInstruction\', \'Instrument\' or \'Portfolio\' domains to decorate onto settlement instructions. These must have the format {domain}/{scope}/{code}, for example \'Instrument/system/Name\' or \'SettlementInstruction/strategy/quantsignal\'. */
propertyKeys?: Array<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;
/** The membership types of the specified Custom Data Model to return. Default value: Member. Available values: All, Member, Candidate. */
membershipType?: 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;
/** Expression to filter the holding adjustments result set. Supported fields: InstrumentUid, InstrumentScope, Currency, Properties[Holding/{scope}/{code}], SubHoldingKeys[Transaction/{scope}/{code}]. For example, to filter on a specific instrument, specify \"InstrumentUid eq \'LUID_00003D4X\'\". For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
filter?: string;
}
export interface ListSettlementInstructionsRequestParams {
/** The scope of the portfolio to retrieve settlement instructions for. */
scope: string;
/** The code of the portfolio to retrieve settlement instructions for. */
code: string;
/** The lower bound effective datetime or cut label (inclusive) from which to retrieve instructions. There is no lower bound if this is not specified. */
fromDate?: string;
/** The upper bound effective datetime or cut label (inclusive) from which to retrieve instructions. */
toDate?: string;
/** The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request. */
page?: string;
/** When paginating, limit the results to this number. Defaults to 100 if not specified. */
limit?: number;
/** The expression to filter out settlement instructions */
filter?: string;
/** The asAt datetime at which to retrieve the settlement instructions. Defaults to return the latest if not specified. */
asAt?: string;
/** A list of property keys from the \'SettlementInstruction\', \'Instrument\' or \'Portfolio\' domains to decorate onto settlement instructions. These must have the format {domain}/{scope}/{code}, for example \'Instrument/system/Name\' or \'SettlementInstruction/strategy/quantsignal\'. */
propertyKeys?: Array<string>;
/** The scope of the Timeli