curl "https://zeplo.ai/api/conversations?status=open&limit=20" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "x-channel-id: YOUR_CHANNEL_ID"
{
"success": true,
"data": [
{
"id": 1,
"channelId": "647015955153740",
"contactId": 5,
"contactName": "John Doe",
"contactPhone": "919876543210",
"status": "open",
"assignedTo": 2,
"assignedToName": "Agent Smith",
"lastMessage": "Hello, I need help",
"lastMessageAt": "2026-01-15T10:30:00Z",
"unreadCount": 3,
"tags": ["support", "billing"],
"createdAt": "2026-01-14T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3
}
}
Conversations
GET List Conversations
Retrieve all conversations with filtering and pagination.
GET
/
api
/
conversations
curl "https://zeplo.ai/api/conversations?status=open&limit=20" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "x-channel-id: YOUR_CHANNEL_ID"
{
"success": true,
"data": [
{
"id": 1,
"channelId": "647015955153740",
"contactId": 5,
"contactName": "John Doe",
"contactPhone": "919876543210",
"status": "open",
"assignedTo": 2,
"assignedToName": "Agent Smith",
"lastMessage": "Hello, I need help",
"lastMessageAt": "2026-01-15T10:30:00Z",
"unreadCount": 3,
"tags": ["support", "billing"],
"createdAt": "2026-01-14T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3
}
}
List Conversations
GET /api/conversations
Retrieve a paginated list of conversations for the authenticated user.
Headers
string
required
Your API key
string
required
Your API secret key
string
required
WhatsApp channel ID
curl "https://zeplo.ai/api/conversations?status=open&limit=20" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "x-channel-id: YOUR_CHANNEL_ID"
Query parameters
integer
default:"1"
Page number for pagination.
integer
default:"20"
Items per page.
string
Filter by status:
open, resolved, closed.integer
Filter by assigned team member.
integer
Filter by channel.
string
Search contact name or phone.
string
default:"lastMessageAt"
Sort field.
string
default:"desc"
asc or desc.{
"success": true,
"data": [
{
"id": 1,
"channelId": "647015955153740",
"contactId": 5,
"contactName": "John Doe",
"contactPhone": "919876543210",
"status": "open",
"assignedTo": 2,
"assignedToName": "Agent Smith",
"lastMessage": "Hello, I need help",
"lastMessageAt": "2026-01-15T10:30:00Z",
"unreadCount": 3,
"tags": ["support", "billing"],
"createdAt": "2026-01-14T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3
}
}
Get unread count
GET /api/conversations/unread-count
Retrieve the total number of unread conversations.
curl https://zeplo.ai/api/conversations/unread-count \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "x-channel-id: YOUR_CHANNEL_ID"
{
"success": true,
"count": 12
}
