Skip to content

API special endpoints

Some Firefly III API endpoints need a little more guidance than fits in the documentation.

Transaction update

Updating transactions is straight-forward, but updating splits is more complicated.

If you want to update a split transaction, you must know and submit the transaction_journal_id for each split, even if you do not want to change anything in the split. Like so:

{
    "apply_rules": false,
    "fire_webhooks": false,
    "transactions":
    [
        {
            "transaction_journal_id": 1222,
            "description": "Updated description"
        },
        {
            "transaction_journal_id": 1333
        }
    ]
}

As you can see, the second transaction will not be updated.

Warning

If you do not submit a split, not even its ID, the split will be deleted.

Warning

If you submit changes to a split without submitting the transaction_journal_id, it will be created as a new split. The previous split will be deleted.

Bulk transaction update

This is a special endpoint where you can use (very) basic queries to update transactions in a group.

The query parameter is a JSON array with the following format:

{
    "where": {
        "account_id": 1
    },
    "update": {
        "account_id": 2
    }
}

The where and update objects are mandatory and the only field currently supported for both is account_id.

This will search transactions with account_id = 1 (source OR destination) and change it to account_id = 2.


Last update: 2023-03-26