> ## Documentation Index
> Fetch the complete documentation index at: https://learn.breezing.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transaction History API

> Retrieve the audit trail of a Breezing transaction: who edited it, when, and the previous field values for the latest manual and system edits.



## OpenAPI

````yaml GET /transactions/{id}/history
openapi: 3.1.0
info:
  title: Breezing Public API
  version: 1.0.0
  description: >-
    Crypto accounting API for programmatic access and AI agents. Authenticate
    with an API key using the Authorization header: `Bearer brz_...`
servers:
  - url: https://api.breezing.io/v1
security:
  - BearerAuth: []
paths:
  /transactions/{id}/history:
    get:
      tags:
        - Transactions
      summary: Get transaction edit history
      description: >-
        Audit trail of manual and system edits to one transaction: who changed
        it, when, and the previous field values. Returns the latest 25 entries,
        newest first (older history is not paginated).


        Each entry records `previous` (old values of the changed fields) and
        `payload` (the new values applied), plus the editor (`email` is the
        identifier recorded at edit time: a user email for dashboard edits or
        "apiKey:<id>" for Public API edits; userEmail/userFirstName/userLastName
        describe the editing user today) and the `endpoint` that made the
        change.


        Useful before re-categorizing a transaction, or when explaining why a
        row looks the way it does. Locked transactions are readable; returns 409
        only while the transaction is mid-processing.
      parameters:
        - schema:
            type: string
            description: Transaction ID
            example: '12345'
          required: true
          description: Transaction ID
          name: id
          in: path
        - schema:
            type: string
            description: >-
              Organization ID. Use GET /v1/companies to discover available
              org/company pairs.
            example: '1'
          required: true
          description: >-
            Organization ID. Use GET /v1/companies to discover available
            org/company pairs.
          name: orgId
          in: query
        - schema:
            type: string
            description: >-
              Company ID. Use GET /v1/companies to discover available companies
              and their access levels.
            example: '1'
          required: true
          description: >-
            Company ID. Use GET /v1/companies to discover available companies
            and their access levels.
          name: companyId
          in: query
      responses:
        '200':
          description: Transaction history retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TransactionHistoryEntry'
                required:
                  - success
                  - data
        '400':
          description: Invalid transaction ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '403':
          description: >-
            API key has no access to this company, has read-only access where
            write was required, or the company subscription is inactive
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '404':
          description: Transaction not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '409':
          description: Transaction is currently processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
      security:
        - BearerAuth: []
components:
  schemas:
    TransactionHistoryEntry:
      type: object
      properties:
        id:
          type: integer
          description: History entry ID
        trxId:
          type: integer
          description: Transaction ID this entry belongs to
        walletId:
          type: integer
          description: Wallet the transaction belongs to
        userId:
          type: integer
          description: >-
            Breezing user ID of the editor. For Public API edits this is the API
            key owner.
        email:
          type: string
          nullable: true
          description: >-
            Actor identifier recorded at edit time: the user's email for
            dashboard edits, or "apiKey:<id>" for Public API edits.
        userEmail:
          type: string
          nullable: true
          description: Current email of the editing user (null if the user was deleted).
        userFirstName:
          type: string
          nullable: true
          description: First name of the editing user.
        userLastName:
          type: string
          nullable: true
          description: Last name of the editing user.
        action:
          type: string
          nullable: true
          description: >-
            Human-readable label of what happened (e.g. "Updated transaction",
            "Grouped internal transactions (Public API)").
        message:
          type: string
          nullable: true
          description: Optional free-text detail for the entry.
        endpoint:
          type: string
          nullable: true
          description: >-
            Code path that made the change (e.g.
            "publicApi.v1.transactions.patch", a dashboard tRPC endpoint, or a
            background job).
        previous:
          nullable: true
          description: >-
            Old values of the fields that were changed, keyed by field name
            (freeform JSON). Compare with `payload` to see what each edit did.
        payload:
          nullable: true
          description: >-
            New values that were applied, keyed by field name (freeform JSON).
            Only changed fields are recorded.
        createdAt:
          type: number
          description: When the edit happened (unix ms).
      required:
        - id
        - trxId
        - walletId
        - userId
        - email
        - userEmail
        - userFirstName
        - userLastName
        - action
        - message
        - endpoint
        - createdAt

````