plaid

package module
v2.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2019 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// APIVersion holds the latest version of the Plaid API
	APIVersion = "2019-05-29"

	ClientVersion = "2.0.1"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ACHNumber

type ACHNumber struct {
	Account     string `json:"account"`
	AccountID   string `json:"account_id"`
	Routing     string `json:"routing"`
	WireRouting string `json:"wire_routing"`
}

type APIResponse

type APIResponse struct {
	RequestID string `json:"request_id"`
}

APIResponse is the base struct for all responses from the Plaid API.

type Account

type Account struct {
	AccountID          string          `json:"account_id"`
	Balances           AccountBalances `json:"balances"`
	Mask               string          `json:"mask"`
	Name               string          `json:"name"`
	OfficialName       string          `json:"official_name"`
	Subtype            string          `json:"subtype"`
	Type               string          `json:"type"`
	VerificationStatus string          `json:"verification_status"`
}

type AccountBalances

type AccountBalances struct {
	Available              float64 `json:"available"`
	Current                float64 `json:"current"`
	Limit                  float64 `json:"limit"`
	ISOCurrencyCode        string  `json:"iso_currency_code"`
	UnofficialCurrencyCode string  `json:"unofficial_currency_code"`
}

type AccountNumberCollection

type AccountNumberCollection struct {
	ACH           []ACHNumber  `json:"ach"`
	EFT           []EFTNumber  `json:"eft"`
	International []IBANNumber `json:"international"`
	BACS          []BACSNumber `json:"bacs"`
}

type AccountWithOwners

type AccountWithOwners struct {
	Owners []Identity `json:"owners"`
	Account
}

type Address

type Address struct {
	Data    AddressData `json:"data"`
	Primary bool        `json:"primary"`
}

type AddressData

type AddressData struct {
	City       string `json:"city"`
	Region     string `json:"region"`
	Street     string `json:"street"`
	PostalCode string `json:"postal_code"`
	Country    string `json:"country"`
}

type AssetReport

type AssetReport struct {
	AssetReportID  string            `json:"asset_report_id"`
	ClientReportID string            `json:"client_report_id"`
	DateGenerated  string            `json:"date_generated"`
	DaysRequested  int               `json:"days_requested"`
	Items          []AssetReportItem `json:"items"`
	User           AssetReportUser   `json:"user"`
}

type AssetReportItem

type AssetReportItem struct {
	Accounts        []Account `json:"accounts"`
	DateLastUpdated string    `json:"date_last_updated"`
	InstitutionID   string    `json:"institution_id"`
	InstitutionName string    `json:"institution_name"`
	ItemID          string    `json:"item_id"`
}

type AssetReportUser

type AssetReportUser struct {
	ClientID    string `json:"client_user_id"`
	Email       string `json:"email"`
	FirstName   string `json:"first_name"`
	LastName    string `json:"last_name"`
	MiddleName  string `json:"middle_name"`
	PhoneNumber string `json:"phone_number"`
	SSN         string `json:"ssn"`
}

type BACSNumber

type BACSNumber struct {
	AccountID string `json:"account_id"`
	Account   string `json:"account"`
	SortCode  string `json:"sort_code"`
}

type Category

type Category struct {
	CategoryID string   `json:"category_id"`
	Group      string   `json:"group"`
	Hierarchy  []string `json:"hierarchy"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client holds information required to interact with the Plaid API. Note: Client is only exported for method documentation purposes. Instances should only be created through the 'NewClient' function.

See https://github.com/golang/go/issues/7823.

func NewClient

func NewClient(options ClientOptions) (client *Client, err error)

NewClient instantiates a Client associated with a client id, secret and environment.

func (*Client) Call

func (c *Client) Call(endpoint string, body []byte, v interface{}) error

func (*Client) CreateApexToken

func (c *Client) CreateApexToken(accessToken, accountID string) (resp CreateApexTokenResponse, err error)

CreateApexToken is used to create a new Apex processor token.

func (*Client) CreateAuditCopy

func (c *Client) CreateAuditCopy(assetReportToken, auditorID string) (resp CreateAuditCopyTokenResponse, err error)

func (*Client) CreateDwollaToken

func (c *Client) CreateDwollaToken(accessToken, accountID string) (resp CreateDwollaTokenResponse, err error)

CreateDwollaToken is used to create a new Dwolla processor token.

func (*Client) CreateOcrolusToken

func (c *Client) CreateOcrolusToken(accessToken, accountID string) (resp CreateOcrolusTokenResponse, err error)

CreateOcrolusToken is used to create a new Ocrolus processor token.

func (*Client) CreatePublicToken

func (c *Client) CreatePublicToken(accessToken string) (resp CreatePublicTokenResponse, err error)

CreatePublicToken generates a one-time use public token which expires in 30 minutes to update an Item. See https://plaid.com/docs/api/#creating-public-tokens.

func (*Client) CreateSandboxPublicToken

func (c *Client) CreateSandboxPublicToken(institutionID string, initialProducts []string) (resp CreateSandboxPublicTokenResponse, err error)

func (*Client) CreateStripeToken

func (c *Client) CreateStripeToken(accessToken, accountID string) (resp CreateStripeTokenResponse, err error)

CreateStripeToken is used to create a new Stripe bank account token.

func (*Client) ExchangePublicToken

func (c *Client) ExchangePublicToken(publicToken string) (resp ExchangePublicTokenResponse, err error)

ExchangePublicToken exchanges a public token for an access token. See https://plaid.com/docs/api/#exchange-token-flow.

func (*Client) GetAccounts

func (c *Client) GetAccounts(accessToken string) (resp GetAccountsResponse, err error)

GetAccounts retrieves accounts associated with an Item. See https://plaid.com/docs/api/#accounts.

func (*Client) GetAccountsWithOptions

func (c *Client) GetAccountsWithOptions(accessToken string, options GetAccountsOptions) (resp GetAccountsResponse, err error)

GetAccountsWithOptions retrieves accounts associated with an Item. See https://plaid.com/docs/api/#accounts.

func (*Client) GetAssetReport

func (c *Client) GetAssetReport(assetReportToken string) (resp GetAssetReportResponse, err error)

func (*Client) GetAuth

func (c *Client) GetAuth(accessToken string) (resp GetAuthResponse, err error)

GetAuth retrieves bank account and routing numbers associated with an Item's checking and savings accounts, along with other information. See https://plaid.com/docs/api/#auth.

func (*Client) GetAuthWithOptions

func (c *Client) GetAuthWithOptions(accessToken string, options GetAuthOptions) (resp GetAuthResponse, err error)

GetAuthWithOptions retrieves bank account and routing numbers associated with an Item's checking and savings accounts, along with other information. See https://plaid.com/docs/api/#auth.

func (*Client) GetBalances

func (c *Client) GetBalances(accessToken string) (resp GetBalancesResponse, err error)

GetBalances returns the real-time balance for each of an Item's accounts. See https://plaid.com/docs/api/#balance.

func (*Client) GetBalancesWithOptions

func (c *Client) GetBalancesWithOptions(accessToken string, options GetBalancesOptions) (resp GetBalancesResponse, err error)

GetBalancesWithOptions returns the real-time balance for each of an Item's accounts. See https://plaid.com/docs/api/#balance.

func (*Client) GetCategories

func (c *Client) GetCategories() (resp GetCategoriesResponse, err error)

GetCategories returns information for all categories. See https://plaid.com/docs/api/#category-overview.

func (*Client) GetHoldings

func (c *Client) GetHoldings(accessToken string) (resp GetHoldingsResponse, err error)

GetHoldings retrieves various account holdings for investment accounts. See https://plaid.com/docs/api/#holdings.

func (*Client) GetHoldingsWithOptions

func (c *Client) GetHoldingsWithOptions(accessToken string, options GetHoldingsOptions) (resp GetHoldingsResponse, err error)

GetHoldingsWithOptions retrieves various account holdings for investment accounts. See https://plaid.com/docs/api/#holdings.

func (*Client) GetIdentity

func (c *Client) GetIdentity(accessToken string) (resp GetIdentityResponse, err error)

GetIdentity retrieves various account holder information on file with an associated financial institution. See https://plaid.com/docs/api/#identity.

func (*Client) GetIncome

func (c *Client) GetIncome(accessToken string) (resp GetIncomeResponse, err error)

GetIncome retrieves information pertaining to an Item's income. See https://plaid.com/docs/api/#income.

func (*Client) GetInstitutionByID

func (c *Client) GetInstitutionByID(
	id string,
) (resp GetInstitutionByIDResponse, err error)

GetInstitutionByID returns information for a single institution given an ID. See https://plaid.com/docs/api/#institutions-by-id.

func (*Client) GetInstitutionByIDWithOptions

func (c *Client) GetInstitutionByIDWithOptions(
	id string,
	options GetInstitutionByIDOptions,
) (resp GetInstitutionByIDResponse, err error)

GetInstitutionByIDWithOptions returns information for a single institution given an ID. See https://plaid.com/docs/api/#institutions-by-id.

func (*Client) GetInstitutions

func (c *Client) GetInstitutions(count, offset int) (resp GetInstitutionsResponse, err error)

GetInstitutions returns information for all institutions supported by Plaid. See https://plaid.com/docs/api/#all-institutions.

func (*Client) GetInstitutionsWithOptions

func (c *Client) GetInstitutionsWithOptions(
	count int,
	offset int,
	options GetInstitutionsOptions,
) (resp GetInstitutionsResponse, err error)

GetInstitutionsWithOptions returns information for all institutions supported by Plaid. See https://plaid.com/docs/api/#all-institutions.

func (*Client) GetInvestmentTransactions

func (c *Client) GetInvestmentTransactions(accessToken, startDate, endDate string) (resp GetInvestmentTransactionsResponse, err error)

GetInvestmentTransactions retrieves user-authorized transaction data for investment-type accounts. See https://plaid.com/docs/api/#investment-transactions.

func (*Client) GetInvestmentTransactionsWithOptions

func (c *Client) GetInvestmentTransactionsWithOptions(accessToken string, options GetInvestmentTransactionsOptions) (resp GetInvestmentTransactionsResponse, err error)

GetInvestmentTransactionsWithOptions retrieves user-authorized investment transaction data for investment-type accounts. See https://plaid.com/docs/api/#investment-transactions.

func (*Client) GetItem

func (c *Client) GetItem(accessToken string) (resp GetItemResponse, err error)

GetItem retrieves an item associated with an access token. See https://plaid.com/docs/api/#retrieve-item.

func (*Client) GetLiabilities

func (c *Client) GetLiabilities(accessToken string) (resp GetLiabilitiesResponse, err error)

GetLiabilities retrieves liability data. See https://plaid.com/docs/api/#liabilities.

func (*Client) GetLiabilitiesWithOptions

func (c *Client) GetLiabilitiesWithOptions(
	accessToken string,
	options GetLiabilitiesOptions,
) (resp GetLiabilitiesResponse, err error)

GetLiabilitiesWithOptions retrieves liability data. See https://plaid.com/docs/api/#liabilities.

func (*Client) GetTransactions

func (c *Client) GetTransactions(accessToken, startDate, endDate string) (resp GetTransactionsResponse, err error)

GetTransactions retrieves user-authorized transaction data for credit and depository-type accounts. See https://plaid.com/docs/api/#transactions.

func (*Client) GetTransactionsWithOptions

func (c *Client) GetTransactionsWithOptions(accessToken string, options GetTransactionsOptions) (resp GetTransactionsResponse, err error)

GetTransactionsWithOptions retrieves user-authorized transaction data for credit and depository-type accounts. See https://plaid.com/docs/api/#transactions.

func (*Client) InvalidateAccessToken

func (c *Client) InvalidateAccessToken(accessToken string) (resp InvalidateAccessTokenResponse, err error)

InvalidateAccessToken invalidates and rotates an access token. See https://plaid.com/docs/api/#rotate-access-token.

func (*Client) RemoveAssetReport

func (c *Client) RemoveAssetReport(assetReportToken string) (resp RemoveAssetReportResponse, err error)

func (*Client) RemoveItem

func (c *Client) RemoveItem(accessToken string) (resp RemoveItemResponse, err error)

RemoveItem removes an item associated with an access token. See https://plaid.com/docs/api/#remove-an-item.

func (*Client) ResetSandboxItem

func (c *Client) ResetSandboxItem(accessToken string) (resp ResetSandboxItemResponse, err error)

func (*Client) SearchInstitutions

func (c *Client) SearchInstitutions(
	query string,
	products []string,
) (resp SearchInstitutionsResponse, err error)

SearchInstitutions returns institutions corresponding to a query string and supported products. See https://plaid.com/docs/api/#institution-search.

func (*Client) SearchInstitutionsWithOptions

func (c *Client) SearchInstitutionsWithOptions(
	query string,
	products []string,
	options SearchInstitutionsOptions,
) (resp SearchInstitutionsResponse, err error)

SearchInstitutionsWithOptions returns institutions corresponding to a query string and supported products. See https://plaid.com/docs/api/#institution-search.

func (*Client) UpdateAccessTokenVersion

func (c *Client) UpdateAccessTokenVersion(accessToken string) (resp UpdateAccessTokenVersionResponse, err error)

UpdateAccessTokenVersion generates an updated access token associated with the legacy version of Plaid's API. See https://plaid.com/docs/api/#update-access-token-version.

func (*Client) UpdateItemWebhook

func (c *Client) UpdateItemWebhook(accessToken, webhook string) (resp UpdateItemWebhookResponse, err error)

UpdateItemWebhook updates the webhook associated with an Item. See https://plaid.com/docs/api/#update-webhook.

type ClientOptions

type ClientOptions struct {
	ClientID    string
	Secret      string
	PublicKey   string
	Environment Environment
	HTTPClient  *http.Client
}

type CreateApexTokenResponse

type CreateApexTokenResponse createProcessorTokenResponse

type CreateAuditCopyTokenResponse

type CreateAuditCopyTokenResponse struct {
	APIResponse
	AuditCopyToken string `json:"audit_copy_token"`
}

type CreateDwollaTokenResponse

type CreateDwollaTokenResponse createProcessorTokenResponse

type CreateOcrolusTokenResponse

type CreateOcrolusTokenResponse createProcessorTokenResponse

type CreatePublicTokenResponse

type CreatePublicTokenResponse struct {
	APIResponse
	PublicToken string `json:"public_token"`
}

type CreateSandboxPublicTokenResponse

type CreateSandboxPublicTokenResponse struct {
	APIResponse
	PublicToken string `json:"public_token"`
}

type CreateStripeTokenResponse

type CreateStripeTokenResponse struct {
	APIResponse
	StripeBankAccountToken string `json:"stripe_bank_account_token"`
}

type Credential

type Credential struct {
	Label string `json:"label"`
	Name  string `json:"name"`
	Type  string `json:"type"`
}

type EFTNumber

type EFTNumber struct {
	Account     string `json:"account"`
	AccountID   string `json:"account_id"`
	Institution string `json:"institution"`
	Branch      string `json:"branch"`
}

type Email

type Email struct {
	Data    string `json:"data"`
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
}

type Environment

type Environment string
const (
	Sandbox     Environment = "sandbox.plaid.com"
	Development Environment = "development.plaid.com"
	Production  Environment = "production.plaid.com"
)

func (Environment) Valid

func (c Environment) Valid() bool

type Error

type Error struct {
	APIResponse

	// List of all errors: https://github.com/plaid/support/blob/master/errors.md
	ErrorType      string `json:"error_type"`
	ErrorCode      string `json:"error_code"`
	ErrorMessage   string `json:"error_message"`
	DisplayMessage string `json:"display_message"`

	// StatusCode needs to be manually set from the response
	StatusCode int
}

func (Error) Error

func (e Error) Error() string

type ExchangePublicTokenResponse

type ExchangePublicTokenResponse struct {
	APIResponse
	AccessToken string `json:"access_token"`
	ItemID      string `json:"item_id"`
}

type GetAccountsOptions

type GetAccountsOptions struct {
	AccountIDs []string
}

type GetAccountsResponse

type GetAccountsResponse struct {
	APIResponse
	Accounts []Account `json:"accounts"`
	Item     Item      `json:"item"`
}

type GetAssetReportResponse

type GetAssetReportResponse struct {
	APIResponse
	Report   AssetReport `json:"report"`
	Warnings []string    `json:"warnings"`
}

type GetAuthOptions

type GetAuthOptions struct {
	AccountIDs []string
}

type GetAuthResponse

type GetAuthResponse struct {
	APIResponse
	Accounts []Account               `json:"accounts"`
	Numbers  AccountNumberCollection `json:"numbers"`
}

type GetBalancesOptions

type GetBalancesOptions struct {
	AccountIDs []string
}

type GetBalancesResponse

type GetBalancesResponse struct {
	APIResponse
	Accounts []Account `json:"accounts"`
}

type GetCategoriesResponse

type GetCategoriesResponse struct {
	APIResponse
	Categories []Category `json:"categories"`
}

type GetHoldingsOptions

type GetHoldingsOptions struct {
	AccountIDs []string `json:"account_ids"`
}

type GetHoldingsResponse

type GetHoldingsResponse struct {
	APIResponse
	Accounts   []Account  `json:"accounts"`
	Item       Item       `json:"item"`
	Securities []Security `json:"securities"`
	Holdings   []Holding  `json:"holdings"`
}

type GetIdentityResponse

type GetIdentityResponse struct {
	APIResponse
	Accounts []AccountWithOwners `json:"accounts"`
	Item     Item                `json:"item"`
}

type GetIncomeResponse

type GetIncomeResponse struct {
	APIResponse
	Income Income `json:"income"`
}

type GetInstitutionByIDOptions

type GetInstitutionByIDOptions struct {
	IncludeOptionalMetadata bool `json:"include_optional_metadata"`
	IncludeStatus           bool `json:"include_status"`
}

type GetInstitutionByIDResponse

type GetInstitutionByIDResponse struct {
	APIResponse
	Institution Institution `json:"institution"`
}

type GetInstitutionsOptions

type GetInstitutionsOptions struct {
	Products                []string `json:"products"`
	IncludeOptionalMetadata bool     `json:"include_optional_metadata"`
	CountryCodes            []string `json:"country_codes"`
}

type GetInstitutionsResponse

type GetInstitutionsResponse struct {
	APIResponse
	Institutions []Institution `json:"institutions"`
	Total        int           `json:"total"`
}

type GetInvestmentTransactionsOptions

type GetInvestmentTransactionsOptions struct {
	StartDate  string
	EndDate    string
	AccountIDs []string
	Count      int
	Offset     int
}

type GetInvestmentTransactionsResponse

type GetInvestmentTransactionsResponse struct {
	APIResponse
	Item                        Item                    `json:"item"`
	Accounts                    []Account               `json:"accounts"`
	InvestmentTransactions      []InvestmentTransaction `json:"investment_transactions"`
	Securities                  []Security              `json:"securities"`
	TotalInvestmentTransactions int                     `json:"total_investment_transactions"`
}

type GetItemResponse

type GetItemResponse struct {
	APIResponse
	Item Item `json:"item"`
}

type GetLiabilitiesOptions

type GetLiabilitiesOptions struct {
	// AccountIDs is used to filter accounts included in the response. A nil or
	// zero-length slice does not result in any filter being applied.
	AccountIDs []string
}

GetLiabilitiesOptions contains options for /liabilities/get.

type GetLiabilitiesResponse

type GetLiabilitiesResponse struct {
	APIResponse
	Accounts    []Account `json:"accounts"`
	Item        Item      `json:"item"`
	Liabilities struct {
		Student []StudentLoanLiability `json:"student"`
	} `json:"liabilities"`
}

GetLiabilitiesResponse is the response from /liabilities/get.

type GetTransactionsOptions

type GetTransactionsOptions struct {
	StartDate  string
	EndDate    string
	AccountIDs []string
	Count      int
	Offset     int
}

type GetTransactionsResponse

type GetTransactionsResponse struct {
	APIResponse
	Accounts          []Account     `json:"accounts"`
	Item              Item          `json:"item"`
	Transactions      []Transaction `json:"transactions"`
	TotalTransactions int           `json:"total_transactions"`
}

type Holding

type Holding struct {
	AccountID  string `json:"account_id"`
	SecurityID string `json:"security_id"`

	InstitutionValue     float64 `json:"institution_value"`
	InstitutionPrice     float64 `json:"institution_price"`
	Quantity             float64 `json:"quantity"`
	InstitutionPriceAsOf string  `json:"institution_price_as_of"`
	CostBasis            float64 `json:"cost_basis"`

	ISOCurrencyCode        string `json:"iso_currency_code"`
	UnofficialCurrencyCode string `json:"unofficial_currency_code"`
}

type IBANNumber

type IBANNumber struct {
	AccountID string `json:"account_id"`
	IBAN      string `json:"iban"`
	BIC       string `json:"bic"`
}

type Identity

type Identity struct {
	Addresses    []Address     `json:"addresses"`
	Emails       []Email       `json:"emails"`
	Names        []string      `json:"names"`
	PhoneNumbers []PhoneNumber `json:"phone_numbers"`
}

type Income

type Income struct {
	IncomeStreams                       []IncomeStream `json:"income_streams"`
	LastYearIncome                      int            `json:"last_year_income"`
	LastYearIncomeBeforeTax             int            `json:"last_year_income_before_tax"`
	ProjectedYearlyIncome               int            `json:"projected_yearly_income"`
	ProjectedYearlyIncomeBeforeTax      int            `json:"projected_yearly_income_before_tax"`
	MaxNumberOfOverlappingIncomeStreams int            `json:"max_number_of_overlapping_income_streams"`
	NumberOfIncomeStreams               int            `json:"number_of_income_streams"`
}

type IncomeStream

type IncomeStream struct {
	Confidence    float64 `json:"confidence"`
	Days          int     `json:"days"`
	MonthlyIncome int     `json:"monthly_income"`
	Name          string  `json:"name"`
}

type Institution

type Institution struct {
	Credentials  []Credential `json:"credentials"`
	HasMFA       bool         `json:"has_mfa"`
	ID           string       `json:"institution_id"`
	MFA          []string     `json:"mfa"`
	Name         string       `json:"name"`
	Products     []string     `json:"products"`
	CountryCodes []string     `json:"country_codes"`

	// Included when `options.include_status` is true.
	InstitutionStatus *InstitutionStatus `json:"status,omitempty"`

	// Included when `options.include_optional_metadata` is true.
	PrimaryColor string `json:"primary_color,omitempty"`
	// Included when `options.include_optional_metadata` is true.
	URL string `json:"url,omitempty"`
	Logo string `json:"logo,omitempty"`
}

type InstitutionStatus

type InstitutionStatus struct {
	ItemLogins ItemLogins `json:"item_logins"`
}

type InstitutionStatusBreakdown

type InstitutionStatusBreakdown struct {
	Success          float64 `json:"success"`
	ErrorPlaid       float64 `json:"error_plaid"`
	ErrorInstitution float64 `json:"error_institution"`
}

type InvalidateAccessTokenResponse

type InvalidateAccessTokenResponse struct {
	APIResponse
	NewAccessToken string `json:"new_access_token"`
}

type InvestmentTransaction

type InvestmentTransaction struct {
	InvestmentTransactionID string `json:"investment_transaction_id"`
	AccountID               string `json:"account_id"`
	SecurityID              string `json:"security_id"`
	CancelTransactionID     string `json:"cancel_transaction_id"`

	Date                   string  `json:"date"`
	Name                   string  `json:"name"`
	Quantity               float64 `json:"quantity"`
	Amount                 float64 `json:"amount"`
	Price                  float64 `json:"price"`
	Fees                   float64 `json:"fees"`
	Type                   string  `json:"type"`
	ISOCurrencyCode        string  `json:"iso_currency_code"`
	UnofficialCurrencyCode string  `json:"unofficial_currency_code"`
}

type Item

type Item struct {
	AvailableProducts []string `json:"available_products"`
	BilledProducts    []string `json:"billed_products"`
	Error             Error    `json:"error"`
	InstitutionID     string   `json:"institution_id"`
	ItemID            string   `json:"item_id"`
	Webhook           string   `json:"webhook"`
}

type ItemLogins

type ItemLogins struct {
	Status           string                     `json:"status"`
	LastStatusChange time.Time                  `json:"last_status_change"`
	Breakdown        InstitutionStatusBreakdown `json:"breakdown"`
}

type Location

type Location struct {
	Address     string  `json:"address"`
	City        string  `json:"city"`
	Lat         float64 `json:"lat"`
	Lon         float64 `json:"lon"`
	Region      string  `json:"region"`
	StoreNumber string  `json:"store_number"`
	PostalCode  string  `json:"postal_code"`
	Country     string  `json:"country"`
}

type PSLFStatus

type PSLFStatus struct {
	EstimatedEligibilityDate string `json:"estimated_eligibility_date"`
	PaymentsMade             int64  `json:"payments_made"`
	PaymentsRemaining        int64  `json:"payments_remaining"`
}

PSLFStatus contains information about the student's eligibility in the Public Service Loan Forgiveness program.

type PaymentMeta

type PaymentMeta struct {
	ByOrderOf        string `json:"by_order_of"`
	Payee            string `json:"payee"`
	Payer            string `json:"payer"`
	PaymentMethod    string `json:"payment_method"`
	PaymentProcessor string `json:"payment_processor"`
	PPDID            string `json:"ppd_id"`
	Reason           string `json:"reason"`
	ReferenceNumber  string `json:"reference_number"`
}

type PhoneNumber

type PhoneNumber struct {
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
	Data    string `json:"data"`
}

type RemoveAssetReportResponse

type RemoveAssetReportResponse struct {
	APIResponse
	Removed bool `json:"removed"`
}

type RemoveItemResponse

type RemoveItemResponse struct {
	APIResponse
	Removed bool `json:"removed"`
}

type ResetSandboxItemResponse

type ResetSandboxItemResponse struct {
	APIResponse
	ResetLogin bool `json:"reset_login"`
}

type SearchInstitutionsOptions

type SearchInstitutionsOptions struct {
	IncludeOptionalMetadata bool                   `json:"include_optional_metadata"`
	CountryCodes            []string               `json:"country_codes"`
	AccountFilter           map[string]interface{} `json:"account_filter"`
}

type SearchInstitutionsResponse

type SearchInstitutionsResponse struct {
	APIResponse
	Institutions []Institution `json:"institutions"`
}

type Security

type Security struct {
	SecurityID             string  `json:"security_id"`
	CUSIP                  string  `json:"cusip"`
	SEDOL                  string  `json:"sedol"`
	ISIN                   string  `json:"isin"`
	InstitutionSecurityID  string  `json:"institution_security_id"`
	InstitutionID          string  `json:"institution_id"`
	ProxySecurityID        string  `json:"proxy_security_id"`
	Name                   string  `json:"name"`
	TickerSymbol           string  `json:"ticker_symbol"`
	IsCashEquivalent       bool    `json:"is_cash_equivalent"`
	Type                   string  `json:"type"`
	ClosePrice             float64 `json:"close_price"`
	ClosePriceAsOf         string  `json:"close_price_as_of"`
	ISOCurrencyCode        string  `json:"iso_currency_code"`
	UnofficialCurrencyCode string  `json:"unofficial_currency_code"`
}

type StudentLoanLiability

type StudentLoanLiability struct {
	AccountID                  string                     `json:"account_id"`
	AccountNumber              string                     `json:"account_number"`
	DisbursementDates          []string                   `json:"disbursement_dates"`
	ExpectedPayoffDate         string                     `json:"expected_payoff_date"`
	Guarantor                  string                     `json:"guarantor"`
	InterestRatePercentage     float64                    `json:"interest_rate_percentage"`
	IsOverdue                  bool                       `json:"is_overdue"`
	LastPaymentAmount          float64                    `json:"last_payment_amount"`
	LastPaymentDate            string                     `json:"last_payment_date"`
	LastStatementBalance       float64                    `json:"last_statement_balance"`
	LastStatementIssueDate     string                     `json:"last_statement_issue_date"`
	LoanName                   string                     `json:"loan_name"`
	LoanStatus                 StudentLoanStatus          `json:"loan_status"`
	MinimumPaymentAmount       float64                    `json:"minimum_payment_amount"`
	NextPaymentDueDate         string                     `json:"next_payment_due_date"`
	OriginationDate            string                     `json:"origination_date"`
	OriginationPrincipalAmount float64                    `json:"origination_principal_amount"`
	OutstandingInterestAmount  float64                    `json:"outstanding_interest_amount"`
	PaymentReferenceNumber     string                     `json:"payment_reference_number"`
	PSLFStatus                 PSLFStatus                 `json:"pslf_status"`
	RepaymentPlan              StudentLoanRepaymentPlan   `json:"repayment_plan"`
	SequenceNumber             string                     `json:"sequence_number"`
	ServicerAddress            StudentLoanServicerAddress `json:"servicer_address"`
	YTDInterestPaid            float64                    `json:"ytd_interest_paid"`
	YTDPrincipalPaid           float64                    `json:"ytd_principal_paid"`
}

StudentLoanLiability contains student loan liability data.

type StudentLoanRepaymentPlan

type StudentLoanRepaymentPlan struct {
	Type        string `json:"type"`
	Description string `json:"description"`
}

StudentLoanRepaymentPlan contains details about the repayment plan of the loan.

type StudentLoanServicerAddress

type StudentLoanServicerAddress struct {
	City       string `json:"city"`
	Country    string `json:"country"`
	PostalCode string `json:"postal_code"`
	Region     string `json:"region"`
	Street     string `json:"street"`
}

StudentLoanServicerAddress is the address of the servicer.

type StudentLoanStatus

type StudentLoanStatus struct {
	Type    string `json:"type"`
	EndDate string `json:"end_date"`
}

StudentLoanStatus contains details about the status of the student loan.

type Transaction

type Transaction struct {
	AccountID              string   `json:"account_id"`
	Amount                 float64  `json:"amount"`
	ISOCurrencyCode        string   `json:"iso_currency_code"`
	UnofficialCurrencyCode string   `json:"unofficial_currency_code"`
	Category               []string `json:"category"`
	CategoryID             string   `json:"category_id"`
	Date                   string   `json:"date"`

	Location Location `json:"location"`

	Name string `json:"name"`

	PaymentMeta PaymentMeta `json:"payment_meta"`

	Pending              bool   `json:"pending"`
	PendingTransactionID string `json:"pending_transaction_id"`
	AccountOwner         string `json:"account_owner"`
	ID                   string `json:"transaction_id"`
	Type                 string `json:"transaction_type"`
}

type UpdateAccessTokenVersionResponse

type UpdateAccessTokenVersionResponse struct {
	APIResponse
	NewAccessToken string `json:"access_token"`
	ItemID         string `json:"item_id"`
}

type UpdateItemWebhookResponse

type UpdateItemWebhookResponse struct {
	APIResponse
	Item Item `json:"item"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL