> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

### ElevenAgents

- **Conversation users endpoint**: Added [Get conversation users](/docs/api-reference/users/list) endpoint (`GET /v1/convai/users`) to list users who have had conversations with your agents. Supports pagination and filtering by agent, time range, and other criteria.
- **Agent versioning**: Fetch specific agent configurations by version using the new `version_id` and `branch_id` query parameters on the [Get agent](/docs/api-reference/agents/get) endpoint. The [Update agent](/docs/api-reference/agents/update) endpoint also now accepts a `branch_id` parameter for branch-specific updates.
- **Search documentation tool**: Added `search_documentation` as a new built-in system tool for RAG (retrieval-augmented generation). Configure multi-source retrieval with `MultiSourceConfigJson`, `SourceConfigJson`, and `SourceRetrievalConfig` schemas. Supports configurable merging strategies via the `MergingStrategy` enum.
- **MCP tool support**: Added `mcp` as a new tool type alongside webhook, client, and system tools. Configure MCP tools using the new `MCPToolConfig` schema in your agent tool definitions.
- **Content guardrails**: Added content moderation guardrails to `GuardrailsV1` with configurable thresholds for different content categories: sexual, violence, harassment, self-harm, profanity, religion/politics, and medical/legal content. Use the new `ContentGuardrail` and `ContentConfig` schemas.
- **Expressive mode**: Added `expressive_mode` field (boolean) to agent configuration schemas to automatically prompt your agent to make the most of the new v3 conversational model.
- **Post-dial digits**: Phone number transfers now support `post_dial_digits` for sending DTMF tones after connection. Configurable as static values or dynamic variables.
- **Agent testing types**: Agent testing now supports three distinct test types with dedicated schemas: `llm` (response evaluation), `tool` (tool-call verification), and `simulation` (full conversation simulation). Simulation tests include `simulation_scenario` and `simulation_max_turns` configuration fields.

### Pronunciation Dictionaries

- **Rules in API response**: The [Get pronunciation dictionary](/docs/api-reference/pronunciation-dictionaries/get) endpoint now returns a `rules` array containing full rule details. Response uses the new `GetPronunciationDictionaryWithRulesResponseModel` schema with `PronunciationDictionaryAliasRuleResponseModel` and `PronunciationDictionaryPhonemeRuleResponseModel` for rule types.

### Knowledge Base

- **Folder deletion**: The [Delete knowledge base document](/docs/api-reference/knowledge-base/delete) endpoint now supports deleting folders in addition to documents. When deleting folders, set `force=true` to enable recursive deletion of all contained documents and subfolders.

### SDK Releases

#### Python SDK

- [v2.36.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.36.0) - Added conversation users endpoint, agent versioning, search documentation tool, MCP tool support, content guardrails, and agent testing types

#### JavaScript SDK

- [v2.36.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.36.0) - Added overloaded `convert` signatures to `speechToText.convert()` for improved type inference based on request parameters (access `.text`, `.transcripts`, or webhook fields without manual type narrowing), added conversation users endpoint, agent versioning, search documentation tool, MCP tool support, content guardrails, and agent testing types

#### Widget Packages

- [@elevenlabs/convai-widget-core@0.9.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/convai-widget-core@0.9.0) - Added agent tool usage status display and new status badge for long-running tool calls, fixed emotion tag stripping, fixed rating and feedback submission for signed-url widget embedding
- [@elevenlabs/convai-widget-embed@0.9.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/convai-widget-embed@0.9.0) - Added agent tool usage status display and new status badge for long-running tool calls, fixed emotion tag stripping

### API

<Accordion title="View API changes">

## New Endpoints

- [Get conversation users](/docs/api-reference/users/list) - `GET /v1/convai/users` - List users who have had conversations with your agents

## Updated Endpoints

### ElevenAgents

- [Get agent](/docs/api-reference/agents/get)
  - Added `version_id` query parameter (string, optional) for fetching a specific agent version
  - Added `branch_id` query parameter (string, optional) for fetching from a specific branch
- [Update agent](/docs/api-reference/agents/update)
  - Added `branch_id` query parameter (string, optional) for branch-specific updates
- [Create agent](/docs/api-reference/agents/create)
  - Added `search_documentation` to system tools with multi-source RAG configuration
  - Added `mcp` tool type to tool discriminator
  - Added `content` field to `GuardrailsV1` for content moderation guardrails
  - Added `expressive_mode` field (boolean) to agent configuration
- [Create agent test](/docs/api-reference/tests/create), [Update agent test](/docs/api-reference/tests/update), [Get agent test](/docs/api-reference/tests/get)
  - Changed to discriminated union schemas with `type` field (`llm`, `tool`, `simulation`)
  - Added `simulation_scenario` and `simulation_max_turns` fields for simulation tests

### Pronunciation Dictionaries

- [Get pronunciation dictionary](/docs/api-reference/pronunciation-dictionaries/get)
  - Response schema changed to `GetPronunciationDictionaryWithRulesResponseModel` with `rules` array

### Knowledge Base

- [Delete knowledge base document](/docs/api-reference/knowledge-base/delete)
  - Updated `force` parameter description to cover folder deletion with recursive behavior

## Schema Changes

### New Schemas

- `GetPronunciationDictionaryWithRulesResponseModel` - Response model with embedded rules array
- `PronunciationDictionaryAliasRuleResponseModel` - Alias rule with `string_to_replace` and `alias`
- `PronunciationDictionaryPhonemeRuleResponseModel` - Phoneme rule with `string_to_replace`, `phoneme`, and `alphabet`
- `MultiSourceConfigJson` - Multi-source RAG configuration
- `SourceConfigJson` - Individual source configuration for RAG
- `SourceRetrievalConfig` - Retrieval configuration for RAG sources
- `MergingStrategy` - Enum for RAG result merging strategies
- `MCPToolConfig` - Configuration for MCP tools
- `ContentGuardrail-Input`, `ContentGuardrail-Output` - Content moderation guardrail configuration
- `ContentConfig` - Content category thresholds configuration
- `TestType` - Enum with values `llm`, `tool`, `simulation`
- `CreateAgentTestResponseModel` - Response for test creation
- `LLMResponseTest*`, `ToolCallTest*`, `SimulationTest*` - Per-type test schemas replacing legacy `Create/Get/UpdateUnitTest*` models

### Modified Schemas

- `GuardrailsV1-Input`, `GuardrailsV1-Output` - Added `content` field for content guardrails
- `AgentConfig` - Added `expressive_mode` field (boolean)
- `PhoneNumberTransferConfig` - Added `post_dial_digits` field (string or dynamic variable)
- `DistributionTerritories` - Relaxed items constraint to allow arbitrary territory strings

</Accordion>