Skip to content

Latest commit

 

History

History
479 lines (349 loc) · 27.6 KB

ProviderAccountsApi.md

File metadata and controls

479 lines (349 loc) · 27.6 KB

yodlee.ProviderAccountsApi

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

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).

Example

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)

Parameters

Name Type Description Notes
provider_account_id int providerAccountId

Return type

void (empty response body)

Authorization

No authorization required

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json;charset=UTF-8

HTTP response details

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]

edit_credentials_or_refresh_provider_account

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.

Example

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)

Parameters

Name Type Description Notes
provider_account_ids str comma separated providerAccountIds
provider_account_request ProviderAccountRequest loginForm or field entity [optional]

Return type

UpdatedProviderAccountResponse

Authorization

No authorization required

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json;charset=UTF-8

HTTP response details

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]

get_all_provider_accounts

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.

Example

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)

Parameters

Name Type Description Notes
include str include [optional]
provider_ids str Comma separated providerIds. [optional]

Return type

ProviderAccountResponse

Authorization

No authorization required

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json;charset=UTF-8

HTTP response details

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]

get_provider_account

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:

  • The password and answer fields are not returned in the response.
  • Example

    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)

    Parameters

    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]

    Return type

    ProviderAccountDetailResponse

    Authorization

    No authorization required

    HTTP request headers

    • Content-Type: Not defined
    • Accept: application/json;charset=UTF-8

    HTTP response details

    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]

    get_provider_account_profiles

    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.

    Example

    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)

    Parameters

    Name Type Description Notes
    provider_account_id str Comma separated providerAccountIds. [optional]

    Return type

    ProviderAccountUserProfileResponse

    Authorization

    No authorization required

    HTTP request headers

    • Content-Type: Not defined
    • Accept: application/json;charset=UTF-8

    HTTP response details

    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]

    link_provider_account

    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.

    Example

    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)

    Parameters

    Name Type Description Notes
    provider_id int providerId
    provider_account_request ProviderAccountRequest loginForm or field entity

    Return type

    AddedProviderAccountResponse

    Authorization

    No authorization required

    HTTP request headers

    • Content-Type: application/json
    • Accept: application/json;charset=UTF-8

    HTTP response details

    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

    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.

    Example

    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)

    Parameters

    Name Type Description Notes
    provider_account_id int providerAccountId
    preferences ProviderAccountPreferencesRequest preferences

    Return type

    void (empty response body)

    Authorization

    No authorization required

    HTTP request headers

    • Content-Type: application/json
    • Accept: application/json;charset=UTF-8

    HTTP response details

    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]