curl --request GET \
--url https://api.dialtu.com/api/v2/public/whatsapp/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dialtu.com/api/v2/public/whatsapp/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dialtu.com/api/v2/public/whatsapp/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"session_id": 123,
"status": "<string>",
"direction": "<string>",
"customer_phone_number": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"client": {
"id": 123,
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone": "<string>",
"email": "<string>",
"company": "<string>"
},
"disposition": {
"id": 123,
"name": "<string>"
},
"sentiment": "<string>",
"summary": "",
"message_count": 0,
"has_more_messages": false,
"last_message_at": "2023-11-07T05:31:56Z",
"messages": [
{
"id": 123,
"sender_type": "<string>",
"sender": {
"type": "<string>",
"id": 123,
"name": "<string>",
"email": "<string>"
},
"message_type": "<string>",
"content": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"media": {
"kind": "<string>",
"mime": "<string>",
"filename": "<string>",
"caption": "<string>"
},
"reply_to_id": 123
}
],
"assigned_users": [
{
"id": 123,
"name": "<string>",
"email": "<string>"
}
],
"participants": {
"ai_agents": [
{
"id": 123,
"name": "<string>",
"message_count": 0,
"first_message_at": "2023-11-07T05:31:56Z",
"last_message_at": "2023-11-07T05:31:56Z"
}
],
"users": [
{
"id": 123,
"name": "<string>",
"email": "<string>",
"message_count": 0,
"first_message_at": "2023-11-07T05:31:56Z",
"last_message_at": "2023-11-07T05:31:56Z"
}
]
}
}
],
"count": 123,
"limit": 123,
"offset": 123,
"status": "success"
}List WhatsApp conversations
List WhatsApp conversations (sessions) with their inline transcripts.
Results are a flat, paginated list of sessions ordered by sort_by. Each
session carries a compact client object, its disposition, and (unless
include_messages=false) its messages. Media messages expose metadata only
(no file URLs). Sessions whose transcript exceeds max_messages_per_session
are truncated with has_more_messages=true — fetch the rest from
/conversations/{session_id}/messages.
Every message names its sender in sender (the AI agent, the team member,
or the client). Each session also carries participants — everyone who
replied in that conversation, split into ai_agents and users with
per-participant message counts, covering the whole conversation even when
the transcript is truncated or omitted.
Use updated_after together with sort_by=updated_at for incremental sync.
curl --request GET \
--url https://api.dialtu.com/api/v2/public/whatsapp/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dialtu.com/api/v2/public/whatsapp/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dialtu.com/api/v2/public/whatsapp/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"session_id": 123,
"status": "<string>",
"direction": "<string>",
"customer_phone_number": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"client": {
"id": 123,
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone": "<string>",
"email": "<string>",
"company": "<string>"
},
"disposition": {
"id": 123,
"name": "<string>"
},
"sentiment": "<string>",
"summary": "",
"message_count": 0,
"has_more_messages": false,
"last_message_at": "2023-11-07T05:31:56Z",
"messages": [
{
"id": 123,
"sender_type": "<string>",
"sender": {
"type": "<string>",
"id": 123,
"name": "<string>",
"email": "<string>"
},
"message_type": "<string>",
"content": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"media": {
"kind": "<string>",
"mime": "<string>",
"filename": "<string>",
"caption": "<string>"
},
"reply_to_id": 123
}
],
"assigned_users": [
{
"id": 123,
"name": "<string>",
"email": "<string>"
}
],
"participants": {
"ai_agents": [
{
"id": 123,
"name": "<string>",
"message_count": 0,
"first_message_at": "2023-11-07T05:31:56Z",
"last_message_at": "2023-11-07T05:31:56Z"
}
],
"users": [
{
"id": 123,
"name": "<string>",
"email": "<string>",
"message_count": 0,
"first_message_at": "2023-11-07T05:31:56Z",
"last_message_at": "2023-11-07T05:31:56Z"
}
]
}
}
],
"count": 123,
"limit": 123,
"offset": 123,
"status": "success"
}Autorizaciones
API key created in the dashboard under Settings → API Keys. Send it as Authorization: Bearer pk_....
Parámetros de consulta
Only sessions created at/after this UTC timestamp.
Only sessions created before this UTC timestamp.
Only sessions updated at/after this UTC timestamp. Use for incremental sync (pull only what changed since the last fetch).
Only sessions belonging to this client.
Case-insensitive match against client first/last name and the customer phone number.
Filter to sessions whose disposition tag is one of these IDs (OR).
When combined with disposition_tag_ids, also include sessions with no disposition tag.
Session status: new, ai_handling, human_handling, resolved, expired.
Session direction: inbound or outbound.
Sort field, prefix with '-' for descending. One of: created_at, updated_at, last_message_at, client_name.
Max sessions per page (max 50).
1 <= x <= 50Number of sessions to skip.
x >= 0Include the inline transcript. Set false for a metadata-only browse.
Max messages embedded per session (oldest-first). Sessions with more set has_more_messages=true; fetch the rest from the messages endpoint.
1 <= x <= 2000Respuesta
OK
Paginated list of WhatsApp conversations.
Conversations on this page.
Show child attributes
Show child attributes
Total sessions matching the filters.
Page size that was applied.
Offset that was applied.
Always success.
"success"