refresh-client

Kotlin client for the YAXI Open Banking non-interactive (refresh) services.

This module hosts RoutexRefreshClient (Kotlin) and RoutexRefreshAsyncClient (Java façade). It is JVM-only: the typical caller is a backend that schedules recurring account / balance / transaction refreshes against a consent already obtained through the interactive client module.

The driving difference vs. the interactive client:

  • Inputs use a ConnectionData envelope (obtained from a successful interactive flow's Response.Result.connectionData and persisted by the caller) instead of Credentials.

  • Each call returns a NonInteractiveResponse carrying the typed payload directly. There is no JWT envelope and no interrupt loop: the bank either returns data or the call throws a RoutexError subclass. InterruptError is the umbrella signal that the bank wants user input on a non-interactive call (TAN prompt, fresh SCA, anything the interactive client would resolve via respond* / confirm*); ConsentExpired is the typed signal that the consent itself has expired or been revoked. Both indicate the caller needs to drive a fresh interactive flow.

  • Only the read services and the discovery endpoints are exposed; payment and transfer flows are inherently interactive and remain on RoutexClient.

See the RoutexRefreshClient KDoc for the full call-shape description and the expected exceptions (and runnable Kotlin / Java code samples on each anchor method); the per-service reference lives at Handling sessions, Errors.

Packages

Link copied to clipboard