The Conversations API provides read access to the conversation threads in your Wacrm inbox. Each conversation represents an ongoing or historical exchange with a contact over WhatsApp. You can list conversations with optional status and contact filters, read individual threads, and page through the messages within them — all without touching the dashboard.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ArnasDon/wacrm/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/v1/conversations
Required scope: conversations:read
Returns a paginated list of conversations ordered newest first. Each conversation embeds its associated contact record along with the contact’s full tag set, giving you everything you need in a single request. See Pagination and Errors for cursor mechanics and the ?limit= parameter.
Query parameters
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by conversation status: open, pending, or closed. |
contact_id | string | Filter to conversations belonging to a specific contact UUID. |
limit | number | Page size; default 50, max 100. |
cursor | string | Opaque cursor from the previous page’s meta.next_cursor. Omit for the first page. |
Response
Array of conversation objects for the current page.
Opaque cursor for the next page.
null indicates the last page.GET /api/v1/conversations/{id}
Required scope: conversations:read
Returns a single conversation by its UUID, including the embedded contact and tags. Returns 404 if the conversation does not exist or belongs to a different account.
GET /api/v1/conversations/{id}/messages
Required scope: messages:read
Returns a paginated list of messages within a conversation, ordered newest first. Before any message is returned, the conversation is verified to belong to your account — a foreign or unknown conversation ID returns 404.
Query parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | Page size; default 50, max 100. |
cursor | string | Opaque cursor from the previous page’s meta.next_cursor. Omit for the first page. |
Response
Internal UUID of the message.
UUID of the parent conversation.
inbound for messages sent by the contact to you; outbound for messages you or Wacrm sent to the contact.Raw sender type from the messages table (e.g.
customer for inbound, agent or system for outbound).The message content type:
text, image, video, document, audio, template, or unsupported.The text body for
text messages, or the caption for media messages. null for types with no text content.URL of the media attachment for media-type messages.
null for non-media messages.Name of the WhatsApp template for
template-type messages. null for other types.The
wamid.* identifier from the WhatsApp Business API. Present on all inbound messages and on outbound messages that were successfully dispatched.Delivery state of the message. Outbound messages move through states such as
sent, delivered, and read as Meta delivery webhooks arrive. Inbound messages are received.UUID of the message this message is a reply to, or
null if it is not a reply.Stable ID of an interactive (button/list) reply selection. Only set when
content_type is interactive; null otherwise.ISO 8601 timestamp when the message was stored in Wacrm.
Messages are returned newest first. To display a conversation chronologically in your UI, reverse the array after fetching, or accumulate pages and display in reverse-fetch order.