Tink Integration

Aggregate held away financial account data in Europe

Back to Integrations

Tink enables applications to connect with users' bank, credit card, loan, and investment accounts to pull in account details such as balances and transactions.


To get started, you’ll first need to sign up with Tink and get your client_id, public_key, and secret. If you already have a Tink account, you can go ahead and sign in to retrieve these values.


Once you have Tink credentials set up on the Integrations Admin, you can retrieve the Tink widget to embed in your app or web page. The Tink widget will manage user credential validation, multi-factor authentication, and error handling for each institution that Tink supports to ensure that your end-user is able to pull data from the account that they've linked.

Call the following Hydrogen service to get the URL for the client:

GET /integration/v1/widget_link/{nucleus_client_id}?vendor_name=tink


    "widget_link": "https://link.tink.com/1.0/authorize/?client_id=&redirect_uri=http%3A%2F%2Flocalhost%3A1080%2Fuser%2Ftoken&scope=accounts:read,investments:read,transactions:read,user:read,credentials:read,identity:read,statistics:read&market=GB&locale=en_US&test=true",
    "vendor_name": "tink"

Copy the widget_url from the response and use as simple web URL in the browser to complete the user authentication. Once the Tink Link flow is completed, the user will be redirected to your specified redirect_uri. You will receive a code in the redirect_uri path. Note: vendor_name as a request parameter is optional. By default, it will use the selected vendor set in the settings.

Next we will perform the token exchange.

POST /integration/token_exchange


Now we just have to create the aggregation account to store all the data in Nucleus from the response above.

POST /integration/v1/aggregation/account

     "nucleus_client_id": "<nucleus_client_id>",
     "product": "atom" 

Once the account is stored, you can pull balances, transactions, and holdings for the account.

GET /integration/v1/aggregation/balance/{aggregation_account_id}

GET /integration/v1/aggregation/transaction/{aggregation_account_id}

GET /integration/v1/aggregation/holding/{aggregation_account_id}