Update Activity
update_activityUpdate an existing activity/transaction.
Instructions
Update an existing activity/transaction.
Ghostfolio's update endpoint replaces the whole activity record, so
type, symbol, date, quantity, unitPrice, currency,
dataSource and fee are required on every request even when they
are not changing. Any left unset here (including tags, account_id
and comment) are backfilled from the activity's current state with a
GET before the PUT, so you only need to pass the fields you actually
want to change. If a required field can't be backfilled (Ghostfolio
redacts quantity and fee in restricted views), pass it explicitly.
A restricted view also redacts comment, and Ghostfolio clears the
comment whenever the update carries none, so in that case comment
is required too (pass an empty string to clear it).
Ghostfolio identifies the asset by dataSource and symbol together,
and the current currency belongs to that asset. So changing either
symbol or data_source requires passing symbol, data_source and
currency together; backfilling the rest from the old asset would
attach the activity to the wrong asset profile or price it in the
wrong currency. Ghostfolio ignores an asset change (without an error)
when the resulting activity is a FEE, INTEREST or LIABILITY, or a BUY
on the MANUAL data source; delete and re-create the activity instead.
The GET and PUT are separate requests, so an edit made to the same activity in between (e.g. in the Ghostfolio UI) is overwritten for every field not passed here.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Optional new fee amount | |
| date | No | Optional new date in ISO 8601 format (e.g. 2026-05-09T00:00:00.000Z) | |
| tags | No | Optional new list of tag IDs (from get_tags) to replace this activity's tags. Omit to leave existing tags unchanged; pass an empty list to clear all tags. | |
| type | No | Optional new type: BUY, SELL, DIVIDEND, INTEREST, FEE, LIABILITY | |
| symbol | No | Optional new ticker symbol. Changing the asset (symbol or data_source) requires symbol, data_source and currency together. | |
| comment | No | Optional new comment | |
| currency | No | Optional new currency code | |
| quantity | No | Optional new number of shares/units | |
| account_id | No | Optional new account ID. Pass an empty string to detach the activity from its account. | |
| unit_price | No | Optional new price per unit | |
| activity_id | Yes | The unique ID of the activity to update | |
| data_source | No | Optional new data source (e.g., 'YAHOO', 'COINGECKO', 'MANUAL'). Changing it requires symbol and currency too. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||