> 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

- **Phone keypad input**: Agent conversation configuration now supports optional `dtmf_input_settings` for [DTMF input](/docs/eleven-agents/customization/multimodal-input#dtmf-input). Configure the digit timeout, use `#` as a terminator and redact keypad entries from transcripts, logs and analysis.
- **Conversation attachment history**: [Get conversation](/docs/api-reference/conversations/get) transcript entries now include `file_inputs`, an array containing every attached file's ID, name, MIME type and URL.
- **Agent tag filtering**: [List agents](/docs/api-reference/agents/list) now accepts an optional `tags` query parameter. Repeat the parameter to match agents with any of the supplied tags.
- **Batch campaign context**: [Get conversation](/docs/api-reference/conversations/get) now identifies batch calls with nullable `campaign` metadata containing the required `campaign_id` and `campaign_lead_id`.

### Music

- **Waveform visual data**: [Generate music detailed](/docs/api-reference/music/compose-detailed), [Stream music with details](/docs/api-reference/music/compose-detailed-stream) and [Upload music](/docs/api-reference/music/upload) now accept optional `with_waveform_visual` (boolean, default `false`). Opted-in responses return a low-resolution `waveform_visual` integer array with four samples per second.

### Dubbing

- **Project pagination behavior**: [List Dubbing projects](/docs/api-reference/dubbing/list-projects) and [List language targets](/docs/api-reference/dubbing/language-targets/list-language-targets) now clamp `page_size` to 1–100. Project status filtering includes `queued`, and both endpoints document using `next_cursor` to retrieve the next page.

### SDK releases

#### JavaScript SDK

- [v2.66.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.66.0) - Added `fileIds` to `sendMultimodalMessage`, allowing one message to include multiple file attachments.

#### Python SDK

- [v2.66.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.66.0) - Added `file_ids` to `send_multimodal_message`, allowing one message to include multiple file attachments.

#### Android SDK

- [v0.12.2](https://github.com/elevenlabs/elevenlabs-android/releases/tag/v0.12.2) - Preserved the `onUnhandledClientToolCall` callback when wiring session events. Unhandled client tool calls that expect a response now receive the automatic error response instead of remaining unresolved.

#### ElevenLabs CLI

- [v1.1.0](https://github.com/elevenlabs/cli/releases/tag/v1.1.0) - Regenerated API command bindings and added command-scoped request attribution for ElevenAgents workflows. These commands append `cmd/<command>` to the CLI `User-Agent`, allowing requests from workflows such as `agents push` and `agents create` to be distinguished.

#### Packages

- [@elevenlabs/client@1.23.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.23.0), [@elevenlabs/react@1.15.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.15.0), [@elevenlabs/types@0.22.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Ftypes%400.22.1), [@elevenlabs/react-native@1.2.25](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.25), [@elevenlabs/convai-widget-core@0.17.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.17.1) and [@elevenlabs/convai-widget-embed@0.17.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-embed%400.17.1) - Added `fileIds` to `sendMultimodalMessage`. The client sends both `file` and `files` fields for compatibility, and React exposes the updated client API.

### API

<Accordion title="View API changes">

## Updated endpoints

### ElevenAgents

- [List agents](/docs/api-reference/agents/list) - `GET /v1/convai/agents`
  - Added optional nullable `tags` (string array). Repeat the query parameter to match any supplied tag.
- [Create agent](/docs/api-reference/agents/create), [Get agent](/docs/api-reference/agents/get) and [Update agent](/docs/api-reference/agents/update)
  - Added optional nullable `conversation_config.conversation.dtmf_input_settings` (`DTMFInputConfig`). It supports `dtmf_input_timeout` (number, 0.5–10 seconds, default `2`), `hash_terminator` (boolean, default `true`) and `redact_input` (boolean, default `false`).
  - Added optional `sip_refer_play_dialtone` (boolean, default `true`) to phone-number transfer configuration. Set it to `false` to keep the original call leg silent while a SIP REFER transfer completes.
  - Start- and end-procedure system tools now accept either a `ProcedureVersionRef` or a `ProcedureDraftRef`. Draft references require `procedure_id` (string) and set `version_id` to `null`.
- [Get conversation](/docs/api-reference/conversations/get) - `GET /v1/convai/conversations/{conversation_id}`
  - Added `file_inputs` (array of `ConversationHistoryTranscriptFileInputResponseModel`) to transcript entries. Each item requires `file_id`, `original_filename`, `mime_type` and `file_url` (strings).
  - Added optional nullable `campaign` (`BatchCallingCampaignInformation`) to batch-call metadata. The object requires `campaign_id` and `campaign_lead_id` (strings).
  - Added `dtmf` to `ChatSourceMedium`.
- Conversation triage ticket issue types add `incorrect_information`, `documentation_gap`, `platform_bug` and `wrong_action`.

### Music

- [Generate music detailed](/docs/api-reference/music/compose-detailed) (`POST /v1/music/detailed`) and [Stream music with details](/docs/api-reference/music/compose-detailed-stream) (`POST /v1/music/detailed/stream`)
  - Added optional `with_waveform_visual` (boolean, default `false`).
  - Detailed responses add nullable `waveform_visual` (integer array), sampled four times per second from `-1000` to `1000`.
- [Upload music](/docs/api-reference/music/upload) - `POST /v1/music/upload`
  - Added optional `with_waveform_visual` (boolean, default `false`) and nullable `waveform_visual` (integer array) in the response.

### ElevenCreative

- [Create Studio project](/docs/api-reference/studio/add-project) and [Create podcast](/docs/api-reference/studio/create-podcast)
  - `quality_preset` now accepts `null`, and its `standard` schema default was removed.

### Dubbing

- [List Dubbing projects](/docs/api-reference/dubbing/list-projects) - `GET /v1/dubbing/project`
  - `page_size` remains an optional integer with default `20`, but values are now clamped to 1–100 instead of rejected.
  - The `status` filter now documents `queued`, `preparing`, `ready` and `failed`.
  - Pass the preceding response's `next_cursor` in `cursor`; omit it for the first page.
- [List language targets](/docs/api-reference/dubbing/language-targets/list-language-targets) - `GET /v1/dubbing/project/{project_id}/language`
  - `page_size` remains an optional integer with default `20`, but values are now clamped to 1–100 instead of rejected.
  - The `status` filter supports `queued`, `processing`, `completed`, `stale` and `failed`.
  - Pass the preceding response's `next_cursor` in `cursor`; omit it for the first page.

## Schema changes

### Workspace

- `PendingSubscriptionSwitchResponseModel.next_tier` adds `grant`.

</Accordion>