Update Transaction
const url = 'https://example.com/transactions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: {'Content-Type': 'application/json'}, body: '{"account":"example","amount":1,"category":"example","date":"2026-04-15","description":"example","payee":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://example.com/transactions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Content-Type: application/json' \ --data '{ "account": "example", "amount": 1, "category": "example", "date": "2026-04-15", "description": "example", "payee": "example" }'Pending/expected edit in place; posted becomes an atomic
reversal + replacement pair. category=‘[account]’
converts the row to a transfer; a plain category on a transfer converts
it back (send account = the side that keeps the row). An amount on an
expected/pending transfer is the leg of account (a schedule instance
defaults to its schedule’s account) and moves both legs, never the
direction; a posted or bank-linked transfer is refused with how to
correct it.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Example generated
{ "account": "example", "amount": 1, "category": "example", "date": "2026-04-15", "description": "example", "payee": "example"}Responses
Section titled “Responses”Successful Response
Full detail: postings and provenance links.
object
True when the row is in the unreviewed set (#175): the same test as GET /transactions?reviewed=false and the review count
Category legs of a split transaction (one real leg plus two or more category legs, decision 87); 0 for every other row. Split rows are read-only.
Example
{ "has_linked_originals": false, "schedule_pinned": false, "split_lines": 0}Validation Error
object
object
object
Example generated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}