Interact with an ongoing call by submitting a set of SVAML commands. Use this to force disconnect, play messages, bridge with another call, or perform other call control actions.
Client-generated idempotency key to safely retry requests. The server uses this key to recognize retries of the same request. If a request with the same key is received within 10 minutes, the server returns the cached response from the original request. Using a random UUID (v4) is strongly recommended.
An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.
Blocking vs. non-blocking: Some commands block execution until they complete (pause, webhook, menu, gotoMenu), while others return immediately and run in parallel (dial, messages, amd, answer, hangup, startRecording, stopRecording, bridgeCall, stopMessages). Each command's description specifies its behavior.
Nesting scope: Commands that appear inside event handlers (e.g., dial.events.onAnswer, messages.events.onFinish) form independent sequences and execute in their own context — they are not continuations of the parent sequence.
Nesting depth: A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its events object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with 400 Bad Request; a webhook response that exceeds it counts as a failed delivery.
- Endpoint which enables consuming the Voice API globally - Redirected by Sinch to the closest region.https://voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
- North America 1 - Easthttps://us1.voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
- South America 1 - Easthttps://br1.voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
- Europe 1 - Centralhttps://eu1.voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
- Asia Pacific 1 - Southeasthttps://sg1.voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
- https://au1.voice.api.sinch.comhttps://au1.voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}
curl -i -X PATCH \
-u '<username>:<password>' \
'https://voice.api.sinch.com/v2/projects/{projectId}/calls/{callId}' \
-H 'Content-Type: application/json' \
-d '{
"commands": [
{
"command": "hangup"
}
]
}'