Getting Started
What the Financy API does, how a bank gets linked, and where to go next.
Getting Started with Financy
The Financy API does two things on behalf of your users:
- Read financial data — their connected accounts and transactions.
- Initiate payments — open-banking payments, hosted by Financy or driven directly.
New here, or unsure what a connection is versus an account? ReadCore Concepts first — it defines every entity and how they relate.
Base URLs
| Purpose | Base URL |
|---|---|
| Authentication | https://api.open-finance.ai/oauth |
| API | https://api.open-finance.ai/v2 |
Authentication in one line
Every API request (except POST /oauth/token itself) must carry an access token:
Authorization: Bearer <accessToken>
You obtain that token from POST /oauth/token using your clientId,
clientSecret, and the end-user's userId. The token acts on behalf of that
one user. See Authentication.
The foundation: a linked bank
Everything below depends on the user having linked a bank.
Banks are linked only through the Financy UI — there is no API to create a
connection. The user completes the hosted consent journey in Financy; oncethey do, a Connection exists and your token can read its data and act on it.
The API lets you list, read, and delete connections, but never create one.Need to create connections programmatically — for example, to aggregate
your customers' data at scale? That's available on the Open Finance
platform (our B2B product). Contact us to get access.
Track 1 — Read financial data
Once a bank is linked, walk the data model top-down:
- Connections — the user's linked banks. Start here to find a
connectionId. - Accounts & Balances — the accounts on a connection and their balances.
- Transactions — the money movements on an account, with date filters and pagination.
| Guide | What it covers |
|---|---|
| Connections | List / read / delete a user's linked banks. |
| Accounts & Balances | Accounts on a connection and their current balances. |
| Transactions | Transactions with date filters, categories, and paging. |
Track 2 — Initiate a payment
Payments also need a linked bank: the payment must involve one of the user'sconnected accounts, as the payer (debtor) or the payee (creditor). See
Create a Payment.
Creating a payment is a four-step flow, in one of two integration styles:
A. Hosted (recommended) — you create the payment and redirect the user to the
payUrl we return; Financy hosts bank selection and authentication.
POST /oauth/token→accessTokenPOST /v2/payments→{ id, payUrl }- Redirect the user to
payUrl - Poll
GET /v2/payments/{paymentId}/statusuntil a final status
B. Direct API — you select the bank yourself and get the bank's authentication URL.
POST /oauth/token→accessTokenPOST /v2/payments→{ id }POST /v2/pay/open-banking-initwithpaymentId+providerId→{ scaOAuth }- Redirect the user to
scaOAuth, then poll the status
| Guide | What it covers |
|---|---|
| Create a Payment | Create a payment and get the hosted payUrl. |
| Initiate a Payment (Direct) | Drive bank selection and get the SCA URL. |
| Payment Status | Read a payment's status (poll or list). |
| Payment Statuses & FAQ | What each status means, per-rail success, and common questions. |
| Payment Webhooks | Get pushed status changes instead of polling. |
Reference data
| Guide | What it covers |
|---|---|
| Providers & Branches | Banks/issuers you can pay from, and their branches. |
| Merchants (Payees) | Saved payees you attribute payments to. |
| Errors | HTTP status codes and the error response shape. |
These guides walk each step with real examples. For every field on everyendpoint, see the API Reference.
Updated 7 days ago

