Skip to content

List contacts

View .md
GET

List contacts with their communication channels.

Authorization

  • Authorizationheaderrequired

    Bearer YOUR_API_KEY. Create a key in the dashboard.

Query parameters

  • phoneNumberstring

    Exact match on the contact's primary phone number, in E.164.

  • searchstring

    Free-text match over the contact's name (displayName and the WhatsApp profile name), phone numbers and email addresses. Case- and accent-insensitive. A phone number matches on a trailing fragment too, so 5551234 finds +14155551234.

    Contacts created automatically from an inbound message have no displayName — they are matched by their identifier until you set one with PATCH /v1/contacts/{contactId}.

    Results come back in relevance order rather than newest-first. cursor is opaque in both modes; pass back exactly what the previous response returned, and start a new pagination run when the search term changes.

    Limitsmax length 200
  • bsuidstring

    Exact WhatsApp business-scoped user ID (e.g. CO.13491208655302741918). Returns the contact that holds it, or an empty list. Combines with phoneNumber and tag as a filter, and cannot be combined with search (400). A value that is not shaped like a BSUID returns 400.

  • tagstring[]

    Tag name. Repeatable: ?tag=vip&tag=chile returns contacts carrying every tag given, not any of them — the same rule the dashboard filter applies.

    Tags are matched by name, case-insensitively. An unknown tag returns 400 rather than being ignored, because a typo that silently matched every contact would be a worse answer than an error.

  • limitinteger
    Default50
    Limitsmax 100
  • cursorstring

    Opaque cursor from a previous response's nextCursor. Do not construct it.

Responses

200List of contacts.
  • itemsobject[]required
    15 properties
    • idstringrequired
    • displayNamestring

      Display name for the contact.

    • phoneNumberstring

      DEPRECATED: Use primaryPhone instead. Primary phone number in E.164 format.

    • primaryPhonestring

      Primary phone number in E.164 format.

    • primaryEmailstring<email>

      Primary email address.

    • countryCodestring
    • profileNamestringnullable

      Contact's WhatsApp profile name. Only available for WhatsApp contacts.

    • whatsappobject

      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.

      2 properties
      • bsuidstringrequired

        Business-scoped user ID. Can be used as to when sending.

      • usernamestring

        The WhatsApp username, when Meta reported one.

    • availableChannelsstring[]required

      List of available messaging channels for this contact.

    • defaultChannelstring

      Preferred channel for this contact.

      One ofsmswhatsapptelegramemailinstagrammessengervoice
    • verifiedbooleanrequired

      Whether this contact has been verified.

    • channelsobject[]

      All communication channels for this contact.

      12 properties
      • idstringrequired
      • channelstringrequired

        Channel type.

        One ofsmswhatsappemailtelegraminstagrammessengervoice
      • identifierstringrequired

        Channel identifier (phone number or email address).

      • countryCodestring

        ISO country code for phone numbers.

      • labelstring

        Optional label for the channel.

      • isPrimarybooleanrequired

        Whether this is the primary channel for its type.

      • verifiedbooleanrequired

        Whether this channel has been verified.

      • metricsobject

        Delivery metrics for this channel.

        5 properties
        • successCountinteger
        • failureCountinteger
        • totalAttemptsinteger
        • avgDeliveryTimeMsnumber
        • lastSuccessAtstring<date-time>
      • lastInboundAtstring<date-time>

        Last time a message was received on this channel.

      • metadataobject
        1 properties
        • {key}string
      • createdAtstring<date-time>required
      • updatedAtstring<date-time>
    • metadataobjectrequired
      1 properties
      • {key}string
    • createdAtstring<date-time>required
    • updatedAtstring<date-time>
  • nextCursorstringnullable
400Invalid query parameters (`invalid_request`): `limit` outside 1-100, a malformed cursor, or a `tag` that names no tag in this project — `details.unknownTags` lists them.
  • codestringrequired
  • messagestringrequired
  • detailsobject
401Unauthorized.
  • codestringrequired
  • messagestringrequired
  • detailsobject