Skip to main content
GET
/
v1
/
contacts
/
search
Search contacts
curl --request GET \
  --url https://api.conduit.ai/v1/contacts/search \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "ph77c0dy0mgdpzmqz6tesry8w184002s",
      "workspace_id": "j57demo8f8x7c9v0n2q4r6t8y1u3i5o",
      "first_name": "Jane",
      "last_name": "Doe",
      "image_url": null,
      "type": null,
      "inbox_type_id": "guest",
      "archived": false,
      "ai_paused": false,
      "last_channel": "unthreaded_email",
      "last_message_at": "2026-04-03T03:14:15.000Z",
      "last_message_preview": "Can I check in early?",
      "created_at": "2026-04-01T17:22:10.000Z",
      "updated_at": "2026-04-03T03:14:15.000Z"
    }
  ],
  "next_cursor": "page-token",
  "has_more": true
}

Authorizations

Authorization
string
header
required

Conduit API token. Use Authorization: Bearer <token>. Read/write endpoints require a token with write access.

Query Parameters

workspace_id
string
required

Workspace to query.

Example:

"j57demo8f8x7c9v0n2q4r6t8y1u3i5o"

query
string
required

Search value. Common lookups include email address, phone number, first name, and last name.

Example:

"joe@gmail.com"

field
enum<string>

Field to search. any uses heuristics: email-like input searches channels, phone-like input searches phone channels, otherwise it searches contact metadata.

Available options:
any,
name,
first_name,
last_name,
email,
phone,
whatsapp,
channel
Example:

"email"

limit
integer
Required range: 1 <= x <= 100
cursor
string
archived
enum<string>
Available options:
true,
false
inbox_type_id
string

Response

Contact search results

Cursor-paginated contacts response.

data
object[]
required
next_cursor
string | null
required
has_more
boolean
required