Validated configuration struct for a TruelayerClient instance.
Created internally by TruelayerClient.new/1. Do not build directly.
Fields
:client_id- OAuth2 client ID (required):client_secret- OAuth2 client secret (required):environment-:sandboxor:live(default::sandbox):api_url- resolved API base URL:auth_url- resolved Auth server base URL:redirect_uri- OAuth2 redirect URI for user-facing flows:signing_key_pem- PEM-encoded EC private key for request signing:signing_key_id- key ID registered in the TrueLayer Console:webhook_signing_secret- HMAC-SHA256 secret for webhook verification:webhook_replay_tolerance_sec- max accepted webhook age in seconds (default: 300):request_timeout_ms- HTTP timeout in milliseconds (default: 30_000):max_retries- maximum retry attempts (default: 3):base_retry_delay_ms- base exponential-backoff delay in ms (default: 300):token_store- module implementingTruelayerClient.Auth.TokenStore:telemetry_prefix- prefix for telemetry events (default:[:truelayer_client])
Summary
Types
@type environment() :: :sandbox | :live
@type t() :: %TruelayerClient.Config{ api_url: String.t(), auth_url: String.t(), base_retry_delay_ms: non_neg_integer(), client_id: String.t(), client_secret: String.t(), environment: environment(), max_retries: non_neg_integer(), redirect_uri: String.t() | nil, request_timeout_ms: pos_integer(), signing_key_id: String.t() | nil, signing_key_pem: binary() | nil, telemetry_prefix: [atom()], token_store: module(), webhook_replay_tolerance_sec: non_neg_integer(), webhook_signing_secret: binary() | nil }
Functions
@spec new(keyword()) :: {:ok, t()} | {:error, TruelayerClient.Error.t()}
Build and validate a Config from keyword options.
Returns {:ok, config} or {:error, %TruelayerClient.Error{type: :validation_error}}.