UNPKG

@yash101/schwab-api-client

Version:

A TypeScript client library for interacting with the Charles Schwab Brokerage APIs.

157 lines 5.29 kB
import { EncryptedAccountNumber, UserDetails } from "./accounts.types"; import { DateAndTime, ErrorMessageAndErrors } from "./api.types"; import { AssetType, CashEquivalentTypeEnum, CollectiveInvestmentTypeEnum, FixedIncomeTypeEnum, ForexTypeEnum, FutureTypeEnum, IndexTypeEnum, MutualFundTypeEnum, OptionTypeEnum, ProductTypeEnum, PutCallEnum, TransactionEquityTypeEnum } from "./asset.types"; import { FeeTypeEnum } from "./fee.types"; import { PositionEffectEnum } from "./orders.types"; export interface GetTransactionsForAccountRequest { accountNumber: EncryptedAccountNumber; startDate: Date; endDate: Date; types: TransactionTypeEnum[]; symbol?: string; } export type GetTransactionsForAccountResponse = Transaction[] | ErrorMessageAndErrors; export interface GetTransactionForAccountByTransactionIdRequest { accountNumber: EncryptedAccountNumber; transactionId: number; } export type GetTransactionForAccountByTransactionIdResponse = Transaction | ErrorMessageAndErrors; export declare enum TransactionTypeEnum { TRADE = "TRADE", RECEIVE_AND_DELIVER = "RECEIVE_AND_DELIVER", DIVIDEND_OR_INTEREST = "DIVIDEND_OR_INTEREST", ACH_RECEIPT = "ACH_RECEIPT", ACH_DISBURSEMENT = "ACH_DISBURSEMENT", CASH_RECEIPT = "CASH_RECEIPT", CASH_DISBURSEMENT = "CASH_DISBURSEMENT", ELECTRONIC_FUND = "ELECTRONIC_FUND", WIRE_OUT = "WIRE_OUT", WIRE_IN = "WIRE_IN", JOURNAL = "JOURNAL", MEMORANDUM = "MEMORANDUM", MARGIN_CALL = "MARGIN_CALL", MONEY_MARKET = "MONEY_MARKET", SMA_ADJUSTMENT = "SMA_ADJUSTMENT" } export declare enum TransactionStatusEnum { VALID = "VALID", INVALID = "INVALID", PENDING = "PENDING", UNKNOWN = "UNKNOWN" } export declare enum SubAccountEnum { CASH = "CASH", MARGIN = "MARGIN", SHORT = "SHORT", DIV = "DIV", INCOME = "INCOME", UNKNOWN = "UNKNOWN" } export declare enum TransactionActivityTypeEnum { ACTIVITY_CORRECTION = "ACTIVITY_CORRECTION", EXECUTION = "EXECUTION", ORDER_ACTION = "ORDER_ACTION", TRANSFER = "TRANSFER", UNKNOWN = "UNKNOWN" } export interface Transaction { activityId: number; time: string; user: UserDetails; description: string; accountNumber: string; type: TransactionTypeEnum; status: TransactionStatusEnum; subAccount: SubAccountEnum; tradeDate: string; settlementDate: string; positionId?: number; orderId?: number; netAmount: number; activityType: TransactionActivityTypeEnum; transferItems?: TransferItem[]; } export interface TransferItem { instrument: TransactionInstrument; amount: number; cost: number; price: number; feeType: FeeTypeEnum; positionEffect: PositionEffectEnum; } export type TransactionInstrument = TransactionCashEquivalent | CollectiveInvestment | Currency | TransactionEquity | TransactionFixedIncome | Forex | Future | Index | TransactionMutualFund | TransactionOption | Product; export interface TransactionBaseInstrument { assetType: AssetType; cusip: string; symbol: string; description: string; instrumentId: number; netChange: number; } export interface TransactionCashEquivalent extends TransactionBaseInstrument { type: CashEquivalentTypeEnum; } export interface CollectiveInvestment extends TransactionBaseInstrument { type: CollectiveInvestmentTypeEnum; } export interface Currency extends TransactionBaseInstrument { } export interface TransactionEquity extends TransactionBaseInstrument { type: TransactionEquityTypeEnum; } export interface TransactionFixedIncome extends TransactionBaseInstrument { type: FixedIncomeTypeEnum; maturityDate: DateAndTime; factor: number; multiplier: number; variableRate: number; } export interface Forex extends TransactionBaseInstrument { type: ForexTypeEnum; baseCurrency: Currency; counterCurrency: Currency; } export interface Future extends TransactionBaseInstrument { activeContract: boolean; type: FutureTypeEnum; expirationDate: string; lastTradingDate: string; firstNoticeDate: string; multiplier: number; } export interface Index extends TransactionBaseInstrument { activeContract: boolean; type: IndexTypeEnum; } export interface TransactionMutualFund extends TransactionBaseInstrument { fundFamilyName: string; fundFamilySymbol: string; fundGroup: string; type: MutualFundTypeEnum; exchangeCutoffTime: string; purchaseCutoffTime: string; redemptionCutoffTime: string; } export interface TransactionAPIOptionDeliverable { rootSymbol: string; strikePercent: number; deliverableNumber: number; deliverableUnits: number; deliverable: TransactionInstrument; assetType: AssetType; } export interface TransactionOption extends TransactionBaseInstrument { expirationDate: string; optionDeliverables: TransactionAPIOptionDeliverable[]; optionPremiumMultiplier: number; putCall: PutCallEnum; strikePrice: number; type: OptionTypeEnum; underlyingSymbol: string; underlyingCusip: string; deliverable: TransactionInstrument; } export interface Product extends TransactionBaseInstrument { type: ProductTypeEnum; } //# sourceMappingURL=transactions.types.d.ts.map