---
title: Leg Actions — External Events
slug: voice-apis/leg-actions-external-events
docTags: 
createdAt: 2026-01-20T01:47:20.836Z
---

# Introduction

This page lists all **external events emitted by Leg Actions.&#x20;**&#x45;vents are delivered asynchronously to the configured **leg event endpoint**.

## Answer

| Event Name     | Event Type         | Description                                     |
| -------------- | ------------------ | ----------------------------------------------- |
| leg\_answered  | leg\_action\_event | Triggered when the leg is successfully answered |
| answer\_failed | leg\_action\_event | Triggered when the answer action fails          |

## Hangup

| Event Name      | Event Type            | Description                          |
| --------------- | --------------------- | ------------------------------------ |
| leg\_terminated | leg\_lifecycle\_event | Triggered when the leg is terminated |
| hangup\_failed  | leg\_action\_event    | Triggered when hangup fails          |

## Dial

| Event Name      | Event Type         | Description                        |
| --------------- | ------------------ | ---------------------------------- |
| dial\_initiated | leg\_action\_event | Triggered when dial action starts  |
| dial\_success   | leg\_action\_event | Triggered when dial is successful  |
| dial\_completed | leg\_action\_event | Triggered when dial flow completes |
| dial\_failed    | leg\_action\_event | Triggered when dial fails          |

## StartPlay

| Event Name              | Event Type         | Description                            |
| ----------------------- | ------------------ | -------------------------------------- |
| play\_started           | leg\_action\_event | Triggered when playback starts         |
| play\_completed         | leg\_action\_event | Triggered when playback completes      |
| play\_interrupted       | leg\_action\_event | Triggered when playback is interrupted |
| play\_failed\_to\_start | leg\_action\_event | Triggered when playback fails to start |

## StopPlay

| Event Name             | Event Type         | Description                           |
| ---------------------- | ------------------ | ------------------------------------- |
| play\_interrupted      | leg\_action\_event | Triggered when playback is stopped    |
| play\_failed\_to\_stop | leg\_action\_event | Triggered when playback fails to stop |

## StartSay (Say)

| Event Name             | Event Type         | Description                       |
| ---------------------- | ------------------ | --------------------------------- |
| say\_started           | leg\_action\_event | Triggered when TTS starts         |
| say\_completed         | leg\_action\_event | Triggered when TTS completes      |
| say\_interrupted       | leg\_action\_event | Triggered when TTS is interrupted |
| say\_failed\_to\_start | leg\_action\_event | Triggered when TTS fails to start |

## StopSay

| Event Name            | Event Type         | Description                       |
| --------------------- | ------------------ | --------------------------------- |
| say\_interrupted      | leg\_action\_event | Triggered when TTS is stopped     |
| say\_failed\_to\_stop | leg\_action\_event | Triggered when stopping TTS fails |

## Gather

| Event Name          | Event Type         | Description                                      |
| ------------------- | ------------------ | ------------------------------------------------ |
| gather\_initiated   | leg\_action\_event | Triggered when gather is initiated               |
| gather\_started     | leg\_action\_event | Triggered when digit collection starts           |
| gather\_success     | leg\_action\_event | Triggered when digits are successfully collected |
| gather\_failed      | leg\_action\_event | Triggered when gather fails                      |
| gather\_interrupted | leg\_action\_event | Triggered when gather is interrupted             |

## SendDigits

| Event Name               | Event Type         | Description                         |
| ------------------------ | ------------------ | ----------------------------------- |
| digits\_sent             | leg\_action\_event | Triggered when DTMF digits are sent |
| digits\_failed\_to\_send | leg\_action\_event | Triggered when DTMF sending fails   |

## StartRecording

| Event Name                   | Event Type         | Description                                |
| ---------------------------- | ------------------ | ------------------------------------------ |
| recording\_started           | leg\_action\_event | Triggered when recording starts            |
| recording\_stopped           | leg\_action\_event | Triggered when recording stops             |
| recording\_failed\_to\_start | leg\_action\_event | Triggered when recording fails to start    |
| recording\_available         | leg\_action\_event | Triggered when recording file is available |

## StopRecording

| Event Name                  | Event Type         | Description                                |
| --------------------------- | ------------------ | ------------------------------------------ |
| recording\_stopped          | leg\_action\_event | Triggered when recording stops             |
| recording\_failed\_to\_stop | leg\_action\_event | Triggered when stopping recording fails    |
| recording\_available        | leg\_action\_event | Triggered when recording file is available |

## Hold

| Event Name    | Event Type         | Description                          |
| ------------- | ------------------ | ------------------------------------ |
| hold\_success | leg\_action\_event | Triggered when leg is placed on hold |
| hold\_failed  | leg\_action\_event | Triggered when hold fails            |

## UnHold

| Event Name      | Event Type         | Description                   |
| --------------- | ------------------ | ----------------------------- |
| unhold\_success | leg\_action\_event | Triggered when leg is resumed |
| unhold\_failed  | leg\_action\_event | Triggered when resume fails   |

## Mute

| Event Name    | Event Type         | Description                   |
| ------------- | ------------------ | ----------------------------- |
| mute\_success | leg\_action\_event | Triggered when audio is muted |
| mute\_failed  | leg\_action\_event | Triggered when mute fails     |

## UnMute

| Event Name      | Event Type         | Description                     |
| --------------- | ------------------ | ------------------------------- |
| unmute\_success | leg\_action\_event | Triggered when audio is unmuted |
| unmute\_failed  | leg\_action\_event | Triggered when unmute fails     |

## JoinBridge

| Event Name                    | Event Type         | Description                         |
| ----------------------------- | ------------------ | ----------------------------------- |
| leg\_joined\_bridge           | leg\_action\_event | Triggered when leg joins the bridge |
| leg\_failed\_to\_join\_bridge | leg\_action\_event | Triggered when joining bridge fails |

## LeaveBridge

| Event Name                     | Event Type         | Description                          |
| ------------------------------ | ------------------ | ------------------------------------ |
| leg\_left\_bridge              | leg\_action\_event | Triggered when leg leaves the bridge |
| leg\_failed\_to\_leave\_bridge | leg\_action\_event | Triggered when leaving bridge fails  |

## StartMonitoring

| Event Name            | Event Type         | Description                            |
| --------------------- | ------------------ | -------------------------------------- |
| monitoring\_initiated | leg\_action\_event | Triggered when monitoring is initiated |
| monitoring\_started   | leg\_action\_event | Triggered when monitoring starts       |
| monitoring\_failed    | leg\_action\_event | Triggered when monitoring fails        |

## StopMonitoring

| Event Name                   | Event Type         | Description                              |
| ---------------------------- | ------------------ | ---------------------------------------- |
| monitoring\_stopped          | leg\_action\_event | Triggered when monitoring stops          |
| monitoring\_failed\_to\_stop | leg\_action\_event | Triggered when stopping monitoring fails |
| referred                     | leg\_action\_event | Triggered when control is transferred    |

## StartStream

| Event Name        | Event Type         | Description                           |
| ----------------- | ------------------ | ------------------------------------- |
| stream\_initiated | leg\_action\_event | Triggered when streaming is initiated |
| stream\_started   | leg\_action\_event | Triggered when streaming starts       |
| stream\_stopped   | leg\_action\_event | Triggered when streaming stops        |
| stream\_failed    | leg\_action\_event | Triggered when streaming fails        |

## StopStream

| Event Name               | Event Type         | Description                           |
| ------------------------ | ------------------ | ------------------------------------- |
| stream\_stopped          | leg\_action\_event | Triggered when streaming stops        |
| stream\_failed\_to\_stop | leg\_action\_event | Triggered when stopping stream fails  |
| referred                 | leg\_action\_event | Triggered when control is transferred |

## Refer

| Event Name | Event Type         | Description                              |
| ---------- | ------------------ | ---------------------------------------- |
| referred   | leg\_action\_event | Triggered when event endpoint is updated |

### Notes for Developers

- Events are **asynchronous**&#x20;
- Receipt of a 202 Accepted response does **not** guarantee success&#x20;
- Always rely on **external events** to determine action outcome
