Skip to main content
Call commands let you control an active call in real time. You send commands to a specific call via POST /v1/calls/{callId}/commands, passing a JSON body with a type field and any required parameters. All commands return a confirmation response:
Command response

Call Lifecycle

Answer

Accept an incoming call.
Answer a call

Reject

Reject an incoming call. You can optionally include a reason.
Reject a call with reason

Hangup

End an active call.
Hang up a call

Hold and Resume

Hold

Place a call on hold. You can optionally provide a URL to custom hold music.
Hold with custom music

Unhold

Resume a call that is on hold.
Resume a held call

Mute and Unmute

Mute

Mute a specific participant on the call.
Mute a participant

Unmute

Unmute a specific participant on the call.
Unmute a participant

Transfer

Transfer a call to another destination (cold transfer).
Transfer a call

Participants

Add Participant

Add a new participant to the call.
Add a participant

Remove Participant

Remove a participant from the call.
Remove a participant

DTMF

Send DTMF tones (touch-tone signals) during an active call.
Send DTMF digits

Audio Playback

Play Audio

Play an audio file into the call.
Play audio into a call

Stop Audio

Stop any audio currently playing on the call.
Stop audio playback

Recording

Start Recording

Begin recording the call. See the Recordings guide for details on managing recordings after they are created.
Start recording

Stop Recording

Stop the current recording.
Stop recording

Voicemail

Send to Voicemail

Route the current call to voicemail. See the Voicemails guide for details on managing voicemails.
Send to voicemail
URLs provided in hold.musicUrl and play_audio.url must be publicly accessible. Private or internal network addresses are rejected for security reasons.