Skip to main content
POST
/
api
/
webhook
/
calls
/
sinch
Handle Sinch voice call webhook
curl --request POST \
  --url https://your-instance.example.com/api/webhook/calls/sinch \
  --header 'Content-Type: application/json' \
  --data '
{
  "event": "ice",
  "callId": "a8d3c4e0-9b2f-4e1a-b3c4-5f6a7b8c9d01",
  "callResourceUrl": "https://calling.api.sinch.com/v1/calls/a8d3c4e0-9b2f-4e1a-b3c4-5f6a7b8c9d01"
}
'
{
  "action": {
    "name": "connectConf",
    "conferenceId": "org-64a1b-room-42",
    "cli": "+12362320246"
  }
}

Body

application/json
event
string

Voice event discriminator: ice (incoming call), ace (answered), dice (disconnect).

callId
string

Sinch-assigned call identifier used to correlate ICE/ACE/DiCE events for one call.

callResourceUrl
string

Sinch REST URL for the call resource — used for follow-up API operations (e.g. hangup).

Response

SVAML response. For Incoming Call Event (ICE) the body carries a routing action (connectConf, hangup, etc.); for ACE/DiCE the body is empty.

SVAML response Sinch interprets to route the call. Only Incoming Call Event (ICE) returns a populated action; ACE / DiCE branches return an empty object or omit action.

action
object

One SVAML action (Sinch Voice Application Markup Language) instructing Sinch how to route the call.

Example:
{ "name": "connectConf" }