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
userId*
Integer or "me"
ID of the related user.
Query Parameters
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.
Response body: TransactionsList object
Listing bank transactions requires explicit pagination (i.e. the limit
parameter is required). Also, this endpoint provides relational pagination.
Get a bank transaction
GET
https://{domain}.biapi.pro/2.0/users/{userId}/transactions/{transactionId}
Get a single bank transaction by ID.
Path Parameters
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
userId*
Integer or "me"
ID for the related user.
transactionId*
Integer
ID of the transaction.
Response body: Transaction object
Data model
TransactionsList object
transactions
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
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.
categories
Array
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
Original currency.
commission
Decimal or null
Commission taken on the transaction.
commission_currency
Commission currency.
country
String or null
(Deprecated) Original country.
card
String or null
Card number associated with the transaction.
counterparty
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:
attachments
The attachments related to a transaction.
categories
An array of objects
TransactionType values
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
refund
With opposition to a payback
, a refund
has a negative value
payout
Transfer from the e-commerce account (eg; Stripe) to the bank account
payment
Payment made with a payment method different from card
fee
Differs from bank
type because it considers only tax/commission
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
code
String
parent_code
String or null
Counterparty object
label
String or null
Label/name of the counterparty.
account_scheme_name
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
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
wording
String
No
New wording of the transaction.
application_date
Date
No
New application date of the transaction.
categories
Integer
No
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