Tink.Providers (Tink v0.1.1)

Copy Markdown View Source

Providers API with explicit caching (1-hour TTL for list, 2-hour for individual).

Provider data rarely changes — banks don't appear or disappear frequently — making it an ideal candidate for aggressive caching. Both list_providers/2 and get_provider/2 cache their responses explicitly via Tink.Cache.fetch/3.

Cache Keys

  • List: "providers:<market>:<capabilities>"
  • Individual: "providers:provider:<provider_id>"

Cache is invalidated automatically when the client's TTL expires. To force a fresh fetch, pass cache: false on the client or call Tink.Cache.clear/0.

Required Scopes

  • providers:read — authenticated access

Summary

Functions

Gets detailed information about a specific provider with caching.

Lists all available providers with explicit caching.

Functions

get_provider(client, provider_id)

@spec get_provider(Tink.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Tink.Error.t()}

Gets detailed information about a specific provider with caching.

Individual providers are cached for 2 hours by provider ID.

Examples

{:ok, provider} = Tink.Providers.get_provider(client, "uk-ob-barclays")

list_providers(client, opts \\ [])

@spec list_providers(
  Tink.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, Tink.Error.t()}

Lists all available providers with explicit caching.

Parameters

  • client - Tink client
  • opts - Query options:
    • :market - ISO 3166-1 alpha-2 code (e.g. "GB")
    • :capabilities - List of required capabilities
    • :cache - Override (true | false)

Examples

{:ok, providers} = Tink.Providers.list_providers(client, market: "GB")