canonical: https://jentic.com/apis/postbank.bg/postbank

# Postbank Bg Postbank Bulgaria Open Banking API

Jentic publishes the only available OpenAPI specification for Postbank Bulgaria Open Banking API, keeping it validated and agent-ready. Postbank Bulgaria Open Banking API implements the PSD2 directive with Account Information Services (AIS), Payment Initiation Services (PIS), and Confirmation of Funds Services (CFS). It enables third-party providers to access customer account data with consent, initiate domestic budget transfers and SEPA credit transfers, and confirm fund availability for payment requests. The API uses OAuth 2.0 authorization code flow with scopes for each service.

## For AI agents

Access Postbank Bulgaria accounts, initiate SEPA and domestic transfers, and confirm fund availability under PSD2 open banking consent.

## Scope

Does not handle loan applications, card management, or investment products - use for PSD2 account information, payment initiation, and funds confirmation only.

## Capabilities

- Retrieve customer account lists and individual account details with IBAN and currency
- Query account balances and transaction histories with date-range filtering
- Initiate domestic budget transfers and SEPA credit transfers with debtor and creditor IBANs
- Manage AIS consent lifecycle including creation, status checks, and revocation
- Confirm availability of funds for a specified amount on a given account

## Use cases

### Account Aggregation for Fintech Apps

Retrieve account lists, balances, and transaction histories from Postbank Bulgaria customer accounts under PSD2 consent. The API supports date-range filtering on transactions and returns both booked and pending entries, enabling fintech applications to present unified financial views across multiple banks.

Example prompt: Create an AIS consent via `/v1/consents`, then list accounts using `/v1/accounts` and retrieve balances for the first account

### Payment Initiation for Business Transfers

Initiate domestic budget transfers or SEPA credit transfers on behalf of customers who have authorized the payment via the PSD2 consent flow. The API accepts debtor and creditor IBANs with an instructed amount and currency, returning a payment ID and transaction status for tracking.

Example prompt: Initiate a SEPA credit transfer for 100.00 EUR from debtor IBAN BG1234 to creditor IBAN DE5678 using the `/v1/payments/sepa-credit-transfers` endpoint

### Pre-Payment Funds Verification

Confirm whether a customer account has sufficient funds for a specific transaction amount before initiating payment. The Confirmation of Funds endpoint returns a boolean fundsAvailable response, enabling merchants and payment processors to verify solvency without accessing full account details.

Example prompt: Call `/v1/funds-confirmations` with account IBAN BG1234 and instructed amount of 500.00 BGN to verify fund availability

### AI Agent Banking Integration via Jentic

AI agents use Jentic to discover Postbank open banking operations by intent, such as 'check account balance' or 'initiate a bank transfer'. Jentic returns the operation schema with OAuth 2.0 scope requirements and input parameters, handling token acquisition so agents access banking data without managing PSD2 consent flows directly.

Example prompt: Search Jentic for 'check bank account balance', load the getAccountBalances schema, and execute with account-id to retrieve current balance data

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1/accounts` | List all accessible customer accounts |
| GET | `/v1/accounts/{account-id}` | Get details for a specific account |
| GET | `/v1/accounts/{account-id}/balances` | Retrieve account balances |
| GET | `/v1/accounts/{account-id}/transactions` | Get account transactions with date filtering |
| POST | `/v1/consents` | Create an AIS consent for account access |
| POST | `/v1/payments/{payment-product}` | Initiate a domestic or SEPA transfer |
| GET | `/v1/payments/{payment-product}/{paymentId}` | Get payment status |
| POST | `/v1/funds-confirmations` | Confirm fund availability for an amount |

## Key resources

- **Account Information (AIS)** — List accounts, retrieve details, balances, transactions, and manage consents
- **Payment Initiation (PIS)** — Initiate domestic budget transfers and SEPA credit transfers, track payment status
- **Confirmation of Funds (CFS)** — Verify whether an account has sufficient funds for a given amount

## Why Jentic

- **Setup:** Wiring the Postbank Bulgaria Open Banking API by hand means running its OAuth2 authorization-code flow, managing the PSD2 ais, pis, and cfs scopes, and refreshing tokens yourself. Through Jentic you install once, import the Postbank Bulgaria Open Banking API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Postbank puts the account id in the URL path (`/v1/accounts/{account-id}/...`), so a rule can pin your agent to reading one account: you choose the operations it may call, so payment initiation is not included unless you add it.
- **Credential handling:** Your Postbank OAuth credentials and access tokens 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 'list bank accounts' or 'get account transactions', and Jentic returns the matching Postbank operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Nordigen API** — PSD2 aggregator providing access to 2000+ European banks through a single API
- **TrueLayer API** — Open banking platform with account data and payment initiation across EU and UK banks
- **Plaid API** — Financial data aggregation covering US and international banks

## FAQ

### Why is there no official OpenAPI spec for Postbank Bulgaria Open Banking API?

Postbank Bulgaria does not publish an OpenAPI specification for its PSD2 APIs. Jentic generates and maintains this spec so that AI agents and developers can call Postbank Bulgaria Open Banking API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Postbank Bulgaria Open Banking API use?

The API uses OAuth 2.0 authorization code flow with three scopes: ais (Account Information), pis (Payment Initiation), and cfs (Confirmation of Funds). Authorization is at https://api.postbank.bg/oauth/authorize and tokens are obtained from https://api.postbank.bg/oauth/token. Through Jentic, OAuth tokens are managed automatically.

### Can I initiate SEPA transfers through the Postbank Bulgaria API?

Yes. The `/v1/payments/sepa-credit-transfers` endpoint accepts a payment request with debtor account IBAN, creditor account IBAN, and an instructed amount with currency. The API returns a payment ID and transaction status. The API also supports domestic-budget-transfers as a payment product.

### What are the rate limits for the Postbank Bulgaria Open Banking API?

PSD2 regulations require banks to provide reasonable access. Specific rate limits are not published in the specification. Postbank follows standard NextGenPSD2 guidelines which typically allow 4 access requests per day for account information without active customer involvement.

### How do I retrieve account transactions through the Postbank API with Jentic?

Install the SDK with pip install jentic, then search for 'retrieve bank account transactions'. Jentic returns the getAccountTransactions operation schema requiring an account-id path parameter and optional dateFrom and dateTo query parameters. Execute the call to receive booked and pending transaction records.

### What consent management is required for account access?

Before accessing account data, you must create an AIS consent via POST `/v1/consents.` The consent has a validUntil date and a status (received, valid, rejected, expired). You can check consent status with GET `/v1/consents/{consentId}` and revoke it with DELETE `/v1/consents/{consentId}.` All account endpoints require an active consent.

### Can I limit what my agent is allowed to do with the Postbank Bulgaria Open Banking API?

Yes. Because you run Jentic One yourself, your own rules decide which Postbank operations and OAuth credentials the agent may use. Since the account id sits in the URL path (`/v1/accounts/{account-id}/...`), you can pin the agent to reading balances and transactions on a single account while excluding payment initiation such as `/v1/payments/sepa-credit-transfers` unless you explicitly add it. Only the operations you allow, like GET `/v1/accounts` or POST `/v1/funds-confirmations`, are ever callable.
