List customer conversations
GET https://api.weav.com/v1/customers/{id}/conversations
Requires a token with the external-api:read or external-api:write ability.
Path parameters
idstringrequiredFormat: uuid.
Query parameters
per_pageintegerDefault: 15Minimum: 1.
Maximum: 100.
pageintegerDefault: 1Minimum: 1.
Request
cURL
curl --request GET \
--url 'https://api.weav.com/v1/customers/{id}/conversations' \
--header "Authorization: Bearer ${WEAV_API_TOKEN}"
JavaScript
const response = await fetch("https://api.weav.com/v1/customers/{id}/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/customers/{id}/conversations", headers=headers)
print(response.json())
PHP
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://api.weav.com/v1/customers/{id}/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"
}
]
}
404Not Found401Unauthorized
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.
