Get Results
Retrieve goal achievements and pause analysis for a recording.
GET
https://api.identitycall.ai/api/v1/public/recordings/:id/resultsGet AI-powered analysis including goal evaluation and pause analysis.
Requires read permission
Path Parameters
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
id | integer | Yes | - | Recording ID |
Request
cURL
curl -X GET "https://api.identitycall.ai/api/v1/public/recordings/123/results" \
-H "Authorization: Bearer $IDENTITYCALL_API_KEY"Response
Response200 OK
{
"data": {
"recording_id": 123,
"goals": [
{
"goal_id": 1,
"goal_name": "Greeting and Introduction",
"met": true,
"score": 0.95,
"explanation": "Agent properly greeted the customer and introduced themselves within the first 10 seconds."
},
{
"goal_id": 2,
"goal_name": "Collect Email Address",
"met": true,
"score": 0.88,
"explanation": "Agent successfully collected and verified the customer's email address."
},
{
"goal_id": 3,
"goal_name": "Offer Follow-up",
"met": false,
"score": 0.30,
"explanation": "Agent did not offer a follow-up call or email to confirm resolution."
}
],
"client_assessment": {
"percentage": 50,
"met_count": 1,
"total_count": 2,
"conflict": false,
"criteria": [
{ "name": "Clear question", "met": true, "reasoning": "The client asked about the VAT return deadline." },
{ "name": "Polite", "met": false, "reasoning": "The client interrupted the agent several times." }
]
},
"pauses": [
{
"start_ms": 15000,
"end_ms": 18500,
"duration_ms": 3500,
"compliant": true,
"after_dialogue_id": 458
},
{
"start_ms": 95000,
"end_ms": 102000,
"duration_ms": 7000,
"compliant": false,
"after_dialogue_id": 472
}
]
}
}Response Fields
Goals
| Field | Type | Description |
|---|---|---|
goal_id | integer | Goal configuration ID |
goal_name | string | Goal name |
met | boolean | Whether the goal was achieved |
score | number | Confidence score (0-1) |
explanation | string | AI explanation of the evaluation |
Client assessment
How the customer did against the project’s client criteria. It is scored separately and never changes the operator’s score. null when the call was not assessed (no client criteria, or not processed yet). The second leg of a paired call returns the primary leg’s rating.
| Field | Type | Description |
|---|---|---|
percentage | integer | null | Share of criteria met, rounded (0-100); null with no criteria |
met_count | integer | Criteria met |
total_count | integer | Criteria asked |
conflict | boolean | The call shows a conflict with the client |
criteria | array | { name, met, reasoning } per criterion, as it was asked on this call |
Pauses
| Field | Type | Description |
|---|---|---|
start_ms | integer | Pause start time in milliseconds |
end_ms | integer | Pause end time in milliseconds |
duration_ms | integer | Pause duration in milliseconds |
compliant | boolean | Whether pause meets compliance rules |
after_dialogue_id | integer | ID of dialogue before the pause |
Errors
| Status | Error | Description |
|---|---|---|
| 404 | “Resource not found” | Recording doesn’t exist |