---
title: "Get recent patient transactions for the master grid"
method: GET
path: "/Metrics/patient-transactions"
tags: ["Metrics"]
---

# Get recent patient transactions for the master grid

`GET /Metrics/patient-transactions`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Metrics/patient-transactions`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Metrics/patient-transactions/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `page` union
  - integer
  - string, int32
- `pageSize` union
  - integer
  - string, int32
- `period` string
- `providerId` string
- `recurringOnly` boolean

## Response `200`

OK

- BusinessMetricsResponseDtoOfPatientTransactionsDto
  - `success` boolean
  - `data` PatientTransactionsDto: Recent patient transactions for the master grid
    - `transactions` PatientTransactionRowDto[]
      - `date` string: Formatted date (e.g., "Jan 24, 2026")
      - `id` string: Invoice/Invoice ID (e.g., "EST-1024")
      - `invoiceId` string: Database estimate ID (UUID) for API calls
      - `client` string: Client name
      - `patient` string: Patient name
      - `desc` string: Description (primary service or summary)
      - `provider` string: Provider name
      - `providerId` string, nullable: Provider user ID for editing
      - `amount` union: Amount billed — the invoice total. NOT what was collected; see decimal PatientTransactionRowDto.AmountCollected. A refunded bill keeps its full invoice total here.
        - number, double
        - string, double
      - `amountCollected` union: Amount actually collected against this invoice, net of refunds (PaymentLedger). Differs from decimal PatientTransactionRowDto.Amount whenever a bill is unpaid, part-paid, or refunded. Summing decimal PatientTransactionRowDto.Amount to report "revenue" overstates it — sum this instead.
        - number, double
        - string, double
      - `status` string: Payment status derived from the payment ledger: "Paid", "Partial", "Refunded", "Pending", "Failed".
      - `appointmentId` string, nullable: Linked appointment ID (null when the estimate has no appointment — e.g. retail/boarding)
    - `totalCount` union
      - integer
      - string, int32
    - `page` union
      - integer
      - string, int32
    - `pageSize` union
      - integer
      - string, int32
  - `error` string, nullable
  - `message` string, nullable

## Other responses

- `500`: Internal Server Error

## Changes

- **2026-08-07** `a905bde4e796`: 3 info
  - added the optional property `data/oneOf[#/components/schemas/PatientTransactionsDto]/transactions/items/amountCollected` to the response with the `200` status (media type: text/plain)
  - added the optional property `data/oneOf[#/components/schemas/PatientTransactionsDto]/transactions/items/amountCollected` to the response with the `200` status (media type: application/json)
  - added the optional property `data/oneOf[#/components/schemas/PatientTransactionsDto]/transactions/items/amountCollected` to the response with the `200` status (media type: text/json)

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Metrics/patient-transactions/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
