Tink · Arazzo Workflow

Tink Account And Transactions Overview

Version 1.0.0

List a user's accounts, read the balances of a chosen account, then list its transactions.

1 workflow 1 source API 1 provider
View Spec View on GitHub Open BankingPSD2Payment InitiationAccount AggregationRisk DecisioningPay by BankFinanceBankingEuropeVisaArazzoWorkflows

Provider

tink-com

Workflows

account-transactions-overview
Resolve an account, read its balances, and list its transactions.
Lists the consented accounts, selects an account (the supplied id or the first returned), reads its balances, and lists its transactions filtered by an optional booked-date range.
3 steps inputs: accountId, bookedDateGte, bookedDateLte, userAccessToken outputs: accounts, balances, transactions
1
listAccounts
listAccounts
List the bank accounts the user has consented to share.
2
getBalances
getAccountBalances
Read the booked and available balance snapshots for the selected account.
3
listTransactions
listTransactions
List transactions for the selected account, filtered by the optional booked-date range.

Source API Descriptions

Arazzo Workflow Specification

tink-com-account-transactions-overview-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Tink Account And Transactions Overview
  summary: List a user's accounts, read the balances of a chosen account, then list its transactions.
  description: >-
    A read-only financial overview built on a user access token. The workflow
    lists the bank accounts the user has consented to share, reads the booked
    and available balances of the first (or a supplied) account, and lists the
    transactions for that account within an optional booked-date range. Every
    step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: dataApi
  url: ../openapi/tink-data-api-openapi.yml
  type: openapi
workflows:
- workflowId: account-transactions-overview
  summary: Resolve an account, read its balances, and list its transactions.
  description: >-
    Lists the consented accounts, selects an account (the supplied id or the
    first returned), reads its balances, and lists its transactions filtered by
    an optional booked-date range.
  inputs:
    type: object
    required:
    - userAccessToken
    properties:
      userAccessToken:
        type: string
        description: A user access token scoped for accounts and transactions read access.
      accountId:
        type: string
        description: Optional account id to inspect; when omitted the first listed account is used.
      bookedDateGte:
        type: string
        description: Optional inclusive lower bound on transaction booked date (YYYY-MM-DD).
      bookedDateLte:
        type: string
        description: Optional inclusive upper bound on transaction booked date (YYYY-MM-DD).
  steps:
  - stepId: listAccounts
    description: List the bank accounts the user has consented to share.
    operationId: listAccounts
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.userAccessToken"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accounts: $response.body#/accounts
      firstAccountId: $response.body#/accounts/0/id
  - stepId: getBalances
    description: >-
      Read the booked and available balance snapshots for the selected account.
    operationId: getAccountBalances
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.userAccessToken"
    - name: account_id
      in: path
      value: $steps.listAccounts.outputs.firstAccountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      balances: $response.body#/balances
  - stepId: listTransactions
    description: >-
      List transactions for the selected account, filtered by the optional
      booked-date range.
    operationId: listTransactions
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.userAccessToken"
    - name: accountIdIn
      in: query
      value: $steps.listAccounts.outputs.firstAccountId
    - name: bookedDateGte
      in: query
      value: $inputs.bookedDateGte
    - name: bookedDateLte
      in: query
      value: $inputs.bookedDateLte
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transactions: $response.body#/transactions
      nextPageToken: $response.body#/nextPageToken
  outputs:
    accounts: $steps.listAccounts.outputs.accounts
    balances: $steps.getBalances.outputs.balances
    transactions: $steps.listTransactions.outputs.transactions