Scorecards
Scorecard results appear in the score response as item names, scores, reasons, and evidence. Preserve returned results with the call so historical reporting stays consistent.
AI results are read after a call has completed and recorded audio has been processed. The public API exposes read endpoints for combined AI, transcription, summaries, scoring, and topics. Your integration should store the returned status and payload so the UI can show completed, missing, and failed states separately.
Real Request
curl -sS https://api.minivoice.eu/v1/calls/call_123/ai-score \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'
Real Response
{
"data": {
"status": "completed",
"total_score": 17,
"max_score": 20,
"percentage": 85,
"items": [
{
"name": "Greeting",
"score": 5,
"max_score": 5,
"reason": "Agent greeted the caller clearly.",
"evidence": "Thanks for calling support."
}
]
}
}
Real Webhook Example
{
"event": "call.completed",
"created_at": "2026-05-29T12:10:00Z",
"call": {
"id": "call_123",
"customer_id": "cust_123",
"application_id": "app_123",
"status": "completed",
"direction": "outbound",
"from": "+15551230001",
"to": "+15551230002"
},
"variables": {},
"data": {}
}
Common Use Case
Display each score item in a review form and avoid hardcoding local assumptions about how many items a scored call will contain.
Common Failure Case
{
"error": {
"code": "ai_score_not_found",
"message": "AI score not found"
}
}
Do not hide the call when one AI result is missing. Show the call metadata immediately and let each AI section render its own completed or unavailable state.
Historical scores
Preserve score responses as returned for each call. If your organization changes scoring expectations later, old calls should still show the score, item names, reasons, and evidence that were produced for that call. This keeps historical reports stable and prevents old QA reviews from changing unexpectedly.
A good review screen shows both the overall percentage and the item-level evidence so a supervisor can verify why a score was assigned.
Response handling
AI endpoints should be consumed as enrichment, not as the primary call record. Store the call ID, result status, and raw response for each feature your product uses. A completed call can have a completed transcript and a missing score, or a completed summary and no topics. Model those states independently in your UI and data layer.
For dashboards, prefer progressive loading. Show the call metadata first, then render transcript, summary, score, sentiment, and topics as each read succeeds. For automations, branch on explicit result values and status fields instead of assuming every recorded call has the same AI outputs.
Testing
Place a recorded call with known wording, wait for call.completed, then fetch this endpoint. Save the response as a fixture and test your parser against completed data plus the not-found response shown above.