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
@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")
@spec list_providers( Tink.Client.t(), keyword() ) :: {:ok, map()} | {:error, Tink.Error.t()}
Lists all available providers with explicit caching.
Parameters
client- Tink clientopts- 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")