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

# Search clinic clients

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

## Request

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

Searches for clinic clients by name, email, phone number, or zip code using structured field-level matching. Email and phone searches match any address or number on the client, not only the primary contact.

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

- `name` string, nullable: Searches for clients whose name matches this value. Automatically trimmed and lowercased. Requires `name_operator` when provided.
- `name_operator` 'EXACT' | 'PREFIX' | 'CONTAINS'
- `email` string, nullable: Searches for clients whose email matches this value. Automatically trimmed and lowercased. Requires `email_operator` when provided.
- `email_operator` 'EXACT' | 'CONTAINS'
- `phone_number` string, nullable: Searches for clients whose phone number matches this value. Non-numeric characters are automatically stripped. Requires `phone_number_operator` when provided.
- `phone_number_operator` 'EXACT' | 'SUFFIX'
- `zip_code` string, nullable: Searches for clients whose zip code matches this value. Automatically trimmed and lowercased. Requires `zip_code_operator` when provided.
- `zip_code_operator` 'EXACT' | 'PREFIX' | 'CONTAINS'
- `is_active` boolean, nullable: Filters to clients with the given active status.
- `page` integer: The page number to return.
- `page_size` integer: The number of results per page.

## Response `200`

OK

- ExternalClinicClientSearchSchemaList
  - `data` ExternalClinicClientSearchSchema[], 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
    - `secondary_emails` string[], required: Additional email addresses on this clinic client besides the primary email. Only addresses that can match an email search are included.
    - `secondary_phone_numbers` integer[], required: Additional phone numbers on this clinic client besides the primary phone number. Only numbers that can match a phone search are included.
  - `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)
