Query Agent Analytics
curl --request POST \
--url https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"metrics": [],
"filter": {
"startTime": "<string>",
"endTime": "<string>",
"utcOffset": "<string>"
}
}
}
'import requests
url = "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query"
payload = { "query": {
"metrics": [],
"filter": {
"startTime": "<string>",
"endTime": "<string>",
"utcOffset": "<string>"
}
} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: {
metrics: [],
filter: {startTime: '<string>', endTime: '<string>', utcOffset: '<string>'}
}
})
};
fetch('https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => [
'metrics' => [
],
'filter' => [
'startTime' => '<string>',
'endTime' => '<string>',
'utcOffset' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query"
payload := strings.NewReader("{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"conversations": {
"counts": [
123
],
"total": 123
},
"conversationsByCountry": [
{
"id": "<string>",
"value": 123
}
],
"uniqueIps": {
"counts": [
123
],
"total": 123
},
"totalCallDuration": {
"counts": [
123
],
"total": 123
},
"totalCost": {
"counts": [
123
],
"total": 123,
"currency": "<string>"
},
"averageCost": {
"counts": [
123
],
"average": 123,
"currency": "<string>"
},
"endedReason": [
{
"reason": "<string>",
"count": 123
}
],
"topMisunderstoodMessages": [
{
"id": "<string>",
"label": "<string>",
"count": 123
}
],
"topTopics": [
{
"id": "<string>",
"label": "<string>",
"count": 123
}
],
"interactions": {
"counts": [
123
],
"total": 123
},
"incomingTextMessages": {
"counts": [
123
],
"total": 123
},
"tokens": [
{
"model": "<string>",
"count": 123
}
],
"topIntents": [
{
"name": "<string>",
"count": 123
}
],
"understoodMessages": {
"total": 123,
"understood": 123,
"missed": 123
},
"averageInteractions": 123
}{
"error": "An unexpected error occurred"
}Analytics
Query Agent Analytics
Query various metrics about a agent, such as the number of conversations, the number of users, and the number of messages
POST
/
agents
/
{agentId}
/
analytics
/
query
Query Agent Analytics
curl --request POST \
--url https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"metrics": [],
"filter": {
"startTime": "<string>",
"endTime": "<string>",
"utcOffset": "<string>"
}
}
}
'import requests
url = "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query"
payload = { "query": {
"metrics": [],
"filter": {
"startTime": "<string>",
"endTime": "<string>",
"utcOffset": "<string>"
}
} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: {
metrics: [],
filter: {startTime: '<string>', endTime: '<string>', utcOffset: '<string>'}
}
})
};
fetch('https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => [
'metrics' => [
],
'filter' => [
'startTime' => '<string>',
'endTime' => '<string>',
'utcOffset' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query"
payload := strings.NewReader("{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chat-dash.com/v1/public/agents/{agentId}/analytics/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": {\n \"metrics\": [],\n \"filter\": {\n \"startTime\": \"<string>\",\n \"endTime\": \"<string>\",\n \"utcOffset\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"conversations": {
"counts": [
123
],
"total": 123
},
"conversationsByCountry": [
{
"id": "<string>",
"value": 123
}
],
"uniqueIps": {
"counts": [
123
],
"total": 123
},
"totalCallDuration": {
"counts": [
123
],
"total": 123
},
"totalCost": {
"counts": [
123
],
"total": 123,
"currency": "<string>"
},
"averageCost": {
"counts": [
123
],
"average": 123,
"currency": "<string>"
},
"endedReason": [
{
"reason": "<string>",
"count": 123
}
],
"topMisunderstoodMessages": [
{
"id": "<string>",
"label": "<string>",
"count": 123
}
],
"topTopics": [
{
"id": "<string>",
"label": "<string>",
"count": 123
}
],
"interactions": {
"counts": [
123
],
"total": 123
},
"incomingTextMessages": {
"counts": [
123
],
"total": 123
},
"tokens": [
{
"model": "<string>",
"count": 123
}
],
"topIntents": [
{
"name": "<string>",
"count": 123
}
],
"understoodMessages": {
"total": 123,
"understood": 123,
"missed": 123
},
"averageInteractions": 123
}{
"error": "An unexpected error occurred"
}Headers
All requests to the ChatDash API must be validated with the agency API Key found on your agency profile
Path Parameters
The ID of the agent
Body
application/json
Show child attributes
Show child attributes
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Maximum array length:
5Show child attributes
Show child attributes
Maximum array length:
5Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The average number of interactions per conversation
⌘I
