Manage your accounts

Now that you manage the lifecycle of your transactions it is important to manage your user's accounts.

Different balance available

In tracking your user's accounts, understanding the different balance associated is crucial. There are 3 different balance that may be relevant to your case study:

  • accounting_balance: This refers to the ledger balance, which represents the amount of money actually available on the account. It includes only transactions that have been fully debited or credited — pending or processing transactions are excluded from this calculation.
  • instant_balance: This represents the expected balance on the account, including pending and processing transactions. Transactions flagged with future=true are also included in the calculation of this balance.
  • balance: This field always returns either the accounting_balance or the instant_balance. It acts as a fallback and is always present in the API response.

❗️

Some banking connectors do not consistently provide both accounting_balance and instant_balance. In such cases, these fields may be missing (null or not present).
You should rely on the balance field when displaying information to your users, as it is always available.
If your use case requires instant_balance specifically, we recommend implementing a condition:
if instant_balance is not returned by the API, then fallback to using balance.

These balance fields are available on this endpoint:

curl --request GET \
     --url https://api.bridgeapi.io/v3/accounts/
     --header 'accept: application/json'
{
  "resources": [
    {
      "id": 48178048,
      "name": "Compte Courant 1",
      "balance": 1489.54,
      "accounting_balance": 1489.54,
      "instant_balance": 1463.89,
      "updated_at": "2024-11-20T16:10:09.429Z",
      "last_refresh_status": "failed",
      "type": "checking",
      "currency_code": "EUR",
      "item_id": 10154848,
      "provider_id": 574,
      "data_access": "enabled",
      "pro": false,
      "iban": "FR6914508000303386763591H62",
      "iban_filled_manually": false
    },
    {
      "id": 48152385,
      "name": "Crédit Immo",
      "balance": 427928,
      "updated_at": "2024-11-19T16:15:56.670Z",
      "last_refresh_status": "successful",
      "type": "loan",
      "currency_code": "EUR",
      "item_id": 10149741,
      "provider_id": 574,
      "loan_details": {
        "next_payment_date": "2024-12-01",
        "next_payment_amount": 2772,
        "maturity_date": "2041-12-01",
        "opening_date": "2021-01-01",
        "interest_rate": 2.42,
        "borrowed_capital": 500000,
        "repaid_capital": 72072,
        "remaining_capital": 427928,
        "total_estimated_interests": 107947.56252904824
      },
      "data_access": "enabled",
      "pro": false,
      "iban_filled_manually": false
    },
    {
      "id": 48152384,
      "name": "Livret A",
      "balance": 496,
      "updated_at": "2024-11-19T16:15:56.653Z",
      "last_refresh_status": "successful",
      "type": "savings",
      "currency_code": "EUR",
      "item_id": 10149741,
      "provider_id": 574,
      "data_access": "enabled",
      "pro": false,
      "iban_filled_manually": false
    }
  ],
  "generated_at": "2024-11-21T16:35:16.846Z",
  "pagination": {
    "next_uri": "/v3/aggregation/accounts?after=NDgxNTE3OTg&limit=50"
  }
}

Data_access and account selection

Depending on the choice of your user you'll be fetching or not some accounts.

📘

Depending on your needs, your project may require fetching either all accounts or only payment accounts, offering two distinct experiences for your users. Please check our guide regarding this topic.

The field data_access is the indicator to take into account. When an account is excluded, its data_access field will be set to disabled. As a result, you will no longer have access to fetch its transactions, balance, IBAN, or other associated details.

At any moment of the life cycle of the user's item you can let your user modify the access to the accounts synchronised.

Using the endpoint connect_session and adding the item_id on the body of the call will redirect the user to the page below.