---
title: "Update a transaction"
method: PUT
path: "/personal-finance/transactions/{id}"
tags: ["personal finance"]
---

# Update a transaction

`PUT /personal-finance/transactions/{id}`

## Request

- Base URL: `http://localhost:3001`
- URL: `http://localhost:3001/personal-finance/transactions/{id}`
- Auth: `bearer` (a scheme the document does not define)

## Path parameters

- `id` string, required

## Request body

- UpdatePersonalTransactionDto
  - `type` 'expense' | 'income' | 'saving': Type of transaction
  - `description` string: Transaction description
  - `amount` number: Amount in the transaction currency
  - `currency` string: Currency code (ISO 4217)
  - `transactionDate` string: Transaction date (YYYY-MM-DD)
  - `categoryId` string: Category ID
  - `payee` string: Payee name
  - `notes` string: Additional notes
  - `savingsGoalId` string: Savings goal ID (required for type=saving)

## Response `200`

Transaction updated

- PersonalTransactionResponseDto
  - `id` string, required
  - `userId` string, required
  - `categoryId` string, nullable, required
  - `type` 'expense' | 'income' | 'saving', required
  - `description` string, required
  - `amount` number, required
  - `currency` string, required
  - `transactionDate` string, date-time, required
  - `payee` string, nullable, required
  - `notes` string, nullable, required
  - `isFromGroupSync` boolean, required
  - `groupTransactionId` string, nullable, required
  - `savingsGoalId` string, nullable, required
  - `receiptUrl` string, nullable, required
  - `deletedAt` string, date-time, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `404`: Transaction not found

---

[API](https://skmtc.dev/spliteo/apis/spliteo-api.md) · [All operations](https://skmtc.dev/spliteo/apis/spliteo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spliteo/apis/spliteo-api/revisions/bd9b84f4e407?raw)
