---
title: "List all clinic clients"
method: GET
path: "/ext/v2/clinic-clients/"
tags: ["Clients And Patients"]
---

# List all clinic clients

`GET /ext/v2/clinic-clients/`

## Request

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

Returns a list of all clinic clients (pet parents) across all clinics in the organization. The clinic clients are sorted by creation date, with the most recent clinic clients appearing first. When using modified filters, results are sorted in descending modification date instead.

A **clinic client** represents a pet parent at a specific clinic location. Each clinic client belongs to exactly one clinic and can be associated with one or more clinic patients (pets). When the same person visits multiple clinics in the organization, they will have a separate clinic client record at each location, linked by a shared organization client ID.

## 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: Filters to clients for the clinic with this ID.
- `organization_client_id` integer, nullable: Filters to clients associated with the organization client ID.
- `email` string, nullable: When provided, filters to clients with this exact email address
- `phone_number` integer, nullable: When provided, filters to clients with this exact 10-digit phone number

## Response `200`

OK

- ExternalClinicClientSchemaList
  - `data` ExternalClinicClientSchema[], required: A single page of data contained within this list.
    - `can_be_called` boolean, required: Whether the clinic can call the client.
    - `client_notes` string, required: The notes on the client.
    - `clinic_id` integer, required: The ID of the clinic this client belongs to.
    - `created` string, date-time, required: The datetime this object was created.
    - `deleted` string, date-time, nullable, required: The datetime this record was soft deleted.
    - `email` string, nullable: The primary email address for this client account. This is selected from the available contact methods across all ClientUsers. When updating via the Client update endpoint, changes are applied to the primary ClientUser.
    - `external_id` string, nullable, required: The ID from a clinic's legacy PIMS system, if the data was imported from there.
    - `first_name` string, nullable: The first name of the primary clinic client user. For clinic clients with multiple clinic client users (has_multiple_users=true), this represents only the primary clinic client user's name.
    - `has_multiple_users` boolean, required: Whether this client has multiple users (co-owners) associated with it. The first_name and last_name fields on this Client represent the primary ClientUser only. Use the /clinic-client-users/ endpoints to view and manage all ClientUsers for this Client.
    - `has_unread_messages_for_clinic` boolean, required: Whether there are unread inbound messages from the client (for clinic's perspective)
    - `id` integer, required: The ID of the clinic client
    - `is_active` boolean, required: Whether the client is active.
    - `is_deleted` boolean, required: Whether this record is soft deleted or not.
    - `is_email_unsubscribed` boolean, nullable, required: Whether the client has unsubscribed from marketing emails, if they have an email on file. A null value indicates they do not have an email on file.
    - `is_subscribed` boolean, required: Whether the client is subscribed to receive info from the clinic.
    - `last_name` string, nullable: The last name of the primary clinic client user. For clinic clients with multiple clinic client users (has_multiple_users=true), this represents only the primary clinic client user's name.
    - `last_visit_date` string, date-time, nullable, required: The date of the client's most recent appointment or invoice.
    - `modified` string, date-time, required: The datetime this object was last modified; changes to related entities will not update this field.
    - `organization_client_id` integer, nullable, required: The organization client ID corresponding to this clinic client.
    - `phone_number` integer, nullable: The primary phone number for this client account. This is selected from the available contact methods across all ClientUsers. When updating via the Client update endpoint, changes are applied to the primary ClientUser.
    - `pim_id` string, nullable, required: The ID of the clinic client in the clinic's PIMS.
    - `primary_address` ExternalAddressSchema
      - `address_one` string, required: The first line of the address.
      - `address_two` string: The second line of the address.
      - `city` string, required: The city of the address.
      - `country` 'CA' | 'US' | 'AS' | 'GU' | 'MP' | 'PR' | 'VI'
      - `county` string: The county of the address.
      - `id` integer, required: The ID of the address.
      - `name` string: The name of the address.
      - `phone_number` integer, nullable: The phone number of the address.
      - `state` string, required: The 2-letter code of the state/province/region of the address. Legacy data could deviate from the 2-letter code convention.
      - `zipcode` string, required: The zip code/postal code of the address.
    - `primary_client_user_id` integer, nullable, required: The ID of the primary ClientUser (account owner) for this client. This is the 'main' owner whose name is reflected in the Client's `first_name` and `last_name` fields.
    - `primary_payment_method_id` integer, nullable: The ID of the primary payment method of the clinic client
  - `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)
