---
title: "Get a paginated list of estimates with optional filters"
method: GET
path: "/Invoices"
tags: ["Invoices"]
---

# Get a paginated list of estimates with optional filters

`GET /Invoices`

## Request

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

## Query parameters

- `status` string
- `clientId` string
- `patientId` string
- `fromDate` string, date-time
- `toDate` string, date-time
- `page` union
  - integer
  - string, int32
- `pageSize` union
  - integer
  - string, int32

## Response `200`

OK

- InvoiceListResponseDto
  - `items` InvoiceSummaryDto[]
    - `id` string
    - `invoiceNumber` string
    - `clientName` string, nullable
    - `patientId` string, nullable: The invoice's patient, if any (null for client-only/POS bills).
    - `patientName` string, nullable
    - `status` string
    - `totalAmount` union
      - number, double
      - string, double
    - `sourceEstimateId` string, nullable: The estimate this invoice was converted from, or null for ad-hoc bills created directly (payments panel Invoices tab). The Estimates &amp; Invoices panels use it to avoid double-listing bills already represented by their estimate row.
    - `mergedIntoInvoiceId` string, nullable: When this invoice was combined into another bill, the successor combined invoice's id (the invoice is then Superseded). Grouping key for the nested combined view.
    - `mergedIntoInvoiceNumber` string, nullable: Human-readable number of the combined (successor) invoice.
    - `mergedIntoInvoiceStatus` string, nullable: Status of the combined (successor) invoice.
    - `orderDiscountAmount` union: Order-level discount-code amount on this invoice (0 when none). Surfaced on the summary so the Combine Invoices modal can warn that a source carries one and offer to carry it onto the merged bill. Excludes rule-engine order discounts.
      - number, double
      - string, double
    - `itemCount` union
      - integer
      - string, int32
    - `createdAt` string, date-time
  - `total` union
    - integer
    - string, int32

## Other responses

- `400`: Bad Request

## Changes

- **2026-08-07** `a905bde4e796`: 15 info
  - added the optional property `items/items/mergedIntoInvoiceId` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/mergedIntoInvoiceId` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/mergedIntoInvoiceId` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/mergedIntoInvoiceNumber` to the response with the `200` status (media type: text/plain)
  - …11 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Invoices/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)
