Skip to main content

Event Overview

Event Name: call_ended Trigger: Sent automatically when any call completes Method: POST
Content-Type: application/json
call_ended is the default event: an account that has never configured its event list receives exactly this and nothing else. A voice agent’s own webhook always receives it and is not gated by an event list. See Introduction for the full catalogue and how subscriptions work.

Payload Structure

Field Descriptions

Data Object Fields

Reference Documentation

Call Types

View all call type values

Hangup Reasons

View all hangup reason values

Example Implementation

Node.js (Express)

Python (FastAPI)

Response Requirements

Your webhook endpoint must:
  • Respond with HTTP status code 2xx (preferably 200)
  • Respond quickly — acknowledge, then process asynchronously
  • Return a JSON response (optional but recommended)
Failed deliveries are retried up to 3 times with 10s / 20s / 40s timeouts, but only on 5xx or a timeout — a 4xx is treated as a deliberate rejection and is not retried. See Delivery and retries.

Other Events

Message Events

message_received, message_sent, template_sent

Delivery Status

message_status_updated