Skip to main content

Topic Object

{
"topic": "billing",
"raw_topic": "billing question",
"normalized_topic": "billing",
"confidence": 0.87
}

How To Use This Object

Treat this object as a contract between MiniVoice and your application. Store the fields that your workflow needs for lookup, reporting, and support. At minimum, keep the object ID, related call ID when present, status, timestamps, and any customer or application identifiers returned by the API.

When you display this object in a UI, separate stable identifiers from values that can change as the call progresses. IDs and creation timestamps are useful for correlation. Status, duration, cost, recording size, transcript text, score, and topics may become available later or change from an initial empty value to a completed value.

For testing, create fixtures from real API responses in your test account. Use those fixtures to verify your parser, dashboard, and webhook handlers. Your code should ignore fields it does not use, tolerate optional fields being absent, and avoid failing when a later MiniVoice release adds new fields. This makes the integration easier to maintain while still preserving the data your workflow depends on.

Integration checklist

Use this reference page when you write parsers, fixtures, or dashboards. Keep the object ID as the primary lookup key, store related call or application IDs when they are present, and treat timestamps as UTC values. Your integration should accept optional fields being absent, ignore fields it does not use, and keep the raw object in logs while you are validating a new workflow.

Before you ship, test this object with at least one completed call, one failed call, and one call that has no recording or AI result. That gives your UI and automation code realistic empty states instead of only the perfect path.

Copy/Paste Examples

Real Request

curl -sS https://api.minivoice.eu/v1/calls/call_123 \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'

Real Response

{
"id": "call_123",
"status": "completed",
"direction": "outbound",
"application_id": "app_123",
"customer_id": "cust_123"
}

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": "inbound",
"from": "+15551230001",
"to": "+15551230002"
},
"variables": {},
"data": {}
}

Common Use Case

Use this object shape to build fixtures for a receptionist IVR, outbound reminder, recording review, or AI dashboard integration.

Common Failure Case

{
"error": {
"code": "invalid_request",
"message": "request body did not match the expected object shape"
}
}

Use the error code for branching and log the full response body while testing.