# `BankingCircle.Accounts`
[🔗](https://github.com/iamkanishka/banking_circle/blob/main/lib/banking_circle/accounts.ex#L1)

Account and balance operations: listing accounts, fetching balances,
and Account Holder Verification (AHV / Confirmation-of-Payee style
checks across supported schemes).

# `client`

```elixir
@type client() :: atom()
```

# `get`

```elixir
@spec get(String.t(), client()) :: {:ok, map()} | {:error, BankingCircle.Error.t()}
```

# `get_balance`

```elixir
@spec get_balance(String.t(), client()) ::
  {:ok, map()} | {:error, BankingCircle.Error.t()}
```

Available and booked balance for an account — see the Webhooks reconciliation guide for how these can diverge intraday.

# `list`

```elixir
@spec list(
  keyword(),
  client()
) :: {:ok, map()} | {:error, BankingCircle.Error.t()}
```

Lists accounts visible to the authenticated client, optionally filtered.

# `list_bookings`

```elixir
@spec list_bookings(String.t(), keyword(), client()) ::
  {:ok, map()} | {:error, BankingCircle.Error.t()}
```

Lists bookings (both outflows and inflows) for an account — the
transaction-level ledger, as opposed to `get_balance/2`'s point-in-time
summary. Match a booking to a payment via `bookingReference`
(= `transactionReference` in `BankingCircle.Payments`) or `transactionId`
(= the payment id).

# `verify_account_holder`

```elixir
@spec verify_account_holder(map(), client()) ::
  {:ok, map()} | {:error, BankingCircle.Error.t()}
```

Runs an Account Holder Verification check (name-to-IBAN match) against
the relevant scheme for the given IBAN's country, before you initiate a
payment to it.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
