---
updatedAt: 2026-06-17T14:26:29.000Z
agentTools:
  projectIndex: https://docs.sikoia.com/llms.txt
---

# Open Banking

## Overview

Sikoia's open banking solution enables you to retrieve account balances, transaction history, and account details for both business and personal accounts by creating a secure connection that the account owner authorises directly with their bank.

Through a unified API, Sikoia offers access to Open Banking providers such as Yapily and GoCardless (Nordigen). Open banking is part of Sikoia's broader Banking solution, which also supports Bank Statements. Data from both sources is normalised into a single model, see Banking Data & Identifiers.

<br />

## **How&#x20;**&#x69;t works

1. **Create a Case:** Create a [case](https://docs.sikoia.com/docs/cases-1) and optionally add a [person or company](https://docs.sikoia.com/docs/companies) entity to the case.
2. **Select the entity** for which you want to create the open banking connection. Connections can be created at the person, company, or case level.
3. **Initiate a Request**: Create a connection request via Sikoia's [create open banking request endpoint](https://docs.sikoia.com/reference/post_v2-openbanking). This generates a unique URL which you share with the account owner.
4. **Select Bank:** The account owner clicks on the URL and follows a series of prompts to select their bank.

<Image src="https://files.readme.io/bfe873e-chrome-capture-2024-2-15_1.gif" align="center" width="50% " />

5. **Authorise Account:** The owner is redirected to their bank to authorise the connection. After completion, Sikoia redirects them back to your platform.
6. **Establish Data Connection:** Once connected, Sikoia generates a unique `account_connection_id` for each account.  Retrieve the `account_connection_id` using our [list all bank accounts endpoint](https://docs.sikoia.com/reference/get_v2-entity_type-entity_id-bankaccounts). You can read more about `account_connection_ids` [here](https://docs.sikoia.com/docs/bank-account-connection-ids).
7. **Review Data:** Use the `account_connection_id` to access [account details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id), [account balance data](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-balances), and [transaction details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-transactions).

This white-labeled flow seamlessly integrates into any application.

<br />

### Connection Expiry & Revocation

Open banking connections automatically expire after a set period of time.  This varies from bank to bank but is typically around 90 days.  Open banking connections can also be revoked by the account owner at any time.  Sikoia is not able to revoke a connection on either your or the account owner's behalf.

After a connection expires or is revoked, you can still use the `account_connection_id` to access historical [account details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id), [account balance data](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-balances), and [transaction details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-transactions) but you cannot refresh the data and view any new balances or transactions.  If you require access to new data, you will need to initiate a new connection request with the account holder.

<br />

### Open Banking Webhooks

If you have configured any [webhooks](https://docs.sikoia.com/docs/webhooks) that reference the granular [OpenBankingProcessing.Completed](https://docs.sikoia.com/docs/webhooks#example-openbankingprocessingcompleted-event) event you will receive a request of this event type when a connection has been created via the [create open banking request endpoint](https://docs.sikoia.com/reference/post_v2-openbanking) after some small period of time. It will contain details on how to request the specific account, balance and transaction data for every account that was authorised in the above steps. You will also receive a coarse [BankingProcessing.Completed](https://docs.sikoia.com/docs/webhooks#example-bankingprocessingcompleted-event) event if you have subscribed to that as well.

<br />

See the image below for additional details.

![](https://files.readme.io/64ca1f6-OB_vf.svg)

###

<br />

### Supported Countries

Find a list of supported countries for Open Banking [here](https://docs.sikoia.com/docs/geographic-coverage).

<br />

### Synthetic Test Data

Sikoia provides access to synthetic open banking accounts that you can use while building and testing your integration if you don't want to test using real open banking connections. Contact our customer support team via the support button at the bottom of the screen to request access.

<br />

### Recipes & Endpoints

Check out these recipes for more information on how to use Sikoia's API to access open banking data, and start exploring Sikoia's banking endpoints [here](https://docs.sikoia.com/reference/post_v2-openbanking)

<Recipe slug="set-up-an-open-banking-connection" title="Set-Up an Open Banking Connection" />

<Recipe slug="retrieve-open-banking-data" title="Retrieve Open Banking Data" />

<br />

<br />

<br />

<br />

<br />

# What it Does

<br />

<br />

<br />

<br />

Sikoia’s banking solution enables you to retrieve account balances, transaction history, and account details for both business and personal accounts.  This can be done either by creating an open banking connection or by uploading a supported bank statement.

<Image src="https://files.readme.io/637adba-image.png" align="center" width="75% " />

Through a unified API, Sikoia offers access to Open Banking providers such as Yapily and GoCardless (Nordigen), along with standardised access to data from bank statements.

#

## Bank Statements

1. **Upload a Statement**: Upload a statement using Sikoia's [upload document endpoint](https://docs.sikoia.com/reference/post_v2-documents). More information on uploading documents via Sikoia can be found [here](https://docs.sikoia.com/docs/documents).
2. **Check Statement Status:**  Once processed, Sikoia generates a unique `account_connection_id` for each identified account. You can either configure a webhook to notify you when the statement has been processed or retrieve the `account_connection_id` using our [list all bank accounts endpoint](https://docs.sikoia.com/reference/get_v2-entity_type-entity_id-bankaccounts). You can read more about `account_connection_ids` [here](https://docs.sikoia.com/docs/bank-account-connection-ids).
3. **Review Data:** Use the `account_connection_id` to access [account details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id), [account balance data](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-balances), and [transaction details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-transactions).

Bank statements can be deleted using the [delete document](https://docs.sikoia.com/reference/delete_v2-documents-document_id) endpoint. Once a statement is deleted, you will no longer be able to use the `account_connection_id` to access [account details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id), [account balance data](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-balances), and [transaction details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-transactions).

### Statement Webhooks

If you have configured any [webhooks](https://docs.sikoia.com/docs/webhooks) that reference the [BankStatementProcessing.Completed](https://docs.sikoia.com/docs/webhooks#example-bankstatementprocessingcompleted-event) event you will receive a request of this event type after the bank statement has been processed (i.e. some period of time after you have called the [upload document endpoint](https://docs.sikoia.com/reference/post_v2-documents)). This [webhook payload](https://docs.sikoia.com/docs/webhooks#example-bankstatementprocessingcompleted-event) will inform you if the statement was successfully processed, and if so will contain further links to access [account details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id), [account balance data](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-balances), and [transaction details](https://docs.sikoia.com/reference/get_v2-bankaccounts-account_connection_id-transactions).

# Supported Countries, Institutions & Documents

## Open Banking

Find a list of supported countries for Open Banking [here](https://docs.sikoia.com/docs/geographic-coverage).

## Bank Statements

Statement extraction is currently limited to UK banks. A complete list of supported banks and institutions is available [here](https://docs.sikoia.com/docs/supported-bank-statements).

# Synthetic Test Data

Sikoia provides access to synthetic open banking accounts and bank statement data which can be used whilst building and testing your integration if you do not want to test using real open banking connections or bank statements.  Contact our customer support team via the support button at the bottom of the screen to request access to the synthetic data.

# Recipes & Endpoints

Check out these recipes for more information on how to use Sikoia's API to access open banking data.

<Recipe slug="set-up-an-open-banking-connection" title="Set-Up an Open Banking Connection" />

<Recipe slug="retrieve-open-banking-data" title="Retrieve Open Banking Data" />

> 📘
>
> Start exploring Sikoia's banking endpoints [here](https://docs.sikoia.com/reference/post_v2-openbanking).

<br />