Returns the main analytics datasets for the selected date range in one response: conversation volume, response-time trends, operator performance, visitor sources, and plan-usage counters.
/api/analytics/realtime-summaryReturns the main analytics datasets for the selected date range in one response: conversation volume, response-time trends, operator performance, visitor sources, and plan-usage counters. This combines the datasets used by the analytics overview. Recently completed writes may take a short time to appear in the result. To use custom dates, send both start and end as ISO 8601 datetimes with offsets. Explicit boundaries override range; a single boundary is rejected. Date buckets are calculated in UTC. Periods with no data return the documented empty or zero-value response. Endpoints that support format=csv return a text/csv download. CSV export may require an eligible plan; JSON is the default.
pages.docs.apiRequirements.bearerApiKey pages.docs.apiRequirements.or pages.docs.apiRequirements.apiKeyHeader.analytics:readautomation_api)Query parameter. Range. Allowed values: 7d, 30d, 90d.
Query parameter. ISO 8601 date and time for start.
Query parameter. ISO 8601 date and time for end.
Query parameter. Format. Allowed values: json, csv.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"conversationVolume": [
{
"date": "2026-06-01",
"count": 42
}
],
"responseTimes": [
{
"avgResponseMs": 192000,
"date": "2026-06-01"
}
],
"operatorPerformance": [
{
"operatorId": "33333333-3333-4333-8333-333333333333",
"name": "Alex Johnson",
"conversationsHandled": 48,
"avgResponseMs": 18400
}
],
"visitorSources": [
{
"source": "Direct",
"count": 21
}
],
"planUsage": {
"plan": "growth",
"operators": {
"used": 4,
"limit": 5
},
"conversations": {
"used": 184,
"limit": 1000
},
"aiCredits": {
"used": 920,
"limit": 5000
}
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request GET \
'https://api.convor.io/api/analytics/realtime-summary?format=json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/analytics/realtime-summary?format=json", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?