Skip to main content

Overview

MiniVoice lets developers build programmable voice workflows with applications, DIDs, SIP trunks, call actions, webhooks, recordings, billing controls, and AI results.

A typical integration flow is:

  1. Create or select an application and API key.
  2. Configure an answer_url that returns call actions.
  3. Assign a DID to the application.
  4. Receive inbound calls or create outbound calls.
  5. Handle webhook events.
  6. Review recordings, transcripts, summaries, scores, and topics when enabled.

All customer API examples use the /v1 API and bearer authentication.

Integration guidance

Use this page as part of a complete MiniVoice integration, not as an isolated reference. Start by wiring the smallest possible version in a test application, then add business logic after you can reproduce the behaviour reliably. Keep the MiniVoice call ID in your own records, because that ID is the easiest way to connect API responses, webhook events, recordings, AI results, and billing details.

When you build the workflow, separate caller experience from backend processing. The caller should hear short prompts and reach a destination quickly. Longer work, such as updating a CRM or creating a support ticket, should happen after your webhook endpoint has accepted the event. This keeps the voice flow responsive and makes retry handling easier.

For manual testing, use one known DID, one known destination number, and one webhook receiver where you can inspect request headers and bodies. Run the same test at least three times: one normal path, one invalid input path, and one timeout or no-answer path. Save the examples that worked as fixtures for future regression tests.

Integration checklist

Set up the smallest possible working integration before adding business logic. Use one API key, one application, one answer_url, one webhook_url, and one DID or outbound test number. Save the successful request and response bodies because they become the baseline for later troubleshooting.

When you add features, change one part of the flow at a time. If a call fails, check authentication first, then the route, then the answer_url response, then webhook delivery. That order usually separates setup errors from call-control errors quickly.

Copy/Paste Examples

Real Request

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

Real Response

{
"data": [],
"count": 0
}

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

Prepare the base integration for a receptionist IVR, appointment confirmation line, or payment reminder workflow before sending real callers through it.

Common Failure Case

{
"error": {
"code": "unauthorized",
"message": "unauthorized"
}
}

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