Introduction
This tutorial is to link accounts manually and implement your own credentials management, multifactor authentication, and error handling. If you prefer to use our UI toolkit that does this automatically for you, please see Getting Started with FastLink.
Search for Your Financial Institution (Provider)
Use the GET /providers endpoint to search for your financial institution.
In the name
parameter, pass the following:
name
: financial institution’s namedataset
:- ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank OR investment OR creditCard]]
- ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank]]
- BASIC_AGG_DATA[ACCOUNT_DETAILS.container[bank OR investment] OR HOLDINGS.container[bank]] OR ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank]]
- BASIC_AGG_DATA
- BASIC_AGG_DATA OR ACCT_PROFILE
- BASIC_AGG_DATA [ ACCOUNT_DETAILS OR HOLDINGS ]
- BASIC_AGG_DATA [ ACCOUNT_DETAILS] OR DOCUMENT
In the JSON response, fetch the providerId. If the financial institution is not listed, it is not supported for IAV.
Retrieve providerId details: Use the GET /providers/{providerId} endpoint to retrieve the provider’s details. Pass the selected providerId and retrieve loginForm and dataset values.
Sample Request
Endpoint
GET /providers?name=bankofamerica
Headers
"Authorization":Bearer {{your-user-access-token}} "Api-Version":"1.1"
Response
{
"provider":[
{
"PRIORITY":"SEARCH",
"id":2852,
"name":"Bank of America",
"loginUrl":"https://secure.bankofamerica.com/login/sign-in/signOnV2Screen.go",
"baseUrl":"https://www.bankofamerica.com/",
"favicon":"https://yodlee-1.hs.llnwd.net/v1/FAVICON/FAV_2852.SVG",
"logo":"https://yodlee-1.hs.llnwd.net/v1/LOGO/LOGO_2852_1_2.SVG",
"status":"Supported",
"authType":"CREDENTIALS",
"languageISOCode":"EN",
"primaryLanguageISOCode":"EN",
"countryISOCode":"US",
"lastModified":"2018-05-08T07:20:36Z",
"forgetPasswordUrl":"https://secure.bankofamerica.com/login/sign-in/signOnV2Screen.go",
"isAutoRefreshEnabled":true,
"dataset":[
{
"name":"ACCT_PROFILE",
"attribute":[
{
"name":"FULL_ACCT_NUMBER",
"container":[
"bank"
]
},
{
"name":"BANK_TRANSFER_CODE",
"container":[
"bank"
]
},
{
"name":"HOLDER_NAME",
"container":[
"bank"
]
},
{
"name":"HOLDER_DETAILS",
"container":[
"bank"
]
}
]
},
{
"name":"BASIC_AGG_DATA",
"attribute":[
{
"name":"ACCOUNT_DETAILS",
"container":[
"bank",
"loan",
"creditCard"
]
},
{
"name":"STATEMENTS",
"container":[
"loan",
"creditCard"
]
},
{
"name":"TRANSACTIONS",
"container":[
"bank",
"loan",
"creditCard"
]
}
]
}
],
"isAddedByUser":"false"
}
]
}
Add Account
Use the POST /providerAccounts endpoint to initiate the account linking process with the provider site. Pass the retrieved loginForm & dataset values and add the respective Username and Password credentials of the provider in the body of the providerAccount call.
Sample Request
Endpoint
POST /providerAccounts?providerId=2852
Headers
"Authorization" : Bearer {{your-user-access-token}} "Api-Version" : "1.1" "Content-Type" : "application/json"
Body
{
"loginForm":[
{
"id":2152,
"forgetPasswordURL":"https://secure.bankofamerica.com/login/sign-in/signOnV2Screen.go",
"formType":"login",
"row":[
{
"id":5371,
"label":"Online ID",
"form":"0001",
"fieldRowChoice":"0001",
"field":[
{
"id":2863,
"name":"LOGIN",
"type":"text",
"value":"username",
"isOptional":false,
"valueEditable":true
}
]
},
{
"id":5372,
"label":"Passcode",
"form":"0001",
"fieldRowChoice":"0002",
"field":[
{
"id":2864,
"name":"PASSWORD",
"maxLength":20,
"type":"password",
"value":"password",
"isOptional":false,
"valueEditable":true
}
]
}
]
}
]
}
Response
{
"providerAccount":[
{
"id":11129603,
"aggregationSource":"USER",
"status":"LOGIN_IN_PROGRESS",
"requestId":"4L6WJDkuijydt8QRQMdqe07isog=",
"dataset":[
{
"name":"BASIC_AGG_DATA",
"updateEligibility":"DISALLOW_UPDATE"
}
]
}
]
}
For more information about the API flows, see API Flow. Next: See how to improve performance of Yodlee APIs