fdx-types
Version:
This adds in the types necessary to understand and use the FDX spec.
1,908 lines (1,601 loc) • 70.9 kB
TypeScript
/* eslint-disable */
/* tslint:disable */
/*
* ---------------------------------------------------------------
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
* ## ##
* ## AUTHOR: acacode ##
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
* ---------------------------------------------------------------
*/
/**
* Types of document formats. (Suggested values)
*/
export enum ContentTypes {
ApplicationPdf = 'application/pdf',
ImageGif = 'image/gif',
ImageJpeg = 'image/jpeg',
ImageTiff = 'image/tiff',
ImagePng = 'image/png',
ApplicationJson = 'application/json',
}
/**
* An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account
*/
export interface Error {
/** Long term persistent identifier which can be used to trace error condition back to log information */
code?: string;
/** End user displayable information which might help the customer diagnose an error */
message?: string;
}
/**
* REST application constraint (Hypermedia As The Engine Of Application State)
*/
export interface HateoasLink {
/**
* URL to invoke the action on the resource
* @example https://api.fi.com/fdx/v4/accounts/12345
*/
href: string;
/** HTTP Method to use for the request */
action?: 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'PUT';
/** Content-types that can be used in the Accept header */
types?: ContentTypes[];
}
/**
* Offset IDs for paginated result sets
*/
export interface PageMetadata {
/**
* Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific
* @example 2
*/
nextOffset?: string;
/**
* Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific
* @example 1
*/
prevOffset?: string;
/**
* Total number of elements
* @example 3
*/
totalElements?: number;
}
/**
* Resource URLs for retrieving next or previous datasets
*/
export interface PageMetadataLinks {
/** REST application constraint (Hypermedia As The Engine Of Application State) */
next?: HateoasLink;
/** REST application constraint (Hypermedia As The Engine Of Application State) */
prev?: HateoasLink;
}
/**
* Base class for results that may be paginated
*/
export interface PaginatedArray {
/** Offset IDs for paginated result sets */
page?: PageMetadata;
/** Resource URLs for retrieving next or previous datasets */
links?: PageMetadataLinks;
}
/**
* Postal address
*/
export interface Address {
/** String of maximum length 64 */
line1?: String64;
/** String of maximum length 64 */
line2?: String64;
/** String of maximum length 64 */
line3?: String64;
/** String of maximum length 64 */
city?: String64;
/** String of maximum length 64 */
state?: String64;
/** Postal code */
postalCode?: string;
/** ISO 3166 Codes for the representation of names of countries and their subdivisions */
country?: Iso3166CountryCode;
}
/**
* The name of an individual in their role as a customer
*/
export type CustomerName = IndividualName & {prefix?: string; company?: string};
/**
* A delivery address and its location type
*/
export type DeliveryAddress = Address & {type?: DeliveryAddressType};
/**
* Financial Institution provider-specific attribute
*/
export interface FiAttribute {
/** Name of attribute */
name?: string;
/** Value of attribute */
value?: string;
}
/**
* First name, middle initial, last name, suffix fields
*/
export interface IndividualName {
/** First name */
first?: string;
/** Middle initial */
middle?: string;
/** Last name */
last?: string;
/** Generational or academic suffix */
suffix?: string;
}
/**
* Individual or business name with address
*/
export type NameAddress = Address & {name1?: String64; name2?: String64};
/**
* Contact phone number with name and address
*/
export type NameAddressPhone = NameAddress & {
phone?: TelephoneNumberPlusExtension;
};
/**
* Details of this payment
*/
export interface PaymentDetails {
/** The amount of payment applied to principal */
principalAmount?: number;
/** The amount of payment applied to interest */
interestAmount?: number;
/** The amount of payment applied to life/health/accident insurance on the loan */
insuranceAmount?: number;
/** The amount of payment applied to escrow */
escrowAmount?: number;
/** The amount of payment applied to PMI */
pmiAmount?: number;
/** The amount of payment applied to fees */
feesAmount?: number;
}
/**
* Standard for international phone numbers
*/
export interface TelephoneNumber {
/** Purpose or type of telephone number */
type?: TelephoneNumberType;
/** Country calling codes defined by ITU-T recommendations E.123 and E.164 */
country?: string;
/**
* Telephone subscriber number defined by ITU-T recommendation E.164
* @pattern \d+
*/
number?: string;
}
/**
* A telephone number that can contain optional text for an arbitrary length telephone extension number
*/
export type TelephoneNumberPlusExtension = TelephoneNumber & {
extension?: string;
};
/**
* An abstract account entity that concrete account entities extend
*/
export type Account = AccountDescriptor & {
parentAccountId?: Identifier;
lineOfBusiness?: string;
routingTransitNumber?: string;
balanceType?: BalanceType;
contact?: AccountContact;
interestRate?: number;
interestRateType?: InterestRateType;
interestRateAsOf?: Timestamp;
priorInterestRate?: number;
transferIn?: boolean;
transferOut?: boolean;
billPayStatus?: AccountBillPayStatus;
micrNumber?: String64;
lastActivityDate?: Timestamp;
rewardProgramId?: Identifier;
transactionsIncluded?: boolean;
};
/**
* Contact information for the account
*/
export interface AccountContact {
/** Owners of the acount */
holders?: AccountHolder[];
/** Email addresses associated with the account */
emails?: string[];
/** Physical mail addresses associated with the account */
addresses?: DeliveryAddress[];
/** Telephone numbers associated with the account */
telephones?: TelephoneNumber[];
}
/**
* This descriptor provides minimal information about the account for use in lightweight arrays
*/
export interface AccountDescriptor {
/** Value for a unique identifier */
accountId?: Identifier;
/** An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account */
error?: Error;
/** The type of an account.<br/> <br/> | Value | Description |<br/> |-----|-----|<br/> | 401A | An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both |<br/> | 401K | An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code |<br/> | 403B | A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States |<br/> | '529' | A tax-advantaged savings plan designed to help pay for education |<br/> | ANNUITY | A form of insurance or investment entitling the investor to a series of annual sums |<br/> | AUTOLOAN | A type of loan used to finance a car purchase |<br/> | BROKERAGEPRODUCT | Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options |<br/> | CD | A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time |<br/> | CHARGE | An account to which goods and services may be charged on credit |<br/> | CHECKING | A deposit account held at a financial institution that allows withdrawals and deposits |<br/> | COMMERCIALDEPOSIT | Deposit Account for Commercial Customers e.g. Business Trust Account |<br/> | COMMERCIALINVESTMENT | Investment Account for Commercial Customers. e.g. Commercial Brokerage Account |<br/> | COMMERCIALINEOFCREDIT | A preset borrowing limit that can be used at any time |<br/> | COMMERCIALLOAN | A preset borrowing limit that can be used at any time |<br/> | COVERDELL | A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account |<br/> | CREDITCARD | Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment |<br/> | DEFINEDBENEFIT | An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history |<br/> | ESCROW | A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties |<br/> | ESOP | An employee stock ownership plan (ESOP) is an employee benefit plan that gives workers ownership interest in the company |<br/> | FIXEDANNUITY | A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account |<br/> | GUARDIAN | An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent |<br/> | HOMEEQUITYLOAN | A type of loan in which the borrower uses the equity of his or her home as collateral |<br/> | HOMELINEOFCREDIT | A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house |<br/> | INSTALLMENT | A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments |<br/> | INSTITUTIONALTRUST | |<br/> | IRA | An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement |<br/> | KEOGH | A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes |<br/> | LINEOFCREDIT | A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds |<br/> | LOAN | The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc |<br/> | LONGTERMDISABILITY | Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year |<br/> | MILITARYLOAN | |<br/> | MONEYMARKET | A deposit account that pays interest based on current interest rates in the money markets |<br/> | MORTGAGE | A type of loan you can use to buy or refinance a home |<br/> | NONQUALIFEDPLAN | A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines |<br/> | OTHERDEPOSIT | Use when none of the listed enums apply |<br/> | OTHERINVESTMENT | Use when none of the listed enums apply |<br/> | PERSONALLOAN | A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower |<br/> | ROLLOVER | |<br/> | ROTH | An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement |<br/> | SARSEP | A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement |<br/> | SAVINGS | An interest-bearing deposit account held at a bank or other financial institution |<br/> | SMBLOAN | |<br/> | SHORTTERMDISABILITY | Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year |<br/> | STUDENTLOAN | A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses |<br/> | TAXABLE | |<br/> | TDA | |<br/> | TERM | Life insurance that provides coverage at a fixed rate of payments for a limited period of time |<br/> | TRUST | A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms |<br/> | UGMA | |<br/> | UNIVERSALLIFE | A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest |<br/> | UTMA | |<br/> | VARIABLEANNUITY | A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer |<br/> | WHOLELIFE | Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date | */
accountType?: AccountType;
/** Full account number for the end user's handle for the account at the owning institution */
accountNumber?: string;
/** Account display number for the end user's handle at the owning institution. This is to be displayed by the Interface Provider */
accountNumberDisplay?: string;
/** Marketed product name for this account. Used in UIs to assist in account selection */
productName?: string;
/** Name given by the user. Used in UIs to assist in account selection */
nickname?: string;
/** Account status */
status?:
| 'OPEN'
| 'CLOSED'
| 'PENDINGOPEN'
| 'PENDINGCLOSE'
| 'DELINQUENT'
| 'PAID'
| 'NEGATIVECURRENTBALANCE';
/** Description of account */
description?: string;
/** Represents an international currency */
currency?: Currency;
/** Array of Financial institution-specific attributes */
fiAttributes?: FiAttribute[];
}
/**
* A lightweight array of accounts
*/
export interface AccountDescriptorList {
/** A lightweight description of an account */
accountDescriptor?: AccountDescriptor[];
}
/**
* Extends `Customer` and adds a `relationship` field to define the customer's relationship with an account
*/
export type AccountHolder = Customer & {
relationship?: AccountHolderRelationship;
};
/**
* This provides details required to execute a transaction against the account within the payment network
*/
export interface AccountPaymentNetwork {
/** Bank identifier used by the payment network ie. Routing Number */
bankId?: string;
/** The number used to identify the account within the payment network. If identifierType is ACCOUNT_NUMBER, this is the account number; if identifierType is TOKENIZED_ACCOUNT_NUMBER, this is a tokenized account number */
identifier?: string;
/** Suggested values for Payment Initiation Identifier Type */
identifierType?: PaymentNetworkIdentifierType;
/** Suggested values for Payment Network Type<br/> <br/> | Value | Description |<br/> |-----|-----|<br/> | US_ACH | Automated Clearing House |<br/> | US_FEDWIRE | Fedwire Funds Service |<br/> | US_CHIPS | Clearinghouse Interbank Payments System |<br/> | CA_ACSS | Automated Clearing House Settlement System |<br/> | CA_LVTS | Large-Value Transfer System | */
type?: PaymentNetworkType;
/** Can transfer funds to the account using this information */
transferIn?: boolean;
/** Can transfer funds from the account using this information */
transferOut?: boolean;
}
/**
* An optionally paginated array of payment networks supported by the account
*/
export type AccountPaymentNetworkList = PaginatedArray & {
paymentNetworks?: AccountPaymentNetwork[];
};
/**
* This provides an instance of an account with full details
*/
export type AccountWithDetails = {depositAccount?: DepositAccount} & {
loanAccount?: LoanAccount;
} & {locAccount?: LocAccount} & {investmentAccount?: InvestmentAccount} & {
insuranceAccount?: InsuranceAccount;
} & {annuityAccount?: AnnuityAccount};
/**
* An optionally paginated array of accounts
*/
export type Accounts = PaginatedArray & {accounts?: AccountWithDetails[]};
/**
* An annuity account type
*/
export type AnnuityAccount = Account & {
annuityProductType?: AnnuityProductType;
annuityValueBasis?: AnnuityValueBasis;
paymentAmount?: number;
paymentFrequency?: PaymentFrequency;
paymentStartDate?: Timestamp;
paymentEndDate?: Timestamp;
totalPaymentCount?: number;
netPresentValue?: number;
annualIncrease?: number;
annualIncreaseType?: AnnualIncreaseType;
periodCertainGuarantee?: PeriodCertainGuarantee;
};
/**
* The response object for the API /availability request
*/
export interface Availability {
/** Status of API availability */
currentStatus?: string;
/** Description of availability status */
currentStatusDesc?: string;
/** Provider's plan for API availability */
plannedAvailability?: PlannedAvailability[];
}
/**
* The payments due on an account
*/
export interface Bills {
/** Total payment due or next payment due. Monthly payment due for loans */
totalPaymentDue?: number;
/** The minimum amount which is due */
minimumPaymentDue?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
dueDate?: Timestamp;
/** Whether the user's bill is paid automatically */
autoPayEnabled?: boolean;
/** The amount of money the user has set to autopay this bill */
autoPayAmount?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
autoPayDate?: Timestamp;
/** The amount that the user should have already paid. The value is negative if user owes money */
pastDueAmount?: number;
/** The amount of the most recent payment */
lastPaymentAmount?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
lastPaymentDate?: Timestamp;
/** The amount of the last statement. The value is negative if the user owes money */
statementBalance?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
statementDate?: Timestamp;
}
/**
* The response object for the API /capability request
*/
export interface Capability {
/** The number of concurrent connections allowed for this client */
allowedConnections?: number;
/** The current number of active connections for this client */
activeConnections?: number;
/** Capable of responding to customer queries. Defaults to false */
supportsCustomer?: boolean;
/** Capable of responding to accounts and account queries. Defaults to false */
supportsAccounts?: boolean;
/** Capable of responding to transaction queries. Defaults to false */
supportsTransactions?: boolean;
/** Capable of responding to statements and statement queries. Defaults to false */
supportsStatements?: boolean;
/** Capable of responding to image queries. Defaults to false */
supportsImage?: boolean;
/** Capable of supporting a bill payment request. Defaults to false */
supportsBillPay?: boolean;
/** Capable of supporting a transfer request. Defaults to false */
supportsTransfer?: boolean;
/** Message format used in /capability API */
messageFormat?: MessageFormat;
/** ISO 8601 date time with milliseconds in UTC time zone */
transferCutOffTime?: Timestamp;
/** ISO 8601 date time with milliseconds in UTC time zone */
billPayCutOffTime?: Timestamp;
}
/**
* Contribution information to an investment account
*/
export interface Contribution {
/** Unique identifier of security */
securityId?: string;
/** The type of identifier for a security */
securityIdType?: SecurityIdType;
/** Employer contribution match percentage */
employerMatchPercentage?: number;
/** Employer contribution match amount */
employerMatchAmount?: number;
/** Employee pre-tax contribution amount */
employeePreTaxAmount?: number;
/** Employee pre-tax contribution percentage */
employeePreTaxPercentage?: number;
/** Employee after tax contribution amount */
employeeAfterTaxAmount?: number;
/** Employee after tax contribution percentage */
employeeAfterTaxPercentage?: number;
/** Employee defer pre-tax contribution match amount */
employeeDeferPreTaxAmount?: number;
/** Employee defer pre-tax contribution match percentage */
employeeDeferPreTaxPercentage?: number;
/** Employee total year to date contribution */
employeeYearToDate?: number;
/** Employer total year to date contribution */
employerYearToDate?: number;
/** Rollover contribution percentage */
rolloverContributionPercentage?: number;
/** Rollover contribution Amount */
rolloverContributionAmount?: number;
}
/**
* Represents an international currency
*/
export interface Currency {
/** Currency rate between original and converted currency */
currencyRate?: number;
/** ISO 4217 Currency codes */
currencyCode?: Iso4217Code;
/** ISO 4217 Currency codes */
originalCurrencyCode?: Iso4217Code;
}
/**
* Represents a customer
*/
export interface Customer {
/** Value for a unique identifier */
customerId?: Identifier;
/** The name of an individual in their role as a customer */
name?: CustomerName;
/** ISO 8601 date time with milliseconds in UTC time zone */
dateOfBirth?: Timestamp;
/** The SSN or TIN associated with this customer */
taxId?: string;
/** A federal (such as passport) or state (such as driver's license) issued identifier */
governmentId?: string;
/** An array of the customer's electronic mail addresses */
email?: string[];
/** An array of the customer's physical mail addresses */
addresses?: DeliveryAddress[];
/** An array of the customer's telephone numbers */
telephones?: TelephoneNumber[];
/** List of accounts related to this customer */
accounts?: CustomerToAccountRelationship[];
}
/**
* List of customers
*/
export interface Customers {
/** Offset IDs for paginated result sets */
page?: PageMetadata;
/** Resource URLs for retrieving next or previous datasets */
links?: PageMetadataLinks;
/** Array of customers */
customers?: Customer[];
}
/**
* Describes an account related to a customer
*/
export interface CustomerToAccountRelationship {
/** Value for a unique identifier */
accountId?: Identifier;
/** Link to the account */
links?: CustomerToAccountRelationshipLinks;
/** Types of relationships between accounts and holders. Suggested values */
relationship?: AccountHolderRelationship;
}
/**
* An investment in a debt security
*/
export interface DebtSecurity {
/** Par value amount */
parValue?: number;
/** The type of a debt instrument */
debtType?: DebtType;
/** The classification of a debt instrument */
debtClass?: DebtClass;
/** Bond coupon rate for next closest call date */
couponRate?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
couponDate?: Timestamp;
/** The frequency of a bond's coupon maturity */
couponMatureFrequency?: CouponMatureFrequency;
/** Bond call price */
callPrice?: number;
/** Yield to next call */
yieldToCall?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
callDate?: Timestamp;
/** The call type for a stock option */
callType?: CallType;
/** Yield to maturity */
yieldToMaturity?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
bondMaturityDate?: Timestamp;
}
/**
* Information for a deposit account type
*/
export type DepositAccount = Account & {
balanceAsOf?: Timestamp;
currentBalance?: number;
openingDayBalance?: number;
availableBalance?: number;
annualPercentageYield?: number;
interestYtd?: number;
term?: number;
maturityDate?: Timestamp;
transactions?: DepositTransaction[];
};
/**
* A transaction on a deposit account type
*/
export type DepositTransaction = Transaction & {
transactionType?: DepositTransactionType;
payee?: String255;
checkNumber?: number;
};
/**
* Financial Institution-specific asset allocation
*/
export interface FiPortion {
/** Financial Institution-specific asset class */
assetClass?: string;
/** Percentage of asset class that falls under this asset */
percent?: number;
}
/**
* A holding in an investment account
*/
export type Holding = {
holdingId?: Identifier;
securityId?: string;
securityIdType?: SecurityIdType;
holdingName?: string;
holdingType?: HoldingType;
holdingSubType?: HoldingSubType;
positionType?: PositionType;
heldInAccount?: HeldInAccount;
description?: string;
symbol?: string;
originalPurchaseDate?: Timestamp;
purchasedPrice?: number;
currentUnitPrice?: number;
changeInPrice?: number;
currentUnitPriceDate?: Timestamp;
units?: number;
marketValue?: number;
faceValue?: number;
averageCost?: boolean;
cashAccount?: boolean;
rate?: number;
expirationDate?: Timestamp;
inv401kSurce?: Inv401KSourceType;
inv401kSource?: Inv401KSourceType;
currency?: Currency;
assetClasses?: Portion[];
fiAssetClasses?: FiPortion[];
fiAttributes?: FiAttribute[];
taxLots?: TaxLot[];
} & ({mutualFundSecurity?: MutualFundSecurity} & {
optionSecurity?: OptionSecurity;
} & {otherSecurity?: OtherSecurity} & {stockSecurity?: StockSecurity} & {
sweepSecurity?: SweepSecurity;
} & {debtSecurity?: DebtSecurity});
/**
* An insurance account type and properties such as category, premium, and payment term information
*/
export type InsuranceAccount = Account & {
accountCategory?:
| 'DEPOSIT_ACCOUNT'
| 'INVESTMENT_ACCOUNT'
| 'LOAN_ACCOUNT'
| 'LOC_ACCOUNT'
| 'INSURANCE_ACCOUNT';
policyPremium?: number;
policyPremiumTerm?: 'MONTHLY' | 'ANNUAL';
policyStartDate?: Timestamp;
policyEndDate?: Timestamp;
policyCoverageAmount?: number;
transactions?: InsuranceTransaction[];
bills?: Bills[];
};
/**
* An insurance transaction type
*/
export type InsuranceTransaction = Transaction & {
transactionType?: 'PAYMENT' | 'FEE' | 'ADJUSTMENT' | 'INTEREST';
};
/**
* An investment account type and information such as balances, transactions, holdings and privileges
*/
export type InvestmentAccount = Account & {
balanceAsOf?: Timestamp;
allowedCheckWriting?: boolean;
allowedOptionTrade?: boolean;
currentValue?: number;
holdings?: Holding[];
openOrders?: OpenOrder[];
contribution?: Contribution[];
vesting?: Vesting[];
investmentLoans?: InvestmentLoan[];
availableCashBalance?: number;
margin?: boolean;
marginBalance?: number;
shortBalance?: number;
rolloverAmount?: number;
employerName?: string;
brokerId?: string;
planId?: string;
calendaryearFor401K?: Timestamp;
balanceList?: InvestmentBalance[];
dailyChange?: number;
percentageChange?: number;
transactions?: InvestmentTransaction[];
pensionSource?: PensionSource[];
};
/**
* A point-in-time balance of the investment account
*/
export interface InvestmentBalance {
/** Name of the balance */
balanceName?: string;
/** Description of balance */
balanceDescription?: string;
/** The type of an investment balance */
balanceType?: InvestmentBalanceType;
/** Value of named balance */
balanceValue?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
balanceDate?: Timestamp;
/** Represents an international currency */
currency?: Currency;
}
/**
* Any loan information against an investment account
*/
export interface InvestmentLoan {
/** Unique identifier for this loan */
loanId?: string;
/** Description of loan */
loanDescription?: string;
/** Initial loan balance amount */
initialLoanBalance?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
loanStartDate?: Timestamp;
/** Current loan principal balance amount */
currentLoanBalance?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
dateAsOf?: Timestamp;
/** Loan annual interest rate for the loan */
loanRate?: number;
/** Loan payment amount */
loanPaymentAmount?: number;
/** The frequency of payments on a loan */
loanPaymentFrequency?: LoanPaymentFrequency;
/** Initial number of loan payments */
loanPaymentInitial?: number;
/** Remaining number of loan payments */
loanPaymentsRemaining?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
loanMaturityDate?: Timestamp;
/** Total interest paid to date on this loan */
loanInterestToDate?: number;
/** Total projected interest to be paid on this loan */
loanTotalProjectedInterest?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
loanNextPaymentDate?: Timestamp;
}
/**
* Specific transaction information
*/
export type InvestmentTransaction = Transaction & {
transactionType?: InvestmentTransactionType;
shares?: number;
faceValue?: number;
price?: number;
securityId?: string;
securityIdType?: SecurityIdType;
securityType?: SecurityType;
symbol?: string;
markup?: number;
commission?: number;
taxes?: number;
fees?: number;
load?: number;
inv401kSource?: Inv401KSourceType;
confirmationNumber?: string;
fractionalCash?: number;
incomeType?: IncomeType;
oldUnits?: number;
splitRatioNumerator?: number;
splitRatioDenominator?: number;
newUnits?: number;
subAccountSec?: SubAccountType;
subAccountFund?: SubAccountType;
loanId?: string;
loanPrincipal?: number;
loanInterest?: number;
payrollDate?: Timestamp;
priorYearContrib?: boolean;
withholding?: number;
taxExempt?: boolean;
gain?: number;
stateWithholding?: number;
penalty?: number;
runningBalance?: number;
unitPrice?: number;
units?: number;
unitType?: UnitType;
transactionReason?: TransactionReason;
accruedInterest?: number;
transferAction?: 'IN' | 'OUT';
positionType?: PositionType;
};
/**
* A line item within a transaction
*/
export interface LineItem {
/** The description of the line item */
description?: string;
/** The amount of money attributable to this line item */
amount?: number;
/** Check number */
checkNumber?: number;
/** String of maximum length 255 */
memo?: String255;
/** A reference number */
reference?: string;
/** Array of image identifiers (unique to transaction) used to retrieve images of check or transaction receipt */
imageIds?: string[];
/** Links (unique to Transaction) used to retrieve images of checks or transaction receipts */
links?: LineItemLinks;
}
/**
* A loan account type
*/
export type LoanAccount = Account & {
balanceAsOf?: Timestamp;
principalBalance?: number;
escrowBalance?: number;
originalPrincipal?: number;
originatingDate?: Timestamp;
loanTerm?: number;
totalNumberOfPayments?: number;
nextPaymentAmount?: number;
nextPaymentDate?: Timestamp;
paymentFrequency?: PaymentFrequency;
compoundingPeriod?: CompoundingPeriod;
payOffAmount?: number;
lastPaymentAmount?: number;
lastPaymentDate?: Timestamp;
maturityDate?: Timestamp;
interestPaidYearToDate?: number;
transactions?: LoanTransaction[];
};
/**
* A transaction on a loan account
*/
export type LoanTransaction = Transaction & {
transactionType?: LoanTransactionType;
paymentDetails?: PaymentDetails;
};
/**
* A line-of-credit account
*/
export type LocAccount = Account & {
balanceAsOf?: Timestamp;
creditLine?: number;
availableCredit?: number;
nextPaymentAmount?: number;
nextPaymentDate?: Timestamp;
principalBalance?: number;
currentBalance?: number;
minimumPaymentAmount?: number;
lastPaymentAmount?: number;
lastPaymentDate?: Timestamp;
pastDueAmount?: number;
lastStmtBalance?: number;
lastStmtDate?: Timestamp;
pointsAccrued?: number;
currentRewardsBalance?: number;
pointsRedeemed?: number;
purchasesApr?: number;
advancesApr?: number;
cashAdvanceLimit?: number;
availableCash?: number;
financeCharges?: number;
transactions?: LocTransaction[];
};
/**
* A line-of-credit transaction
*/
export type LocTransaction = Transaction & {
transactionType?: LocTransactionType;
checkNumber?: number;
paymentDetails?: PaymentDetails;
};
/**
* A mutual fund
*/
export interface MutualFundSecurity {
/** The type of a mutual fund */
mutualFundType?: MutualFundType;
/** Units in the FI's street name, positive quantity */
unitsStreet?: number;
/** Units in user's name directly, positive quantity */
unitsUser?: number;
/** Reinvest dividends */
reinvestDividends?: boolean;
/** Reinvest capital gains */
reinvestCapitalGains?: boolean;
/** Current yield reported as portion of the fund's assets */
yield?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
yieldAsOfDate?: Timestamp;
}
/**
* An open investment transaction order
*/
export interface OpenOrder {
/** Value for a unique identifier */
orderId?: Identifier;
/** Unique identifier of security */
securityId?: string;
/** The type of identifier for a security */
securityIdType?: SecurityIdType;
/** Market symbol */
symbol?: string;
/** Description of order */
description?: string;
/** Number of units (shares or bonds etc.) */
units?: number;
/** The type of the order */
orderType?: OrderType;
/** ISO 8601 date time with milliseconds in UTC time zone */
orderDate?: Timestamp;
/** Unit price */
unitPrice?: number;
/** The units of an investment transaction */
unitType?: UnitType;
/** The duration of the order */
orderDuration?: OrderDuration;
/** The subtype of an account */
subAccount?: SubAccountType;
/** Limit price */
limitPrice?: number;
/** Stop price */
stopPrice?: number;
/** The source of a 401k investment */
inv401kSource?: Inv401KSourceType;
}
/**
* An option
*/
export interface OptionSecurity {
/** How the option is secured */
secured?: Secured;
/** The type of a stock option */
optionType?: OptionType;
/** Strike price / Unit price */
strikePrice?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
expireDate?: Timestamp;
/** Shares per contract */
sharesPerContract?: number;
}
/**
* Any other kind of security
*/
export interface OtherSecurity {
/** Description of other security */
typeDescription?: string;
}
/**
* The source of pension funds
*/
export interface PensionSource {
/** Name of the source */
displayName?: string;
/** Benefit Amount */
amount?: number;
/** Form of payment */
paymentOption?: string;
/** ISO 8601 date time with milliseconds in UTC time zone */
asOfDate?: Timestamp;
/** The frequency of payments */
frequency?: PaymentFrequency;
/** ISO 8601 date time with milliseconds in UTC time zone */
startDate?: Timestamp;
}
/**
* A Provider's planned time period for API availability
*/
export interface PlannedAvailability {
/** API availability status for this time period */
status?: string;
/** A short description of the API availability status */
statusShortDesc?: string;
/** ISO 8601 date time with milliseconds in UTC time zone */
statusStartDate?: Timestamp;
/** ISO 8601 date time with milliseconds in UTC time zone */
statusEndDate?: Timestamp;
}
/**
* An asset allocation with class and percentage
*/
export interface Portion {
/** The class of an investment asset */
assetClass?: AssetClass;
/** The percentage of this allocation */
percent?: number;
}
/**
* Reward program balance
*/
export interface RewardBalance {
/** Name used to denominate the balance */
name?: string;
/**
* The type of the reward balance. Example: a reward program awarding "Stars" for purchases would use the `POINTS` reward type.<br/> * `CASHBACK` - Rewards balances enumerated using a monetary amount<br/> * `MILES` - Rewards balances enumerated using distance<br/> * `POINTS` - Default when a reward balance is not of type CASHBACK or MILES
*
*/
type?: RewardType;
/** Total units available for redemption at time of download */
balance?: number;
/**
* Total units accrued in the current program year at time of download
* @min 0
*/
accruedYtd?: number;
/**
* Total units redeemed in the current program year at time of download
* @min 0
*/
redeemedYtd?: number;
/** Balance used for qualifying purposes */
qualifying?: boolean;
/** Array of FI-specific attributes */
fiAttributes?: FiAttribute[];
}
/**
* Reward category used to calculate rewards on a transaction
*/
export interface RewardCategory {
/** Reward category name */
categoryName?: string;
/** Value for a unique identifier */
categoryId?: Identifier;
/**
* Factor used to calculate rewards accrued
* @min 0
*/
multiplier?: number;
/** Description of the reward category */
description?: string;
/** Array of FI-specific attributes */
fiAttributes?: FiAttribute[];
}
/**
* An optionally paginated array of reward categories
*/
export type RewardCategories = PaginatedArray & {
rewardPrograms?: RewardCategory[];
};
/**
* Details of a single membership in a reward programs
*/
export interface RewardMembership {
/** accountIds associated to the reward program */
accountIds?: Identifier[];
/** Value for a unique identifier */
customerId?: Identifier;
/** Value for a unique identifier */
memberId?: Identifier;
/** Reward program membership number */
memberNumber?: string;
/** If the reward program is tiered, member's current tier */
memberTier?: string;
/** Indicator if parent entity is a consumer or business */
businessOrConsumer?: BusinessOrConsumer;
/** Array of balances */
balances?: RewardBalance[];
}
/**
* Reward program detail
*/
export interface RewardProgram {
/** Value for a unique identifier */
programId?: Identifier;
/** Name of reward program */
programName?: string;
/** URL of reward program */
programUrl?: string;
/** Array of reward memberships */
memberships?: RewardMembership[];
/** Array of FI-specific attributes */
fiAttributes?: FiAttribute[];
}
/**
* An optionally paginated array of reward programs
*/
export type RewardPrograms = PaginatedArray & {
rewardPrograms?: RewardProgram[];
};
/**
* An account statement
*/
export interface Statement {
/** Value for a unique identifier */
accountId?: Identifier;
/** Value for a unique identifier */
statementId?: Identifier;
/** ISO 8601 date time with milliseconds in UTC time zone */
statementDate?: Timestamp;
/** Description of statement */
description?: string;
}
/**
* A paginated array of account statements
*/
export type Statements = PaginatedArray & {
statements?: (Statement & {links?: {self?: HateoasLink}})[];
};
/**
* A stock security
*/
export interface StockSecurity {
/** The units in the FI's street name as a positive quantity */
unitsStreet?: number;
/** The units in user's name directly as a positive quantity */
unitsUser?: number;
/** Selection to reinvest dividends */
reinvestDividends?: boolean;
/** The type of a stock instrument */
stockType?: StockType;
/** The current yield */
yield?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
yieldAsOfDate?: Timestamp;
}
/**
* A sweep security
*/
export interface SweepSecurity {
/** Balance of funds in account */
currentBalance?: number;
/** Balance of funds available for use */
availableBalance?: number;
/** ISO 8601 date time with milliseconds in UTC time zone */
balanceAsOf?: Timestamp;
/** Whether or not checks can be written on the account */
checks?: boolean;
}
/**
* Block of securities receiving the same tax treatment
*/
export interface TaxLot {
/** ISO 8601 date time with milliseconds in UTC time zone */
originalPurchaseDate?: Timestamp;
/** Lot quantity */
quantity?: number;
/** Original purchase price */
purchasedPrice?: number;
/** Total amount of money spent acquiring this lot including any fees or commission expenses incurred */
costBasis?: number;
/** Lot market value */
currentValue?: number;
/** The type of an investment position */
postionType?: PositionType;
/** The type of an investment position */
positionType?: PositionType;
}
/**
* Base entity for financial transactions
*/
export interface Transaction {
/** Value for a unique identifier */
accountId?: Identifier;
/** Value for a unique identifier */
transactionId?: Identifier;
/** Value for a unique identifier */
referenceTransactionId?: Identifier;
/** ISO 8601 date time with milliseconds in UTC time zone */
postedTimestamp?: Timestamp;
/** ISO 8601 date time with milliseconds in UTC time zone */
transactionTimestamp?: Timestamp;
/** The description of the transaction */
description?: string;
/** String of maximum length 255 */
memo?: String255;
/** The posting type of a transaction */
debitCreditMemo?: DebitCreditMemo;
/** Transaction category, preferably MCC or SIC. */
category?: string;
/** Transaction category detail */
subCategory?: string;
/** A tracking reference identifier */
reference?: string;
/** The status of a transaction */
status?: TransactionStatus;
/** The amount of money in the account currency */
amount?: number;
/** The amount of money in the foreign currency */
foreignAmount?: number;
/** ISO 4217 Currency codes */
foreignCurrency?: Iso4217Code;
/** Array of Image Identifiers (unique to this transaction) used to retrieve Images of check or transaction receipt */
imageIds?: string[];
/** Breakdown of the transaction details */
lineItem?: LineItem[];
/** Rewards earned on a transaction */
reward?: TransactionReward;
/** Array of FI-specific attributes */
fiAttributes?: FiAttribute[];
/** Links (unique to this transaction) used to retrieve images of checks or transaction receipts */
links?: TransactionLinks;
}
/**
* Optionally paginated array of transactions
*/
export type Transactions = PaginatedArray & {
transactions?: ({depositTransaction?: DepositTransaction} & {
loanTransaction?: LoanTransaction;
} & {locTransaction?: LocTransaction} & {
investmentTransaction?: InvestmentTransaction;
} & {insuranceTransaction?: InsuranceTransaction})[];
};
/**
* Rewards earned on a transaction
*/
export interface TransactionReward {
/** Value for a unique identifier */
categoryId?: Identifier;
/** Reward units accrued on this transaction */
accrued?: number;
/** Reward units adjusted on this transaction */
adjusted?: number;
}
/**
* Represents the vesting of ownership of an investment account
*/
export interface Vesting {
/** ISO 8601 date time with milliseconds in UTC time zone */
vestingDate?: Timestamp;
/** Security symbol */
symbol?: string;
/** Strike price */
strikePrice?: number;
/** Vesting percentage */
vestingPercentage?: number;
/** Other vested amount */
otherVestAmount?: number;
/** Other vested percentage */
otherVestPercentage?: number;
/** Vested balance */
vestedBalance?: number;
/** Unvested balance */
unVestedBalance?: number;
/** Vested quantity */
vestedQuantity?: number;
/** Unvested quantity */
unVestedQuantity?: number;
}
/**
* ISO 8601 full-date in format 'YYYY-MM-DD' with no time or timezone included according to [IETF RFC3339] (https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)
* @format date
*/
export type DateString = string;
/**
* The location type of an address
*/
export enum DeliveryAddressType {
BUSINESS = 'BUSINESS',
HOME = 'HOME',
MAILING = 'MAILING',
}
/**
* Value for a unique identifier
*/
export type Identifier = string;
/**
* ISO 3166 Codes for the representation of names of countries and their subdivisions
*/
export enum Iso3166CountryCode {
AD = 'AD',
AE = 'AE',
AF = 'AF',
AG = 'AG',
AI = 'AI',
AL = 'AL',
AM = 'AM',
AN = 'AN',
AO = 'AO',
AQ = 'AQ',
AR = 'AR',
AS = 'AS',
AT = 'AT',
AU = 'AU',
AW = 'AW',
AX = 'AX',
AZ = 'AZ',
BA = 'BA',
BB = 'BB',
BD = 'BD',
BE = 'BE',
BF = 'BF',
BG = 'BG',
BH = 'BH',
BI = 'BI',
BJ = 'BJ',
BM = 'BM',
BN = 'BN',
BO = 'BO',
BR = 'BR',
BS = 'BS',
BT = 'BT',
BV = 'BV',
BW = 'BW',
BY = 'BY',
BZ = 'BZ',
CA = 'CA',
CC = 'CC',
CD = 'CD',
CF = 'CF',
CG = 'CG',
CH = 'CH',
CI = 'CI',
CK = 'CK',
CL = 'CL',
CM = 'CM',
CN = 'CN',
CO = 'CO',
CR = 'CR',
CS = 'CS',
CU = 'CU',
CV = 'CV',
CX = 'CX',
CY = 'CY',
CZ = 'CZ',
DE = 'DE',
DJ = 'DJ',
DK = 'DK',
DM = 'DM',
DO = 'DO',
DZ = 'DZ',
EC = 'EC',
EE = 'EE',
EG = 'EG',
EH = 'EH',
ER = 'ER',
ES = 'ES',
ET = 'ET',
FI = 'FI',
FJ = 'FJ',
FK = 'FK',
FM = 'FM',
FO = 'FO',
FR = 'FR',
GA = 'GA',
GB = 'GB',
GD = 'GD',
GE = 'GE',
GF = 'GF',
GG = 'GG',
GH = 'GH',
GI = 'GI',
GL = 'GL',
GM = 'GM',
GN = 'GN',
GP = 'GP',
GQ = 'GQ',
GR = 'GR',
GS = 'GS',
GT = 'GT',
GU = 'GU',
GW = 'GW',
GY = 'GY',
HK = 'HK',
HM = 'HM',
HN = 'HN',
HR = 'HR',
HT = 'HT',
HU = 'HU',
ID = 'ID',
IE = 'IE',
IL = 'IL',
IM = 'IM',
IN = 'IN',
IO = 'IO',
IQ = 'IQ',
IR = 'IR',
IS = 'IS',
IT = 'IT',
JE = 'JE',
JM = 'JM',
JO = 'JO',
JP = 'JP',
KE = 'KE',
KG = 'KG',
KH = 'KH',
KI = 'KI',
KM = 'KM',
KN = 'KN',
KP = 'KP',
KR = 'KR',
KW = 'KW',
KY = 'KY',
KZ = 'KZ',
LA = 'LA',
LB = 'LB',
LC = 'LC',
LI = 'LI',
LK = 'LK',
LR = 'LR',
LS = 'LS',
LT = 'LT',
LU = 'LU',
LV = 'LV',
LY = 'LY',
MA = 'MA',
MC = 'MC',
MD = 'MD',
MG = 'MG',
MH = 'MH',
MK = 'MK',
ML = 'ML',
MM = 'MM',
MN = 'MN',
MO = 'MO',
MP = 'MP',
MQ = 'MQ',
MR = 'MR',
MS = 'MS',
MT = 'MT',
MU = 'MU',
MV = 'MV',
MW = 'MW',
MX = 'MX',
MY = 'MY',
MZ = 'MZ',
NA = 'NA',
NC = 'NC',
NE = 'NE',
NF = 'NF',
NG = 'NG',
NI = 'NI',
NL = 'NL',
False = 'false',
NP = 'NP',
NR = 'NR',
NU = 'NU',
NZ = 'NZ',
OM = 'OM',
PA = 'PA',
PE = 'PE',
PF = 'PF',
PG = 'PG',
PH = 'PH',
PK = 'PK',
PL = 'PL',
PM = 'PM',
PN = 'PN',
PR = 'PR',
PS = 'PS',
PT = 'PT',
PW = 'PW',
PY = 'PY',
QA = 'QA',
RE = 'RE',
RO = 'RO',
RU = 'RU',
RW = 'RW',
SA = 'SA',
SB = 'SB',
SC = 'SC',
SD = 'SD',
SE = 'SE',
SG = 'SG',
SH = 'SH',
SI = 'SI',
SJ = 'SJ',
SK = 'SK',
SL = 'SL',
SM = 'SM',
SN = 'SN',
SO = 'SO',
SR = 'SR',
ST = 'ST',
SV = 'SV',
SY = 'SY',
SZ = 'SZ',
TC = 'TC',
TD = 'TD',
TF = 'TF',
TG = 'TG',
TH = 'TH',
TJ = 'TJ',
TK = 'TK',
TL = 'TL',
TM = 'TM',
TN = 'TN',
TO = 'TO',
TR = 'TR',
TT = 'TT',
TV = 'TV',
TW = 'TW',
TZ = 'TZ',
UA = 'UA',
UG = 'UG',
UM = 'UM',
US = 'US',
UY = 'UY',
UZ = 'UZ',
VA = 'VA',
VC = 'VC',
VE = 'VE',
VG = 'VG',
VI = 'VI',
VN = 'VN',
VU = 'VU',
WF = 'WF',
WS = 'WS',
YE = 'YE',
YT = 'YT',
ZA = 'ZA',
ZM = 'ZM',
ZW = 'ZW',
}
/**
* ISO 4217 Currency codes
*/
export enum Iso4217Code {
AED = 'AED',
AFN = 'AFN',
ALL = 'ALL',
AMD = 'AMD',
ANG = 'ANG',
AOA = 'AOA',
ARS = 'ARS',
AUD = 'AUD',
AWG = 'AWG',
AZN = 'AZN',
BAM = 'BAM',
BBD = 'BBD',
BDT = 'BDT',
BGN = 'BGN',
BHD = 'BHD',
BIF = 'BIF',
BMD = 'BMD',
BND = 'BND',
BOB = 'BOB',
BOV = 'BOV',
BRL = 'BRL',
BSD = 'BSD',
BTN = 'BTN',
BWP = 'BWP',
BYR = 'BYR',
BZD = 'BZD',
CAD = 'CAD',
CDF = 'CDF',
CHE = 'CHE',
CHF = 'CHF',
CHW = 'CHW',
CLF = 'CLF',
CLP = 'CLP',
CNY = 'CNY',
COP = 'COP',
COU = 'COU',
CRC = 'CRC',
CUC = 'CUC',
CUP = 'CUP',
CVE = 'CVE',
CZK = 'CZK',
DJF = 'DJF',
DKK = 'DKK',
DOP = 'DOP',
DZD = 'DZD',
EGP = 'EGP',
ERN = 'ERN',
ETB = 'ETB',
EUR = 'EUR',
FJD = 'FJD',
FKP = 'FKP',
GBP = 'GBP',
GEL = 'GEL',
GHS = 'GHS',
GIP = 'GIP',
GMD = 'GMD',
GNF = 'GNF',
GTQ = 'GTQ',
GYD = 'GYD',
HKD = 'HKD',
HNL = 'HNL',
HRK = 'HRK',
HTG = 'HTG',
HUF = 'HUF',
IDR = 'IDR',
ILS = 'ILS',
INR = 'INR',
IQD = 'IQD',
IRR = 'IRR',
ISK = 'ISK',
JMD = 'JMD',
JOD = 'JOD',
JPY = 'JPY',
KES = 'KES',
KGS = 'KGS',
KHR = 'KHR',
KMF = 'KMF',
KPW = 'KPW',
KRW = 'KRW',
KWD = 'KWD',
KYD = 'KYD',
KZT = 'KZT',
LAK = 'LAK',
LBP = 'LBP',
LKR = 'LKR',
LRD = 'LRD',
LSL = 'LSL',
LYD = 'LYD',
MAD = 'MAD',
MDL = 'MDL',
MGA = 'MGA',
MKD = 'MKD',
MMK = 'MMK',
MNT = 'MNT',
MOP = 'MOP',
MRO = 'MRO',
MUR = 'MUR',
MVR = 'MVR',
MWK = 'MWK',
MXN = 'MXN',
MXV = 'MXV',
MYR = 'MYR',
MZN = 'MZN',
NAD = 'NAD',
NGN = 'NGN',
NIO = 'NIO',
NOK = 'NOK',
NPR = 'NPR',
NZD = 'NZD',
OMR = 'OMR',
PAB = 'PAB',
PEN = 'PEN',
PGK = 'PGK',
PHP = 'PHP',
PKR = 'PKR',
PLN = 'PLN',
PYG = 'PYG',
QAR = 'QAR',
RON = 'RON',
RSD = 'RSD',
RUB = 'RUB',
RWF = 'RWF',
SAR = 'SAR',
SBD = 'SBD',
SCR = 'SCR',
SDG = 'SDG',
SEK = 'SEK',
SGD = 'SGD',
SHP = 'SHP',
SLL = 'SLL',
SOS = 'SOS',
SRD = 'SRD',
SSP = 'SSP',
STD = 'STD',
SVC = 'SVC',
SYP = 'SYP',
SZL = 'SZL',
THB = 'THB',
TJS = 'TJS',
TMT = 'TMT',
TND = 'TND',
TOP = 'TOP',
TRY = 'TRY',
TTD = 'TTD',
TWD = 'TWD',
TZS = 'TZS',
UAH = 'UAH',
UGX = 'UGX',
USD = 'USD',
USN = 'USN',
UYI = 'UYI',
UYU = 'UYU',
UZS = 'UZS',
VEF = 'VEF',
VND = 'VND',
VUV = 'VUV',
WST = 'WST',
XAF = 'XAF',
XAG = 'XAG',
XAU = 'XAU',
XBA = 'XBA',
XBB = 'XBB',
XBC = 'XBC',
XBD = 'XBD',
XCD = 'XCD',
XDR = 'XDR',
XOF = 'XOF',
XPD = 'XPD',
XPF = 'XPF',