UNPKG

@yash101/schwab-api-client

Version:

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

115 lines 3.68 kB
import { ErrorMessageAndErrors } from "./api.types"; import { AssetType, PutCallEnum } from "./asset.types"; import { CashInitialBalance, MarginBalance, MarginInitialBalance, CashBalance } from "./balances.types"; import { Position } from "./positions.types"; export interface GetAccountNumbersRequest { } export type GetAccountNumbersResponse = AccountNumberHash[] | ErrorMessageAndErrors; export interface GetAccountsRequest { fields?: string[]; } export type GetAccountsResponse = Account[] | ErrorMessageAndErrors; export interface GetSingleAccountRequest { accountNumber: AccountNumberString; fields?: string[]; } export type GetSingleAccountResponse = Account | ErrorMessageAndErrors; export type AccountNumberString = string; export type EncryptedAccountNumber = string; export declare enum AccountType { CASH = "CASH", MARGIN = "MARGIN" } export interface SecuritiesAccountBase { type: AccountType; accountNumber: AccountNumberString; roundTrips: number; isDayTrader: boolean; isClosingOnlyRestricted: boolean; pfcbFlag: boolean; positions: Position[]; } export interface AccountNumberHash { accountNumber: AccountNumberString; hashValue: string; } export interface MarginAccount extends SecuritiesAccountBase { type: AccountType.MARGIN; initialBalances: MarginInitialBalance; currentBalances: MarginBalance; projectedBalances: MarginBalance; } export interface CashAccount extends SecuritiesAccountBase { type: AccountType.CASH; initialBalances: CashInitialBalance; currentBalances: CashBalance; projectedBalances: CashBalance; } export type SecuritiesAccount = MarginAccount | CashAccount; export interface Account { securitiesAccount: SecuritiesAccount; } export interface AccountsBaseInstrument { assetType: AssetType; cusip: string; symbol: string; description: string; instrumentId: number; netChange: number; } export declare enum AccountCashEquivalentTypeEnum { SWEEP_VEHICLE = "SWEEP_VEHICLE", SAVINGS = "SAVINGS", MONEY_MARKET_FUND = "MONEY_MARKET_FUND", UNKNOWN = "UNKNOWN" } export declare enum AccountOptionTypeEnum { VANILLA = "VANILLA", BINARY = "BINARY", BARRIER = "BARRIER", UNKNOWN = "UNKNOWN" } export declare enum UserDetailsTypeEnum { ADVISOR_USER = "ADVISOR_USER", BROKER_USER = "BROKER_USER", CLIENT_USER = "CLIENT_USER", SYSTEM_USER = "SYSTEM_USER", UNKNOWN = "UNKNOWN" } export interface AccountCashEquivalent extends AccountsBaseInstrument { type: AccountCashEquivalentTypeEnum; } export interface AccountEquity extends AccountsBaseInstrument { } export interface AccountFixedIncome extends AccountsBaseInstrument { maturityDate: string; factor: number; variableRate: number; } export interface AccountMutualFund extends AccountsBaseInstrument { } export interface AccountAPIOptionDeliverable { symbol: string; deliverableUnits: number; apiCurrencyType: "USD" | "CAD" | "EUR" | "JPY"; assetType: AssetType; } export interface AccountOption extends AccountsBaseInstrument { optionDeliverables: AccountAPIOptionDeliverable[]; putCall: PutCallEnum; optionMultiplier: number; type: AccountOptionTypeEnum; underlyingSymbol: string; } export type AccountsInstrument = AccountCashEquivalent | AccountEquity | AccountFixedIncome | AccountMutualFund | AccountOption; export interface UserDetails { cdDomainId: string; login: string; type: UserDetailsTypeEnum; userId: number; systemUserName: string; firstName: string; lastName: string; brokerRepCode: string; } //# sourceMappingURL=accounts.types.d.ts.map