Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Merkurcode/nauto-console/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Conversations represent the communication threads between your team and contacts. Each conversation belongs to an inbox and can contain multiple messages.

List Conversations

Retrieve a list of conversations with filtering options.
GET /api/v1/accounts/{account_id}/conversations

Path Parameters

account_id
integer
required
The ID of the account

Query Parameters

inbox_id
integer
Filter by inbox ID
status
string
Filter by status: open, pending, resolved, snoozed
assignee_type
string
Filter by assignee: me, unassigned, all
page
integer
default:"1"
Page number for pagination

Response

id
integer
Conversation ID
display_id
integer
Display ID shown in UI
inbox_id
integer
Associated inbox ID
status
string
Conversation status: open, pending, resolved, snoozed
priority
string
Priority level: low, medium, high, urgent, or null
assignee
object
Assigned agent information
contact
object
Contact information
unread_count
integer
Number of unread messages
last_activity_at
integer
Unix timestamp of last activity

Example Request

curl -X GET "https://app.chatwoot.com/api/v1/accounts/1/conversations?status=open&page=1" \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Example Response

{
  "data": {
    "payload": [
      {
        "id": 1,
        "display_id": 1,
        "inbox_id": 1,
        "status": "open",
        "priority": "high",
        "muted": false,
        "assignee": {
          "id": 1,
          "name": "John Doe",
          "email": "john@acme.com"
        },
        "contact": {
          "id": 1,
          "name": "Customer Name",
          "email": "customer@example.com"
        },
        "unread_count": 3,
        "last_activity_at": 1704067200,
        "created_at": 1704060000
      }
    ],
    "meta": {
      "count": 25,
      "current_page": 1
    }
  }
}

Get Conversation

Retrieve details of a specific conversation.
GET /api/v1/accounts/{account_id}/conversations/{id}

Path Parameters

account_id
integer
required
The ID of the account
id
integer
required
The display ID of the conversation

Example Request

curl -X GET https://app.chatwoot.com/api/v1/accounts/1/conversations/1 \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Create Conversation

Create a new conversation with a contact.
POST /api/v1/accounts/{account_id}/conversations

Path Parameters

account_id
integer
required
The ID of the account

Request Body

contact_id
integer
required
Contact ID
inbox_id
integer
required
Inbox ID
source_id
string
External source identifier
status
string
default:"open"
Initial status: open, pending, resolved
assignee_id
integer
Agent ID to assign the conversation to
message
object
Initial message object
message.content
string
Message content
message.message_type
string
Message type: incoming or outgoing

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": 1,
    "inbox_id": 1,
    "status": "open",
    "assignee_id": 1,
    "message": {
      "content": "Hello, I need help with my order",
      "message_type": "incoming"
    }
  }'

Example Response

{
  "id": 1,
  "display_id": 1,
  "inbox_id": 1,
  "status": "open",
  "priority": null,
  "assignee": {
    "id": 1,
    "name": "John Doe"
  },
  "contact": {
    "id": 1,
    "name": "Customer Name"
  },
  "created_at": 1704067200
}

Update Conversation

Update conversation properties.
PATCH /api/v1/accounts/{account_id}/conversations/{id}

Path Parameters

account_id
integer
required
The ID of the account
id
integer
required
The display ID of the conversation

Request Body

priority
string
Priority: low, medium, high, urgent, or null

Example Request

curl -X PATCH https://app.chatwoot.com/api/v1/accounts/1/conversations/1 \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "priority": "high"
  }'

Delete Conversation

Delete a conversation permanently.
DELETE /api/v1/accounts/{account_id}/conversations/{id}

Path Parameters

account_id
integer
required
The ID of the account
id
integer
required
The display ID of the conversation

Example Request

curl -X DELETE https://app.chatwoot.com/api/v1/accounts/1/conversations/1 \
  -H "api_access_token: YOUR_ACCESS_TOKEN"
Deleting a conversation is permanent and cannot be undone. All messages and metadata will be removed.

Toggle Status

Change the conversation status.
POST /api/v1/accounts/{account_id}/conversations/{id}/toggle_status

Path Parameters

account_id
integer
required
The ID of the account
id
integer
required
The display ID of the conversation

Request Body

status
string
required
New status: open, pending, resolved, snoozed
snoozed_until
string
ISO 8601 timestamp when to unsnooze (required if status is snoozed)

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/toggle_status \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "resolved"
  }'

Toggle Priority

Change the conversation priority.
POST /api/v1/accounts/{account_id}/conversations/{id}/toggle_priority

Path Parameters

account_id
integer
required
The ID of the account
id
integer
required
The display ID of the conversation

Request Body

priority
string
required
Priority: low, medium, high, urgent, or null

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/toggle_priority \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "priority": "urgent"
  }'

Mute Conversation

Mute notifications for a conversation.
POST /api/v1/accounts/{account_id}/conversations/{id}/mute

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/mute \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Unmute Conversation

Unmute notifications for a conversation.
POST /api/v1/accounts/{account_id}/conversations/{id}/unmute

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/unmute \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Mark as Unread

Mark conversation as unread.
POST /api/v1/accounts/{account_id}/conversations/{id}/unread

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/unread \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Update Last Seen

Update agent’s last seen timestamp.
POST /api/v1/accounts/{account_id}/conversations/{id}/update_last_seen

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/update_last_seen \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Update Custom Attributes

Update conversation custom attributes.
POST /api/v1/accounts/{account_id}/conversations/{id}/custom_attributes

Request Body

custom_attributes
object
required
Custom attributes as key-value pairs

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/custom_attributes \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "custom_attributes": {
      "order_id": "ORD-12345",
      "product_type": "subscription"
    }
  }'

Get Conversation Transcript

Send conversation transcript via email.
POST /api/v1/accounts/{account_id}/conversations/{id}/transcript

Request Body

email
string
required
Email address to send transcript to

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/1/transcript \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "customer@example.com"
  }'
Email transcripts may be rate-limited based on your account plan.

Get Attachments

Retrieve all attachments in a conversation.
GET /api/v1/accounts/{account_id}/conversations/{id}/attachments

Query Parameters

page
integer
default:"1"
Page number (100 attachments per page)

Example Request

curl -X GET https://app.chatwoot.com/api/v1/accounts/1/conversations/1/attachments \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Search Conversations

Search conversations by content.
GET /api/v1/accounts/{account_id}/conversations/search

Query Parameters

q
string
required
Search query
page
integer
default:"1"
Page number

Example Request

curl -X GET "https://app.chatwoot.com/api/v1/accounts/1/conversations/search?q=order" \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Filter Conversations

Filter conversations using advanced filters.
POST /api/v1/accounts/{account_id}/conversations/filter

Request Body

payload
array
required
Array of filter conditions

Example Request

curl -X POST https://app.chatwoot.com/api/v1/accounts/1/conversations/filter \
  -H "api_access_token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": [
      {
        "attribute_key": "status",
        "filter_operator": "equal_to",
        "values": ["open"]
      },
      {
        "attribute_key": "priority",
        "filter_operator": "equal_to",
        "values": ["high"]
      }
    ]
  }'

Get Conversation Meta

Get conversation count metadata without fetching conversations.
GET /api/v1/accounts/{account_id}/conversations/meta

Example Request

curl -X GET https://app.chatwoot.com/api/v1/accounts/1/conversations/meta \
  -H "api_access_token: YOUR_ACCESS_TOKEN"

Conversation Status Types

Open

Active conversations requiring attention.

Pending

Conversations waiting for customer response.

Resolved

Closed conversations that are resolved.

Snoozed

Conversations temporarily hidden until a specific time.

Priority Levels

  • Low: Non-urgent matters
  • Medium: Standard priority
  • High: Important issues
  • Urgent: Critical issues requiring immediate attention
  • null: No priority set

Build docs developers (and LLMs) love