Get account conversation analytics
curl --request GET \
--url https://api.veryfront.com/account/analytics/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/account/analytics/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.veryfront.com/account/analytics/conversations', 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.veryfront.com/account/analytics/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/account/analytics/conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.veryfront.com/account/analytics/conversations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/account/analytics/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"summary": {
"total_conversations": 123,
"active_conversations": 123,
"total_messages": 123,
"last_conversation_at": "<string>"
},
"timeframe": {
"from": "<string>",
"to": "<string>",
"granularity": "day",
"timezone": "<string>",
"bucket_count": 123
},
"series": [
{
"bucket_start": "<string>",
"conversations": 123,
"messages": 123
}
],
"statuses": [
{
"status": "<string>",
"count": 123
}
],
"models": [
{
"provider": "<string>",
"model": "<string>",
"count": 123
}
],
"tools": [
{
"name": "<string>",
"count": 123
}
],
"projects": [
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"project_slug": "<string>",
"count": 123
}
],
"recent_conversations": [
{
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"status": "<string>",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"project_slug": "<string>",
"last_activity_at": "<string>"
}
]
}Returns account-level conversation counts, recency, volume, statuses, model usage, and project breakdowns.
GET
/
account
/
analytics
/
conversations
Get account conversation analytics
curl --request GET \
--url https://api.veryfront.com/account/analytics/conversations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/account/analytics/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.veryfront.com/account/analytics/conversations', 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.veryfront.com/account/analytics/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/account/analytics/conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.veryfront.com/account/analytics/conversations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/account/analytics/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"summary": {
"total_conversations": 123,
"active_conversations": 123,
"total_messages": 123,
"last_conversation_at": "<string>"
},
"timeframe": {
"from": "<string>",
"to": "<string>",
"granularity": "day",
"timezone": "<string>",
"bucket_count": 123
},
"series": [
{
"bucket_start": "<string>",
"conversations": 123,
"messages": 123
}
],
"statuses": [
{
"status": "<string>",
"count": 123
}
],
"models": [
{
"provider": "<string>",
"model": "<string>",
"count": 123
}
],
"tools": [
{
"name": "<string>",
"count": 123
}
],
"projects": [
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"project_slug": "<string>",
"count": 123
}
],
"recent_conversations": [
{
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"status": "<string>",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"project_slug": "<string>",
"last_activity_at": "<string>"
}
]
}Authorizations
bearerAuthapiKeyAuth
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Query Parameters
Relative timeframe preset.
Available options:
7d, 30d, 90d IANA timezone for daily bucket boundaries.
Label filters as key or key=value, repeated or comma-separated. Example: ?label=team=platform&label=criticality=high
Response
Account conversation analytics statistics
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
Show child attributes
Show child attributes
⌘I