> 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.

### UI

- **Improved notifications**: Updated notification system to display notifications relevant to the active platform you're viewing, providing a more focused and contextual experience.

### Agents Platform

- **Dynamic variable transfer destinations**: Agent transfers now support dynamic variables for phone numbers and SIP URIs, enabling runtime-determined transfer destinations based on conversation context.
- **MCP tool configuration overrides**: Added the ability to create, update, retrieve, and delete custom configuration overrides for specific MCP Server tools, allowing fine-grained control over tool behavior and parameters.

### Text to Dialogue

- **Timestamps and voice segments**: Text to Dialogue now supports timestamped outputs with character-level alignment and voice segment tracking, making it easier to synchronize dialogue with animations or subtitles.

### Music API

- **Stem separation**: Added new stem separation endpoint to isolate different audio components (vocals, drums, bass, instruments) from existing music tracks.
- **Increased prompt length**: Music generation now supports prompts up to 4,100 characters, with individual lyric lines supporting up to 200 characters.

### Security

- **Single-use tokens**: Introduced time-limited single-use token generation for secure operations, providing enhanced security for sensitive API operations.

### SDK Releases

#### JavaScript SDK

- [v2.22.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.22.0) - Updated with latest API schema changes including workspace model approvals and MCP tool configuration endpoints.
- [v2.21.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.21.0) - Added support for intercepting raw WebSocket messages via a general `message` handler, allowing developers to access all messages beyond the standard callbacks, including undocumented message types like `agent_tool_response`.

#### Python SDK

- [v2.22.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.22.0) - Updated with latest API schema changes including workspace model approvals and MCP tool configuration endpoints.
- [v2.21.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.21.0) - Replaced print statements with proper logging to support better debugging and production use cases.

#### Agents Packages

- [@elevenlabs/agents-cli@0.6.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs/agents-cli%400.6.1) - Package deprecated in favor of the unified [ElevenLabs CLI](https://www.npmjs.com/package/@elevenlabs/cli).
- [@elevenlabs/react@0.9.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs/react%400.9.1) - Fixed issue where `end_call` tool wasn't properly ending conversations, and improved React Native reconnection logic after manual disconnection.
- [@elevenlabs/react-native@0.5.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs/react-native%400.5.2) - Fixed issue where `end_call` tool wasn't properly ending conversations, and improved reconnection logic after manual disconnection.
- [@elevenlabs/client@0.9.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs/client%400.9.1) - Fixed issue where `end_call` tool wasn't properly ending conversations, and improved React Native reconnection logic.

#### Android SDK

- [v0.4.0](https://github.com/elevenlabs/elevenlabs-android/releases/tag/v0.4.0) - Improved type safety by using `ConversationMode` enums instead of strings, migrated from LiveData to StateFlow with backward compatibility support, and fixed bug where agents wouldn't end calls when requested.

#### iOS SDK

- [v2.0.16](https://github.com/elevenlabs/elevenlabs-swift-sdk/releases/tag/v2.0.16) - Fixed issue where the `end_call` tool wasn't properly ending conversations, ensuring agents can correctly terminate calls.

#### CLI

- [@elevenlabs/cli@0.2.0](https://github.com/elevenlabs/cli/releases/tag/%40elevenlabs/cli%400.2.0) - Removed `--env` flag support for virtual environment isolation. This feature will be reintroduced once proper environment isolation is supported in the product.

### API

#### TLS

Our TLS endpoints no longer allow some older and insecure cipher modes. Most clients should not be affected as they already negotiate a modern cipher mode.

<Accordion title="View API changes">

## New Endpoints

### Agents Platform

#### MCP Tool Configuration

- [POST /v1/convai/mcp-servers/{mcp_server_id}/tool-configs](/docs/api-reference/mcp/tool-configuration/create) - Create configuration overrides for a specific MCP tool.
- [GET /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}](/docs/api-reference/mcp/tool-configuration/get) - Retrieve configuration overrides for a specific MCP tool.
- [PATCH /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}](/docs/api-reference/mcp/tool-configuration/update) - Update configuration overrides for a specific MCP tool.
- [DELETE /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}](/docs/api-reference/mcp/tool-configuration/delete) - Remove configuration overrides for a specific MCP tool.

### Text to Dialogue

- [POST /v1/text-to-dialogue/with-timestamps](/docs/api-reference/text-to-dialogue/convert-with-timestamps) - Generate dialogue with character-level alignment and voice segment information.
- [POST /v1/text-to-dialogue/stream/with-timestamps](/docs/api-reference/text-to-dialogue/stream-with-timestamps) - Stream dialogue generation with character-level alignment and voice segment information.

### Tokens

- [POST /v1/single-use-token/{token_type}](/docs/api-reference/tokens/create) - Generate time-limited single-use tokens for secure operations.

### Music API

- [POST /v1/music/stem-separation](/docs/api-reference/music/separate-stems) - Separate audio into individual stems (vocals, drums, bass, instruments). Accepts multipart file upload and returns a ZIP archive.

## Updated Endpoints

### Text to Dialogue

- [Text to dialogue with timestamps](/docs/api-reference/text-to-dialogue/convert-with-timestamps)

  - Added `voice_segments` array with required `dialogue_input_index` field to track which dialogue input each segment corresponds to
  - Enhanced response schema with character-level alignment data

- [Stream text to dialogue with timestamps](/docs/api-reference/text-to-dialogue/stream-with-timestamps)
  - Added streaming support for `voice_segments` with character-level alignment
  - Includes `dialogue_input_index` in voice segment chunks

### Music

- Music prompt endpoints updated:
  - Maximum prompt length increased from previous limit to 4,100 characters
  - Lyrics lines now support up to 200 characters per line

### Workspace

- [Get workspace resource](/docs/api-reference/workspace/resources/get)
  - Added `dashboard` and `dashboard_configuration` to `WorkspaceResourceType` enum
  - Response schema changes (breaking compatibility - see migration notes below)

### Billing

- [Get subscription](/docs/api-reference/user/subscription/get)
  - Added `next_billing_period` field (required) to `PendingSubscriptionSwitchResponseModel`
  - Added `subtotal_cents` and `tax_cents` (nullable) to `InvoiceResponseModel` for better invoice breakdown

### Agents Platform

#### Batch Calling

- [Submit batch calling](/docs/api-reference/batch-calling/create)

  - Made `agent_phone_number_id` nullable and optional
  - Made `phone_number` nullable and optional in recipient models
  - Response schema changes (breaking compatibility - see migration notes below)

- [Get batch calling status](/docs/api-reference/batch-calling/get)

  - Made `phone_number_id` and `phone_provider` nullable

- [Cancel batch calling](/docs/api-reference/batch-calling/cancel) & [Retry batch calling](/docs/api-reference/batch-calling/retry)
  - Made phone-related fields nullable
  - Response schema changes (breaking compatibility - see migration notes below)

#### Transfer Destinations

- Transfer-related endpoints now support dynamic variable transfer destinations:
  - Added `PhoneNumberDynamicVariableTransferDestination` type for phone number transfers using dynamic variables
  - Added `SIPUriDynamicVariableTransferDestination` type for SIP URI transfers using dynamic variables
  - Updated `PhoneNumberTransfer` discriminators to include dynamic variable types

#### MCP Servers

- [Create MCP server](/docs/api-reference/mcp/create), [Get MCP server](/docs/api-reference/mcp/get), [Update MCP server](/docs/api-reference/mcp/update)
  - Added `tool_config_overrides` field for per-tool configuration customization
  - Added `request_headers` support in `MCPServerConfigUpdateRequestModel`
  - Added `tool_call_sound` and `tool_call_sound_behavior` configuration options

#### Tools

- Tool schema enhancements:
  - `LiteralJsonSchemaProperty` now includes `is_system_provided` flag
  - Agent tool headers now support `ConvAIDynamicVariable` for dynamic header values

#### Twilio Integration

- Phone number endpoints updated:
  - Added optional `region_config` field for Twilio phone numbers
  - Added `TwilioRegionId` enum for region selection
  - Added `TwilioEdgeLocation` enum for edge location configuration

#### Agents

- [Get agent](/docs/api-reference/agents/get) & [Update agent](/docs/api-reference/agents/update)
  - Response schema changes (breaking compatibility - see migration notes below)

</Accordion>