---
title: "List all invoice items"
method: GET
path: "/ext/v2/invoice-items/"
tags: ["Invoices"]
---

# List all invoice items

`GET /ext/v2/invoice-items/`

## Request

- Base URL: `https://connect.vetcove.com`
- URL: `https://connect.vetcove.com/ext/v2/invoice-items/`
- Auth: HTTP bearer

Returns a list of all invoice items across all clinics in the organization. The items are sorted by creation date, with the most recent appearing first. When using modified filters, results are sorted by modification date instead.

An invoice item represents a single line item on a clinic invoice — a service rendered, product dispensed, or other billable charge. Each item tracks the quantity, unit price, applicable discounts and taxes, and the resulting total. Each item is associated with a specific patient.

## Query parameters

- `ids` integer[], nullable: When provided, filters to objects with these IDs.
- `ending_before` integer, nullable: A cursor used for pagination. Fetches the page of results ending immediately before the object with the given ID. Cannot be used at the same time as `starting_after`.
- `starting_after` integer, nullable: A cursor used for pagination. Fetches the page of results starting immediately after the given ID. Cannot be used at the same time as `ending_before`.
- `limit` integer: The maximum number of items to return per page.
- `cursor` string, nullable: A cursor token used for pagination. This token contains encoded information about the last seen record in order to continue pagination. Cannot be used with `starting_after` or `ending_before` parameters.
- `modified__gte` string, date-time, nullable: Filters to objects modified on or after this datetime (ISO8601 UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or `ending_before` parameters.
- `modified__lte` string, date-time, nullable: Filters to objects modified on or before this datetime (ISO8601 UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or `ending_before` parameters.
- `is_deleted` 'FALSE' | 'TRUE' | 'ALL': When 'FALSE' (default), filters to non-deleted records only. When 'TRUE', filters to soft-deleted records only. When 'ALL', returns both deleted and non-deleted records.
- `clinic_id` integer, nullable: When provided, filters to invoice items for this clinic.
- `clinic_client_id` integer, nullable: When provided, filters to invoice items for this clinic client.
- `clinic_patient_id` integer, nullable: When provided, filters to invoice items for this clinic patient.
- `invoice_id` integer, nullable: When provided, filters to invoice items on this invoice.

## Response `200`

OK

- ExternalInvoiceItemSchemaList
  - `data` ExternalInvoiceItemSchema[], required: A single page of data contained within this list.
    - `clinic_client_id` integer, required: The ID of the client (pet parent) on the invoice.
    - `clinic_id` integer, required: The ID of the clinic that issued the invoice.
    - `clinic_patient_id` integer, required: The ID of the patient this item is for.
    - `created` string, date-time, required: The datetime this object was created.
    - `date_posted` string, date-time, required: The date and time when this item was posted.
    - `deleted` string, date-time, nullable, required: The datetime this record was soft deleted.
    - `description` string, required: The display description of the line item.
    - `discount` integer, required: The discount applied to this item, in cents.
    - `group_bundle_code` string, nullable: The human-visible bundle code for this line item, if it is a bundle.
    - `group_bundle_id` integer, nullable: The ID of the group bundle for this line item, if it is a bundle.
    - `group_service_code` string, nullable: The human-visible service code for this line item, if it is a service.
    - `group_service_id` integer, nullable: The ID of the group service (catalog item) for this line item, if it is a service.
    - `id` integer, required: The unique identifier for the invoice item.
    - `invoice_id` integer, required: The ID of the invoice this item belongs to.
    - `is_declined` boolean, required: Whether the client declined this item.
    - `is_deleted` boolean, required: Whether this record is soft deleted or not.
    - `kind` 'IN_CLINIC' | 'TAKE_HOME', required
    - `modified` string, date-time, required: The datetime this object was last modified; changes to related entities will not update this field.
    - `provider_clinic_user_id` integer, nullable: The ID of the clinic user assigned to this item. May be null even when provider_clinic_user_name is present, for items imported from an external PIMS whose provider has not been matched to a clinic user.
    - `provider_clinic_user_name` string, nullable: The display name of the clinic user assigned to this item. Derived from the clinic user when provider_clinic_user_id is present, or from the imported PIMS provider name otherwise.
    - `quantity` union, required: The quantity of the item.
      - number
      - string
    - `subtotal` integer, required: The subtotal for the item before discounts and taxes, in cents.
    - `tax` integer, required: The tax applied to this item, in cents.
    - `total` integer, required: The total for the item after discounts and taxes, in cents.
    - `unit_price` integer, required: The unit price of the item, in cents.
  - `has_more` boolean: Whether there are more pages or data in this list.
  - `next_page` string, required: A URL linking to the next page of this list.
  - `type` string: Type of this object. Always `list`.

---

[API](https://skmtc.dev/vetcove/apis/ninjaapi.md) - [All operations](https://skmtc.dev/vetcove/apis/ninjaapi/llms.txt) - [OpenAPI document](https://skmtc.dev/vetcove/apis/ninjaapi/revisions/4ceaed956e15?raw)
