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

# List all invoice items

> 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.



## OpenAPI

````yaml get /ext/v2/invoice-items/
openapi: 3.1.0
info:
  description: ''
  title: NinjaAPI
  version: 2.0.0
servers:
  - url: https://connect.vetcove.com/
security: []
paths:
  /ext/v2/invoice-items/:
    get:
      tags:
        - Invoices
      summary: List all invoice items
      description: >-
        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.
      operationId: invoiceItems_list
      parameters:
        - description: When provided, filters to objects with these IDs.
          in: query
          name: ids
          required: false
          schema:
            anyOf:
              - items:
                  type: integer
                type: array
              - type: 'null'
            description: When provided, filters to objects with these IDs.
            title: Ids
        - description: >-
            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`.
          in: query
          name: ending_before
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              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`.
            title: Ending Before
        - description: >-
            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`.
          in: query
          name: starting_after
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              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`.
            title: Starting After
        - description: The maximum number of items to return per page.
          in: query
          name: limit
          required: false
          schema:
            default: 10
            description: The maximum number of items to return per page.
            maximum: 100
            minimum: 1
            title: Limit
            type: integer
        - description: >-
            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.
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              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.
            title: Cursor
        - description: >-
            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.
          in: query
          name: modified__gte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              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.
            title: Modified  Gte
        - description: >-
            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.
          in: query
          name: modified__lte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              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.
            title: Modified  Lte
        - description: >-
            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.
          in: query
          name: is_deleted
          required: false
          schema:
            allOf:
              - enum:
                  - 'FALSE'
                  - 'TRUE'
                  - ALL
                title: DeletedFilterOption
                type: string
            default: 'FALSE'
            description: >-
              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.
        - description: When provided, filters to invoice items for this clinic.
          in: query
          name: clinic_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: When provided, filters to invoice items for this clinic.
            title: Clinic Id
        - description: When provided, filters to invoice items for this clinic client.
          in: query
          name: clinic_client_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: When provided, filters to invoice items for this clinic client.
            title: Clinic Client Id
        - description: When provided, filters to invoice items for this clinic patient.
          in: query
          name: clinic_patient_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: When provided, filters to invoice items for this clinic patient.
            title: Clinic Patient Id
        - description: When provided, filters to invoice items on this invoice.
          in: query
          name: invoice_id
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: When provided, filters to invoice items on this invoice.
            title: Invoice Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceItemSchemaList'
          description: OK
      security:
        - ExternalAPIAuth: []
components:
  schemas:
    ExternalInvoiceItemSchemaList:
      properties:
        data:
          description: A single page of data contained within this list.
          items:
            $ref: '#/components/schemas/ExternalInvoiceItemSchema'
          title: Data
          type: array
        has_more:
          default: false
          description: Whether there are more pages or data in this list.
          title: Has More
          type: boolean
        next_page:
          description: A URL linking to the next page of this list.
          title: Next Page
          type: string
        type:
          default: list
          description: Type of this object. Always `list`.
          title: Type
          type: string
      required:
        - data
        - next_page
      title: ExternalInvoiceItemSchemaList
      type: object
    ExternalInvoiceItemSchema:
      properties:
        clinic_client_id:
          description: The ID of the client (pet parent) on the invoice.
          title: Clinic Client Id
          type: integer
        clinic_id:
          description: The ID of the clinic that issued the invoice.
          title: Clinic Id
          type: integer
        clinic_patient_id:
          description: The ID of the patient this item is for.
          title: Clinic Patient Id
          type: integer
        created:
          description: The datetime this object was created.
          format: date-time
          title: Created
          type: string
        date_posted:
          description: The date and time when this item was posted.
          format: date-time
          title: Date Posted
          type: string
        deleted:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The datetime this record was soft deleted.
          title: Deleted
        description:
          description: The display description of the line item.
          title: Description
          type: string
        discount:
          description: The discount applied to this item, in cents.
          title: Discount
          type: integer
        group_bundle_code:
          anyOf:
            - type: string
            - type: 'null'
          description: The human-visible bundle code for this line item, if it is a bundle.
          title: Group Bundle Code
        group_bundle_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: The ID of the group bundle for this line item, if it is a bundle.
          title: Group Bundle Id
        group_service_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The human-visible service code for this line item, if it is a
            service.
          title: Group Service Code
        group_service_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            The ID of the group service (catalog item) for this line item, if it
            is a service.
          title: Group Service Id
        id:
          description: The unique identifier for the invoice item.
          title: Id
          type: integer
        invoice_id:
          description: The ID of the invoice this item belongs to.
          title: Invoice Id
          type: integer
        is_declined:
          description: Whether the client declined this item.
          title: Is Declined
          type: boolean
        is_deleted:
          description: Whether this record is soft deleted or not.
          title: Is Deleted
          type: boolean
        kind:
          $ref: '#/components/schemas/ClientInvoiceItemKind'
          description: Whether the item is an in-clinic service or a take-home product.
        modified:
          description: >-
            The datetime this object was last modified; changes to related
            entities will not update this field.
          format: date-time
          title: Modified
          type: string
        provider_clinic_user_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            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.
          title: Provider Clinic User Id
        provider_clinic_user_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            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.
          title: Provider Clinic User Name
        quantity:
          anyOf:
            - type: number
            - type: string
          description: The quantity of the item.
          title: Quantity
        subtotal:
          description: The subtotal for the item before discounts and taxes, in cents.
          title: Subtotal
          type: integer
        tax:
          description: The tax applied to this item, in cents.
          title: Tax
          type: integer
        total:
          description: The total for the item after discounts and taxes, in cents.
          title: Total
          type: integer
        unit_price:
          description: The unit price of the item, in cents.
          title: Unit Price
          type: integer
      required:
        - created
        - modified
        - is_deleted
        - deleted
        - id
        - invoice_id
        - clinic_id
        - clinic_client_id
        - clinic_patient_id
        - description
        - kind
        - quantity
        - unit_price
        - subtotal
        - discount
        - tax
        - total
        - date_posted
        - is_declined
      title: ExternalInvoiceItemSchema
      type: object
    ClientInvoiceItemKind:
      enum:
        - IN_CLINIC
        - TAKE_HOME
      title: ClientInvoiceItemKind
      type: string
  securitySchemes:
    ExternalAPIAuth:
      scheme: bearer
      type: http

````