Skip to main content

End To End Checklist

  • Create/select an active application with answer_url, webhook_url, webhook_secret, and API key.
  • Configure an active customer, rate, and outbound trunk.
  • Place an outbound call with record=true.
  • Verify call and recording webhooks.
  • Fetch call, recording, transcription, summary, score, and topics where data exists.
  • Repeat with inbound DID webhook routing.
  • Repeat failure tests.
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.

Manual test checklist

Run each test from a clean browser session or a clean command line environment so stale tokens and cached webhook payloads do not hide problems. Record the MiniVoice call ID, the exact request body you sent, the HTTP response, and every webhook event received for the same call. Those four items are enough to reproduce most integration issues.

A useful test run includes a happy path, one caller error such as no input or hangup, and one platform-facing error such as an unreachable destination or rejected request. Keep the payloads as fixtures so future changes can be checked quickly.

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

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

Run repeatable tests for a receptionist IVR, call-forwarding flow, appointment reminder, recording workflow, and AI review dashboard.

Common Failure Case

{
"error": {
"code": "webhook_test_failed",
"message": "test receiver returned non-2xx"
}
}

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