1package plaid
2
3// GetInstitution returns information for a single institution given an ID.
4// See https://plaid.com/docs/api/#institutions-by-id.
5func GetInstitution(environment environmentURL, id string) (inst institution, err error) {
6	err = getAndUnmarshal(environment, "/institutions/"+id, &inst)
7	return
8}
9
10// GetInstitution returns information for all institutions.
11// See https://plaid.com/docs/api/#all-institutions.
12func GetInstitutions(environment environmentURL) (institutions []institution, err error) {
13	err = getAndUnmarshal(environment, "/institutions", &institutions)
14	return
15}
16
17type institution struct {
18	Credentials struct {
19		Password string `json:"password"` // e.g.: "Password"
20		PIN      string `json:"pin"`      // e.g.: "PIN"
21		Username string `json:"username"` // e.g.: "Online ID"
22	}
23	Name     string   `json:"name"`     // e.g.: "Bank of America"
24	HasMFA   bool     `json:"has_mfa"`  // e.g.: true
25	ID       string   `json:"id"`       // e.g.: "5301a93ac140de84910000e0"
26	MFA      []string `json:"mfa"`      // e.g.: ["code", "list", "questions"]
27	Products []string `json:"products"` // e.g.: ["connect", "auth", "balance"]
28	Type     string   `json:"type"`     // e.g.: "bofa"
29}
30