# Setu Client v1.0.0 - Table of Contents

Production-grade Elixir client for the Setu API platform (UPI, BBPS, WhatsApp, Account Aggregator, KYC, eSign)

## Pages

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

## Modules

- [SetuClient](SetuClient.md): Production-grade Elixir client for the [Setu API Platform](https://docs.setu.co).
- [SetuClient.Validation](SetuClient.Validation.md): Shared client-side validation helpers used by all Setu SDK modules.

- Core
  - [SetuClient.Config](SetuClient.Config.md): Central configuration struct for the Setu SDK.
  - [SetuClient.Error](SetuClient.Error.md): Structured error returned by every Setu SDK function.

- Infrastructure
  - [SetuClient.HTTP](SetuClient.HTTP.md): Shared HTTP client used by all Setu SDK sub-modules.
  - [SetuClient.RateLimiter](SetuClient.RateLimiter.md): Client-side token-bucket rate limiter implemented as an OTP GenServer.
  - [SetuClient.Telemetry](SetuClient.Telemetry.md): Telemetry integration for the Setu SDK.
  - [SetuClient.TokenManager](SetuClient.TokenManager.md): OTP GenServer managing Setu Bearer token lifecycle.

- Payments — UPI
  - [SetuClient.Payments.UPI](SetuClient.Payments.UPI.md): Complete UPI Setu (UMAP) API client.

- Payments — BBPS
  - [SetuClient.Payments.BBPS](SetuClient.Payments.BBPS.md): Setu BBPS BillCollect client.
  - [SetuClient.Payments.BillPay](SetuClient.Payments.BillPay.md): Setu BBPS BillPay (agent-side) client.

- Payments — WhatsApp
  - [SetuClient.Payments.WhatsApp](SetuClient.Payments.WhatsApp.md): Setu WhatsApp Collect client.

- Data — Account Aggregator
  - [SetuClient.Data.AA](SetuClient.Data.AA.md): Setu Account Aggregator FIU API client.

- Data — KYC
  - [SetuClient.Data.KYC.BAV](SetuClient.Data.KYC.BAV.md): Setu Bank Account Verification (BAV / penny-drop) client.
  - [SetuClient.Data.KYC.DigiLocker](SetuClient.Data.KYC.DigiLocker.md): Setu DigiLocker API client.
  - [SetuClient.Data.KYC.EKYC](SetuClient.Data.KYC.EKYC.md): Setu Aadhaar eKYC API client.
  - [SetuClient.Data.KYC.GST](SetuClient.Data.KYC.GST.md): Setu GSTIN Verification API client.
  - [SetuClient.Data.KYC.NameMatch](SetuClient.Data.KYC.NameMatch.md): Setu Name Match API client.
  - [SetuClient.Data.KYC.PAN](SetuClient.Data.KYC.PAN.md): Setu PAN Verification API client (NSDL).

- Data — eSign
  - [SetuClient.Data.ESign](SetuClient.Data.ESign.md): Setu Aadhaar eSign API client.

- Webhooks
  - [SetuClient.Webhook.Callbacks](SetuClient.Webhook.Callbacks.md): Behaviour defining the webhook callback interface.
  - [SetuClient.Webhook.Handler](SetuClient.Webhook.Handler.md): Unified webhook dispatcher for all Setu notification events.

