List Messages
curl "https://api.whatbot.in/public/v1/conversations/a5230fa7-.../messages?limit=50" \ -H "X-API-Key: wa_live_xxx"Path & query parameters
Section titled “Path & query parameters”| Field | Type | Required | Description |
|---|---|---|---|
| conversation_id | string | Yes | The conversation’s id (from List Conversations). |
| limit | number | How many of the most recent messages to return (max 200). Defaults to 50. |
An id that doesn’t belong to your workspace returns an empty list, not a 404.
Response
Section titled “Response”| Field | Type | Required | Description |
|---|---|---|---|
| messages | array | The messages, each with the fields below. |
| Field | Type | Description |
|---|---|---|
| id | string | Whatbot’s id for the message. Pass it to GET /media as message_id. |
| conversation_id | string | The conversation. |
| wa_message_id | string | WhatsApp’s id (wamid…), or null if it was never accepted. |
| direction | string | inbound (from the customer) or outbound (from you). |
| message_type | string | e.g. text, template, image, document, audio, video, interactive, order. |
| body | string | The text, or a media caption. |
| media_url | string | For media a customer sent, a signed download link valid for about an hour (audio: about a day). For media you sent by public URL, the URL you sent. |
| media_mime_type | string | For media, its MIME type. |
| template_name | string | For a template, its name. |
| status | string | For outbound: pending, sent, delivered, read or failed. |
| wa_timestamp | string | When the message was sent or received. |
{ "messages": [ { "id": "8f1c...", "conversation_id": "a5230fa7-...", "wa_message_id": "wamid.HBg...", "direction": "outbound", "message_type": "text", "body": "Thanks! Your order ships today.", "media_url": null, "media_mime_type": null, "template_name": null, "status": "delivered", "wa_timestamp": "2026-07-08T09:12:00+00:00" } ]}