Skip to main content

List conversations

GET /api/workspaces/:id/conversations
Query parameters:
ParamTypeDescription
statusstringFilter by status: open, cold, closed
categorystringFilter by category
resolutionstringFilter by resolution status
consumerstringFilter by consumer type
limitnumberPage size
offsetnumberOffset for pagination
Response:
{
  "conversations": [{
    "id": "conv-abc123",
    "workspace_id": "ws-example",
    "consumer_type": "slack",
    "status": "closed",
    "user_name": "Jane",
    "channel": "#support",
    "message_count": 8,
    "sentiment_score": 0.7,
    "resolution_status": "resolved",
    "category": "support",
    "summary": "User asked about order status...",
    "total_cost_usd": 0.024,
    "first_message_at": "2026-04-18T10:00:00Z",
    "last_activity_at": "2026-04-18T10:15:00Z"
  }],
  "total": 45,
  "filters": {
    "status": ["open", "cold", "closed"],
    "consumer": ["slack", "api"],
    "category": ["query", "support", "issue"],
    "resolution": ["resolved", "unresolved"]
  }
}

Get conversation detail

GET /api/workspaces/:id/conversations/:cid
Returns the full conversation with message history and stats.
{
  "conversation": {
    "id": "conv-abc123",
    "status": "closed",
    "user_name": "Jane",
    "channel": "#support",
    "message_count": 8
  },
  "messages": [{
    "id": "msg-1",
    "seq": 1,
    "role": "user",
    "content": "What's the status of order ORD-2026-001?",
    "tools_called": null,
    "tokens_input": null,
    "cost_usd": null,
    "created_at": "2026-04-18T10:00:00Z"
  }, {
    "id": "msg-2",
    "seq": 2,
    "role": "assistant",
    "content": "Order ORD-2026-001 is currently DELIVERED...",
    "tools_called": "[\"get_order_status\"]",
    "tokens_input": 860,
    "tokens_output": 310,
    "cost_usd": 0.008,
    "duration_ms": 2340,
    "created_at": "2026-04-18T10:00:03Z"
  }],
  "stats": {
    "sentiment_score": 0.7,
    "resolution_status": "resolved",
    "category": "support",
    "summary": "User asked about order status...",
    "total_cost_usd": 0.024,
    "stats_status": "complete"
  }
}

Close conversation

POST /api/workspaces/:id/conversations/:cid/close
Manually closes the conversation and queues stats generation.
{"status": "closed", "message": "Conversation closed and stats generation queued."}