---
title: "GET /clients/{clientId}/account-summary"
method: GET
path: "/clients/{clientId}/account-summary"
tags: ["ClientAccount"]
---

# GET /clients/{clientId}/account-summary

`GET /clients/{clientId}/account-summary`

## Request

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

## Path parameters

- `clientId` string, required

## Response `200`

OK

- ClientAccountSummaryDto: A client's whole-account money view (ITE-656): what they owe (outstanding AR across open invoices), what the practice holds for them (store credit), and the open invoices behind the headline number. Rows reuse the clinic-wide AR row shape (OutstandingInvoiceDto, ITE-317) — per-invoice Balance derives from the same settled-payments sum as the headline, so list and headline cannot disagree (the ITE-307 lesson).
  - `clientId` string
  - `outstandingBalance` union: Sum of Balance across the outstanding invoices below.
    - number, double
    - string, double
  - `outstandingInvoiceCount` union
    - integer
    - string, int32
  - `availableCredit` union: Available store credit (derived ledger balance, never negative).
    - number, double
    - string, double
  - `netPosition` union: AvailableCredit − OutstandingBalance: positive when the practice holds more value than the client owes.
    - number, double
    - string, double
  - `outstandingInvoices` OutstandingInvoiceDto[]
    - `id` string
    - `invoiceNumber` string
    - `status` string
    - `clientId` string, nullable
    - `clientName` string, nullable
    - `patientId` string, nullable
    - `patientName` string, nullable
    - `createdAt` string, date-time
    - `totalAmount` union
      - number, double
      - string, double
    - `totalPaid` union: Completed (incl. partially/fully refunded) payments recorded against the bill.
      - number, double
      - string, double
    - `balance` union
      - number, double
      - string, double
    - `itemCount` union: Line-item count, set by the client account summary (ITE-656); null on the clinic-wide AR list, which never needed it.
      - integer
      - string, int32
    - `isOnAccount` boolean: House accounts (ITE-670): deliberately charged to the client's account.
    - `dueDate` string, date-time, nullable: Due date for on-account invoices (issue date + terms); null otherwise.

## Other responses

- `404`: Not Found

## Changes

- **2026-09-11** `503cd0546309`: 1 info
  - endpoint added

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