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

# Get group transaction history

`GET /groups/{id}/transactions/history`

## Request

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

Retrieves the transaction history for a group

## Path parameters

- `id` string, required

## Query parameters

- `endDate` string
- `startDate` string
- `actorUserId` string
- `actionType` 'CREATE' | 'EDIT' | 'DELETE'
- `limit` number
- `page` number

## Response `200`

Group transaction history retrieved successfully

- object
  - `data` TransactionHistoryResponseDto
    - `items` TransactionHistoryItemResponseDto[], required: List of history items
      - `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)
    - `total` number, required: Total number of items
    - `page` number, required: Current page
    - `limit` number, required: Items per page
    - `totalPages` number, required: Total number of pages
  - `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)
