curl 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources' \
-H "Authorization: Bearer your-api-key"
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources', {
headers: { Authorization: 'Bearer your-api-key' },
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);
Call Analysis
Get Sources
See which AI agents and dialer numbers an analyzer watches
GET
/
deep-analytics
/
analysis-agents
/
:agentId
/
sources
curl 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources' \
-H "Authorization: Bearer your-api-key"
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources', {
headers: { Authorization: 'Bearer your-api-key' },
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);
Returns what the analyzer watches and the rules for new calls.
call_agents and dialer_numbers (the choices, with recent recorded-call counts) are included only if you have manage. Numbers are masked.
Needs
view on the analyzer.Request
Headers
Path
Response
200{
"success": true,
"data": {
"agent_ids": [
"<ai-agent-uuid>"
],
"agent_names": [
"Front desk"
],
"dialer_number_ids": [
"12"
],
"dialer_number_names": [
"+91XXXXXX3210"
],
"auto_new": true,
"min_seconds": 30,
"self_heal": {
"mode": "suggest",
"enabled_by": { "id": 17, "name": "Priya Nair" },
"can_suggest": true,
"can_auto": true,
"auto_unavailable_reason": null,
"defaults": { "repeat_calls": 3, "window_calls": 20, "verify_calls": 10, "cooldown_hours": 24, "daily_cap": 1 }
},
"call_agents": [
{
"id": "<ai-agent-uuid>",
"name": "Front desk",
"recorded_last_7d": 12,
"recorded_last_30d": 40
}
],
"dialer_numbers": [
{
"id": "12",
"name": "+91XXXXXX3210",
"recorded_last_7d": 5,
"recorded_last_30d": 18
}
]
}
}
self_heal.mode is off, suggest or auto. enabled_by is who set it (null when off). can_suggest is true when at least one AI agent is watched. can_auto is true when can_suggest is true and the caller can edit agents; otherwise auto_unavailable_reason is NO_AI_AGENTS or NO_AGENT_WRITE. defaults are the fixed thresholds.
Errors
Errors use{ "success": false, "message": "...", "code": "..." }. See the overview for the codes every route can return.
This endpoint
| Status | Code | When |
|---|---|---|
| 404 | NOT_FOUND | The analyzer does not exist or is not visible |
Example
curl 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources' \
-H "Authorization: Bearer your-api-key"
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/sources', {
headers: { Authorization: 'Bearer your-api-key' },
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);