Skip to main content
A Bank Connection is an Entity-scoped grant to read bank data from a Provider (for example, Fintoc or Global66). It stores encrypted credentials and a health status. A Connection can expose discovered accounts, which you then map to existing Bank Accounts or use to create new ones. Removing a Connection cascades and removes every feed it held. All routes live under /api/entities/:entityId/bank-connections. Path parameters are UUIDs.

Authentication

Use a session cookie or an API key via the x-api-key header. Mutations with an API key also require x-audit-actor. See Authentication. POST /api/entities/:entityId/bank-connections/link-intents Start the connect flow by creating a Link Intent at the Provider. The response contains a widget token and public key the frontend needs to open the Provider widget.

Request body

Response

BankConnectionLinkIntent

Create a Bank Connection

POST /api/entities/:entityId/bank-connections Finalize the connection after the widget journey completes. The shape is a discriminated union on provider.

Request body (Fintoc)

Request body (Global66)

Response

BankConnectionWithFedAccounts — the created connection plus any fed Bank Accounts (empty on creation).

Reconnect a Bank Connection

POST /api/entities/:entityId/bank-connections/:bankConnectionId/reconnect Restore a failed Fintoc connection with a fresh exchange token.

Path parameters

Request body

Response

BankConnectionWithFedAccounts

List Bank Connections

GET /api/entities/:entityId/bank-connections Return every Bank Connection for the Entity, each with the fed Bank Accounts it serves.

Response

BankConnectionWithFedAccounts[]

Get discovered accounts

GET /api/entities/:entityId/bank-connections/:bankConnectionId/accounts Read the live account panel for one Connection. This fetches the Provider’s current link status, discovered accounts, and the local map inputs the server owns.

Response

BankConnectionAccounts Each discovered account carries providerAccountId, name, number, type, currency, balances in minor units, refreshedAt, observed, and an optional fedBankAccount if a feed already exists.

Add accounts to a Global66 connection

POST /api/entities/:entityId/bank-connections/:bankConnectionId/accounts For Global66 connections, publish additional account ids the Provider does not list automatically.

Request body

Response

BankConnectionWithFedAccounts

Map a discovered account to an existing Bank Account

POST /api/entities/:entityId/bank-connections/:bankConnectionId/feeds Create a feed that attaches a discovered account to an existing local Bank Account. The server derives the currency from the Provider and rejects a mismatch.

Request body

Response

BankAccount

Create a Bank Account from a discovered account

POST /api/entities/:entityId/bank-connections/:bankConnectionId/bank-accounts Create a new Bank Account and feed it from a discovered account in one operation. The creation is always kind bank, so only an asset Ledger Account is accepted.

Request body

Response

BankAccountWithSummary

Disconnect a Bank Connection

DELETE /api/entities/:entityId/bank-connections/:bankConnectionId Remove the connection and cascade every feed it held. The response names the deleted connection and every Bank Account that lost its feed.

Response

DisconnectBankConnectionResult