Place an outbound call
make_callPlaces one outbound voice call via Vobiz, plays spoken text or audio, and returns a request UUID for call-status follow-up.
Instructions
Place ONE outbound call through Vobiz (POST /Account/{auth_id}/Call/); say (text to speak) and/or play (a direct https .mp3/.wav link, or the name of a file in the audio library) is the simplest way to put content on it: this server hosts the call script, and the call ends automatically after the content unless loop is 0. answer_url is only for callers hosting their own VobizXML; a call with neither answer_url nor say/play only speaks a short placeholder greeting and ends after a few seconds. Required: to (destination, E.164), from (caller ID: must be an active number on this account), and confirm: true after the user has explicitly approved this exact call. Success means Vobiz ACCEPTED/QUEUED the request and returned a request_uuid; it does NOT mean the call connected. Follow up with get_call_status using the returned request_uuid as call_uuid. Never call this twice for the same intent: if the outcome is unknown, check list_live_calls / list_call_records instead. Pass a unique idempotency_key per intended call: repeating a key replays the first result instead of dialling again; without one, an identical call inside the duplicate window fails with duplicate_blocked. Once the call is live, act on it with speak_text, play_audio, transfer_call or end_call. Server policy (enforced, not negotiable by the model): allowed destination countries, blocked prefixes, max duration, per-minute/hour caps, max concurrent calls, minimum balance; outbound calling itself can be switched off (calls_disabled).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination number in E.164, e.g. +919876543210. One number only. | |
| say | No | Text spoken when the call is answered (max 600 characters), e.g. "Your table is ready." | |
| from | Yes | Caller ID: a Vobiz number on this account, E.164. | |
| loop | No | How many times to play the audio (or speak the text when there is no audio), 0..10, default 1. 0 = repeat until the call is hung up. | |
| play | No | Audio played when the call is answered: a direct https link to an .mp3 or .wav FILE (not a web page such as Pixabay, YouTube, Spotify or SoundCloud), or the name or id of a file in the audio library. | |
| order | No | With both say and play: which comes first (default play_then_say). | |
| voice | No | Speech voice for `say` (default WOMAN). | |
| confirm | Yes | Must be true, set only after the user explicitly confirmed this call (destination and caller ID). If your client supports MCP elicitation, the server asks the user to approve directly and this flag is not relied on; otherwise it is your attestation that the user approved. | |
| language | No | Speech language for `say` (default en-US). | |
| answer_url | No | Your own URL that returns VobizXML when the call is answered. Not combinable with say/play. Defaults to the server's VOBIZ_DEFAULT_ANSWER_URL. | |
| hangup_url | No | URL notified when the call hangs up (defaults to answer_url; with say/play, to this server's script hangup URL). | |
| time_limit | No | Maximum call duration in seconds. Defaults to, and may not exceed, the server's VOBIZ_MAX_CALL_DURATION_SEC. | |
| caller_name | No | Caller name shown where supported (max 50 chars). | |
| ring_timeout | No | Seconds to ring before giving up (default 120). | |
| answer_method | No | HTTP method for answer_url (default POST). | |
| idempotency_key | No | Unique key for this intended call (e.g. a UUID). Repeating it replays the first result instead of dialling again; a new key is the only way to place a second identical call inside the duplicate window. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | True on success. On a failure the result is isError with ok: false plus `error` (kind), `message`, `retryable` and sometimes `http_status`. | |
| note | No | Reminder that acceptance is not connection and how to follow up. | |
| api_id | No | Vobiz API request id for support queries, or null. | |
| how_to | No | Present with `script`: what happens when the call is answered and how to check whether it was. | |
| script | No | Present when say/play was given (or the placeholder greeting is used): what this server's hosted call script plays and in which order. | |
| accepted | No | True when Vobiz accepted or queued the call request. | |
| replayed | No | True when an idempotency_key was repeated and this is the stored result of the first attempt; no new call was placed. | |
| connected | No | Always false here: acceptance says nothing about the call being answered. Follow it with get_call_status. | |
| time_limit | No | Maximum duration in seconds the call was placed with (after the server's cap). | |
| http_status | No | HTTP status Vobiz answered with. | |
| request_uuid | No | Vobiz's identifier for the call; pass it as call_uuid to get_call_status, end_call and the in-call tools. | |
| backend_message | No | Vobiz's own confirmation text, or null when it sent none. |