v77

latestOpenAPI 3.1.0MITraw.githubusercontent.com2026-08-012528701.8 MB
Calls

Send call commands

Unified JSON-RPC style endpoint for executing call methods through command-based dispatch. Send a request with the appropriate command field to invoke the desired call operation. Only the commands listed below are supported. Most operate on an already-active call; dial creates a new one. All commands are sent over HTTP (no persistent WebSocket connection required) and return immediately; operations that continue asynchronously deliver their results to your status_url webhooks.

Supported Commands

Use one of the following commands in the command field of the request body to perform the corresponding action on an active call. For more details on each command, refer to the individual API reference documentation linked below.

CommandDescription
dialCreate and initiate a new outbound call
updateModify an active call's dialplan in real-time
calling.endTerminate an active call immediately
calling.transferTransfer a call to a new destination (SIP URI, phone number, or inline SWML)
calling.disconnectDisconnect bridged calls without hanging up either leg
calling.playPlay audio, TTS, silence, or ringtone to a call
calling.play.pausePause active playback
calling.play.resumeResume paused playback
calling.play.stopStop active playback
calling.play.volumeAdjust playback volume
calling.recordStart recording a call
calling.record.pausePause active recording
calling.record.resumeResume paused recording
calling.record.stopStop active recording
calling.collectCollect DTMF or speech input
calling.collect.stopStop active collection
calling.collect.start_input_timersStart input timers on active collect
calling.detectStart a detector (answering machine, fax, or digit)
calling.detect.stopStop active detector
calling.tapTap call audio to an RTP or WebSocket endpoint
calling.tap.stopStop active tap
calling.transcribeStart background transcription of a call
calling.transcribe.stopStop active transcription
calling.streamStream call audio to a WebSocket endpoint
calling.stream.stopStop active stream
calling.denoiseStart noise reduction on a call
calling.denoise.stopStop noise reduction
calling.ai_holdPlace an AI call on hold
calling.ai_unholdResume an AI call from hold
calling.ai_messageInject a message into an active AI conversation
calling.ai.stopStop an active AI session
calling.ai_sidecarAttach a real-time AI observer (sidecar) to a call, or summarize the conversation
calling.ai_sidecar.pokeSend a message to the sidecar and prompt an immediate response
calling.ai_sidecar.askAsk the sidecar a one-off question (answered via an ask_answer callback)
calling.ai_sidecar.stopStop and detach the AI sidecar
calling.ai_sidecar.statusGet a snapshot of the sidecar's activity counters
calling.live_transcribeStart, stop, or summarize real-time transcription
calling.live_translateStart, stop, summarize, or inject real-time translation
calling.send_fax.stopStop active fax send
calling.receive_fax.stopStop active fax receive
calling.referTransfer a SIP call via SIP REFER
calling.user_eventFire a custom user event on the call

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Voice.

Learn more about API scopes.

post/api/calling/calls

Request body

OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR

Response

The request has succeeded.

OR

Example response

{
  "from": "+12069708643",
  "to": "+15550198765",
  "source": "realtime_api",
  "created_at": "2024-05-06T12:20:00Z",
  "charge_details": [
    {
      "description": "Outbound Voice",
      "charge": 0.004
    }
  ]
}
All 261 operations