Statuses
Use status to decide what actions are appropriate. Terminal statuses are completed, failed, and canceled. Non-terminal statuses include queued, created, dialing, and in_progress.
Integration checklist
Build call handling around the MiniVoice call ID. Store it as soon as the API returns it or as soon as the first inbound webhook arrives, then attach later status changes, recordings, variables, and AI results to that same record. This makes support investigations and customer dashboards much easier.
For each flow, test a completed call, a caller hangup, and a destination failure. Your application should show the final status clearly and should not assume that recordings, transcripts, or scoring data exist for every call.
Copy/Paste Examples
Real Request
curl -sS -X POST https://api.minivoice.eu/v1/calls \
-H 'Authorization: Bearer $MINIVOICE_API_KEY' \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"from": "+15551230001",
"to": "+15551230002",
"record": true
}
JSON
Real Response
{
"id": "call_123",
"status": "dialing",
"direction": "outbound",
"from": "+15551230001",
"to": "+15551230002",
"application_id": "app_123",
"customer_id": "cust_123",
"created_at": "2026-05-29T12:00:00Z"
}
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
Create and track calls for appointment confirmations, payment reminders, sales callbacks, or call-forwarding workflows.
Common Failure Case
{
"error": {
"code": "insufficient_balance",
"message": "balance is too low to create call"
}
}
Use the error code for branching and log the full response body while testing.