---
title: "Get transaction change history"
method: GET
path: "/transactions/{id}/history"
tags: ["transactions"]
---

# Get transaction change history

`GET /transactions/{id}/history`

## Request

- Base URL: `http://localhost:3001`
- URL: `http://localhost:3001/transactions/{id}/history`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Retrieves the change history for a transaction

## Path parameters

- `id` string, required

## Response `200`

Transaction history retrieved successfully

- object
  - `data` TransactionHistoryItemResponseDto[]
    - `id` string, required: History record ID
    - `transactionId` string, nullable, required: Associated transaction ID
    - `groupId` string, required: Group ID
    - `actionType` 'CREATE' | 'EDIT' | 'DELETE', required: Action type
    - `actorUserId` string, required: Actor user ID
    - `actorDisplayName` string, required: Actor display name
    - `actorEmail` string, required: Actor email
    - `transactionData` TransactionHistoryDataResponseDto, required
      - `id` string, required: Transaction ID
      - `description` string, required: Description of the transaction
      - `amount` number, required: Amount of the transaction
      - `currency` string, required: Currency code
      - `type` 'expense' | 'transfer' | 'income', required: Type of transaction
      - `createdBy` string, required: User ID who created the transaction
      - `transactionDate` object, required: Date of the transaction (date-only, YYYY-MM-DD)
      - `participants` TransactionHistoryParticipantResponseDto[], required: Participants in the transaction
        - `userId` string, required: User ID of the participant
        - `cashFlow` number, required: Cash flow amount (positive = in, negative = out)
        - `role` 'payer' | 'recipient' | 'from' | 'to', required: Role of the participant
    - `changes` object: Field-level changes
    - `createdAt` object, required: When this history record was created (ISO string)
  - `success` boolean
  - `message` string

## Other responses

- `400`: Bad Request - Invalid input or validation failed
- `401`: Unauthorized - Authentication required or invalid token
- `403`: Forbidden - Insufficient permissions to access this resource
- `404`: Not Found - The requested resource does not exist
- `500`: Internal Server Error - An unexpected error occurred

---

[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)
