Skip to main content

Webhook Routing

With route_mode webhook, inbound calls use the assigned application's answer_url for call control and webhook_url for events. This is the standard setup for IVRs, call forwarding, recording, and AI workflows.

Integration checklist

Treat a DID as the public entry point for an inbound call flow. Confirm the number is assigned to the intended application or route before you publish it to users, then place a real test call and compare the inbound call webhook with your expected application ID and destination.

When changing routing, test after each change with one known caller number. Keep the previous routing target documented in your own change log so you can restore service quickly if the new answer_url or SIP destination does not behave as expected.

Copy/Paste Examples​

Real Request​

curl -sS https://api.minivoice.eu/v1/dids/by-number/+15551230002 \
-H 'Authorization: Bearer $MINIVOICE_API_KEY'

Real Response​

{
"id": "did_123",
"customer_id": "cust_123",
"application_id": "app_123",
"number_e164": "+15551230002",
"provider": "didww",
"status": "active",
"route_mode": "webhook",
"created_at": "2026-05-29T12:00:00Z",
"updated_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​

Verify the DID that customers will call for a receptionist, Sales routing, Support routing, or call-forwarding flow.

Common Failure Case​

{
"error": {
"code": "not_found",
"message": "DID not found"
}
}

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