curl --request POST \
--url https://api.livechatinc.com/v3.5/reports/chats/response_time \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"from": "2026-06-08T00:00:00-00:00",
"to": "2026-06-15T23:59:59-00:00"
}
}
'import requests
url = "https://api.livechatinc.com/v3.5/reports/chats/response_time"
payload = { "filters": {
"from": "2026-06-08T00:00:00-00:00",
"to": "2026-06-15T23:59:59-00:00"
} }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {from: '2026-06-08T00:00:00-00:00', to: '2026-06-15T23:59:59-00:00'}})
};
fetch('https://api.livechatinc.com/v3.5/reports/chats/response_time', 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.livechatinc.com/v3.5/reports/chats/response_time",
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([
'filters' => [
'from' => '2026-06-08T00:00:00-00:00',
'to' => '2026-06-15T23:59:59-00:00'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.livechatinc.com/v3.5/reports/chats/response_time"
payload := strings.NewReader("{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.livechatinc.com/v3.5/reports/chats/response_time")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.livechatinc.com/v3.5/reports/chats/response_time")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}"
response = http.request(request)
puts response.read_body{
"name": "response-time-report",
"total": 39,
"records": {
"2021-04-08": {
"count": 3,
"response_time": 14.22
},
"2021-04-09": {
"count": 4,
"response_time": 41.35
},
"2021-04-10": {
"count": 3,
"response_time": 10.1
},
"2021-04-11": {
"count": 9,
"response_time": 3.34
},
"2021-04-12": {},
"2021-04-13": {
"count": 5,
"response_time": 8.5
},
"2021-04-14": {},
"2021-04-15": {
"count": 6,
"response_time": 32.3
}
}
}Response time
Returns the average agents’ response time within a licence.
curl --request POST \
--url https://api.livechatinc.com/v3.5/reports/chats/response_time \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"from": "2026-06-08T00:00:00-00:00",
"to": "2026-06-15T23:59:59-00:00"
}
}
'import requests
url = "https://api.livechatinc.com/v3.5/reports/chats/response_time"
payload = { "filters": {
"from": "2026-06-08T00:00:00-00:00",
"to": "2026-06-15T23:59:59-00:00"
} }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {from: '2026-06-08T00:00:00-00:00', to: '2026-06-15T23:59:59-00:00'}})
};
fetch('https://api.livechatinc.com/v3.5/reports/chats/response_time', 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.livechatinc.com/v3.5/reports/chats/response_time",
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([
'filters' => [
'from' => '2026-06-08T00:00:00-00:00',
'to' => '2026-06-15T23:59:59-00:00'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.livechatinc.com/v3.5/reports/chats/response_time"
payload := strings.NewReader("{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.livechatinc.com/v3.5/reports/chats/response_time")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.livechatinc.com/v3.5/reports/chats/response_time")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {\n \"from\": \"2026-06-08T00:00:00-00:00\",\n \"to\": \"2026-06-15T23:59:59-00:00\"\n }\n}"
response = http.request(request)
puts response.read_body{
"name": "response-time-report",
"total": 39,
"records": {
"2021-04-08": {
"count": 3,
"response_time": 14.22
},
"2021-04-09": {
"count": 4,
"response_time": 41.35
},
"2021-04-10": {
"count": 3,
"response_time": 10.1
},
"2021-04-11": {
"count": 9,
"response_time": 3.34
},
"2021-04-12": {},
"2021-04-13": {
"count": 5,
"response_time": 8.5
},
"2021-04-14": {},
"2021-04-15": {
"count": 6,
"response_time": 32.3
}
}
}reports_readAuthorizations
Use your account ID as the username and your personal access token (PAT) as the password, or pass a Base64-encoded value directly in the Authorization header. For more information, see the personal access tokens guide.
Body
The time distribution of results.
hour, day, day-hours, month, year The IANA Time Zone identifier (for example, America/Phoenix). By default, the timezone is taken from the request. If not provided, it's taken from the agent's timezone. When the agent's timezone cannot be determined, filters.from is used to derive it.
Filters for chats reports. If none provided, the report spans the last seven days. If filters are provided, they must contain exactly one pair of time-based filters (from/to, greetings.from/to, or surveys.from/to).
Show child attributes
Show child attributes
Was this page helpful?