Per-chat settings live onDocumentation Index
Fetch the complete documentation index at: https://zapo.to/llms.txt
Use this file to discover all available pages before exploring further.
client.chat (WaAppStateMutationCoordinator). These are app-state mutations — they sync across all your linked devices, and changes made elsewhere arrive back as the mutation event.
These operations affect your account’s view (and your other devices). They do not change anything for the other participants — e.g. deleting a chat doesn’t delete it for them. For delete-for-everyone, use a revoke.
Mute
muteEndTimestampMs is required when muting (epoch ms). For “mute forever”, pass a far-future timestamp. The client does not auto-unmute when the timer expires — that’s when WhatsApp re-enables notifications.
Pin & archive
Pin and archive are mutually exclusive — pinning a chat clears its archive flag and vice-versa. WhatsApp caps the number of pinned chats server-side.
Read / unread
Lock
Star a message
A message is identified by aWaAppStateMessageKey:
Clear & delete
clearChat keeps starred messages and media by default; set deleteStarred / deleteMedia to wipe those too. Neither leaves a group — use client.group.leaveGroup for that.
Delete a message for me
Removes a single message from your own device(s) only — recipients still see it:Beyond the helpers
The methods above are typed shortcuts. For anything without a dedicated helper — contacts, labels, quick replies, status privacy, and the full list of app-state schemas — use the genericclient.chat.set() / client.chat.remove(). See the chat mutations reference.
Reacting to changes
When a chat setting changes on another device, you receive amutation event:
