---
title: "Search contacts"
method: GET
path: "/v1/contacts/search"
tags: ["contacts"]
---

# Search contacts

`GET /v1/contacts/search`

Find contacts by name, last name, email, phone number, WhatsApp number, or channel value. Use the returned contact ids with related endpoints like `/v1/contacts/{id}/tickets` and `/v1/contacts/{id}/calls`.

## Query parameters

- `workspace_id` string, required — Workspace to query.
- `query` string, required — Search value. Common lookups include email address, phone number, first name, and last name.
- `field` 'any' | 'name' | 'first_name' | 'last_name' | 'email' | 'phone' | 'whatsapp' | 'channel' — Field to search. `any` uses heuristics: email-like input searches channels, phone-like input searches phone channels, otherwise it searches contact metadata.
- `limit` integer
- `cursor` string
- `archived` 'true' | 'false'
- `inbox_type_id` string

## Response `200`

Contact search results

- object — Cursor-paginated contacts response.
  - `data` object[], required
    - `id` string, required
    - `workspace_id` string, required
    - `first_name` string, required
    - `last_name` string, nullable, required
    - `image_url` string, nullable, required
    - `type` string, nullable, required
    - `inbox_type_id` string, required
    - `archived` boolean, required
    - `ai_paused` boolean, required
    - `last_channel` string, nullable, required
    - `last_message_at` string, nullable, required
    - `last_message_preview` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/conduit/apis/conduit-api.md) · [All operations](https://skmtc.dev/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conduit/conduit-api/revisions/3ad7e17f96ad/schema)
