Connections
List, read, and remove a user's linked bank connections.
Connections
A connection represents one bank a user has linked to Financy — the
authorized link to that bank, not the money inside it. One connection exposes
several Accounts, and each account has its Transactions. Once a
connection exists, that data becomes readable through the API.
New to the model? Core Concepts defines every entity and explains theconnection vs. account distinction in full.
Connections can be created only through the Financy UI — never via the
API. Users link a bank through the hosted consent journey (or as part of apayment flow). This API lets you list, read, and delete
connections; there is no create endpoint — bank linking requires the
interactive consent journey.If you need to create connections programmatically (e.g. to aggregate your
customers' data at scale), that's available on the Open Finance platform,
our B2B product — contact us to get access.
All endpoints require a Bearer token — see Authentication. Failed requests
return the standard error shape — see Errors (deleting a connection can also
return 423 Locked).
| Endpoint | Purpose |
|---|---|
GET /v2/connections | List the user's connections. |
GET /v2/connections/{connectionId} | Read one connection. |
DELETE /v2/connections/{connectionId} | Remove a connection. |
List connections
GET https://api.open-finance.ai/v2/connections
| Query param | Description |
|---|---|
status | Filter by status, e.g. ACTIVE. |
limit | Max documents to return. |
sort | 1 ascending, -1 descending. |
nextPage | Pagination cursor from the previous response. |
customerId | Filter to a customer (business/national ID) from extended journeys. |
contactId | Filter to a contact phone number from extended journeys. |
Request
curl "https://api.open-finance.ai/v2/connections?status=ACTIVE&limit=20" \
-H "Authorization: Bearer <accessToken>"Response
{
"count": 1,
"nextPage": null,
"items": [
{
"id": "01J8CONN...",
"providerId": "hapoalim",
"status": "ACTIVE",
"mode": "PSD2",
"accounts": 2,
"cards": 1,
"savings": 0,
"loans": 0,
"transactions": 431,
"expiryDate": "2026-10-01T00:00:00.000Z",
"createdAt": "2026-07-01T09:12:00.000Z"
}
]
}| Field | Description |
|---|---|
count | Number of connections returned in items. |
nextPage | Cursor for the next page; null when there are no more. |
items | Array of connection objects (see below). |
Get a connection
GET https://api.open-finance.ai/v2/connections/{connectionId}
curl "https://api.open-finance.ai/v2/connections/01J8CONN..." \
-H "Authorization: Bearer <accessToken>"Key fields on a connection:
| Field | Description |
|---|---|
id | The connection id — pass it as connectionId when filtering accounts/transactions. |
providerId | The linked bank (see Providers & Branches). |
status | Connection status (see the table below). |
mode | PSD2 (open banking) or PLAID. |
accounts / cards / savings / loans / securities | Count of each account type on the connection. |
transactions | Number of transactions collected. |
expiryDate | When the consent expires and needs renewing. |
startDate / lastFetchedDataDate | Data window: earliest collected and last fetch time. |
createdAt / updatedAt | Timestamps in UTC. |
Status values
| Status | Meaning |
|---|---|
CONNECTED | Successfully linked; the consent journey completed. |
ACTIVE | A recurring connection — accounts and transactions refresh daily. |
COMPLETED | A one-time connection — all accounts and transactions were fetched once. |
FETCHING | Connecting to the institution / collecting data. |
INACTIVE | Initialized but dormant, awaiting user action. |
PARTIALLY_AUTHORIZED | Awaiting additional account-owner approvals (5-day window). |
REPLACED | Superseded by a newer connection from the same provider. |
EXPIRED | Consent lapsed — no longer usable. |
REVOKED | The user revoked consent at the provider. |
TERMINATED_BY_USER | The user ended the connection. |
SUSPENDED_BY_PROVIDER | The provider suspended the consent. |
REJECTED | The account owner declined consent at the provider. |
CREDENTIALS_ERROR | Authentication with the bank failed. |
FETCHING_ERROR / ERROR | A processing/retrieval error occurred; see the error field. |
UNKNOWN | State could not be determined. |
CONNECTED,ACTIVE, andCOMPLETEDmean data is readable.ACTIVEkeepsrefreshing daily;
COMPLETEDwas a single fetch and won't update. Treat every
other status as "cannot read fresh data right now" and, once consent has
EXPIRED/ beenREVOKED, prompt the user to reconnect in the Financy UI.
Delete a connection
DELETE https://api.open-finance.ai/v2/connections/{connectionId}
Removes the connection for the current user.
curl -X DELETE "https://api.open-finance.ai/v2/connections/01J8CONN..." \
-H "Authorization: Bearer <accessToken>"Next: read the balances and details of a connection's Accounts.
Updated 7 days ago

