canonical: https://jentic.com/apis/biza.io/biza

# Biza HaaS Data Adapter API

The Biza HaaS Data Adapter API exposes Consumer Data Right banking and energy data for a customer principal. It reads a customer's bank accounts, transactions, payees, and payments, and pulls their energy accounts, balances, invoices, billing, and concessions. It also registers and manages the customer principal that ties those data requests to a consented consumer.

## For AI agents

Read a customer principal's Consumer Data Right banking and energy data through Biza's data holder adapter: bank accounts, transactions, payees, energy balances, invoices, and billing.

## Scope

Does not initiate payments, open accounts, or switch energy providers. Use for reading Consumer Data Right banking and energy data for a customer principal only.

## Capabilities

- Retrieve a banking customer's accounts and transactions
- List a customer's registered payees and payments
- Read a customer's energy accounts and balances
- Pull energy invoices, billing, and payment schedules
- Look up energy account concessions for a customer
- Register and manage the customer principal and its attributes
- Send notifications and list closed principals

## Use cases

### AI agent CDR data access

An AI agent in a lending or budgeting workflow can read a consented customer's banking data on demand. Through Jentic the agent searches by intent and the API key and OAuth token never enter its prompt context, turning Biza's Consumer Data Right adapter into a programmable data feed.

Example prompt: Use Jentic to search 'get a customer's bank accounts', call GET `/banking/customer/{principalId}/account`, then GET `/banking/customer/{principalId}/account/{accountId}/transaction` to read recent transactions.

### Energy account monitoring

A retail-energy assistant tracks a customer's balance and invoices across their energy accounts. The agent reads the outstanding balance and the latest invoices for a principal, surfacing bills and payment status without a manual portal login.

Example prompt: For a principal, call GET `/energy/{principalId}/balance` and GET `/energy/{principalId}/invoice` to report the outstanding balance and latest invoices.

### Payee and payment review

A reconciliation agent compares a customer's registered payees against their recent payments to flag anomalies. Both lists come from the banking data adapter scoped to a single principal, keeping the review grounded in consented CDR data.

Example prompt: Call GET `/banking/customer/{principalId}/payee` and GET `/banking/customer/{principalId}/payment` to reconcile a customer's payees against recent payments.

### Principal lifecycle management

Before data can be read, a customer principal must exist and carry the right attributes. An agent registers the principal, sets its attributes, and can list closed principals to keep the consented population current.

Example prompt: Register a principal via POST `/user/principal`, set attributes with POST `/user/attribute`, and list closed principals via GET `/status/closed-principals.`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/banking/customer/{principalId}/account` | List a customer's bank accounts |
| GET | `/banking/customer/{principalId}/account/{accountId}/transaction` | List transactions on a bank account |
| GET | `/banking/customer/{principalId}/payee` | List registered payees |
| GET | `/energy/{principalId}/account` | List a customer's energy accounts |
| GET | `/energy/{principalId}/balance` | Read an energy account balance |
| GET | `/energy/{principalId}/invoice` | List energy invoices |
| GET | `/customer/{principalId}` | Get a customer by principal id |
| POST | `/user/principal` | Register a customer principal |

## Key resources

- **Banking** — Customer accounts, transactions, payees, and payments
- **Energy** — Customer energy accounts, balances, invoices, billing, and concessions
- **Principals** — Customer principals that scope consented data requests
- **Notifications** — Notification delivery and principal status

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 72 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 74 / 100
  - AI-Readiness & Agent Experience: 56 / 100
  - Agent Usability: 94 / 100
  - Security: 68 / 100
  - AI Discoverability: 63 / 100
- **View full report:** https://jentic.com/apis/biza.io/biza/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the Biza HaaS Data Adapter API by hand means carrying its API-Key header and exchanging an OAuth 2.0 client-credentials token for the biza:haas.adapter:read scope, then encoding the banking and energy calls yourself. Through Jentic you install once, import it from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** The API puts the customer principal id in the URL path (`/banking/customer/{principalId}/account`, `/energy/{principalId}/balance`), so a rule can pin your agent to one customer. You choose the operations it may call, so principal registration or notification sends are not included unless you add them.
- **Credential handling:** Your Biza API key and OAuth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a customer's bank accounts' or 'read an energy balance', and Jentic returns the matching Biza operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **TrueLayer** — TrueLayer provides open banking account and transaction data across Europe and the UK
- **Plaid** — Plaid aggregates bank account and transaction data across North America and Europe
- **Nordigen** — Nordigen offers free access to European bank account data

## FAQ

### Is there a Biza HaaS Data Adapter API MCP server?

You don't need an MCP server to give your agent Biza. Jentic connects it directly from the API Directory: import it, store your credentials once, and your agent calls the banking and energy read operations. That keeps your agent's context free of an extra server's tool definitions.

### What authentication does the Biza HaaS Data Adapter API use?

It authenticates two ways per its OpenAPI spec: an API key in the API-Key header and an OAuth 2.0 client-credentials token carrying the biza:haas.adapter:read scope. Through Jentic both are stored encrypted by your own instance and injected at call time.

### Can I read a customer's bank transactions with the Biza HaaS Data Adapter API?

Yes. GET `/banking/customer/{principalId}/account` lists a customer's accounts, and GET `/banking/customer/{principalId}/account/{accountId}/transaction` returns the transactions on a given account, both scoped to one consented principal.

### Can I access energy account data through this API?

Yes. GET `/energy/{principalId}/account` lists a customer's energy accounts, and GET `/energy/{principalId}/balance` and GET `/energy/{principalId}/invoice` return the current balance and invoices for that principal.

### How do I read a customer's accounts through Jentic?

Search Jentic for 'get a customer's bank accounts', load the input schema, and execute GET `/banking/customer/{principalId}/account.` To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Biza HaaS Data Adapter API?

Yes. Write a rule that allows only the banking read operations under one principal id, so the agent can list that customer's accounts and transactions and touch nothing else, and every call it makes is logged. Energy and principal-management operations stay out unless you add them.
