# Railsr v1.0.0 - Table of Contents

> Production-grade Elixir client for the Railsr Embedded Finance API
(Endusers, Ledgers, Cards, Transactions, Beneficiaries, Direct Debit,
Compliance Firewall, Webhooks).

## Pages

- [railsr](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [Railsr.Types.Address](Railsr.Types.Address.md): Postal address embedded in enduser records.
- [Railsr.Types.Beneficiary](Railsr.Types.Beneficiary.md): An external payee / bank account.
- [Railsr.Types.Card](Railsr.Types.Card.md): A Railsr virtual or physical payment card.
- [Railsr.Types.CardProgramme](Railsr.Types.CardProgramme.md): A Railsr card programme (BIN range, scheme, currency).
- [Railsr.Types.CardRule](Railsr.Types.CardRule.md): A spend-control rule applied to a card.
- [Railsr.Types.Customer](Railsr.Types.Customer.md): The authenticated Railsr customer (your company).
- [Railsr.Types.Enduser](Railsr.Types.Enduser.md): A Railsr enduser (person or company).
- [Railsr.Types.FirewallDataset](Railsr.Types.FirewallDataset.md): A CSV dataset referenced by firewall rules.
- [Railsr.Types.FirewallRules](Railsr.Types.FirewallRules.md): The compliance firewall rule-set for a customer.
- [Railsr.Types.KycCheck](Railsr.Types.KycCheck.md): Result of a single KYC check run.
- [Railsr.Types.Ledger](Railsr.Types.Ledger.md): A Railsr ledger (account).
- [Railsr.Types.LedgerEntry](Railsr.Types.LedgerEntry.md): A single debit or credit entry in a ledger's history.
- [Railsr.Types.Mandate](Railsr.Types.Mandate.md): A BACS Direct Debit mandate to collect from an external account.
- [Railsr.Types.Payment](Railsr.Types.Payment.md): A Direct Debit payment collected via a mandate.
- [Railsr.Types.PersonName](Railsr.Types.PersonName.md): Name fields for a person enduser.
- [Railsr.Types.Token](Railsr.Types.Token.md): An OAuth 2.0 JWT bearer token with its metadata.
- [Railsr.Types.Transaction](Railsr.Types.Transaction.md): A Railsr money movement (send, receive, inter-ledger, FX, card, DD).
- [Railsr.Types.WebhookConfig](Railsr.Types.WebhookConfig.md): Webhook delivery configuration for the customer.
- [Railsr.Types.WebhookEvent](Railsr.Types.WebhookEvent.md): A raw Railsr webhook event delivered to the customer's endpoint.

- Core
  - [Railsr](Railsr.md): Production-grade Elixir client for the **Railsr Embedded Finance API**.
  - [Railsr.Config](Railsr.Config.md): Runtime configuration for the `railsr` client.

- Authentication
  - [Railsr.Auth](Railsr.Auth.md): OAuth 2.0 client-credentials token management for Railsr.
  - [Railsr.Auth.TokenCache](Railsr.Auth.TokenCache.md): ETS-backed `GenServer` that caches the Railsr OAuth 2.0 bearer token and
refreshes it automatically 60 seconds before expiry.

- HTTP Layer
  - [Railsr.HTTP](Railsr.HTTP.md): Core HTTP request pipeline for the `railsr` client.

- Resources
  - [Railsr.Resources.Beneficiaries](Railsr.Resources.Beneficiaries.md): Railsr **Beneficiary** API.
  - [Railsr.Resources.Cards](Railsr.Resources.Cards.md): Railsr **Card** API — virtual and physical card management.
  - [Railsr.Resources.Customer](Railsr.Resources.Customer.md): Railsr **Customer** (self) API.
  - [Railsr.Resources.Endusers](Railsr.Resources.Endusers.md): Railsr **Enduser** API — v2.
  - [Railsr.Resources.Firewall](Railsr.Resources.Firewall.md): Railsr **Compliance Firewall** API.
  - [Railsr.Resources.Ledgers](Railsr.Resources.Ledgers.md): Railsr **Ledger** API.
  - [Railsr.Resources.Mandates](Railsr.Resources.Mandates.md): Railsr **Direct Debit Mandate** API.
  - [Railsr.Resources.Payments](Railsr.Resources.Payments.md): Railsr **Direct Debit Payment** API.
  - [Railsr.Resources.Transactions](Railsr.Resources.Transactions.md): Railsr **Transaction** API.
  - [Railsr.Resources.Webhooks](Railsr.Resources.Webhooks.md): Railsr **Webhook / Notification** API.

- Middleware
  - [Railsr.Middleware.CircuitBreaker](Railsr.Middleware.CircuitBreaker.md): Simple three-state circuit breaker for the Railsr API.
  - [Railsr.Middleware.RateLimiter](Railsr.Middleware.RateLimiter.md): Client-side token-bucket rate limiter.

- Telemetry
  - [Railsr.Telemetry](Railsr.Telemetry.md): Telemetry integration for the `railsr` client.

- Types
  - [Railsr.Types](Railsr.Types.md): Shared struct definitions for all Railsr domain objects.

- Errors
  - [Railsr.Error](Railsr.Error.md): Structured error type returned by all `railsr` public functions.

