---
title: ExoML — Introduction
slug: voice-apis/exoml-introduction
docTags: 
createdAt: 2026-01-20T03:11:30.751Z
---

# Key Concepts

| Concept         | Description                             |
| --------------- | --------------------------------------- |
| Leg             | A single call participant               |
| Leg SID         | Unique identifier for a leg             |
| Actions         | Commands executed on a leg              |
| External Events | Async signals emitted for state changes |

A **Leg** represents a single participant in a call. Every call is composed of one or more legs, which can be controlled independently using **Leg Actions**.

ExoML allows you to:

- Create a new leg (incoming or outgoing)&#x20;
- Retrieve leg details&#x20;
- Update leg configuration&#x20;
- Execute actions such as Play, Say, Dial, Hold, Mute, Record, Stream, etc.&#x20;

Base URL

:::BlockQuote
https\://cpaas-api.in.exotel.com/v2/accounts/&#x7B;AccountSID}
:::

## Authentication

Use **Basic Authentication**.

:::BlockQuote
Authorization: Basic \<BASE64\_APIKEY\_APITOKEN>
Content-Type: application/json
:::

API credentials are available at:
&#x20;**my.exotel.com → Developer Settings**

## Related APIs

- **POST /legs** — Create a leg&#x20;
- **GET /legs/&#x7B;LegSID}** — Get leg details&#x20;
- **PUT /legs/&#x7B;LegSID}** — Update leg&#x20;
- **POST /legs/&#x7B;LegSID}/actions** — Execute leg actions&#x20;
- **GET /legs/&#x7B;LegSID}/external\_events** — Retrieve leg events&#x20;
