Skip to main content

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.

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.

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

ParameterTypeDescription
statusstringFilter by conversation status: open, pending, or closed.
contact_idstringFilter to conversations belonging to a specific contact UUID.
limitnumberPage size; default 50, max 100.
cursorstringOpaque cursor from the previous page’s meta.next_cursor. Omit for the first page.

Response

{
  "data": [
    {
      "id": "conv-uuid-…",
      "contact_id": "contact-uuid-…",
      "status": "open",
      "assigned_agent_id": null,
      "last_message_text": "Hey, I have a question.",
      "last_message_at": "2026-07-01T15:44:00.000Z",
      "unread_count": 1,
      "created_at": "2026-06-01T10:00:00.000Z",
      "updated_at": "2026-07-01T15:45:00.000Z",
      "contact": {
        "id": "contact-uuid-…",
        "phone": "+14155550123",
        "name": "Jane Doe",
        "email": null,
        "company": "Acme",
        "tags": [
          { "id": "tag-uuid-…", "name": "vip", "color": "#3b82f6" }
        ]
      }
    }
  ],
  "meta": { "next_cursor": "eyJ…" }
}
data
Conversation[]
Array of conversation objects for the current page.
meta.next_cursor
string | null
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.
curl https://your-crm.example.com/api/v1/conversations/conv-uuid-… \
  -H "Authorization: Bearer wacrm_live_xxx"

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

ParameterTypeDescription
limitnumberPage size; default 50, max 100.
cursorstringOpaque cursor from the previous page’s meta.next_cursor. Omit for the first page.

Response

{
  "data": [
    {
      "id": "msg-uuid-…",
      "conversation_id": "conv-uuid-…",
      "direction": "inbound",
      "sender_type": "customer",
      "content_type": "text",
      "content_text": "Hey, I have a question about my order.",
      "media_url": null,
      "template_name": null,
      "whatsapp_message_id": "wamid.…",
      "status": "received",
      "reply_to_message_id": null,
      "interactive_reply_id": null,
      "created_at": "2026-07-01T12:00:00.000Z"
    }
  ],
  "meta": { "next_cursor": null }
}
id
string
Internal UUID of the message.
conversation_id
string
UUID of the parent conversation.
direction
string
inbound for messages sent by the contact to you; outbound for messages you or Wacrm sent to the contact.
sender_type
string
Raw sender type from the messages table (e.g. customer for inbound, agent or system for outbound).
content_type
string
The message content type: text, image, video, document, audio, template, or unsupported.
content_text
string | null
The text body for text messages, or the caption for media messages. null for types with no text content.
media_url
string | null
URL of the media attachment for media-type messages. null for non-media messages.
template_name
string | null
Name of the WhatsApp template for template-type messages. null for other types.
whatsapp_message_id
string | null
The wamid.* identifier from the WhatsApp Business API. Present on all inbound messages and on outbound messages that were successfully dispatched.
status
string
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.
reply_to_message_id
string | null
UUID of the message this message is a reply to, or null if it is not a reply.
interactive_reply_id
string | null
Stable ID of an interactive (button/list) reply selection. Only set when content_type is interactive; null otherwise.
created_at
string
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.

Build docs developers (and LLMs) love