Every route accepts TokenAccount or TokenInstance and validates instance ownership before operating.
Endpoints
Contacts
Query synced contacts and filter by labels.List contacts
GET /api/chat/contacts/:instanceContacts by label
GET /api/chat/contactsByLabel/:instanceLabels (tags / labels)
Create labels, apply them to chats, and use them as filters, exactly what WhatsApp Business allows, but via API.List labels
GET /api/chat/tag/:instanceCreate label
POST /api/chat/tag/:instanceDelete label
DELETE /api/chat/tag/:instanceAssign label
POST /api/chat/assignTag/:instanceUnassign label
DELETE /api/chat/assignTag/:instanceChat state
Control how each conversation appears to the WhatsApp user, archive, pin, mute, favorite, block.Archive chat
POST /api/chat/archive/:instancePin chat
POST /api/chat/pinChat/:instancePin message
POST /api/chat/pinMessage/:instanceMute chat
POST /api/chat/mute/:instanceFavorite chat or message
POST /api/chat/favorite/:instanceBlock / unblock
POST /api/chat/block/:instanceRead
Mark message as read
POST /api/chat/markRead/:instanceMark chat as read
POST /api/chat/markChatRead/:instancePresence
Send presence (typing/recording)
POST /api/chat/presence/:instance, shows typing or recording to the contact.History
Request history
POST /api/chat/history/:instance, stored messages with optional date filters.Messages
Actions on specific messages, plus utilities to download media, read polls, and check delivery status.Find message by ID
GET /api/chat/getMessage/:instanceForward message
POST /api/chat/forward/:instanceEdit message
POST /api/chat/edit/:instanceDelete message
DELETE /api/chat/delete/:instanceDelete entire chat
DELETE /api/chat/deleteChat/:instanceMedia as base64
GET /api/chat/base64/:instanceDelivery status
GET /api/chat/status/:instancePoll votes
GET /api/chat/poll/:instanceAccepted identifiers
Most endpoints accept the same formats to identify a chat or destination. The table below summarizes them:About
@lid (LinkedID): an alternative identifier WhatsApp uses for individual users when the phone number is not exposed (privacy in communities, large groups, etc.). It is equivalent to ...@s.whatsapp.net for routing purposes, any endpoint that accepts a private JID also accepts @lid. Use the exact JID coming from a webhook or previous API responses; do not try to convert @lid into a number.WhatsApp windows
Usage patterns
Label workflow
Moderation workflow
Related
Send messages
Send content before managing it.
Real-time events
Webhooks
message.exchange, message.status, and label.update.