July 3, 2026Webhook version 2026-06-01
A new dated webhook version, 2026-06-01, opt-in per Voice App or SIP Trunk.
The previous 2025-08-01 version is unchanged and continues to work for
existing pins.
Added
- Event envelope. Every webhook body is now wrapped with
id,type,api_version,occurred_at,account_id,voice_app_id/sip_trunk_id,call_id,leg_id, anddata. See Event envelope. - New headers:
X-Teler-Event-Id,X-Teler-Api-Version,X-Teler-Source. - Resource-typed IDs:
acc_,va_,st_,cs_,cl_,ms_,evt_,rec_,pb_. - New events:
leg.created,leg.answered,leg.completed,stream.initiated,stream.completed,recording.completed,recording.failed. - Call resources API.
GET /api/v1/voice/calls,GET /api/v1/voice/calls/{id},GET /api/v1/voice/calls/{id}/legs, and the SIP-trunk equivalents under/api/v1/sip/calls. See Call resources. - Live call control.
POST /api/v1/voice/calls/{id}/hangup/mute/dtmf/play, async and idempotent (Idempotency-Keyrequired). See Live call control. dialflow verb. Originate an outbound leg and bridge it into the current call, with recording modes, custom SIP headers, and per-outcome fallbacks (on_no_answer,on_busy,on_failure).- Stable event
idacross retries, replays, and recovery re-deliveries, for idempotent dedupe. See Retries and idempotency.
Changed
- Field renames inside
data:hangup_timetoended_at,hangup_sourcetoended_by,duration(seconds) toduration_seconds,answer_timetoanswered_at, anddirectionvaluesincoming/outgoingtoinbound/outbound. New normalizedreasonfield. Full field-level diff and migration steps: API versioning.