---
title: "Get contact by phone number"
method: GET
path: "/v1/contacts/phone/{phoneNumber}"
---

# Get contact by phone number

`GET /v1/contacts/phone/{phoneNumber}`

## Request

- Base URL: `https://api.zavu.dev`
- URL: `https://api.zavu.dev/v1/contacts/phone/{phoneNumber}`
- Auth: HTTP bearer

## Path parameters

- `phoneNumber` string, required

## Response `200`

Contact details.

- Contact
  - `id` string, required
  - `displayName` string: Display name for the contact.
  - `phoneNumber` string: DEPRECATED: Use primaryPhone instead. Primary phone number in E.164 format.
  - `primaryPhone` string: Primary phone number in E.164 format.
  - `primaryEmail` string, email: Primary email address.
  - `countryCode` string
  - `profileName` string, nullable: Contact's WhatsApp profile name. Only available for WhatsApp contacts.
  - `whatsapp` object: WhatsApp identity. Present when Zavu has a business-scoped user ID (BSUID) for the contact, and absent otherwise. A contact with a username can be reached under its BSUID, its phone number, or both; they are the same contact. Look one up by BSUID with the `bsuid` query parameter of the list endpoint.
    - `bsuid` string, required: Business-scoped user ID. Can be used as `to` when sending.
    - `username` string: The WhatsApp username, when Meta reported one.
  - `availableChannels` string[], required: List of available messaging channels for this contact.
  - `defaultChannel` 'sms' | 'whatsapp' | 'telegram' | 'email' | 'instagram' | 'messenger' | 'voice': Preferred channel for this contact.
  - `verified` boolean, required: Whether this contact has been verified.
  - `channels` ContactChannel[]: All communication channels for this contact.
    - `id` string, required
    - `channel` 'sms' | 'whatsapp' | 'email' | 'telegram' | 'instagram' | 'messenger' | 'voice', required: Channel type.
    - `identifier` string, required: Channel identifier (phone number or email address).
    - `countryCode` string: ISO country code for phone numbers.
    - `label` string: Optional label for the channel.
    - `isPrimary` boolean, required: Whether this is the primary channel for its type.
    - `verified` boolean, required: Whether this channel has been verified.
    - `metrics` object: Delivery metrics for this channel.
      - `successCount` integer
      - `failureCount` integer
      - `totalAttempts` integer
      - `avgDeliveryTimeMs` number
      - `lastSuccessAt` string, date-time
    - `lastInboundAt` string, date-time: Last time a message was received on this channel.
    - `metadata` object
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time
  - `metadata` object, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time

## Other responses

- `401`: Unauthorized.
- `404`: Contact not found.

## Changes

> 80 revisions in range; 1 not diffed.

- **2026-10-23** `ce129d29ce3c`: 1 info
  - added the optional property `whatsapp` to the response with the `200` status
- **2026-08-20** `bae0dfda726a`: 1 warning
  - removed the optional property `suggestedMergeWith` from the response with the `200` status
- **2026-07-07** `f467a4da6cd2`: 1 warning
  - added the new `instagram` enum value to the `channels/items/channel` response property for the response status `200`
- **2026-06-18** `a817a073a07f`: 2 warning
  - added the new `messenger` enum value to the `channels/items/channel` response property for the response status `200`
  - added the new `messenger` enum value to the `defaultChannel` response property for the response status `200`

[Operation history](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/changes/v1/contacts/phone/:phoneNumber/get.md)

---

[API](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api.md) - [All operations](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/revisions/75bc777b0ffb?raw)
