CRM
Get CRM dashboard metrics
Retrieve aggregated CRM metrics for contacts, AI/human handling, and tasks
GET
/
api
/
v1
/
crm
/
dashboard
curl -X GET "https://api.sayvy.ai/api/v1/crm/dashboard" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/crm/dashboard"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/crm/dashboard", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/crm/dashboard"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": {
"total": 1250,
"new": 340,
"engaged": 520,
"qualified": 210,
"customers": 150,
"lost": 30
},
"handling": {
"ai": 980,
"human": 270
},
"tasks": {
"pending": 45,
"overdue": 8
}
}
{
"detail": "Unauthorized"
}
Retrieve executive and operational metrics summarizing your organization’s entire CRM state in real time. Returns contacts broken down by lifecycle stage, AI vs human conversation handling counts, and active/overdue task quantities.
Authentication
This endpoint requires Bearer token authentication.Authorization: Bearer <token>
| Header | Type | Required | Description | Format |
|---|---|---|---|---|
Authorization | string | Yes | Scoped organization API key or Bearer JWT token | Bearer <token> |
Input parameters
string
required
Bearer token for authentication. Format:
Bearer <token>.Response Fields
object
Contact distribution across pipeline lifecycle stages:
object
object
curl -X GET "https://api.sayvy.ai/api/v1/crm/dashboard" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/crm/dashboard"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/crm/dashboard", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/crm/dashboard"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": {
"total": 1250,
"new": 340,
"engaged": 520,
"qualified": 210,
"customers": 150,
"lost": 30
},
"handling": {
"ai": 980,
"human": 270
},
"tasks": {
"pending": 45,
"overdue": 8
}
}
{
"detail": "Unauthorized"
}
‹ PreviousNext ›
List tasks
GET /api/v1/crm/tasks
Was this page helpful?
⌘I
curl -X GET "https://api.sayvy.ai/api/v1/crm/dashboard" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/crm/dashboard"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/crm/dashboard", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/crm/dashboard"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": {
"total": 1250,
"new": 340,
"engaged": 520,
"qualified": 210,
"customers": 150,
"lost": 30
},
"handling": {
"ai": 980,
"human": 270
},
"tasks": {
"pending": 45,
"overdue": 8
}
}
{
"detail": "Unauthorized"
}