Skip to main content

Call Variables

Call variables can be set and removed with JSON actions. Variables are included in webhook payloads so your integration can keep context across action redirects and webhook handlers. Names must be 128 characters or fewer and values must be 4096 characters or fewer.

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

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.