canonical: https://jentic.com/apis/openfinancebrasil.org.br/openfinancebrasil

# Open Finance Brasil - Accounts API

The Open Finance Brasil Accounts API is the standardised Phase 2 specification published by the Open Finance Brasil consortium for sharing demand deposit, savings, and prepaid account information across regulated Brazilian financial institutions. It defines seven endpoints covering account listing, identification, balances, transactions, current-day transactions, overdraft limits, and reserved balances. Customer-permissioned access uses OAuth 2.0 with FAPI security profile and OpenID Connect, and every transmitting institution must conform to the same payload shape under the Brazilian Central Bank regulation.

## For AI agents

Read a Brazilian customer's bank account information - identification, balances, transactions, and overdraft limits - through the regulated Open Finance Brasil Accounts API.

## Scope

Does not handle credit cards, loans, payments initiation, or investments - use for demand deposit, savings, and prepaid account information under Open Finance Brasil Phase 2 only.

## Capabilities

- List all accounts the customer has shared via /accounts and inspect a specific account through `/accounts/{accountId}`
- Retrieve current and available balances for an account at `/accounts/{accountId}/balances`
- Pull paginated transaction history through `/accounts/{accountId}/transactions`
- Read same-day transactions via `/accounts/{accountId}/transactions-current` for cash-management workflows
- Get configured overdraft and reserved-balance limits through `/accounts/{accountId}/overdraft-limits` and /reserved-balances
- Build aggregated personal-finance, accounting, and credit-decision tools across multiple Brazilian banks under one schema

## Use cases

### Multi-Bank Aggregator

Build a personal-finance or treasury app that aggregates Brazilian customer balances and transactions across regulated institutions. Once consent is granted under Open Finance Brasil, the app calls /accounts and `/accounts/{id}/balances` per institution and unifies the results - every transmitting bank conforms to the same payload, removing the per-institution adapter work that is needed in the US.

Example prompt: Call /accounts and then `/accounts/{accountId}/balances` for each accountId and return total available funds across the customer's permissioned accounts.

### Cash-Flow Forecasting

Pull `/accounts/{accountId}/transactions` and `/accounts/{accountId}/transactions-current` to produce a daily cash-flow forecast for a small business. The current-transactions endpoint surfaces same-day movements not yet posted to the historical ledger, which is critical for treasury teams aligning payment runs to incoming deposits.

Example prompt: For accountId X, fetch /transactions for the last 90 days plus /transactions-current and combine into a daily series.

### Credit Decisioning Inputs

Use the Accounts API alongside other Open Finance Brasil phases to input bank balance, transaction patterns, overdraft usage, and reserved balances into a credit decision. Lenders authorised under the consortium can request the customer's permission and read the same shape across all institutions, accelerating underwriting compared with statement-upload flows.

Example prompt: For accountId X, call /balances and /overdraft-limits and pass the values into the lender's risk model.

### Agent-Driven Personal Finance Assistant

An AI agent acting as a personal-finance assistant for a Brazilian customer can use Jentic to discover the right Accounts API operation when asked "what is my balance?" or "how much did I spend last week?". Jentic stores the customer's OAuth token securely and injects it on each call, so the agent works across institutions without holding the bank credentials.

Example prompt: Through Jentic, find the operation for "list accounts" and call it for the consented customer, then fetch /balances for each.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/accounts` | List the customer's permissioned accounts |
| GET | `/accounts/{accountId}` | Get account identification details |
| GET | `/accounts/{accountId}/balances` | Current and available balances |
| GET | `/accounts/{accountId}/transactions` | Historical paginated transactions |
| GET | `/accounts/{accountId}/transactions-current` | Same-day transactions |
| GET | `/accounts/{accountId}/overdraft-limits` | Configured overdraft limits |
| GET | `/accounts/{accountId}/reserved-balances` | Reserved balance amounts |

## Key resources

- **Accounts** — List of accounts the customer has consented to share, with type and subtype
- **Balances** — Available, blocked, and overdraft balances for an account
- **Transactions** — Historical and same-day transaction movements
- **Limits** — Overdraft limits and reserved-balance amounts configured on the account

## Why Jentic

- **Setup:** Wiring the Open Finance Brasil Accounts API by hand means issuing OAuth 2.0 access tokens under the FAPI profile with holder-of-key checks, attaching the FAPI-required headers, and threading the consent id through every account call. Through Jentic you install once, import the Accounts API from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** The API puts the account id in the URL path (`/accounts/{accountId}/balances`, `/accounts/{accountId}/transactions`), so a rule can pin your agent to one account: it can read that account's balances and transactions. You choose the operations it may call, and since this is read-only, nothing beyond that set runs.
- **Credential handling:** Your FAPI-profile OAuth 2.0 tokens are stored once, encrypted, by your own Jentic One instance and applied with the required FAPI headers at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list a customer's accounts' or 'get the balance on a Brazilian account', and Jentic returns the matching Accounts API operation with its consent and accountId schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Plaid** — US/Canada/EU bank-data aggregation API rather than the Brazilian regulated specification
- **TrueLayer** — European Open Banking aggregator using PSD2, equivalent to Open Finance Brasil's role in Brazil
- **UK Open Banking - Account Info** — UK regulator-published account-information specification, equivalent in role to this Brazilian Phase 2 spec
- **OpenFinTech.io** — Reference data on Brazilian banks and payment methods that augments account-level data

## FAQ

### What authentication does the Open Finance Brasil Accounts API use?

The Accounts API uses OAuth 2.0 with the FAPI (Financial-grade API) security profile and OpenID Connect for customer authorisation. Jentic stores the resulting access token encrypted in your Jentic One instance and injects it on each call, so the agent never sees the raw token even when querying balances or transactions.

### Can I read same-day transactions through the Open Finance Brasil Accounts API?

Yes. `/accounts/{accountId}/transactions-current` returns the customer's current-day movements that have not yet been posted to the historical /transactions endpoint. Use it for treasury and reconciliation flows that need intra-day visibility.

### What are the rate limits for the Open Finance Brasil Accounts API?

Limits are set by each transmitting institution under the framework defined by the consortium and Brazilian Central Bank. Designs typically permit a few requests per second per consent. Watch for HTTP 429 and retry with backoff; coordinate batch reads with the customer's consent window.

### How do I list a customer's accounts with the Accounts API through Jentic?

Use the Jentic search query "list a customer's bank accounts in Brazil". Jentic returns the GET /accounts operation with its query schema; the agent supplies the consent ID and Jentic applies the FAPI-compliant headers and OAuth token. Run it through Jentic One, the self-hosted execution layer.

### Is the Open Finance Brasil Accounts API free?

The specification is free and open. Access depends on being a regulated participant or a partner of one - institutions transmit data to authorised receivers under the consortium's directory. The technical access itself does not have a per-call vendor charge.

### Does the Accounts API cover credit cards or loans?

No. The Accounts API covers demand deposit, savings, and prepaid accounts only. Credit-card data is in the separate Credit Cards Accounts API and loans live in the Loans API - both are separate Open Finance Brasil specifications.

### Can I limit what my agent is allowed to do with the Open Finance Brasil Accounts API?

Yes. Because you run Jentic One self-hosted, your own rules decide which operations and OAuth credentials the agent may use, so you can allow only the reads it needs, such as GET /accounts and `/accounts/{accountId}/balances.` Since the account id sits in the URL path, a rule can pin the agent to a single account and let it read just that account's balances and transactions. The API is read-only, so nothing beyond the operations you permit ever runs.
