Search for transactions
Searches through the users transactions.
Parameters
X-Trace-Idstring<uuid>headerUnique identifier associated with this request.
limitinteger<int32>queryNumber of items per page. The default pagination is per 50 items.
pageinteger<int32>queryPage number. The default pagination is per 50 items.
querystringrequiredqueryThe query you wish to search for.
Response
A list of transactions.
Response fields application/vnd.api+json
Show child attributes
typestringrequiredImmutable value
transactionsidstringrequired2Show child attributes
created_atstring<date-time>read only2026-10-01T00:00:00+00:00updated_atstring<date-time>read only2026-10-01T00:00:00+00:00userstringread onlyUser ID
3group_titlestring | nullTitle of the transaction if it has been split in more than one piece. Empty otherwise.
Split transaction title.Show child attributes
userstringread onlyUser ID
3transaction_journal_idstringread onlyID of the underlying transaction journal. Each transaction consists of a transaction group (see the top ID) and one or more journals making up the splits of the transaction.
10421withdrawaldatestring<date-time>requiredDate of the transaction
2026-10-01T00:00:00+00:00orderinteger<int32> | nullOrder of this entry in the list of transactions.
0object_has_currency_settingbooleanread onlyIndicates whether the transaction has a currency setting. For transactions this is always true.
truecurrency_idstringCurrency ID for the currency of this transaction.
12currency_codestringCurrency code for the currency of this transaction.
EURcurrency_symbolstringread onlyCurrency symbol for the currency of this transaction.
$currency_namestringCurrency name for the currency of this transaction.
Eurocurrency_decimal_placesinteger<int32>Number of decimals used in this currency.
2foreign_currency_idstring | nullCurrency ID of the foreign currency, if this transaction has a foreign amount.
17foreign_currency_codestring | nullCurrency code of the foreign currency. Default is NULL.
USDforeign_currency_symbolstring | nullread only$foreign_currency_decimal_placesinteger<int32> | nullread onlyNumber of decimals in the foreign currency.
2primary_currency_idstring | nullread onlyReturns the primary currency ID of the administration. This currency is used as the currency for all pc_* amount and balance fields of this account.
12primary_currency_codestring | nullReturns the primary currency code of the administration. This currency is used as the currency for all pc_* amount and balance fields of this account.
EURprimary_currency_symbolstring | nullread onlySee the other primary_* fields.
$primary_currency_decimal_placesinteger<int32> | nullread onlySee the other primary_* fields.
2amountstring<amount>requiredAmount of the transaction.
123.45pc_amountstring<amount>Amount of the transaction in the primary currency of this administration. The primary_currency_* fields reflect the currency used. This field is NULL if the user does have 'convert to primary' set to true in their settings.
123.45foreign_amountstring<amount> | nullThe amount in the set foreign currency. May be NULL if the transaction does not have a foreign amount.
123.45pc_foreign_amountstring<amount>Foreign amount of the transaction in the primary currency of this administration. The primary_currency_* fields reflect the currency used. This field is NULL if the user does have 'convert to primary' set to true in their settings.
123.45source_balance_afterstring<amount> | nullThe balance of the source account. This is the balance in the account's currency which may be different from this transaction, and is not provided in this model.
123.45pc_source_balance_afterstring<amount> | nullThe balance of the source account in the primary currency of this administration. The primary_currency_* fields reflect the currency used. This field is NULL if the user does have 'convert to primary' set to true in their settings.
123.45destination_balance_afterstring<amount> | nullThe balance of the destination account. This is the balance in the account's currency which may be different from this transaction, and is not provided in this model.
123.45pc_destination_balance_afterstring<amount> | nullThe balance of the destination account in the primary currency of this administration. The primary_currency_* fields reflect the currency used. This field is NULL if the user does have 'convert to primary' set to true in their settings.
123.45descriptionstringrequiredDescription of the transaction.
Vegetablessource_idstring | nullrequiredID of the source account. For a withdrawal or a transfer, this must always be an asset account. For deposits, this must be a revenue account.
2source_namestring | nullName of the source account. For a withdrawal or a transfer, this must always be an asset account. For deposits, this must be a revenue account. Can be used instead of the source_id. If the transaction is a deposit, the source_name can be filled in freely: the account will be created based on the name.
Checking accountsource_ibanstring | nullread onlyNL02ABNA0123456789source_typeAccountTypePropertyDefault accountCash accountAsset accountExpense accountRevenue accountInitial balance accountBeneficiary accountImport accountReconciliation accountLoanDebtMortgageread onlyAsset accountdestination_idstring | nullrequiredID of the destination account. For a deposit or a transfer, this must always be an asset account. For withdrawals this must be an expense account.
2destination_namestring | nullName of the destination account. You can submit the name instead of the ID. For everything except transfers, the account will be auto-generated if unknown, so submitting a name is enough.
Buy and Largedestination_ibanstring | nullread onlyNL02ABNA0123456789destination_typeAccountTypePropertyDefault accountCash accountAsset accountExpense accountRevenue accountInitial balance accountBeneficiary accountImport accountReconciliation accountLoanDebtMortgageread onlyAsset accountbudget_idstring | nullThe budget ID for this transaction.
4budget_namestring | nullread onlyThe name of the budget used.
Groceriescategory_idstring | nullThe category ID for this transaction.
43category_namestring | nullThe name of the category to be used. If the category is unknown, it will be created. If the ID and the name point to different categories, the ID overrules the name.
Groceriesbill_idstring | nullThe associated subscription ID for this transaction. bill refers to the OLD name for subscriptions and this field will be removed.
111bill_namestring | nullThe associated subscription name for this transaction. bill refers to the OLD name for subscriptions and this field will be removed.
Monthly rentsubscription_idstring | nullThe associated subscription ID for this transaction.
111subscription_namestring | nullThe associated subscription name for this transaction.
Monthly rentreconciledbooleanIf the transaction has been reconciled already. When you set this, the amount can no longer be edited by the user.
falsenotesstring | nullSome example notestagsArray<string> | nullArray of tags.
nullinternal_referencestring | nullReference to internal reference of other systems.
external_idstring | nullReference to external ID in other systems.
external_urlstring | nullExternal, custom URL for this transaction.
original_sourcestring | nullread onlySystem generated identifier for original creator of transaction.
recurrence_idstring | nullread onlyReference to recurrence that made the transaction.
recurrence_totalinteger<int32> | nullread onlyTotal number of transactions expected to be created by this recurrence repetition. Will be 0 if infinite.
0recurrence_countinteger<int32> | nullread onlyThe # of the current transaction created under this recurrence.
12import_hash_v2string | nullread onlyHash value of original import transaction (for duplicate detection).
sepa_ccstring | nullSEPA Clearing Code
sepa_ct_opstring | nullSEPA Opposing Account Identifier
sepa_ct_idstring | nullSEPA end-to-end Identifier
sepa_dbstring | nullSEPA mandate identifier
sepa_countrystring | nullSEPA Country
sepa_epstring | nullSEPA External Purpose indicator
sepa_cistring | nullSEPA Creditor Identifier
sepa_batch_idstring | nullSEPA Batch ID
interest_datestring<date-time> | nullbook_datestring<date-time> | nullprocess_datestring<date-time> | nulldue_datestring<date-time> | nullpayment_datestring<date-time> | nullinvoice_datestring<date-time> | nulllatitudenumber<double> | nullLatitude of the transaction's location, if applicable. Can be used to draw a map.
51.983333longitudenumber<double> | nullLatitude of the transaction's location, if applicable. Can be used to draw a map.
5.916667zoom_levelinteger<int32> | nullZoom level for the map, if drawn. This to set the box right. Unfortunately this is a proprietary value because each map provider has different zoom levels.
6has_attachmentsbooleanIf the transaction has attachments.
falseShow child attributes
0objectShow child attributes
relstringselfuristring/OBJECTS/1selfstring<uri>https://demo.firefly-iii.org/api/v1/OBJECTS/1Show child attributes
paginationobjectShow child attributes
totalinteger3countinteger20per_pageinteger100current_pageinteger1total_pagesinteger1Show child attributes
selfstring<uri>https://demo.firefly-iii.org/api/v1/OBJECT?&page=4firststring<uri>https://demo.firefly-iii.org/api/v1/OBJECT?&page=1nextstring<uri> | nullhttps://demo.firefly-iii.org/api/v1/OBJECT?&page=3prevstring<uri> | nullhttps://demo.firefly-iii.org/api/v1/OBJECT?&page=2laststring<uri>https://demo.firefly-iii.org/api/v1/OBJECT?&page=12Bad request
Response fields application/json
messagestringBad RequestexceptionstringBadRequestHttpExceptionUnauthenticated
Response fields application/json
messagestringUnauthenticatedexceptionstringAuthenticationExceptionPage not found
Response fields application/json
messagestringResource not foundexceptionstringNotFoundHttpExceptionInternal exception
Response fields application/json
messagestringInternal ExceptionexceptionstringInternalExceptionAuthorization
firefly_iii_authoauth2OAuth2 authorization code flow. Create a client on your installation's /profile page; it authorizes at /oauth/authorize and issues tokens at /oauth/token there. The URLs below are the demo site's. How to use the API walks through it.
local_bearer_authhttp (bearer)A Personal Access Token, sent as a bearer token. Create one on your installation under Options > Profile > OAuth > Personal Access Tokens.
