Ten minutes. If the call arrives on a Twilio or Telnyx number, you do not open a socket. You point the number's voice URL at CallerAPI. The endpoint returns TwiML or TeXML that forks the caller's audio to the filter and dials the number you name.Verdicts for these calls go to your webhook only. Both vendors drop the media socket on an unknown message, so the filter cannot send events on the stream. Set webhook.Twilio#
1.
In the Twilio console, open the number.
2.
Under Voice Configuration, set "A call comes in" to Webhook, method POST.
https://api.callerapi.com/api/voice/filter/twiml?key=YOUR_KEY&forward=%2B15551234567&webhook=https://example.com/hook&language=en
| Parameter | Required | Meaning |
|---|
key | yes | Your API key. |
forward | yes | The E.164 number the call rings, URL-encoded. + is %2B. Without it the endpoint answers 400. |
webhook | recommended | HTTPS URL that receives events. The only live channel on Twilio. |
language | no | BCP-47 transcription hint. |
report | no | true files the caller when the final level is scam. Default false. |
tracks | no | both also transcribes the called party, labelled callee. Transcription cost doubles. |
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Start>
<Stream url="wss://api.callerapi.com/api/voice/filter/stream?key=YOUR_KEY" track="inbound_track">
<Parameter name="from" value="+15559990000"/>
<Parameter name="to" value="+15551234567"/>
<Parameter name="webhook" value="https://example.com/hook"/>
<Parameter name="language" value="en"/>
</Stream>
</Start>
<Dial>+15551234567</Dial>
</Response>
The caller's number rides on the stream as the from parameter. Twilio does not send it in the start frame. If you write your own TwiML, add <Parameter name="from"> with the From value from the Twilio voice webhook. Without it, from is empty and the block action has no caller number.Telnyx#
1.
In the Telnyx portal, create a TeXML Application.
https://api.callerapi.com/api/voice/filter/texml?key=YOUR_KEY&forward=%2B15551234567&webhook=https://example.com/hook
3.
Assign a number to the application. Call the number.
The same parameters as Twilio apply. Telnyx sends from and to in the start frame, so they are always present. The stream uses codec="PCMU". PCMA is also accepted.Both vendors#
The endpoint accepts POST and GET. Open the URL in a browser to check the XML before you save it in the vendor console.
Only the caller's track is streamed unless tracks=both is set.
call_id in every event is the Twilio CallSid or the Telnyx call control id.
The honeypot has the same two endpoints at /honeypot/twiml and /honeypot/texml. See Hand a call over. Modified at 2026-09-18 16:56:49