Skip to main content

Topics

Topics identify subjects discussed in a call. Use normalized topics for dashboards and raw topics for review detail.

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-topics \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'

Real Response

{
"count": 3,
"data": [
{
"topic": "Billing",
"raw_topic": "billing issue",
"normalized_topic": "Billing",
"confidence": 0.92
},
{
"topic": "Pricing",
"raw_topic": "price increase",
"normalized_topic": "Pricing",
"confidence": 0.83
},
{
"topic": "Technical Support",
"raw_topic": "login problem",
"normalized_topic": "Technical Support",
"confidence": 0.78
}
]
}

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

Group calls by topics such as Billing, Pricing, Working Hours, and Technical Support, then link each group back to the source calls.

Common Failure Case

{
"error": {
"code": "ai_topics_not_found",
"message": "AI topics 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.

Topic storage

Store both raw and normalized topic values. Normalized topics are better for charts because they group similar phrases. Raw topics are useful when a reviewer wants to understand exactly what the model saw in the call. Confidence should be displayed or used as a filter when your dashboard includes automated trend reporting.

For example, raw phrases such as invoice question and billing issue can both appear under the normalized Billing topic.

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.