List conversations
GET https://api.weav.com/v1/conversations
Requires a token with the external-api:read or external-api:write ability.
Query parameters
per_pageintegerDefault: 15Minimum: 1.
Maximum: 100.
pageintegerDefault: 1Minimum: 1.
statusstringFilter by status
One of: open, closed.
channelstringFilter by channel
One of: email, chat.
Request
cURL
curl --request GET \
--url 'https://api.weav.com/v1/conversations' \
--header "Authorization: Bearer ${WEAV_API_TOKEN}"
JavaScript
const response = await fetch("https://api.weav.com/v1/conversations", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.WEAV_API_TOKEN}`
}
});
console.log(await response.json());
Python
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['WEAV_API_TOKEN']}"}
response = requests.get("https://api.weav.com/v1/conversations", headers=headers)
print(response.json())
PHP
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://api.weav.com/v1/conversations', [
'headers' => ['Authorization' => 'Bearer '.getenv('WEAV_API_TOKEN')],
]);
echo $response->getBody();
Response
200 OK
{
"data": [
{
"id": "9b2f6c1e-3d4a-4f5b-8c7d-1e2f3a4b5c6d",
"channel": "email",
"customer_id": "9b2f6c1e-3d4a-4f5b-8c7d-1e2f3a4b5c6d",
"subject": "string",
"status": "open",
"priority": "low",
"assignee_id": "9b2f6c1e-3d4a-4f5b-8c7d-1e2f3a4b5c6d",
"assignee_type": "user",
"closed_at": "2026-01-01T00:00:00Z",
"first_response_at": "2026-01-01T00:00:00Z",
"last_message_at": "2026-01-01T00:00:00Z",
"is_spam": false,
"spam_score": 0,
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}
401Unauthorized
Response fields
idstringFormat: uuid.
channelstringOne of: email, chat.
customer_idstringFormat: uuid.
subjectstring | nullstatusstringOne of: open, closed.
prioritystringOne of: low, normal, high, urgent.
assignee_idstring | nullID of the assigned user or agent. Assignees must belong to the same workspace. Chat conversations can only use the original chat agent when assigning an agent. Email conversations can only use the active email agent when assigning an agent.
Format: uuid.
assignee_typestring | nullType of assignee: 'user' for users or 'agent' for AI agents.
One of: user, agent.
closed_atstring | nullFormat: date-time.
first_response_atstring | nullFormat: date-time.
last_message_atstring | nullFormat: date-time.
is_spambooleanspam_scorenumber | nullcreated_atstring | nullFormat: date-time.
updated_atstring | nullFormat: date-time.
