# Tink v1.0.0 - Table of Contents

> A complete, production-grade Elixir client for the Tink Open Banking API. Covers all Tink products: data aggregation, enrichment, payments, VRP, risk insights, income/expense checks, savings goals, PFM, and more.

## Pages

- [Tink](readme.md)
- [Changelog](changelog.md)
- [Authentication](authentication.md)
- [Caching](caching.md)
- [Error Handling](error-handling.md)
- [Rate Limiting](rate-limiting.md)
- [LICENSE](license.md)

## Modules

- [Tink.Utils](Tink.Utils.md): Internal utility helpers shared across all Tink API modules.

- Core
  - [Tink](Tink.md): Production-grade Elixir client for the Tink Open Banking API.
  - [Tink.Client](Tink.Client.md): Represents an authenticated Tink API client.
  - [Tink.Config](Tink.Config.md): Runtime configuration for the Tink SDK.
  - [Tink.Error](Tink.Error.md): Structured error returned by all Tink API functions.

- Auth
  - [Tink.Auth](Tink.Auth.md): OAuth 2.0 authentication for the Tink API.
  - [Tink.AuthToken](Tink.AuthToken.md): Utilities for inspecting and managing `Tink.Client` access token state.

- Data Aggregation
  - [Tink.Accounts](Tink.Accounts.md): Account data access. Requires `accounts:read` scope.
  - [Tink.Credentials](Tink.Credentials.md): Bank credential (connection) lifecycle management.
  - [Tink.FinancialCalendar](Tink.FinancialCalendar.md): Financial calendar periods. Requires `calendar:read` scope.

  - [Tink.Identities](Tink.Identities.md): User identity data from the bank (verified name, address, date of birth).
  - [Tink.Investments](Tink.Investments.md): Investment account data. Requires `investments:read` or `investment-accounts:readonly` scope.
  - [Tink.Loans](Tink.Loans.md): Loan account data. Requires `accounts:read` or `loan-accounts:readonly` scope.
  - [Tink.Providers](Tink.Providers.md): Bank provider directory. Requires `providers:read` scope.
  - [Tink.Statistics](Tink.Statistics.md): Aggregated spending statistics. Requires `statistics:read` scope.
  - [Tink.Transactions](Tink.Transactions.md): Transaction data access. Requires `transactions:read` scope.
  - [Tink.Users](Tink.Users.md): User management. Most operations require an application-level client
(client credentials token) rather than a user token.

- Enrichment
  - [Tink.Enrichment](Tink.Enrichment.md): Umbrella for all Tink enrichment sub-modules.
  - [Tink.Enrichment.Categories](Tink.Enrichment.Categories.md): Enrichment PFM categories. Cached 24 hours globally.
Requires `enrichment.transactions:readonly` or `user:read`.

  - [Tink.Enrichment.Merchants](Tink.Enrichment.Merchants.md): Brand and merchant identification by ID.
Requires `enrichment.merchant` or `enrichment.on-demand` scope.

  - [Tink.Enrichment.OnDemand](Tink.Enrichment.OnDemand.md): On-demand transaction enrichment — enrich transactions without aggregation.
Requires `enrichment.on-demand` scope.
  - [Tink.Enrichment.Recurring](Tink.Enrichment.Recurring.md): Recurring transaction detection, grouping, and prediction.
Requires `enrichment.transactions:readonly` or `transactions.recurring:read`.

  - [Tink.Enrichment.Sustainability](Tink.Enrichment.Sustainability.md): CO₂ sustainability insights for transactions and users.
Requires `enrichment.sustainability` scope.

  - [Tink.Enrichment.Transactions](Tink.Enrichment.Transactions.md): Enriched transaction data with categories, merchant info, and CO₂.
Requires `enrichment.transactions:readonly` or `transactions:read`.

- Verification &amp; Risk
  - [Tink.AccountCheck](Tink.AccountCheck.md): Account verification reports — verify ownership, IBAN, and balance.
Requires `account-verification-reports:write` and `account-verification-reports:read`.

  - [Tink.BalanceCheck](Tink.BalanceCheck.md): Balance refresh — trigger and poll real-time balance pulls.
Requires `balance-refresh` and `balance-refresh:readonly` scopes.

  - [Tink.BusinessAccountCheck](Tink.BusinessAccountCheck.md): Business account verification reports.
Requires `business-account-verification-reports:read`.

  - [Tink.ExpenseCheck](Tink.ExpenseCheck.md): Expense verification reports.
Requires `expense-checks:create`, `expense-checks:readonly`, `expense-checks:delete`.

  - [Tink.IncomeCheck](Tink.IncomeCheck.md): Income verification reports.
Requires `income-checks:create`, `income-checks:readonly`, `income-checks:delete`.

  - [Tink.RiskInsights](Tink.RiskInsights.md): Risk insights reports for credit decisioning.
Requires `risk-insights:create`, `risk-insights:readonly`, `risk-insights:delete`.

- Payments
  - [Tink.BulkPayments](Tink.BulkPayments.md): Bulk payment initiation.
Requires `bulk-payment:write` and `bulk-payment:read` scopes.

  - [Tink.MandatePayments](Tink.MandatePayments.md): Mandate-based recurring payments (v1 and v2).
Requires `mandate-payments` and `mandate-payments:readonly` scopes.

  - [Tink.Mandates](Tink.Mandates.md): Mandate management — get and revoke.
Requires `mandates` and `mandates:readonly` scopes.

  - [Tink.Payments](Tink.Payments.md): One-time payment initiation (PIS).
  - [Tink.SettlementAccounts](Tink.SettlementAccounts.md): Merchant settlement accounts — accounts, refunds, withdrawals, transactions.
Requires `settlement-accounts` or `settlement-accounts:readonly` scopes.

- Finance Management
  - [Tink.Budgets](Tink.Budgets.md): Budget management — one-off and recurring budgets.
Requires `budgets:read` and `budgets:write` scopes.
  - [Tink.CashFlow](Tink.CashFlow.md): Cash flow analysis — income vs expenses over time.
Delegates to `Tink.Statistics` with sensible defaults.
Requires `statistics:read` scope.

  - [Tink.CostOfLiving](Tink.CostOfLiving.md): Cost-of-living analysis.
Requires `cost-of-living:read` and `cost-of-living:write` scopes.

  - [Tink.Insights](Tink.Insights.md): AI-driven personalised financial insights.
Requires `insights:read` and `insights:write` scopes.

  - [Tink.SavingsGoals](Tink.SavingsGoals.md): Savings goals with allocations, deposits, withdrawals, and reallocation.
Requires `savings-goals:read` and `savings-goals:write` scopes.

  - [Tink.Subscriptions](Tink.Subscriptions.md): Subscription detection and management.
Requires `subscriptions:read` and `subscriptions:write` scopes.

- Connectivity &amp; Consents
  - [Tink.Connectivity](Tink.Connectivity.md): Provider connectivity health checks.
Requires `providers:read` and `credentials:read`.

  - [Tink.Consents](Tink.Consents.md): Full consent lifecycle management via the v2 connectivity API.
  - [Tink.ProviderConsents](Tink.ProviderConsents.md): Provider-level consent management (legacy v1 consent API).
Requires `provider-consents:read` and `provider-consents:write` scopes.

- Infrastructure
  - [Tink.Connector](Tink.Connector.md): Connector API — manual account and transaction ingestion.
  - [Tink.Link](Tink.Link.md): Tink Link URL builder for all end-user frontend flows.
  - [Tink.Merchants](Tink.Merchants.md): Partner integration merchant management.
Requires `merchants` or `merchants:readonly` scope.

  - [Tink.ReportJobs](Tink.ReportJobs.md): Async report generation job status polling.
Requires `reports-generation-jobs:readonly` scope.

  - [Tink.TransactionReports](Tink.TransactionReports.md): Transaction report access (v2).
Requires `transaction-reports:readonly` scope.

  - [Tink.WebhookHandler](Tink.WebhookHandler.md): Event-driven webhook handler with a per-event-type handler registry.
  - [Tink.WebhookVerifier](Tink.WebhookVerifier.md): Constant-time HMAC-SHA256 signature verification for incoming Tink webhooks.
  - [Tink.Webhooks](Tink.Webhooks.md): Webhook endpoint registration and management.

- Internal
  - [Tink.Cache](Tink.Cache.md): Cachex-backed response cache with per-resource TTLs, per-user isolation,
opt-out support, and automatic invalidation on writes.
  - [Tink.HTTP.Behaviour](Tink.HTTP.Behaviour.md): Behaviour for HTTP adapters — swap Finch for test mocks.
  - [Tink.HTTP.Finch](Tink.HTTP.Finch.md): Default Finch-backed HTTP adapter.
  - [Tink.HTTP.MutualTLS](Tink.HTTP.MutualTLS.md): Mutual TLS (mTLS) HTTP adapter for Tink.
  - [Tink.Paginator](Tink.Paginator.md): Stream-based cursor pagination helpers.
  - [Tink.RateLimiter](Tink.RateLimiter.md): Client-side rate limiting using Hammer (token bucket / ETS backend).
  - [Tink.Telemetry](Tink.Telemetry.md): Telemetry integration. Attach handlers to these events in your application

