Skip to main content
Use client.users() and client.contacts() to look up WhatsApp profiles and manage instance contacts. For instances, see Instances and billing.

Contacts

client.contacts().list(instanceId, options)

var options = InstanceRequestOptions.builder().instanceToken("instance-token").build();
JsonNode contacts = client.contacts().list("VZ...", options);
Return: envelope { code, success, data } with contact array (jid, Name, IsInWhatsapp, etc.).

client.contacts().add(request)

JsonNode added = client.contacts().add(
    GenericInstanceRequest.builder()
        .instanceId("VZ...")
        .instanceToken("instance-token")
        .build());
Return: envelope { code, success, data } with confirmation text (e.g. "Contact added"). Pass phone, firstName, and fullName in the request body or equivalent DTO.

Users

client.users().info(request)

JsonNode info = client.users().info(
    GenericInstanceRequest.builder()
        .instanceId("VZ...")
        .instanceToken("instance-token")
        .build());
Return: envelope { code, success, data } with user profile fields (VerifiedName, Status, PictureId, etc.).

client.users().check(request)

JsonNode exists = client.users().check(request);
Return: envelope { code, success, data.users[] } with phone, exists, jid per checked number.

client.users().avatar(request)

JsonNode avatar = client.users().avatar(request);
Return: envelope { code, success, data } with avatar base64 and mimetype.

client.users().contacts(instanceId, options)

JsonNode contacts = client.users().contacts("VZ...", options);
Return: envelope { code, success, data } — JID map to contact fields (FirstName, FullName, PushName, etc.).