Bank transactions

The Bank product lets you retrieve bank transactions of end users. Transactions are associated with a bank account.

API endpoints

Authentication: endpoints listed in this page require header authentication with a user token.

List bank transactions

GET https://{domain}.biapi.pro/2.0/users/{userId}/transactions

List bank transactions of the authenticated user. By default, only active (not deleted) transactions are returned, use the all parameter to get the full list.

Path Parameters

NameTypeDescription

userId*

Integer or "me"

ID of the related user.

Query Parameters

NameTypeDescription

all

Value-less

Flag to include deleted transactions.

limit*

Integer

Number of transactions to return. The maximum value is 1000.

income

Boolean

Filter on incomes or expenditures.

deleted

Boolean

Filter on deleted transactions.

filter

String

Name of the field to use for explicit filtering: application_date (default) or date.

min_date

Date or Month

Minimum date of the filtering field.

max_date

Date or Month

Maximum date of the filtering field.

wording

String

Filter transactions containing the given string.

min_value

Decimal

Minimal (inclusive) value.

max_value

Decimal

Maximum (inclusive) value.

search

String

Search in wording, dates, values, categories.

value

Decimal or String

Value of the transaction. "XX|-XX" and "±XX" format is also accepted.

last_update

DateTime

Filter transactions updated after the specified date.

Listing bank transactions requires explicit pagination (i.e. the limit parameter is required). Also, this endpoint provides relational pagination.

Route aliases
/users/{userId}/transactions
/users/{userId}/accounts/{accountId}/transactions

Get a bank transaction

GET https://{domain}.biapi.pro/2.0/users/{userId}/transactions/{transactionId}

Get a single bank transaction by ID.

Path Parameters

NameTypeDescription

userId*

Integer or "me"

ID for the related user.

transactionId*

Integer

ID of the transaction.

Response body: Transaction object

Transactions partially support updates to override some display-related properties:

Update a bank transaction

POST https://{domain}.biapi.pro/2.0/users/{userId}/transactions/{transactionId}

Update metadata of a single bank transaction by ID.

Request body: TransactionUpdateRequest object

Path Parameters

NameTypeDescription

userId*

Integer or "me"

ID for the related user.

transactionId*

Integer

ID of the transaction.

Response body: Transaction object

Data model

TransactionsList object

PropertyTypeDescription

transactions

Array of Transaction objects

List of transactions.

first_date

Date

Minimum available date for results.

last_date

Date

Maximum available date for results.

result_min_date

Date

Minimum date of results in the current response.

result_max_date

Date

Maximum date of results in the current response.

_links

Opaque links to the current, previous and next pages in the collection.

Transaction object

PropertyTypeDescription

id

Integer

ID of the transaction.

id_account

Integer

ID of the related account.

application_date

Date or null

Date considered by PFM services. This date can be edited.

date

Date

Date when the transaction is posted to the account.

datetime

DateTime or null

Date and time when the transaction is posted to the account, if available, in UTC.

vdate

Date or null

Value date of the transaction. In most cases, equivalent to date.

vdatetime

DateTime or null

Value date and time of the transaction, if available, in UTC. In most cases, equivalent to datetime.

rdate

Date

Date when the transaction order has been given.

rdatetime

DateTime or null

Date and time when the transaction order has been given, if available, in UTC.

bdate

Date or null

(Deprecated) Date displayed by the bank for the transaction. Use date instead.

bdatetime

DateTime or null

(Deprecated) Date and time displayed by the bank for the transaction, if available, in UTC. Use datetime instead.

value

Decimal or null

Value of the transaction.

gross_value

Decimal or null

Gross value of the transaction.

type

Type of transaction.

original_wording

String

Full label of the transaction, as seen on the bank.

simplified_wording

String

Simplified label of the transaction.

wording

String or null

Label of the transaction, can be edited.

id_category

Integer or null

(Deprecated) ID of the related category.

date_scraped

DateTime

Date and time when the transaction was seen.

coming

Boolean

If true, this transaction has not yet been posted to the account.

active

Boolean

If false, PFM services will ignore this transaction.

id_cluster

Integer or null

If the transaction is part of a cluster.

comment

String or null

User comment.

last_update

DateTime or null

Last update of the transaction.

deleted

DateTime or null

If set, this transaction has been removed from the bank.

original_value

Decimal or null

Value in the original currency.

original_gross_value

Decimal or null

Gross value in the original currency.

original_currency

Currency or null

Original currency.

commission

Decimal or null

Commission taken on the transaction.

commission_currency

Currency or null

Commission currency.

country

String or null

Original country.

card

String or null

Card number associated with the transaction.

counterparty

Counterparty or null

The transaction counterparty, i.e. an optional business or individual entity associated with the transaction.

Available expands

The following parameter can be used for response properties expansion:

PropertyTypeDescription

attachments

The attachments related to a transaction.

TransactionType values

ValueDescription

transfer

Transfer

order

Order

check

Check

deposit

Mandatory/voluntary deposits, contributions, money transfers

payback

Payback

withdrawal

Withdrawal

loan_repayment

Loan payment

bank

Bank fees

card

Card operation

deferred_card

Deferred card operation

summary_card

Monthly debit of a deferred card

unknown

Unknown transaction type

market_order

Market order

market_fee

Fees regarding a market order

arbitrage

Arbitrage

profit

Positive earnings from interests/coupons/dividends

Forward compatibility requirement: additional types may be added in the future. When implementing type handling, always fallback to a generic case for unknown values.

Category object

PropertyTypeDescription

code

String

parent_code

String or null

Counterparty object

PropertyTypeDescription

label

String or null

Label/name of the counterparty.

account_scheme_name

AccountSchemeName string or null

Type of the counterparty account number.

account_identification

String or null

Account number of the counterparty.

type

String or null

Type of the counterparty: creditor or debtor.

AccountSchemeName values

ValueDescription

iban

International Bank Account Number.

bban

Basic Bank Account Number.

sort_code_account_number

United Kingdom local account number.

cpan

Card PAN.

tpan

Token which was provided by a Token Service Provider (TSP) in order to obfuscate a real card PAN.

TransactionUpdateRequest object

PropertyTypeRequiredDescription

wording

String

No

New wording of the transaction.

application_date

Date

No

New application date of the transaction.

id_category

Integer

No

(Deprecated) New category ID of the transaction.

comment

String

No

New comment of the transaction.

active

String

No

If false, the transaction is not considered in balance summaries and sums.

Last updated