Documentation Index Fetch the complete documentation index at: https://zapo.to/llms.txt
Use this file to discover all available pages before exploring further.
Profile
client.profile (WaProfileCoordinator ) reads and writes profile fields for your account and looks them up for others.
Profile picture
import { readFile } from 'node:fs/promises'
// Read someone's picture (or your own)
const pic = await client . profile . getProfilePicture ( jid )
// Set your own
await client . profile . setProfilePicture ( await readFile ( './avatar.jpg' ))
// Remove it
await client . profile . deleteProfilePicture ()
About / status text
const about = await client . profile . getStatus ( jid )
await client . profile . setStatus ( 'Available' )
Batched lookups
const profiles = await client . profile . getProfiles ([ jidA , jidB ])
const usernames = await client . profile . getUsernames ([ jidA , jidB ])
const modes = await client . profile . getDisappearingMode ([ jidA , jidB ])
Usernames
const mine = await client . profile . getOwnUsername ()
const available = await client . profile . checkUsernameAvailability ( 'myhandle' )
await client . profile . setUsername ({ username: 'myhandle' })
await client . profile . deleteUsername ()
Privacy
client.privacy (WaPrivacyCoordinator ) controls privacy categories and the blocklist.
Privacy settings
const settings = await client . privacy . getPrivacySettings ()
// Update a single setting
await client . privacy . setPrivacySetting ( 'last' , 'contacts' )
Setting names and values come from the WA_PRIVACY_* constants (last, online, profile, status, readreceipts, groupadd, …). See the JID & constants reference .
Blocklist
const { jids } = await client . privacy . getBlocklist ()
await client . privacy . blockUser ( jid )
await client . privacy . unblockUser ( jid )
Disallowed lists
For settings scoped to a specific list of contacts (e.g. “share with everyone except…”):
const result = await client . privacy . getDisallowedList ( category )
Business
client.business (WaBusinessCoordinator ) reads business profiles and verified names, and manages your own business profile.
// Read business profiles (batched)
const profiles = await client . business . getBusinessProfile ([ jidA , jidB ])
// Verified-name lookups
const name = await client . business . getVerifiedName ( jid )
const names = await client . business . getVerifiedNames ([ jidA , jidB ])
// Edit your own business profile
await client . business . editBusinessProfile ({ /* WaEditBusinessProfileInput */ })
// Cover photo
await client . business . updateCoverPhoto ( mediaSource )
await client . business . deleteCoverPhoto ( coverId )
Chat settings
Per-chat settings — mute, pin, archive, read, lock, star, clear, delete — live on client.chat and sync across your devices. They have their own guide:
Managing chats Mute, pin, archive, mark read, lock, star messages, clear, and delete chats.