List the conversations in one workspace, most recent activity first. Every filter narrows within workspaceId, and q searches the contact name, the contact e-mail, and message text at once. Paging is by page/perPage rather than by cursor, so a conversation whose activity moves between two requests can be seen twice or skipped. Every operation is scoped by the required workspaceId. A workspace-scoped API key that names any other workspace is refused with 403 before any query runs, so a workspace key can only ever reach its own workspace.
/api/v1/chat/conversationsAuthorization
apiKey Your Studio API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Query Parameters
1-based page number. Defaults to 1.
11 <= value <= 9007199254740991Items per page, between 1 and 100. Defaults to 25.
251 <= value <= 100Workspace whose conversations are listed.
1 <= lengthNarrow to one lifecycle status. Omit to include every status.
"open" | "resolved" | "pending" | "snoozed" | "waiting_csat"Narrow to conversations assigned to this agent.
1 <= lengthNarrow to conversations in this inbox.
1 <= lengthNarrow to conversations held by this team.
1 <= lengthNarrow to one priority.
"none" | "low" | "medium" | "high" | "urgent"Case-insensitive search across the contact name, the contact e-mail, and the text of any message in the conversation.
1 <= length <= 200Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://agent-studio.seeyu.ai/api/v1/chat/conversations?workspaceId=string" \ -H "X-API-Key: YOUR_API_KEY"{
"conversations": [
{
"id": "conv_01J9M4Q0X6R7",
"workspaceId": "ws_01J8F2K3N5P7",
"inboxId": "inb_01J8F2K3N5P8",
"contactId": "cnt_01J8F2K3N5P9",
"assigneeId": "usr_01J8F2K3N5PA",
"teamId": null,
"status": "open",
"priority": "high",
"lastActivityAt": "2026-08-28T14:22:05.000Z",
"createdAt": "2026-08-27T09:10:44.000Z",
"contact": {
"id": "cnt_01J8F2K3N5P9",
"name": "Ana Ribeiro",
"email": "ana@example.com",
"phone": "+5511987654321",
"avatarUrl": null
},
"inbox": {
"id": "inb_01J8F2K3N5P8",
"name": "Support — WhatsApp",
"channelType": "whatsapp"
},
"assignee": {
"id": "usr_01J8F2K3N5PA",
"name": "Marcos Lima",
"avatarUrl": null
},
"lastMessage": {
"id": "msg_01J9M4Q0X6RA",
"content": "Thanks, that fixed it!",
"messageType": "incoming",
"createdAt": "2026-08-28T14:22:05.000Z"
},
"agentLastSeenAt": "2026-08-28T14:20:00.000Z",
"additionalAttributes": null,
"customAttributes": {
"plan": "pro"
},
"unreadCount": 2
}
],
"pagination": {
"page": 1,
"perPage": 25,
"total": 1,
"totalPages": 1
}
}{
"error": "Invalid input: expected string, received undefined",
"details": [
{
"code": "invalid_type",
"expected": "string",
"path": [
"phone"
],
"message": "Invalid input: expected string, received undefined"
}
]
}{
"error": "Unauthorized"
}{
"error": "API key is not authorized for this workspace"
}{
"error": "Rate limit exceeded",
"message": "API rate limit exceeded. Please retry after 2026-09-13T12:00:00.000Z",
"retryAfter": 1789286400000
}{
"error": "Internal server error",
"requestId": "req_01J9Z2K3M4N5P6Q7R8S9T0"
}