Recordings Overview
Recordings capture call audio for review and AI processing. Customer routes let you start and stop recording for a call, list recordings for a call, and retrieve recording metadata.
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
Use recording controls only when your application needs the audio later for review, transcription, or quality workflows. Start recording at a clear point in the call flow, store the recording ID from responses or webhooks, and wait for the final call state before assuming the file is ready for downstream processing.
For testing, place a short call with known spoken phrases, then verify that your application can connect the call ID, recording ID, and later AI result. Also test a call with no recording so your UI has a clean empty state.
Copy/Paste Examples
Real Request
curl -sS -X POST https://api.minivoice.eu/v1/calls/call_123/recordings \
-H 'Authorization: Bearer $MINIVOICE_API_KEY' \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"action": "start"
}
JSON
Real Response
{
"data": {
"call_id": "call_123",
"action": "start",
"recording": {
"id": "rec_call_123",
"status": "started",
"duration_seconds": 0,
"size_bytes": 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
Start and stop recording around the part of the call you need to review.
Common Failure Case
{
"error": {
"code": "recording_not_started",
"message": "recording is not currently started"
}
}
Use the error code for branching and log the full response body while testing.