Troubleshooting
Troubleshoot AI by separating call completion, recording availability, and result availability. A call can be complete even when one AI section is still missing.
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 \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'
Real Response
{
"data": {
"call": {
"id": "call_123",
"direction": "inbound",
"from": "+15551230001",
"to": "+15551230002",
"status": "completed",
"duration_seconds": 180
},
"transcription": {
"status": "completed",
"language": "en",
"full_text": "I need help with billing.",
"segments": []
},
"summary": {
"status": "completed",
"summary": "The caller asked for billing help.",
"outcome": "follow_up_needed",
"sentiment": "neutral",
"action_items": [
"Review invoice"
],
"key_points": [
"Billing question"
]
},
"score": {
"status": "completed",
"total_score": 17,
"max_score": 20,
"percentage": 85,
"items": []
},
"topics": [
{
"topic": "Billing",
"raw_topic": "billing",
"normalized_topic": "Billing",
"confidence": 0.92
}
]
}
}
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
Create a call detail page that shows independent states for transcript, summary, score, and topics instead of treating AI as one all-or-nothing result.
Common Failure Case
{
"error": {
"code": "call_not_found",
"message": "call 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.
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.
Debug checklist
Start with the combined endpoint. If only one section is missing, call that individual endpoint to get its exact error code. If every section is missing, verify the call ID, call ownership, recording state, and whether the call has completed.
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.