Bank accounts
The Bank product lets you retrieve bank accounts of end users. Bank accounts are associated with a connection, and a connector (a bank).
API endpoints
Authentication: endpoints listed in this page require header authentication with a user token.
List bank accounts
GET
https://{domain}.biapi.pro/2.0/users/{userId}/accounts
Path Parameters
userId*
Integer or "me"
ID of the related user.
Query Parameters
all
Value-less
Flag to access disabled accounts.
Response body: BankAccountsList object
Get a bank account
GET
https://{domain}.biapi.pro/2.0/users/{userId}/accounts/{accountId}
Get a single bank account by ID.
Path Parameters
accountId*
Integer
ID of the bank account.
userId*
Integer or "me"
ID of the related user.
Response body: BankAccount object
Bank account ressources partially support an update operation to handle activation/deactivation, or to override some display-related properties of accounts:
Update a bank account
POST
https://{domain}.biapi/pro/2.0/users/{userId}/accounts/{accountId}
Update a single bank account by ID.
Request body: BankAccountUpdateRequest object
Path Parameters
accountId*
Integer
ID of the bank account.
userId*
Integer
ID of the related user.
Query Parameters
all
Value-less
Add this flag to access a disabled bank accounts.
Response body: BankAccount object
Life cycle
Activation
Bank accounts can be in a disabled or enabled state.
For legal compliance, accounts are disabled by default. Also, disabling account will result in the deletion of account child resources (transactions, investments, market orders, balances).
Querying
Disabled accounts will only appear when passing the all
parameter:
Enabling
To enable one such account, it is necessary to perform a POST
request on that account, with the all
parameter and { "disabled": false }
.
Please note that this action represents the PSU's consent.
Webhooks
Accounts fetched
An ACCOUNTS_FETCHED
webhook is emitted during a sync after bank accounts have been synchronized, but before the transactions are processed.
Webhook request :
user
User object
The user related to the sync.
connection
Connection object
Connection.
connection
.connector
Connector object
The connector associated with the connection.
connection
.sources
Array of ConnectionSource objects
The activated connections sources that were synced.
connection
.accounts
The activated bank accounts sources that were synced.
Accounts synced
An ACCOUNT_SYNCED
webhook is emitted during a sync after a bank account was processed, including new transactions.
Webhook request: BankAccount object with the following additional properties:
investments
The new investments that were found.
investments[]
.pockets
On each investment
item, the new pockets that were found.
recipients
Array of Recipient objects
(Deprecated) The new recipients that were found (for transfer usage).
transactions
The new transactions that were found.
transfers
Array of Transfer objects
(Deprecated) The new transfers that were found.
Account categorized
An ACCOUNT_CATEGORIZED
webhook is emitted during a sync after bank accounts have been synchronized, and after the transactions are processed.
transactions
The new transactions that were found.
Account disabled
An ACCOUNT_DISABLED
webhook is emitted after a bank account was disabled. The disabled
property in the request contains the deactivation date.
Webhook request: BankAccount object
Account enabled
An ACCOUNT_ENABLED
webhook is emitted after a bank account was enabled. The disabled
property in the request will be null
.
Webhook request: BankAccount object
Account found
An ACCOUNT_FOUND
webhook is emitted after a new bank account was discovered. The account is disabled
by default.
Webhook request:
id
Integer
ID of the bank account.
id_user
Integer
ID of the related user.
id_connection
Integer
ID of the related connection.
disabled
DateTime
New accounts are disabled by default, so the property is set to the discovery date.
type
Technical code of the account type.
Data model
BankAccountsList object
accounts
List of bank accounts.
balances
Object
Associative map of ISO currency codes to the total balance (decimal number) of accounts in the given currency.
BankAccount object
id
Integer
ID of the bank account.
id_connection
Integer or null
ID of the related connection.
id_user
Integer or null
ID of the related user.
id_source
Integer or null
ID of the related connection source.
id_parent
Integer or null
ID of the parent account.
number
String or null
Account number.
original_name
String
Original name of the account, as seen on the bank.
balance
Decimal or null
Balance of the account.
coming
Decimal or null
Amount of coming operations not yet debited.
display
Boolean
Whether the bank account should be presented.
last_update
DateTime or null
Last successful update of the account.
deleted
DateTime or null
If set, this account is not found on the website anymore.
disabled
DateTime or null
If set, this account has been disabled by user and will not be synchronized anymore.
iban
String or null
Account IBAN.
currency
Account currency.
type
Technical code of the account type.
id_type
Integer
ID of the account type.
bookmarked
Integer
This account has been bookmarked by user.
name
String
The name of the account.
error
String or null
If the last update has failed, the error code.
usage
Account usage. If not overridden, the value of original_usage
is returned.
ownership
(Deprecated) Relationship between the credentials owner and the account.
company_name
String or null
Name of the company holding the employee savings of the account.
loan
For loan
accounts, the loan details.
Available expands
The following parameters can be used for response properties expansion:
connection
The connection associated with this bank account.
BankAccountUsage values
PRIV
Private account.
ORGA
Professional account.
null
No usage detail.
Forward compatibility requirement: additional usages may be added in the future. When implementing usage handling, always fallback to a generic case for unknown values.
BankAccountOwnership values (deprecated)
owner
Account holder.
co-owner
Holder on a joint account.
attorney
Account authorized agent.
Forward compatibility requirement: additional ownership values may be added in the future. When implementing ownership handling, always fallback to a generic case for unknown values.
Loan object
total_amount
Decimal or null
Total amount of the loan.
available_amount
Decimal or null
Amount of the loan not yet released and still available.
used_amount
Decimal or null
Amount of the load already used.
subscription_date
Date or null
Subscription date of the loan.
maturity_date
Date or null
Estimated end date of the loan.
start_repayment_date
Date or null
When starts the repayment of the loan.
In case of deferred loans, some fees could be payed by the borrower before the first repayment term planned at this start_repayment_date
.
deferred
Boolean or null
(beta) True if loan repayment has not yet begun.
next_payment_amount
Decimal or null
Amount of the next payment.
next_payment_date
Date or null
Date of the next payment.
rate
Decimal or null
Rate of the loan.
nb_payments_left
Integer or null
Number of payments still due.
nb_payments_done
Integer or null
Number of payments done.
nb_payments_total
Integer or null
Total number of payments.
last_payment_amount
Decimal or null
Amount of the last payment.
last_payment_date
Date or null
Date of the last payment.
account_label
String or null
Name of the debited account.
insurance_label
String or null
Label of the insurance.
insurance_amount
Decimal or null
Amount of the loan's insurance.
insurance_rate
Decimal or null
Rate of the insurance (between 0 and 1).
duration
Integer or null
Duration of the loan, in months.
type
String
Type of the loan: mortgage
, consumercredit, revolvingcredit
or loan
(by default).
BankAccountUpdateRequest object
display
Boolean
No
Whether the bank account should be displayed and included in aggregated metrics.
name
String
No
Display name of the account.
disabled
Boolean
No
Whether the bank account should be synchronized.
bookmarked
Boolean
No
Whether the bank account is bookmarked.
usage
No
Account usage.
Last updated