Skip to main content
POST
/
api
/
v1
/
sessions
/
{sessionId}
/
calls
curl -X POST "https://api.wadial.com/api/v1/sessions/{sessionId}/calls" \
  -H "Authorization: Bearer $WADIAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"[email protected]"}'
{
  "data": {
    "callId": "call-123",
    "peerJid": "[email protected]",
    "direction": "outgoing",
    "mediaType": "audio",
    "state": "initiating",
    "transport": "websocket",
    "audioMuted": false
  }
}
Calls use the same bearer authentication as the rest of /api/v1.
sessionId
string
required
Token id returned by POST /api/v1/sessions.
to
string
required
WhatsApp peer JID or phone JID to call.
curl -X POST "https://api.wadial.com/api/v1/sessions/{sessionId}/calls" \
  -H "Authorization: Bearer $WADIAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"[email protected]"}'
{
  "data": {
    "callId": "call-123",
    "peerJid": "[email protected]",
    "direction": "outgoing",
    "mediaType": "audio",
    "state": "initiating",
    "transport": "websocket",
    "audioMuted": false
  }
}

List calls

GET /api/v1/sessions/{sessionId}/calls
Authorization: Bearer <api_key>

Get a call

GET /api/v1/sessions/{sessionId}/calls/{callId}
Authorization: Bearer <api_key>

Accept, reject, end, or mute

POST /api/v1/sessions/{sessionId}/calls/{callId}/accept
POST /api/v1/sessions/{sessionId}/calls/{callId}/reject
POST /api/v1/sessions/{sessionId}/calls/{callId}/end
Mute requires a JSON body:
POST /api/v1/sessions/{sessionId}/calls/{callId}/mute
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "muted": true
}