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 the

connection 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 a

payment 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).

EndpointPurpose
GET /v2/connectionsList 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 paramDescription
statusFilter by status, e.g. ACTIVE.
limitMax documents to return.
sort1 ascending, -1 descending.
nextPagePagination cursor from the previous response.
customerIdFilter to a customer (business/national ID) from extended journeys.
contactIdFilter 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"
    }
  ]
}
FieldDescription
countNumber of connections returned in items.
nextPageCursor for the next page; null when there are no more.
itemsArray 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:

FieldDescription
idThe connection id — pass it as connectionId when filtering accounts/transactions.
providerIdThe linked bank (see Providers & Branches).
statusConnection status (see the table below).
modePSD2 (open banking) or PLAID.
accounts / cards / savings / loans / securitiesCount of each account type on the connection.
transactionsNumber of transactions collected.
expiryDateWhen the consent expires and needs renewing.
startDate / lastFetchedDataDateData window: earliest collected and last fetch time.
createdAt / updatedAtTimestamps in UTC.

Status values

StatusMeaning
CONNECTEDSuccessfully linked; the consent journey completed.
ACTIVEA recurring connection — accounts and transactions refresh daily.
COMPLETEDA one-time connection — all accounts and transactions were fetched once.
FETCHINGConnecting to the institution / collecting data.
INACTIVEInitialized but dormant, awaiting user action.
PARTIALLY_AUTHORIZEDAwaiting additional account-owner approvals (5-day window).
REPLACEDSuperseded by a newer connection from the same provider.
EXPIREDConsent lapsed — no longer usable.
REVOKEDThe user revoked consent at the provider.
TERMINATED_BY_USERThe user ended the connection.
SUSPENDED_BY_PROVIDERThe provider suspended the consent.
REJECTEDThe account owner declined consent at the provider.
CREDENTIALS_ERRORAuthentication with the bank failed.
FETCHING_ERROR / ERRORA processing/retrieval error occurred; see the error field.
UNKNOWNState could not be determined.
💡

CONNECTED, ACTIVE, and COMPLETED mean data is readable. ACTIVE keeps

refreshing daily; COMPLETED was a single fetch and won't update. Treat every
other status as "cannot read fresh data right now" and, once consent has
EXPIRED / been REVOKED, 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.


Did this page help you?