Packages
Unofficial Elixir client for the Yapily Open Banking API v12 — payments, data, VRP, hosted pages, enrichment, and more.
Current section
Files
Jump to
Current section
Files
yapily_client
CHANGELOG.md
CHANGELOG.md
# Changelog
All notable changes to `yapily_client`.
## [1.0.0] — 2026-04-06
### Initial release
Complete Elixir implementation of the Yapily Open Banking API v12,
renamed from the earlier `:yapily` prototype.
#### Features
- 19 service modules covering all Yapily API endpoints
- App `:yapily_client`, module prefix `YapilyClient`
- Two error formats auto-detected from response shape
- `YapilyClient.Error.APIError` — standard HTTP errors
- `YapilyClient.Error.EnhancedAPIError` — structured issues list
- 28 named error-code functions on `YapilyClient.Error`
- 7 error predicate helpers (`not_found?/1`, `vop_rejected?/1`, etc.)
- `@spec` on every public function — Dialyzer-clean
- `@doc` on every public function — ExDoc-ready
- Typed domain structs with `cast/1` functions for all response types
- Lazy transaction streaming via `Stream.resource/3`
- Fibonacci consent polling (1→1→2→3→5→8→13→21→34 s)
- HMAC-SHA256 webhook verification with timing-safe comparison
- Exponential-backoff retry on 429/500/503/504
- Token-bucket rate limiting via ExRated
- Telemetry events on every request
- Finch connection pooling
- Mox-compatible via `YapilyClient.HTTP.Behaviour`
- VoP (Verification of Payee) — approve/reject flows
- VRP (Variable Recurring Payments) — sweeping consent + payments
- All 6 payment types: domestic, domestic scheduled, domestic periodic,
international, international scheduled, international periodic
- 10 standing-order frequency types
- PSU (Payment Service User) header forwarding
- Sub-application support via `Sub-Application` header