All URIs are relative to http://localhost
Method | HTTP request | Description |
---|---|---|
delete_provider_account | DELETE /providerAccounts/{providerAccountId} | Delete Provider Account |
edit_credentials_or_refresh_provider_account | PUT /providerAccounts | Update Account |
get_all_provider_accounts | GET /providerAccounts | Get Provider Accounts |
get_provider_account | GET /providerAccounts/{providerAccountId} | Get Provider Account Details |
get_provider_account_profiles | GET /providerAccounts/profile | Get User Profile Details |
link_provider_account | POST /providerAccounts | Add Account |
update_preferences | PUT /providerAccounts/{providerAccountId}/preferences | Update Preferences |
delete_provider_account(provider_account_id)
Delete Provider Account
The delete provider account service is used to delete a provider account from the Yodlee system. This service also deletes the accounts that are created in the Yodlee system for that provider account.
This service does not return a response. The HTTP response code is 204 (Success with no content).
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_account_id = 56 # int | providerAccountId
try:
# Delete Provider Account
api_instance.delete_provider_account(provider_account_id)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->delete_provider_account: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_account_id | int | providerAccountId |
void (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
400 | Y800 : Invalid value for providerAccountId<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br> | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
UpdatedProviderAccountResponse edit_credentials_or_refresh_provider_account(provider_account_ids, provider_account_request=provider_account_request)
Update Account
Credential-based Implementation Notes:
The update account API is used to: • Retrieve the latest information for accounts that belong to one providerAccount from the provider site. You must allow at least 15 min between requests.
• Update account credentials when the user has changed the authentication information at the provider site.
• Post MFA information for the MFA-enabled provider accounts during add and update accounts.
• Retrieve the latest information of all the eligible accounts that belong to the user.
Edit Credentials - Notes:
• If credentials have to be updated in the Yodlee system, one of the following should be provided:
◦ LoginForm
◦ Field array
• LoginForm or the field array, can be obtained from the GET providerAccounts/{providerAccountId}?include=credentials API response.
• The credentials provided by the user should be embedded in the loginForm or field array object before you pass to this API.
Posting MFA Info - Notes:
1. You might receive the MFA request details to be presented to the end user in the GET providerAccounts/{providerAccount} API during polling or through REFRESH webhooks notificaiton.
2. After receiving the inputs from your user:
a.Embed the MFA information provided by the user in the loginForm or field array object.
b.Pass one of the following objects as input to this API:
• LoginForm
• Field array
Points to consider:
• Data to be retrieved from the provider site can be overridden using datasetName or dataset. If you do pass datasetName, all the datasets that are implicitly configured for
the dataset will be retrieved. This action is allowed for edit credentials and single provider account refresh flows only.
• Encrypt the credentials and MFA information using the public key.
• While testing the PKI feature in sandbox environment, encrypt the password credentials and answers to the MFA questions using the encryption tool.
--------------------------------------------------------------------------------------------------------------------------------
Open Banking (OB)-based Authentication - Notes:
The update account API is used to:
• Retrieve the latest information for accounts from the provider site.
• Update the renewed consent for an existing provider account.
• Retrieve the latest information for all the eligible accounts that belong to the user.
Yodlee recommendations:
• Create the field entity with the authParameters provided in the get provider details API.
• Populate the field entity with the values received from the OB site and pass it to this API.
--------------------------------------------------------------------------------------------------------------------------------
Update All Eligible Accounts - Notes:
• This API will trigger a refresh for all the eligible provider accounts(both OB and credential-based accounts).
• This API will not refresh closed, inactive, or UAR accounts, or accounts with refreshes in-progress or recently refreshed non-OB accounts.
• No parameters should be passed to this API to trigger this action.
• Do not call this API often. Our recommendation is to call this only at the time the user logs in to your app because it can hamper other API calls performance.
• The response only contains information for accounts that were refreshed. If no accounts are eligible for refresh, no response is returned.
--------------------------------------------------------------------------------------------------------------------------------
What follows are common to both OB and credential-based authentication implementations:
• Check the status of the providerAccount before invoking this API. Do not call this API to trigger any action on a providerAccount when an action is already in progress for the providerAccount.
• If the customer has subscribed to the REFRESH event notification and invoked this API, relevant notifications will be sent to the customer.
• A dataset may depend on another dataset for retrieval, so the response will include the requested and dependent datasets.
• Check all the dataset additional statuses returned in the response because the provider account status is drawn from the dataset additional statuses.
• Updating preferences using this API will trigger refreshes.
• Pass linkedProviderAccountId in the input to link a user's credential-based providerAccount with the OB providerAccount or viceversa. Ensure that the both the providerAccounts belong to the same institution.
• The content type has to be passed as application/json for the body parameter.
--------------------------------------------------------------------------------------------------------------------------------
Note:Only for the REDSYS/PSD2 UK OB integration, passing the state parameter is mandatory during the add or update account process. The state parameter key can be found in the authParameter attribute of the get provider or get provider details API response. The value for the state parameter is present in the Authorization URL. Append the callback URL to the state parameter while adding or updating an account.
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_account_ids = 'provider_account_ids_example' # str | comma separated providerAccountIds
provider_account_request = yodlee.ProviderAccountRequest() # ProviderAccountRequest | loginForm or field entity (optional)
try:
# Update Account
api_response = api_instance.edit_credentials_or_refresh_provider_account(provider_account_ids, provider_account_request=provider_account_request)
pprint(api_response)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->edit_credentials_or_refresh_provider_account: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_account_ids | str | comma separated providerAccountIds | |
provider_account_request | ProviderAccountRequest | loginForm or field entity | [optional] |
UpdatedProviderAccountResponse
No authorization required
- Content-Type: application/json
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
400 | Y805 : Multiple providerAccountId not supported for updating credentials<br>Y800 : Invalid value for credentialsParam<br>Y400 : id and value in credentialsParam are mandatory<br>Y806 : Invalid input<br>Y823 : Credentials are not applicable for real estate aggregated / manual accounts<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br> | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ProviderAccountResponse get_all_provider_accounts(include=include, provider_ids=provider_ids)
Get Provider Accounts
The get provider accounts service is used to return all the provider accounts added by the user.
This includes the failed and successfully added provider accounts.
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
include = 'include_example' # str | include (optional)
provider_ids = 'provider_ids_example' # str | Comma separated providerIds. (optional)
try:
# Get Provider Accounts
api_response = api_instance.get_all_provider_accounts(include=include, provider_ids=provider_ids)
pprint(api_response)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->get_all_provider_accounts: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
include | str | include | [optional] |
provider_ids | str | Comma separated providerIds. | [optional] |
No authorization required
- Content-Type: Not defined
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ProviderAccountDetailResponse get_provider_account(provider_account_id, include=include, request_id=request_id)
Get Provider Account Details
The get provider account details service is used to learn the status of adding accounts and updating accounts.
This service has to be called continuously to know the progress level of the triggered process. This service also provides the MFA information requested by the provider site.
When include = credentials, questions is passed as input, the service returns the credentials (non-password values) and questions stored in the Yodlee system for that provider account.
Note:
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_account_id = 56 # int | providerAccountId
include = 'include_example' # str | include credentials,questions (optional)
request_id = 'request_id_example' # str | The unique identifier for the request that returns contextual data (optional)
try:
# Get Provider Account Details
api_response = api_instance.get_provider_account(provider_account_id, include=include, request_id=request_id)
pprint(api_response)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->get_provider_account: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_account_id | int | providerAccountId | |
include | str | include credentials,questions | [optional] |
request_id | str | The unique identifier for the request that returns contextual data | [optional] |
No authorization required
- Content-Type: Not defined
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
400 | Y800 : Invalid value for providerAccountId<br>Y816 : questions can only be requested for questionAndAnswer Supported Sites | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ProviderAccountUserProfileResponse get_provider_account_profiles(provider_account_id=provider_account_id)
Get User Profile Details
Refer GET /verification/holderProfile
The get provider accounts profile service is used to return the user profile details that are associated to the provider account.
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_account_id = 'provider_account_id_example' # str | Comma separated providerAccountIds. (optional)
try:
# Get User Profile Details
api_response = api_instance.get_provider_account_profiles(provider_account_id=provider_account_id)
pprint(api_response)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->get_provider_account_profiles: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_account_id | str | Comma separated providerAccountIds. | [optional] |
ProviderAccountUserProfileResponse
No authorization required
- Content-Type: Not defined
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
AddedProviderAccountResponse link_provider_account(provider_id, provider_account_request)
Add Account
The add account service is used to link the user's account with the provider site in the Yodlee system. Providers that require multifactor authentication or open banking are also supported by this service. The response includes the Yodlee generated ID (providerAccountId) of the account along with the refresh information.
Open Banking Implementation Notes:
To link the user's account of the Open Banking provider site in the Yodlee system, pass the field entity that contains:
1. id - From the authParameters provided in the get provider details service
2. value - From the redirect URL of the Open Banking site
Credential-based Implementation Notes:
1. The loginForm or the field array are the objects under the provider object, obtained from the <a href="https://developer.yodlee.com/apidocs/index.php#!/providers/getSiteDetail\">get provider details service response.
2. The credentials provided by the user should be embedded in the loginForm or field array object.
3. While testing the <a href="https://developer.yodlee.com/KnowledgeBase/How_to_use_PKI\">PKI feature, encrypt the credentials using the <a href="https://developer.yodlee.com/apidocs/utility/encrypt.html\">encryption utility.
4. The data to be retrieved from the provider site can be passed using datasetName or dataset. If datasetName is passed, all the attributes that are implicitly configured for the dataset will be retrieved.
5. If the customer has not subscribed to the REFRESH event webhooks notification for accounts that require multifactor authentication (MFA), the get providerAccount service has to be called continuously till the login form (supported types are token, question & answer, and captcha) is returned in the response.
6. The <a href="https://developer.yodlee.com/apidocs/index.php#!/providerAccounts/updateAccount\">update account service should be called to post the MFA information to continue adding the account.
Generic Implementation Notes:
1. Refer to the <a href="https://developer.yodlee.com/Yodlee_API/docs/v1_1/API_Flow\">add account flow chart for implementation.
2. The get provider account details has <a href="https://developer.yodlee.com/Yodlee_API/docs/v1_1/Webhooks\">webhooks support. If the customer has subscribed to the REFRESH event notification and has invoked this service to add an account, relevant notifications will be sent to the callback URL.
3. If you had not subscribed for notifications, the <a href="https://developer.yodlee.com/apidocs/index.php#!/providerAccounts/getRefreshForProviderAccount\">get provider account details service has to be polled continuously till the account addition status is FAILED or PARTIAL_SUCCESS or SUCCESS.
4. A dataset may depend on another dataset for retrieval, so the response will include the requested datasets and the dependent datasets.
It is necessary to check all the dataset additional statuses returned in the response, as the provider account status is drawn from the dataset additional statuses.
5. Pass linkedProviderAccountId in the input to link a user's credential-based providerAccount with the open banking providerAccount. Ensure that the credential-based providerAccount belongs to the same institution.
6. The content type has to be passed as application/json in the body parameter.
7. Only for the REDSYS/PSD2 UK OB integration, passing the state parameter is mandatory during the add or update account process. The state parameter key can be found in the authParameter attribute of the get provider or get provider details API response. The value for the state parameter is present in the Authorization URL. Append the callback URL to the state parameter while adding or updating an account.
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_id = 56 # int | providerId
provider_account_request = yodlee.ProviderAccountRequest() # ProviderAccountRequest | loginForm or field entity
try:
# Add Account
api_response = api_instance.link_provider_account(provider_id, provider_account_request)
pprint(api_response)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->link_provider_account: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_id | int | providerId | |
provider_account_request | ProviderAccountRequest | loginForm or field entity |
No authorization required
- Content-Type: application/json
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
200 | OK | - |
201 | OK | - |
400 | Y803 : providerId is mandatory<br>Y803 : Invalid value for credentialsParam<br>Y400 : id and value in credentialsParam are mandatory<br>Y901 : Service not supported | - |
401 | Unauthorized | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
update_preferences(provider_account_id, preferences)
Update Preferences
This endpoint is used to update preferences like data extracts and auto refreshes without triggering refresh for the providerAccount.
Setting isDataExtractsEnabled to false will not trigger data extracts notification and dataExtracts/events will not reflect any data change that is happening for the providerAccount.
Modified data will not be provided in the dataExtracts/userData endpoint.
Setting isAutoRefreshEnabled to false will not trigger auto refreshes for the provider account.
from __future__ import print_function
import time
import yodlee
from yodlee.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = yodlee.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with yodlee.ApiClient() as api_client:
# Create an instance of the API class
api_instance = yodlee.ProviderAccountsApi(api_client)
provider_account_id = 56 # int | providerAccountId
preferences = yodlee.ProviderAccountPreferencesRequest() # ProviderAccountPreferencesRequest | preferences
try:
# Update Preferences
api_instance.update_preferences(provider_account_id, preferences)
except ApiException as e:
print("Exception when calling ProviderAccountsApi->update_preferences: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
provider_account_id | int | providerAccountId | |
preferences | ProviderAccountPreferencesRequest | preferences |
void (empty response body)
No authorization required
- Content-Type: application/json
- Accept: application/json;charset=UTF-8
Status code | Description | Response headers |
---|---|---|
400 | Y800 : Invalid value for preferences<br>Y800 : Invalid value for preferences.isDataExtractsEnabled<br>Y800 : Invalid value for preferences.isAutoRefreshEnabled<br>Y807 : Resource not found<br>Y830 : Data extracts feature has to be enabled to set preferences.isDataExtractsEnabled as true<br>Y830 : Auto refresh feature has to be enabled to set preferences.isAutoRefreshEnabled as true<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br> | - |
401 | Unauthorized | - |
204 | OK | - |
404 | Not Found | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]