curl --request GET \
--url https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance \
--header 'X-API-KEY: <api-key>'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"summary": {
"goal_rate": 0.625,
"avg_latency_ms": 912.4,
"total_cost": 42.75,
"cost_per_outcome": 0.57
},
"latency": {
"p50_ms": 883.4,
"p95_ms": 1074.7,
"scored": 102,
"total": 120
},
"currency": "INR",
"version_comparison": [
{
"agent_version_id": "00000000-0000-4000-8000-0000000000d1",
"total": 120,
"connected": 84,
"connection_rate": 0.7,
"aht_seconds": 41.2,
"goal_rate": 0.625,
"positive_sentiment_share": 0.72,
"avg_latency_ms": 912.4
}
],
"assistants_in_action": [
{
"agent_id": "00000000-0000-4000-8000-0000000000a1",
"agent_name": "Ananya",
"call_count": 120,
"total_connected": 84,
"total_minutes": 310.5,
"cost": 42.75
}
]
}{
"message": "invalid channel(s): sms"
}{
"message": "Failed to fetch agent performance!"
}Get Agent Performance
Get goal rate, latency and cost for your agents, a side-by-side comparison of agent versions, and call, minute and cost totals for each agent in scope.
curl --request GET \
--url https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance \
--header 'X-API-KEY: <api-key>'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://prod-api.ringg.ai/ca/api/v0/analytics/v4/agent-performance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"summary": {
"goal_rate": 0.625,
"avg_latency_ms": 912.4,
"total_cost": 42.75,
"cost_per_outcome": 0.57
},
"latency": {
"p50_ms": 883.4,
"p95_ms": 1074.7,
"scored": 102,
"total": 120
},
"currency": "INR",
"version_comparison": [
{
"agent_version_id": "00000000-0000-4000-8000-0000000000d1",
"total": 120,
"connected": 84,
"connection_rate": 0.7,
"aht_seconds": 41.2,
"goal_rate": 0.625,
"positive_sentiment_share": 0.72,
"avg_latency_ms": 912.4
}
],
"assistants_in_action": [
{
"agent_id": "00000000-0000-4000-8000-0000000000a1",
"agent_name": "Ananya",
"call_count": 120,
"total_connected": 84,
"total_minutes": 310.5,
"cost": 42.75
}
]
}{
"message": "invalid channel(s): sms"
}{
"message": "Failed to fetch agent performance!"
}agent_version_id to compare versions in version_comparison.
Notes
summarycovers every version of the selected agents;agent_version_idchanges onlyversion_comparison.goal_rateuses each call’s own version goal (see Where the goal comes from). It isnullwhen no call in scope has a goal value.total_cost,costandtotal_minutescount completed calls only, in the workspacecurrency.client_analysis_key,client_analysis_valueandclient_analysis_typenarrow the result to calls with one Advanced Analysis value, for exampledispositionequal tointerested.assistants_in_actionlists agents with at least one call in scope, sorted bycall_count.
Errors
400: a filter is invalid, such as an unknownchannel, a malformed ID, orsub_workspace_idsent from a workspace that isn’t a primary workspace.401:X-API-KEYis missing or invalid.
Authorizations
Query Parameters
Start of the reporting window. Accepts YYYY-MM-DD or ISO-8601. Omit both dates for all time.
"2026-10-01"
End of the reporting window (inclusive). Accepts YYYY-MM-DD or ISO-8601.
"2026-10-15"
Filter by one or more agent IDs (comma-separated).
"00000000-0000-4000-8000-0000000000a1"
Filter by one or more agent version IDs (comma-separated).
"00000000-0000-4000-8000-0000000000d1"
Filter by one or more campaign (bulk list) IDs (comma-separated). Callback calls inherit the campaign of their parent call.
"00000000-0000-4000-8000-0000000000c1"
true returns only voicemail calls, false excludes them. Omit to include all calls.
false
Filter by call channel (comma-separated): inbound, outbound, webcall. Unknown values return 400.
"outbound"
Include callback-feature calls (call_category = CALLBACK) in the metrics. Defaults to false.
false
Only include calls whose post-call analysis field has this key, for example disposition. Use with client_analysis_value.
"disposition"
Value that client_analysis_key must equal.
"interested"
How to compare client_analysis_value.
string, boolean, number Primary workspaces only: limit the combined analytics to these Ringg Spaces. Repeat the parameter for multiple IDs. The primary workspace's own ID is accepted; any other workspace sending this parameter gets 400.
["00000000-0000-4000-8000-000000000101"]
Response
Agent performance retrieved successfully.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Your workspace's billing currency, used by the cost fields.
Per-version metrics. Pass two or more IDs in agent_version_id to compare versions.
Show child attributes
Show child attributes
Agents with at least one call in scope, sorted by call_count descending.
Show child attributes
Show child attributes
Was this page helpful?