Conversations
Every endpoint on this page needs the /conversations grant.
Recent chats
Section titled “Recent chats”GET /v2/conversations/recent
Returns one row per contact, with the most recent chat first.
| Query | Default | Description |
|---|---|---|
page |
1 | Page number |
pageSize |
20 | Up to 50 |
selected_channel |
Limit the results to one channel |
{ "data": { "conversations": [ { "contact_id": 381, "name": "Asha", "contact_number": "919400294110", "last_message": "Yes, thank you!", "last_sender": "user", "last_type": "text", "last_status": "read", "last_message_at": "2026-10-01T09:37:05.353Z" } ], "page": 1, "pageSize": 20 }}Messages in a chat
Section titled “Messages in a chat”GET /v2/conversations/{contactId}/messages
| Query | Default | Description |
|---|---|---|
page |
1 | Page 1 holds the newest messages |
pageSize |
30 | Up to 100 |
since |
ISO timestamp. Only returns messages after this time, which is useful for polling |
curl "https://api.wabot.shop/v2/conversations/381/messages?since=2026-10-01T09:00:00Z" \ -H "Authorization: $TOKEN"{ "data": { "contact_id": 381, "messages": [ { "id": 9912, "message": "Your order has shipped.", "type": "template", "sender": "admin", "sendStatus": "read", "wa_message_id": "wamid.HBgN…", "created_at": "2026-10-01T09:30:00.000Z", "delivered_at": "2026-10-01T09:30:02.000Z", "read_at": "2026-10-01T09:31:40.000Z" }, { "id": 9913, "message": "Yes, thank you!", "type": "text", "sender": "user", "created_at": "2026-10-01T09:37:05.353Z" } ], "lastCustomerMessageTime": "2026-10-01T09:37:05.353Z", "page": 1, "pageSize": 30, "total": 2 }}- Messages within a page are ordered oldest to newest, so you can show them in order.
sender: "admin"means the message was sent by you: an agent, a campaign, a bot or the API.lastCustomerMessageTimetells you whether you can send a session message. If it was less than 24 hours ago, the window is open.
Get replies in real time
Section titled “Get replies in real time”Instead of polling, you can:
- subscribe to the WhatsApp Message webhook
- set
event: ["replied"]with acallback_urlwhen you send a message - use
subscribe_replieson the MCP server if you’re building an AI agent
