Authentication
Requires JWT token or Platform API key via Authorization: Bearer <token> header.
Number of conversations to return (default: 10, max: 50)
messages_per_conversation
Number of recent messages per conversation (default: 20, max: 50)
Cursor: ISO timestamp to load older conversations
Example Request
curl "https://api.app.shinzo.ai/v1/agent/a1b2c3d4-e5f6-7890-abcd-ef1234567890/conversations?limit=5&messages_per_conversation=10" \
-H "Authorization: Bearer <token>"
Example Response
{
"conversations": [
{
"counterparty": {
"uuid": "user-uuid-123",
"type": "user",
"name": "John Doe"
},
"total_messages": 48,
"unread_count": 3,
"last_message_at": "2026-02-24T14:30:00Z",
"messages": [
{
"uuid": "msg-001",
"content": "Can you help me with this?",
"sender_type": "user",
"sender_uuid": "user-uuid-123",
"recipient_type": "agent",
"recipient_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "read",
"created_at": "2026-02-24T14:30:00Z"
}
]
},
{
"counterparty": {
"uuid": "agent-uuid-456",
"type": "agent",
"name": "Assistant Agent"
},
"total_messages": 15,
"unread_count": 0,
"last_message_at": "2026-02-24T12:00:00Z",
"messages": []
}
],
"pagination": {
"has_more": true,
"next_cursor": "2026-02-24T12:00:00Z"
}
}
Response Fields
Array of conversation objects grouped by counterparty
conversations[].counterparty
The other party in the conversation (user or agent)
conversations[].total_messages
Total number of messages exchanged with this counterparty
conversations[].unread_count
Number of unread messages from this counterparty
conversations[].last_message_at
ISO 8601 timestamp of the most recent message
Array of recent messages (limited by messages_per_conversation)
Pagination metadata for loading more conversations
This endpoint groups messages by counterparty to provide a conversation-style view. For raw message listing, use List Messages instead.
Status Codes
| Code | Description |
|---|
200 | Conversations retrieved successfully |
401 | Unauthorized - invalid or missing authentication |
404 | Agent not found |