Sentiment
Sentiment is returned with the AI summary. Expected values are positive, neutral, negative, or mixed when sentiment is available.
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-summary \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'
Real Response
{
"data": {
"status": "completed",
"summary": "The caller asked why the latest invoice was higher than expected.",
"outcome": "follow_up_needed",
"sentiment": "neutral",
"action_items": [
"Review the invoice and call the customer back"
],
"key_points": [
"Invoice question",
"Customer requested follow-up"
]
}
}
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
Build a dashboard that groups calls by sentiment and lets reviewers click through to the transcript and summary for context.
Common Failure Case
{
"error": {
"code": "ai_summary_not_found",
"message": "AI summary 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.
Sentiment values
Use positive for calls where the conversation is clearly favorable, neutral for informational calls without strong emotion, negative for unresolved frustration or complaint-heavy calls, and mixed when the tone changes during the call. A common example of mixed sentiment is a frustrated caller who accepts a resolution before hanging up.
Do not treat sentiment as a compliance decision by itself. Use it as a review signal and always link back to the transcript and summary.
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.