VOICE API

    Voice API for AI voice agents

    The Vobiz Voice API is a programmable voice API for AI voice agents. Start a call with one REST request, script the flow in VobizXML, stream live audio to your agent over WebSocket, and transfer or record the call while it is in progress.

    Talk to an engineer

    10min

    to first call

    Sub-80ms

    one-way latency

    20ms

    audio frames

    15M+

    calls a day

    How it works

    From API key to a live call
    in three steps

    No ticket, no provisioning window. Everything below works from the console or the REST API.

    API key123Live call
    01Get a number
    CountryUS
    Search415
    Phone number+1 415 555 0100Buy
    BASH
    1# Place an outbound call: returns a call_uuid2curl -X POST https://api.vobiz.ai/api/v1/Account/$AUTH_ID/Call/ \3-H "X-Auth-ID: $AUTH_ID" -H "X-Auth-Token: $AUTH_TOKEN" \4-H "Content-Type: application/json" \5-d '{"from":"+14155550100","to":"+14155550123",6"answer_url":"https://agent.example.com/answer","answer_method":"POST"}'
    VobizXML
    XML
    1<!-- What your answer_url returns: greet, then stream to your agent -->2<Response>3<Speak>Connecting you now.</Speak>4<Stream bidirectional="true">wss://agent.example.com/ws</Stream>5</Response>
    Voice API quickstart

    Built for voice AI

    Your voice API sets the latency floor
    before the model says a word

    On Vobiz, media crosses exactly one internal relay,
    and streaming and recording fork off the path rather than sitting in it.

    One-way latency

    <80ms

    Speech onset delay

    50ms

    Signal-to-noise

    38.4dB

    PESQ MOS

    4.2+

    Learn more about Vobiz's single-hop architectureKnow more

    Vobiz internal measurements.

    Live call control

    A call control API that works
    after the call connects

    Call control that ends at setup leaves a failing conversation to run its course. On Vobiz, every live call is addressable by its call_uuid until it hangs up.

    Call control reference

    Warm transfer to a human

    put the caller on hold music while you reach an agent, then connect them with new instructions.

    POST /Call/{call_uuid}/withaleg_url

    Play, speak and send tones mid-call

    inject audio, text-to-speech or DTMF into either side of the call.

    /Play//Speak//DTMF/

    Record on demand

    start and stop recording at any point in the call.

    /Record/

    Attach a stream to a live call

    fork audio to a transcription or QA service after a transfer, without touching the agent's stream.

    /Stream/

    Conference and supervise

    bridge callers into a room, then mute, deafen or remove participants individually.

    <Conference>/Conference/{name}/Member/

    Answering machine detection

    detect voicemail synchronously or asynchronously, then hang up or leave a message.

    machine_detection

    Real-time audio streaming

    Stream live call audio to your
    agent over WebSocket

    Audio streaming is built into the media layer, not added to it through recordings and webhooks. Return one <Stream> verb and Vobiz opens a bidirectional WebSocket to your server, sending audio in 20 ms frames.

    Audio streaming reference
    Vobizbidirectional WebSocketYour serverwss://agent.example.com/ws
    20 ms frames
    • Formats your pipeline already uses

      — 16-bit linear PCM at 8, 16 or 24 kHz, or μ-law at 8 kHz.

    • Barge-in flush

      — send clearAudio and queued playback stops the moment the caller speaks.

    • Playback checkpoints

      — mark the end of an utterance and get a playedStream event when the caller has actually heard it.

    • Fork mid-call

      — start additional one-way streams over REST for transcription or monitoring, and stop each independently.

    Vobiz XML

    Build an IVR or call flow
    in a few lines of XML

    When a call connects, Vobiz requests your answer URL and runs the VobizXML you return, top to bottom. Speak, play, gather keypad or speech input, dial out, record, stream, conference or redirect. Classic IVR and AI voice agents run on the same surface.

    VobizXML
    XML
    1<Response>2<Gather numDigits="1" executionTimeout="10" action="https://example.com/menu">3<Speak>Press 1 for billing, or 2 to talk to an agent.</Speak>4</Gather>5<Speak>We didn't get that. Goodbye.</Speak>6<Hangup/>7</Response>

    Webhooks and events

    Every call event, posted to
    your server as it happens

    Set an answer URL, ring URL and hangup URL per call. Vobiz posts call context the moment a call arrives, rings, connects and ends, so you can pull customer context or route before the caller hears a word.

    EventWhere you set itWhat you get
    Call answeredanswer_urlCaller, callee, direction, custom SIP headers. You reply with VobizXML
    Ringingring_urlCall status as the far end rings
    Call endedhangup_urlDuration, billed duration, hangup cause
    Transfer or dial result<Dial action>Dial status and both leg IDs
    Voicemail detectedmachine_detection_urlMachine true or false, while the call continues
    Your server
    1. POSTring_urlRinging
      CallStatus
    2. POSTanswer_urlCall answered
      FromToDirectionX-VH-…VobizXML
    3. POSTmachine_detection_urlVoicemail detected
      Machine
    4. POST<Dial action>Transfer or dial result
      DialStatusDialALegUUIDDialBLegUUID
    5. POSThangup_urlCall ended
      DurationBillDurationHangupCause

    Observability

    Know whether a bad call was
    the network or the model

    Every call detail record carries 43 fields — MOS, jitter, packet loss, negotiated codec, which side hung up and why. Fetch by call_uuid, filter per sub-account, or export to CSV.

    Call detail records
    • codecPCMU
    • mos4.5
    • jitter0ms
    • packet_loss0%
    • hangup_sourceCallerhangup_causeNORMAL_CLEARING

    Integrations

    Connect our voice API
    to the agent platform you already run

    Self-hosted pipelines take audio straight from the Voice API over WebSocket. Managed agent platforms take the call over SIP. Both run on the same numbers and the same account.

    PlatformHow it connectsSetup guide
    Voice API + WebSocket audio streamPipecat integration guide
    Dograh·custom STT–LLM–TTS pipelinesVoice API + WebSocket audio streamAudio streaming docs
    ··SIP trunk/integrations/
    ·SIP trunk/integrations/

    Use cases

    What developers build
    on the Vobiz Voice API

    Inbound AI agents

    — answer every call with an agent, pull customer context from the webhook before it speaks, and hand off to a human mid-call.

    Inbound AI agent guide

    Outbound AI calling

    — trigger calls from your CRM, scheduler or backend, detect voicemail, and leave a message or retry.

    Outbound AI calling campaign

    IVR and call routing

    — keypad and speech menus in VobizXML, routing to the right queue, agent or AI flow.

    IVR example in Python

    Click-to-call in your product

    — connect your users to their customers from inside your app, with recording and call records on every call.

    Browser and in-app calling

    Get started

    Your first call is
    ten minutes away

    Get a number, place a call, stream it to your agent.
    No ticket, no sales call, no commitment.

    Book a demo

    FAQ

    Voice API questions