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

Contacts

client.Contacts.ListAsync<TResponse>(instanceId, options?)

await client.Contacts.ListAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: envelope { Code, Success, Data } with contact array (Jid, Name, IsInWhatsapp, etc.).

client.Contacts.AddAsync<TResponse>(request)

await client.Contacts.AddAsync<object>(new ContactAddRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
    FirstName = "Maria",
    FullName = "Maria Silva",
});
Return: envelope { Code, Success, Data } with confirmation text (e.g. "Contact added").

Users

client.Users.InfoAsync<TResponse>(request)

await client.Users.InfoAsync<object>(new UserPhonesRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
Return: envelope { Code, Success, Data } with user profile fields (VerifiedName, Status, PictureId, etc.).

client.Users.CheckAsync<TResponse>(request)

await client.Users.CheckAsync<object>(new UserPhonesRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
Return: envelope { Code, Success, Data.Users[] } with Phone, Exists, Jid per checked number.

client.Users.AvatarAsync<TResponse>(request)

await client.Users.AvatarAsync<object>(new UserAvatarRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
Return: envelope { Code, Success, Data } with avatar base64 and mimetype.

client.Users.ContactsAsync<TResponse>(instanceId, options?)

await client.Users.ContactsAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: envelope { Code, Success, Data } — JID map to contact fields (FirstName, FullName, PushName, etc.).