diff --git a/.fern/metadata.json b/.fern/metadata.json
index a4d1e254..2ee9c1a1 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -1,5 +1,5 @@
{
- "cliVersion": "4.62.4",
+ "cliVersion": "4.107.0",
"generatorName": "fernapi/fern-python-sdk",
"generatorVersion": "4.42.0",
"generatorConfig": {
@@ -55,5 +55,5 @@
}
]
},
- "originGitCommit": "6ac7251b36877c1630a1a8f045d4dd9d6f4a9ea6"
+ "originGitCommit": "431acd167947399155f09552b0251a29e7c52320"
}
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 1ab827b3..de934dbc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ dynamic = ["version"]
[tool.poetry]
name = "elevenlabs"
-version = "2.45.0"
+version = "2.46.0"
description = ""
readme = "README.md"
authors = []
diff --git a/reference.md b/reference.md
index 50236b31..b305e465 100644
--- a/reference.md
+++ b/reference.md
@@ -1720,11 +1720,11 @@ client = ElevenLabs(
client.text_to_dialogue.convert(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
@@ -1857,11 +1857,11 @@ client = ElevenLabs(
client.text_to_dialogue.stream(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
@@ -2748,7 +2748,7 @@ client.text_to_voice.create(
-
-**generated_voice_id:** `str` — The generated_voice_id to create, call POST /v1/text-to-voice/create-previews and fetch the generated_voice_id from the response header if don't have one yet.
+**generated_voice_id:** `str` — The generated_voice_id to create; obtain it from POST /v1/text-to-voice/design, POST /v1/text-to-voice/:voice_id/remix, or the response headers when generating previews.
@@ -3201,7 +3201,7 @@ client.user.get()
-
-Returns a list of all available voices for a user.
+Returns a list of all available voices for a user. Stops working once the user's workspace exceeds 500 voices.
@@ -3302,6 +3302,7 @@ client.voices.search(
fine_tuning_state="fine_tuning_state",
collection_id="collection_id",
include_total_count=True,
+ voice_ids=["voice_ids"],
)
```
@@ -3817,6 +3818,8 @@ client.voices.get_shared(
language="language",
locale="locale",
search="search",
+ use_cases=["use_cases"],
+ descriptives=["descriptives"],
featured=True,
min_notice_period_days=1,
include_custom_rates=True,
@@ -8073,11 +8076,20 @@ client.conversational_ai.conversations.list(
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
branch_id="branch_id",
+ topic_ids=["topic_ids"],
+ exclude_statuses=["initiated"],
+ tag_ids=["tag_ids"],
)
```
@@ -8278,6 +8290,27 @@ client.conversational_ai.conversations.list(
-
+**exclude_statuses:** `typing.Optional[
+ typing.Union[
+ ConversationsListRequestExcludeStatusesItem,
+ typing.Sequence[ConversationsListRequestExcludeStatusesItem],
+ ]
+]` — Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
+
+
+
+
+
+-
+
+**tag_ids:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by conversation tag IDs assigned via the conversation-tags endpoints.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -8426,6 +8459,94 @@ client.conversational_ai.conversations.delete(
+
+
+
+
+client.conversational_ai.conversations.get_sip_messages(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Get SIP messages associated with a conversation's phone call
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.get_sip_messages(
+ conversation_id="21m00Tcm4TlvDq8ikWAM",
+ page_size=1,
+ cursor="cursor",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**conversation_id:** `str` — The id of the conversation you're taking the action on.
+
+
+
+
+
+-
+
+**page_size:** `typing.Optional[int]`
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -10305,6 +10426,7 @@ client.conversational_ai.tests.list(
page_size=1,
search="search",
parent_folder_id="parent_folder_id",
+ types=["llm"],
include_folders=True,
sort_mode="default",
sharing_mode="all",
@@ -10911,6 +11033,102 @@ client.conversational_ai.phone_numbers.update(
-
+**store_sip_messages:** `typing.Optional[bool]`
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.conversational_ai.phone_numbers.get_sip_messages(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Get SIP messages for a phone number
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.phone_numbers.get_sip_messages(
+ phone_number_id="TeaqRRdTcIfIu2i7BYfT",
+ page_size=1,
+ cursor="cursor",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**phone_number_id:** `str` — The id of an agent. This is returned on agent creation.
+
+
+
+
+
+-
+
+**page_size:** `typing.Optional[int]`
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -11111,6 +11329,7 @@ client.conversational_ai.knowledge_base.list(
search="search",
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["file"],
parent_folder_id="parent_folder_id",
ancestor_folder_id="ancestor_folder_id",
folders_first=True,
@@ -11348,6 +11567,7 @@ client = ElevenLabs(
client.conversational_ai.knowledge_base.search(
query="query",
page_size=1,
+ types=["file"],
cursor="cursor",
)
@@ -11451,6 +11671,7 @@ client.conversational_ai.tools.list(
page_size=1,
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["webhook"],
sort_direction="asc",
sort_by="name",
cursor="cursor",
@@ -12811,6 +13032,7 @@ client = ElevenLabs(
client.conversational_ai.batch_calls.list(
limit=1,
last_doc="last_doc",
+ agent_id="agent_id",
)
```
@@ -12843,6 +13065,14 @@ client.conversational_ai.batch_calls.list(
-
+**agent_id:** `typing.Optional[str]` — Filter batch calls to a single agent.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -14013,7 +14243,9 @@ from elevenlabs import ElevenLabs
client = ElevenLabs(
api_key="YOUR_API_KEY",
)
-client.conversational_ai.agents.summaries.get()
+client.conversational_ai.agents.summaries.get(
+ agent_ids=["agent_ids"],
+)
```
@@ -15600,6 +15832,12 @@ client.conversational_ai.conversations.messages.text_search(
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
@@ -15622,7 +15860,588 @@ client.conversational_ai.conversations.messages.text_search(
-
-**text_query:** `str` — The search query text for full-text and fuzzy matching
+**text_query:** `str` — The search query text for full-text and fuzzy matching
+
+
+
+
+
+-
+
+**agent_id:** `typing.Optional[str]` — The id of the agent you're taking the action on.
+
+
+
+
+
+-
+
+**call_successful:** `typing.Optional[EvaluationSuccessResult]` — The result of the success evaluation
+
+
+
+
+
+-
+
+**call_start_before_unix:** `typing.Optional[int]` — Unix timestamp (in seconds) to filter conversations up to this start date.
+
+
+
+
+
+-
+
+**call_start_after_unix:** `typing.Optional[int]` — Unix timestamp (in seconds) to filter conversations after to this start date.
+
+
+
+
+
+-
+
+**call_duration_min_secs:** `typing.Optional[int]` — Minimum call duration in seconds.
+
+
+
+
+
+-
+
+**call_duration_max_secs:** `typing.Optional[int]` — Maximum call duration in seconds.
+
+
+
+
+
+-
+
+**rating_max:** `typing.Optional[int]` — Maximum overall rating (1-5).
+
+
+
+
+
+-
+
+**rating_min:** `typing.Optional[int]` — Minimum overall rating (1-5).
+
+
+
+
+
+-
+
+**has_feedback_comment:** `typing.Optional[bool]` — Filter conversations with user feedback comments.
+
+
+
+
+
+-
+
+**user_id:** `typing.Optional[str]` — Filter conversations by the user ID who initiated them.
+
+
+
+
+
+-
+
+**evaluation_params:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Evaluation filters. Repeat param. Format: criteria_id:result. Example: eval=value_framing:success
+
+
+
+
+
+-
+
+**data_collection_params:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Data collection filters. Repeat param. Format: id:op:value where op is one of eq|neq|gt|gte|lt|lte|in|exists|missing. For in, pipe-delimit values.
+
+
+
+
+
+-
+
+**tool_names:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names used during the call.
+
+
+
+
+
+-
+
+**tool_names_successful:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names that had successful calls.
+
+
+
+
+
+-
+
+**tool_names_errored:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names that had errored calls.
+
+
+
+
+
+-
+
+**main_languages:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by detected main language (language code).
+
+
+
+
+
+-
+
+**page_size:** `typing.Optional[int]` — Number of results per page. Max 50.
+
+
+
+
+
+-
+
+**summary_mode:** `typing.Optional[MessagesTextSearchRequestSummaryMode]` — Whether to include transcript summaries in the response.
+
+
+
+
+
+-
+
+**conversation_initiation_source:** `typing.Optional[ConversationInitiationSource]`
+
+
+
+
+
+-
+
+**branch_id:** `typing.Optional[str]` — Filter conversations by branch ID.
+
+
+
+
+
+-
+
+**sort_by:** `typing.Optional[MessageSearchSortBy]` — Sort order for search results. 'search_score' sorts by search score, 'created_at' sorts by conversation start time.
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.conversational_ai.conversations.messages.search(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Search conversation transcripts by semantic similarity to surface relevant messages based on meaning and intent, rather than exact keyword matches
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.messages.search(
+ text_query="Customer asking to cancel and get money back",
+ agent_id="agent_id",
+ page_size=1,
+ cursor="cursor",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**text_query:** `str` — The search query text for semantic similarity matching
+
+
+
+
+
+-
+
+**agent_id:** `typing.Optional[str]` — The id of the agent you're taking the action on.
+
+
+
+
+
+-
+
+**page_size:** `typing.Optional[int]` — Number of results per page. Max 50.
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+## ConversationalAi Conversations Tags
+client.conversational_ai.conversations.tags.assign(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong to the same workspace.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.assign(
+ conversation_id="conversation_id",
+ tag_ids=["tag_ids"],
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**conversation_id:** `str`
+
+
+
+
+
+-
+
+**tag_ids:** `typing.Sequence[str]` — Tag IDs to add to the conversation. Re-assigning an existing tag is a no-op.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.conversational_ai.conversations.tags.unassign(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Remove a single conversation tag from a conversation.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.unassign(
+ conversation_id="conversation_id",
+ tag_id="tag_id",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**conversation_id:** `str`
+
+
+
+
+
+-
+
+**tag_id:** `str`
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.conversational_ai.conversations.tags.list(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+List conversation tags for the workspace, ordered by most recently created first.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.list(
+ page_size=1,
+ cursor="cursor",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**page_size:** `typing.Optional[int]` — How many conversation tags to return. Can not exceed 100.
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.conversational_ai.conversations.tags.create(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new conversation tag for the workspace.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.create(
+ title="title",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**title:** `str` — Display title of the tag.
@@ -15630,7 +16449,7 @@ client.conversational_ai.conversations.messages.text_search(
-
-**agent_id:** `typing.Optional[str]` — The id of the agent you're taking the action on.
+**description:** `typing.Optional[str]` — Optional free-text description.
@@ -15638,95 +16457,69 @@ client.conversational_ai.conversations.messages.text_search(
-
-**call_successful:** `typing.Optional[EvaluationSuccessResult]` — The result of the success evaluation
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
--
-
-**call_start_before_unix:** `typing.Optional[int]` — Unix timestamp (in seconds) to filter conversations up to this start date.
-
-
--
-**call_start_after_unix:** `typing.Optional[int]` — Unix timestamp (in seconds) to filter conversations after to this start date.
-
+
+client.conversational_ai.conversations.tags.get(...)
-
-**call_duration_min_secs:** `typing.Optional[int]` — Minimum call duration in seconds.
-
-
-
+#### 📝 Description
-
-**call_duration_max_secs:** `typing.Optional[int]` — Maximum call duration in seconds.
-
-
-
-
-
-**rating_max:** `typing.Optional[int]` — Maximum overall rating (1-5).
-
+Get a conversation tag by ID.
-
-
--
-
-**rating_min:** `typing.Optional[int]` — Minimum overall rating (1-5).
-
+#### 🔌 Usage
+
-
-**has_feedback_comment:** `typing.Optional[bool]` — Filter conversations with user feedback comments.
-
-
-
-
-
-**user_id:** `typing.Optional[str]` — Filter conversations by the user ID who initiated them.
-
-
-
+```python
+from elevenlabs import ElevenLabs
-
--
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.get(
+ tag_id="tag_id",
+)
-**evaluation_params:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Evaluation filters. Repeat param. Format: criteria_id:result. Example: eval=value_framing:success
-
+```
+
+
+#### ⚙️ Parameters
+
-
-**data_collection_params:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Data collection filters. Repeat param. Format: id:op:value where op is one of eq|neq|gt|gte|lt|lte|in|exists|missing. For in, pipe-delimit values.
-
-
-
-
-
-**tool_names:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names used during the call.
+**tag_id:** `str`
@@ -15734,71 +16527,69 @@ client.conversational_ai.conversations.messages.text_search(
-
-**tool_names_successful:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names that had successful calls.
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
--
-**tool_names_errored:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by tool names that had errored calls.
-
+
+client.conversational_ai.conversations.tags.delete(...)
-
-**main_languages:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter conversations by detected main language (language code).
-
-
-
+#### 📝 Description
-
-**page_size:** `typing.Optional[int]` — Number of results per page. Max 50.
-
-
-
-
-
-**summary_mode:** `typing.Optional[MessagesTextSearchRequestSummaryMode]` — Whether to include transcript summaries in the response.
-
+Delete a conversation tag. Restricted to the tag owner or a workspace admin.
+
+
+#### 🔌 Usage
+
-
-**conversation_initiation_source:** `typing.Optional[ConversationInitiationSource]`
-
-
-
-
-
-**branch_id:** `typing.Optional[str]` — Filter conversations by branch ID.
-
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.conversations.tags.delete(
+ tag_id="tag_id",
+)
+
+```
+
+
+#### ⚙️ Parameters
+
-
-**sort_by:** `typing.Optional[MessageSearchSortBy]` — Sort order for search results. 'search_score' sorts by search score, 'created_at' sorts by conversation start time.
-
-
-
-
-
-**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+**tag_id:** `str`
@@ -15818,7 +16609,7 @@ client.conversational_ai.conversations.messages.text_search(
-client.conversational_ai.conversations.messages.search(...)
+client.conversational_ai.conversations.tags.update(...)
-
@@ -15830,7 +16621,7 @@ client.conversational_ai.conversations.messages.text_search(
-
-Search conversation transcripts by semantic similarity to surface relevant messages based on meaning and intent, rather than exact keyword matches
+Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
@@ -15850,11 +16641,8 @@ from elevenlabs import ElevenLabs
client = ElevenLabs(
api_key="YOUR_API_KEY",
)
-client.conversational_ai.conversations.messages.search(
- text_query="Customer asking to cancel and get money back",
- agent_id="agent_id",
- page_size=1,
- cursor="cursor",
+client.conversational_ai.conversations.tags.update(
+ tag_id="tag_id",
)
```
@@ -15871,15 +16659,7 @@ client.conversational_ai.conversations.messages.search(
-
-**text_query:** `str` — The search query text for semantic similarity matching
-
-
-
-
-
--
-
-**agent_id:** `typing.Optional[str]` — The id of the agent you're taking the action on.
+**tag_id:** `str`
@@ -15887,7 +16667,7 @@ client.conversational_ai.conversations.messages.search(
-
-**page_size:** `typing.Optional[int]` — Number of results per page. Max 50.
+**title:** `typing.Optional[str]` — If provided, replaces the tag title. Omit to leave unchanged.
@@ -15895,7 +16675,7 @@ client.conversational_ai.conversations.messages.search(
-
-**cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
+**description:** `typing.Optional[str]` — If provided, replaces the tag description. Omit to leave unchanged.
@@ -17528,7 +18308,9 @@ from elevenlabs import ElevenLabs
client = ElevenLabs(
api_key="YOUR_API_KEY",
)
-client.conversational_ai.knowledge_base.documents.summaries.get()
+client.conversational_ai.knowledge_base.documents.summaries.get(
+ document_ids=["21m00Tcm4TlvDq8ikWAM", "31n11Udm5UmwEr9jkXBN"],
+)
```
@@ -18839,7 +19621,7 @@ client.conversational_ai.tests.invocations.list(
-
-**agent_id:** `str` — Filter by agent ID
+**agent_id:** `typing.Optional[str]` — Filter by agent ID
@@ -25450,6 +26232,131 @@ client.voices.samples.audio.get(
+
+
+
+
+## Workspace AuditLogs
+client.workspace.audit_logs.list(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the audit log for the workspace. Requires enterprise tier and the audit_log_read permission.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.workspace.audit_logs.list(
+ limit=1,
+ cursor="cursor",
+ time_from_unix_ms=1,
+ time_to_unix_ms=1,
+ actor_uid="actor_uid",
+ class_name="class_name",
+ activity_name="activity_name",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**limit:** `typing.Optional[int]` — Maximum number of entries per page
+
+
+
+
+
+-
+
+**cursor:** `typing.Optional[str]` — Cursor for the next page (from previous response)
+
+
+
+
+
+-
+
+**time_from_unix_ms:** `typing.Optional[int]` — Only include entries at or after this time (ms since epoch)
+
+
+
+
+
+-
+
+**time_to_unix_ms:** `typing.Optional[int]` — Only include entries at or before this time (ms since epoch)
+
+
+
+
+
+-
+
+**actor_uid:** `typing.Optional[str]` — Filter by actor user ID
+
+
+
+
+
+-
+
+**class_name:** `typing.Optional[str]` — Filter by OCSF event class name (e.g. Account Change)
+
+
+
+
+
+-
+
+**activity_name:** `typing.Optional[str]` — Filter by audit activity name (e.g. Subscription Creation)
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
diff --git a/src/elevenlabs/__init__.py b/src/elevenlabs/__init__.py
index 4958add5..6da9d089 100644
--- a/src/elevenlabs/__init__.py
+++ b/src/elevenlabs/__init__.py
@@ -10,6 +10,8 @@
sys.setrecursionlimit(10000)
if typing.TYPE_CHECKING:
from .types import (
+ AccountChangeActivityId,
+ ActorModel,
AddChapterResponseModel,
AddKnowledgeBaseResponseModel,
AddProjectRequest,
@@ -83,8 +85,11 @@
AnalysisPropertyConstantValue,
AnalysisPropertyType,
AnalysisScope,
+ ApiIntegrationDocResponse,
ApiIntegrationOAuth2AuthCodeResponse,
ApiIntegrationOAuth2AuthCodeResponseScopeSeparator,
+ ApiIntegrationOAuth2CustomAppResponse,
+ ApiIntegrationOAuth2CustomAppResponseScopeSeparator,
ApiIntegrationWebhookOverrides,
ApiIntegrationWebhookOverridesRequestHeadersValue,
ApiIntegrationWebhookOverridesSchemaOverridesValue,
@@ -214,8 +219,13 @@
AuthConnectionDependenciesToolsItem_Unknown,
AuthConnectionLocator,
AuthSettings,
+ AuthenticationActivityId,
AuthorizationMethod,
AutoSyncInfo,
+ BackgroundMusicConfig,
+ BackgroundMusicConfigWorkflowOverride,
+ BackgroundMusicPresetId,
+ BackgroundMusicSourceType,
BackupLlmDefault,
BackupLlmDisabled,
BackupLlmOverride,
@@ -235,6 +245,9 @@
BuiltInToolsOutput,
BuiltInToolsWorkflowOverrideInput,
BuiltInToolsWorkflowOverrideOutput,
+ CancelCalendarEventParams,
+ CancelGroupSessionForAllParams,
+ CancelGroupSessionRegistrationParams,
CanvasPlacement,
CaptionStyleCharacterAnimationModel,
CaptionStyleCharacterAnimationModelEnterType,
@@ -312,6 +325,7 @@
ContentGuardrailOutputTriggerAction_Retry,
ContentThresholdGuardrail,
ContentThresholdGuardrailThreshold,
+ ContextualUpdateInfo,
Contributor,
ConvAiDynamicVariable,
ConvAiEnvVarLocator,
@@ -330,15 +344,18 @@
ConvAiUserSecretDbModel,
ConvAiWebhooks,
ConvAiWorkspaceStoredSecretConfig,
+ ConversationAsrUsageModel,
ConversationChargingCommonModel,
- ConversationConfig,
ConversationConfigClientOverrideConfigInput,
ConversationConfigClientOverrideConfigOutput,
ConversationConfigClientOverrideInput,
ConversationConfigClientOverrideOutput,
+ ConversationConfigInput,
+ ConversationConfigOutput,
ConversationConfigOverride,
ConversationConfigOverrideConfig,
- ConversationConfigWorkflowOverride,
+ ConversationConfigWorkflowOverrideInput,
+ ConversationConfigWorkflowOverrideOutput,
ConversationDeletionSettings,
ConversationFeedbackType,
ConversationHistoryAnalysisCommonModel,
@@ -373,6 +390,7 @@
ConversationHistoryTranscriptSystemToolResultCommonModelInput,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess,
@@ -387,6 +405,7 @@
ConversationHistoryTranscriptSystemToolResultCommonModelOutput,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess,
@@ -432,10 +451,14 @@
ConversationSource,
ConversationSummaryResponseModel,
ConversationSummaryResponseModelStatus,
+ ConversationTagResponseModel,
ConversationTokenDbModel,
ConversationTokenPurpose,
+ ConversationTtsUsageModel,
ConversationTurnMetrics,
ConversationUserResponseModel,
+ ConversationVoiceRewardModel,
+ ConversationVoiceUsageModel,
ConversationalConfig,
ConversationalConfigApiModelWorkflowOverrideInput,
ConversationalConfigApiModelWorkflowOverrideOutput,
@@ -460,6 +483,7 @@
CreateOAuth2ClientCredsRequest,
CreateOAuth2JwtRequest,
CreateOAuth2JwtRequestAlgorithm,
+ CreateOAuth2JwtRequestTokenResponseField,
CreatePhoneNumberResponseModel,
CreatePreviouslyGeneratedVoiceRequest,
CreatePrivateKeyJwtRequest,
@@ -506,6 +530,7 @@
DeleteClientInteractionParams,
DeleteClientParams,
DeleteDubbingResponseModel,
+ DeleteGroupSessionParams,
DeleteHistoryItemResponse,
DeleteHolidayParams,
DeleteLocationParams,
@@ -534,6 +559,7 @@
DependentUnknownToolIdentifier,
DetailedMusicResponse,
DetectedEntity,
+ DeviceModel,
DialogueInput,
DialogueInputResponseModel,
DialogueTextAlignment,
@@ -552,7 +578,6 @@
DubbingMediaReference,
DubbingMetadataPageResponseModel,
DubbingMetadataResponse,
- DubbingModel,
DubbingRenderResponseModel,
DubbingResource,
DubbingTranscript,
@@ -583,6 +608,7 @@
EndCallToolConfig,
EndCallToolResultModel,
EndCallTriggerAction,
+ EntityManagementActivityId,
EnvironmentAuthConnectionLocator,
EnvironmentVariableAuthConnectionValue,
EnvironmentVariableAuthConnectionValueRequest,
@@ -654,6 +680,7 @@
GetConvAiSettingsResponseModel,
GetConversationResponseModel,
GetConversationResponseModelStatus,
+ GetConversationTagsPageResponseModel,
GetConversationUsersPageResponseModel,
GetConversationsPageResponseModel,
GetKnowledgeBaseDependentAgentsResponseModel,
@@ -718,6 +745,7 @@
GetSecretDependenciesResponseModelDependenciesZeroItem_Available,
GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown,
GetSimulationTestResponseModel,
+ GetSipLogMessagesResponse,
GetSpeechHistoryResponse,
GetTestInvocationsPageResponseModel,
GetTestSuiteInvocationResponseModel,
@@ -733,6 +761,7 @@
GetVoicesV2Response,
GetWhatsAppAccountResponse,
GetWorkspaceSecretsResponseModel,
+ GroupManagementActivityId,
GuardrailExecutionMode,
GuardrailsV1Input,
GuardrailsV1Output,
@@ -740,9 +769,14 @@
HistoryAlignmentsResponseModel,
HistoryItemResponse,
HtmlExportOptions,
+ HttpRequestModel,
HttpValidationError,
Icon,
+ ImageAnalysis,
+ ImageAnalysisResult,
+ ImageAnalysisStatus,
ImageAvatar,
+ ImageSubject,
InboundSipTrunkConfigRequestModel,
InitialiseContext,
InitializeConnection,
@@ -767,6 +801,9 @@
KnowledgeBaseFolderPathSegmentResponseModel,
KnowledgeBaseFolderPathSegmentSummaryResponseModel,
KnowledgeBaseLocator,
+ KnowledgeBaseRagToolConfig,
+ KnowledgeBaseRagToolResultModel,
+ KnowledgeBaseRagToolStatus,
KnowledgeBaseSortBy,
KnowledgeBaseSourceFileUrlResponseModel,
KnowledgeBaseSummaryBatchSuccessfulResponseModel,
@@ -782,6 +819,7 @@
LanguagePresetOutput,
LanguagePresetTranslation,
LanguageResponse,
+ LeaveMessageParams,
LibraryVoiceResponse,
LibraryVoiceResponseModelCategory,
ListAgentRulesParams,
@@ -789,6 +827,7 @@
ListAuthConnectionsResponse,
ListAuthConnectionsResponseAuthConnectionsItem,
ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode,
+ ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp,
ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth,
ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth,
ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth,
@@ -800,11 +839,13 @@
ListCalendarEventsParams,
ListClientInteractionsParams,
ListClientsParams,
+ ListGroupSessionsParams,
ListHolidaysParams,
ListLocationsParams,
ListMcpToolsResponseModel,
ListProductsParams,
ListResponseAgentBranchSummary,
+ ListResponseApiIntegrationDocResponse,
ListResponseMeta,
ListServicesParams,
ListStaffParams,
@@ -893,6 +934,7 @@
OAuth2ClientCredsResponse,
OAuth2JwtResponse,
OAuth2JwtResponseAlgorithm,
+ OAuth2JwtResponseTokenResponseField,
OAuthConnectionStatus,
ObjectJsonSchemaPropertyInput,
ObjectJsonSchemaPropertyInputPropertiesValue,
@@ -948,6 +990,7 @@
PostWorkspaceSecretResponseModel,
PreToolSpeechMode,
PreviewAudioDbModel,
+ Price,
PrivacyConfigInput,
PrivacyConfigOutput,
PrivateKeyJwtResponse,
@@ -1073,6 +1116,7 @@
ReferencedToolCommonModelType,
RegexParameterEvaluationStrategy,
RegionConfigRequest,
+ RegisterForGroupSessionParams,
RemoveMemberFromGroupRequest,
Render,
RenderStatus,
@@ -1081,6 +1125,7 @@
RequiredConstraint,
RequiredConstraints,
ResourceAccessInfo,
+ ResourceAccessInfoAnonymousAccessLevelOverride,
ResourceAccessInfoRole,
ResourceMetadataResponseModel,
ResourceMetadataResponseModelAnonymousAccessLevelOverride,
@@ -1103,6 +1148,7 @@
SayNodeLiteralMessageOutput,
SayNodePromptMessageInput,
SayNodePromptMessageOutput,
+ ScheduleGroupSessionParams,
ScopedAnalysisResult,
ScribeAuthErrorPayload,
ScribeChunkSizeExceededErrorPayload,
@@ -1138,6 +1184,7 @@
SessionStartedPayloadConfig,
SessionStartedPayloadConfigCommitStrategy,
SetBookingSlugParams,
+ SeverityId,
SfxSourceContext,
ShareOptionResponseModel,
ShareOptionResponseModelType,
@@ -1148,6 +1195,8 @@
SingleTestRunRequestModel,
SingleUseTokenResponseModel,
SingleUseTokenType,
+ SipLogMessage,
+ SipLogMessageDirection,
SipMediaEncryptionEnum,
SipTrunkCredentialsRequestModel,
SipTrunkOutboundCallResponse,
@@ -1156,6 +1205,8 @@
SipUriTransferDestination,
SkipTurnToolConfig,
SkipTurnToolResponseModel,
+ SmsConversationInfo,
+ SmsConversationInfoDirection,
SoftTimeoutConfig,
SoftTimeoutConfigOverride,
SoftTimeoutConfigOverrideConfig,
@@ -1172,6 +1223,8 @@
SpeakerSeparationResponseModelStatus,
SpeakerTrack,
SpeakerUpdatedResponse,
+ SpeechEngineConfig,
+ SpeechEngineConfigRequestHeadersValue,
SpeechHistoryItemResponse,
SpeechHistoryItemResponseModelSource,
SpeechHistoryItemResponseModelVoiceCategory,
@@ -1184,6 +1237,7 @@
SrtExportOptions,
StartPvcVoiceTrainingResponseModel,
StartSpeakerSeparationResponseModel,
+ StatusId,
StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel,
StreamingAudioChunkWithTimestampsResponse,
StudioAgentSettingsModel,
@@ -1201,6 +1255,7 @@
SystemToolConfigInput,
SystemToolConfigInputParams,
SystemToolConfigInputParams_EndCall,
+ SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
@@ -1210,6 +1265,7 @@
SystemToolConfigOutput,
SystemToolConfigOutputParams,
SystemToolConfigOutputParams_EndCall,
+ SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
@@ -1345,6 +1401,7 @@
UpdateChapterRequest,
UpdateClientParams,
UpdateCustomerFacingConfigParams,
+ UpdateGroupSessionSeatsParams,
UpdateHolidayParams,
UpdateLocationParams,
UpdateProductParams,
@@ -1357,11 +1414,15 @@
UpdateToolCallUnitTestRequest,
UpdateWorkspaceMemberResponseModel,
UrlAvatar,
+ UrlModel,
UsageAggregationInterval,
UsageCharactersResponseModel,
User,
+ UserAccessManagementActivityId,
UserFeedback,
UserFeedbackScore,
+ UserModel,
+ UserTypeId,
UsersSortBy,
UtteranceResponseModel,
VadConfig,
@@ -1416,6 +1477,7 @@
WebhookToolApiSchemaConfigOutputRequestHeadersValue,
WebhookToolConfigInput,
WebhookToolConfigOutput,
+ WebhookTranscriptFormat,
WebhookUsageType,
WebsocketTtsClientMessageMulti,
WebsocketTtsServerMessageMulti,
@@ -1554,6 +1616,9 @@
WorkspaceAnalyticsQueryResponseModelRowsItemItem,
WorkspaceApiKeyListResponseModel,
WorkspaceApiKeyResponseModel,
+ WorkspaceAuditLogEntryResponse,
+ WorkspaceAuditLogEntryResponseActivityId,
+ WorkspaceAuditLogsPageResponse,
WorkspaceBatchCallsResponse,
WorkspaceCreateApiKeyResponseModel,
WorkspaceCreateWebhookResponseModel,
@@ -1698,6 +1763,8 @@
from .version import __version__
from .voices import VoicesGetSharedRequestCategory, VoicesUpdateRequestLabels
_dynamic_imports: typing.Dict[str, str] = {
+ "AccountChangeActivityId": ".types",
+ "ActorModel": ".types",
"AddChapterResponseModel": ".types",
"AddKnowledgeBaseResponseModel": ".types",
"AddProjectRequest": ".types",
@@ -1771,8 +1838,11 @@
"AnalysisPropertyConstantValue": ".types",
"AnalysisPropertyType": ".types",
"AnalysisScope": ".types",
+ "ApiIntegrationDocResponse": ".types",
"ApiIntegrationOAuth2AuthCodeResponse": ".types",
"ApiIntegrationOAuth2AuthCodeResponseScopeSeparator": ".types",
+ "ApiIntegrationOAuth2CustomAppResponse": ".types",
+ "ApiIntegrationOAuth2CustomAppResponseScopeSeparator": ".types",
"ApiIntegrationWebhookOverrides": ".types",
"ApiIntegrationWebhookOverridesRequestHeadersValue": ".types",
"ApiIntegrationWebhookOverridesSchemaOverridesValue": ".types",
@@ -1907,8 +1977,13 @@
"AuthConnectionDependenciesToolsItem_Unknown": ".types",
"AuthConnectionLocator": ".types",
"AuthSettings": ".types",
+ "AuthenticationActivityId": ".types",
"AuthorizationMethod": ".types",
"AutoSyncInfo": ".types",
+ "BackgroundMusicConfig": ".types",
+ "BackgroundMusicConfigWorkflowOverride": ".types",
+ "BackgroundMusicPresetId": ".types",
+ "BackgroundMusicSourceType": ".types",
"BackupLlmDefault": ".types",
"BackupLlmDisabled": ".types",
"BackupLlmOverride": ".types",
@@ -1950,6 +2025,9 @@
"BuiltInToolsOutput": ".types",
"BuiltInToolsWorkflowOverrideInput": ".types",
"BuiltInToolsWorkflowOverrideOutput": ".types",
+ "CancelCalendarEventParams": ".types",
+ "CancelGroupSessionForAllParams": ".types",
+ "CancelGroupSessionRegistrationParams": ".types",
"CanvasPlacement": ".types",
"CaptionStyleCharacterAnimationModel": ".types",
"CaptionStyleCharacterAnimationModelEnterType": ".types",
@@ -2029,6 +2107,7 @@
"ContentGuardrailOutputTriggerAction_Retry": ".types",
"ContentThresholdGuardrail": ".types",
"ContentThresholdGuardrailThreshold": ".types",
+ "ContextualUpdateInfo": ".types",
"Contributor": ".types",
"ConvAiDynamicVariable": ".types",
"ConvAiEnvVarLocator": ".types",
@@ -2047,15 +2126,18 @@
"ConvAiUserSecretDbModel": ".types",
"ConvAiWebhooks": ".types",
"ConvAiWorkspaceStoredSecretConfig": ".types",
+ "ConversationAsrUsageModel": ".types",
"ConversationChargingCommonModel": ".types",
- "ConversationConfig": ".types",
"ConversationConfigClientOverrideConfigInput": ".types",
"ConversationConfigClientOverrideConfigOutput": ".types",
"ConversationConfigClientOverrideInput": ".types",
"ConversationConfigClientOverrideOutput": ".types",
+ "ConversationConfigInput": ".types",
+ "ConversationConfigOutput": ".types",
"ConversationConfigOverride": ".types",
"ConversationConfigOverrideConfig": ".types",
- "ConversationConfigWorkflowOverride": ".types",
+ "ConversationConfigWorkflowOverrideInput": ".types",
+ "ConversationConfigWorkflowOverrideOutput": ".types",
"ConversationDeletionSettings": ".types",
"ConversationFeedbackType": ".types",
"ConversationHistoryAnalysisCommonModel": ".types",
@@ -2090,6 +2172,7 @@
"ConversationHistoryTranscriptSystemToolResultCommonModelInput": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess": ".types",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess": ".types",
@@ -2104,6 +2187,7 @@
"ConversationHistoryTranscriptSystemToolResultCommonModelOutput": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess": ".types",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError": ".types",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess": ".types",
@@ -2149,10 +2233,14 @@
"ConversationSource": ".types",
"ConversationSummaryResponseModel": ".types",
"ConversationSummaryResponseModelStatus": ".types",
+ "ConversationTagResponseModel": ".types",
"ConversationTokenDbModel": ".types",
"ConversationTokenPurpose": ".types",
+ "ConversationTtsUsageModel": ".types",
"ConversationTurnMetrics": ".types",
"ConversationUserResponseModel": ".types",
+ "ConversationVoiceRewardModel": ".types",
+ "ConversationVoiceUsageModel": ".types",
"ConversationalConfig": ".types",
"ConversationalConfigApiModelWorkflowOverrideInput": ".types",
"ConversationalConfigApiModelWorkflowOverrideOutput": ".types",
@@ -2177,6 +2265,7 @@
"CreateOAuth2ClientCredsRequest": ".types",
"CreateOAuth2JwtRequest": ".types",
"CreateOAuth2JwtRequestAlgorithm": ".types",
+ "CreateOAuth2JwtRequestTokenResponseField": ".types",
"CreatePhoneNumberResponseModel": ".types",
"CreatePreviouslyGeneratedVoiceRequest": ".types",
"CreatePrivateKeyJwtRequest": ".types",
@@ -2223,6 +2312,7 @@
"DeleteClientInteractionParams": ".types",
"DeleteClientParams": ".types",
"DeleteDubbingResponseModel": ".types",
+ "DeleteGroupSessionParams": ".types",
"DeleteHistoryItemResponse": ".types",
"DeleteHolidayParams": ".types",
"DeleteLocationParams": ".types",
@@ -2251,6 +2341,7 @@
"DependentUnknownToolIdentifier": ".types",
"DetailedMusicResponse": ".types",
"DetectedEntity": ".types",
+ "DeviceModel": ".types",
"DialogueInput": ".types",
"DialogueInputResponseModel": ".types",
"DialogueTextAlignment": ".types",
@@ -2273,7 +2364,6 @@
"DubbingMediaReference": ".types",
"DubbingMetadataPageResponseModel": ".types",
"DubbingMetadataResponse": ".types",
- "DubbingModel": ".types",
"DubbingRenderResponseModel": ".types",
"DubbingResource": ".types",
"DubbingTranscript": ".types",
@@ -2306,6 +2396,7 @@
"EndCallToolConfig": ".types",
"EndCallToolResultModel": ".types",
"EndCallTriggerAction": ".types",
+ "EntityManagementActivityId": ".types",
"EnvironmentAuthConnectionLocator": ".types",
"EnvironmentVariableAuthConnectionValue": ".types",
"EnvironmentVariableAuthConnectionValueRequest": ".types",
@@ -2383,6 +2474,7 @@
"GetConvAiSettingsResponseModel": ".types",
"GetConversationResponseModel": ".types",
"GetConversationResponseModelStatus": ".types",
+ "GetConversationTagsPageResponseModel": ".types",
"GetConversationUsersPageResponseModel": ".types",
"GetConversationsPageResponseModel": ".types",
"GetKnowledgeBaseDependentAgentsResponseModel": ".types",
@@ -2447,6 +2539,7 @@
"GetSecretDependenciesResponseModelDependenciesZeroItem_Available": ".types",
"GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown": ".types",
"GetSimulationTestResponseModel": ".types",
+ "GetSipLogMessagesResponse": ".types",
"GetSpeechHistoryResponse": ".types",
"GetTestInvocationsPageResponseModel": ".types",
"GetTestSuiteInvocationResponseModel": ".types",
@@ -2462,6 +2555,7 @@
"GetVoicesV2Response": ".types",
"GetWhatsAppAccountResponse": ".types",
"GetWorkspaceSecretsResponseModel": ".types",
+ "GroupManagementActivityId": ".types",
"GuardrailExecutionMode": ".types",
"GuardrailsV1Input": ".types",
"GuardrailsV1Output": ".types",
@@ -2471,9 +2565,14 @@
"HistoryListRequestSortDirection": ".history",
"HistoryListRequestSource": ".history",
"HtmlExportOptions": ".types",
+ "HttpRequestModel": ".types",
"HttpValidationError": ".types",
"Icon": ".types",
+ "ImageAnalysis": ".types",
+ "ImageAnalysisResult": ".types",
+ "ImageAnalysisStatus": ".types",
"ImageAvatar": ".types",
+ "ImageSubject": ".types",
"InboundSipTrunkConfigRequestModel": ".types",
"InitialiseContext": ".types",
"InitializeConnection": ".types",
@@ -2498,6 +2597,9 @@
"KnowledgeBaseFolderPathSegmentResponseModel": ".types",
"KnowledgeBaseFolderPathSegmentSummaryResponseModel": ".types",
"KnowledgeBaseLocator": ".types",
+ "KnowledgeBaseRagToolConfig": ".types",
+ "KnowledgeBaseRagToolResultModel": ".types",
+ "KnowledgeBaseRagToolStatus": ".types",
"KnowledgeBaseSortBy": ".types",
"KnowledgeBaseSourceFileUrlResponseModel": ".types",
"KnowledgeBaseSummaryBatchSuccessfulResponseModel": ".types",
@@ -2513,6 +2615,7 @@
"LanguagePresetOutput": ".types",
"LanguagePresetTranslation": ".types",
"LanguageResponse": ".types",
+ "LeaveMessageParams": ".types",
"LibraryVoiceResponse": ".types",
"LibraryVoiceResponseModelCategory": ".types",
"ListAgentRulesParams": ".types",
@@ -2520,6 +2623,7 @@
"ListAuthConnectionsResponse": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode": ".types",
+ "ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth": ".types",
@@ -2531,11 +2635,13 @@
"ListCalendarEventsParams": ".types",
"ListClientInteractionsParams": ".types",
"ListClientsParams": ".types",
+ "ListGroupSessionsParams": ".types",
"ListHolidaysParams": ".types",
"ListLocationsParams": ".types",
"ListMcpToolsResponseModel": ".types",
"ListProductsParams": ".types",
"ListResponseAgentBranchSummary": ".types",
+ "ListResponseApiIntegrationDocResponse": ".types",
"ListResponseMeta": ".types",
"ListServicesParams": ".types",
"ListStaffParams": ".types",
@@ -2626,6 +2732,7 @@
"OAuth2ClientCredsResponse": ".types",
"OAuth2JwtResponse": ".types",
"OAuth2JwtResponseAlgorithm": ".types",
+ "OAuth2JwtResponseTokenResponseField": ".types",
"OAuthConnectionStatus": ".types",
"ObjectJsonSchemaPropertyInput": ".types",
"ObjectJsonSchemaPropertyInputPropertiesValue": ".types",
@@ -2681,6 +2788,7 @@
"PostWorkspaceSecretResponseModel": ".types",
"PreToolSpeechMode": ".types",
"PreviewAudioDbModel": ".types",
+ "Price": ".types",
"PrivacyConfigInput": ".types",
"PrivacyConfigOutput": ".types",
"PrivateKeyJwtResponse": ".types",
@@ -2816,6 +2924,7 @@
"ReferencedToolCommonModelType": ".types",
"RegexParameterEvaluationStrategy": ".types",
"RegionConfigRequest": ".types",
+ "RegisterForGroupSessionParams": ".types",
"RemoveMemberFromGroupRequest": ".types",
"Render": ".types",
"RenderStatus": ".types",
@@ -2824,6 +2933,7 @@
"RequiredConstraint": ".types",
"RequiredConstraints": ".types",
"ResourceAccessInfo": ".types",
+ "ResourceAccessInfoAnonymousAccessLevelOverride": ".types",
"ResourceAccessInfoRole": ".types",
"ResourceMetadataResponseModel": ".types",
"ResourceMetadataResponseModelAnonymousAccessLevelOverride": ".types",
@@ -2846,6 +2956,7 @@
"SayNodeLiteralMessageOutput": ".types",
"SayNodePromptMessageInput": ".types",
"SayNodePromptMessageOutput": ".types",
+ "ScheduleGroupSessionParams": ".types",
"ScopedAnalysisResult": ".types",
"ScribeAuthErrorPayload": ".types",
"ScribeChunkSizeExceededErrorPayload": ".types",
@@ -2883,6 +2994,7 @@
"SessionStartedPayloadConfig": ".types",
"SessionStartedPayloadConfigCommitStrategy": ".types",
"SetBookingSlugParams": ".types",
+ "SeverityId": ".types",
"SfxSourceContext": ".types",
"ShareOptionResponseModel": ".types",
"ShareOptionResponseModelType": ".types",
@@ -2893,6 +3005,8 @@
"SingleTestRunRequestModel": ".types",
"SingleUseTokenResponseModel": ".types",
"SingleUseTokenType": ".types",
+ "SipLogMessage": ".types",
+ "SipLogMessageDirection": ".types",
"SipMediaEncryptionEnum": ".types",
"SipTrunkCredentialsRequestModel": ".types",
"SipTrunkOutboundCallResponse": ".types",
@@ -2901,6 +3015,8 @@
"SipUriTransferDestination": ".types",
"SkipTurnToolConfig": ".types",
"SkipTurnToolResponseModel": ".types",
+ "SmsConversationInfo": ".types",
+ "SmsConversationInfoDirection": ".types",
"SoftTimeoutConfig": ".types",
"SoftTimeoutConfigOverride": ".types",
"SoftTimeoutConfigOverrideConfig": ".types",
@@ -2917,6 +3033,8 @@
"SpeakerSeparationResponseModelStatus": ".types",
"SpeakerTrack": ".types",
"SpeakerUpdatedResponse": ".types",
+ "SpeechEngineConfig": ".types",
+ "SpeechEngineConfigRequestHeadersValue": ".types",
"SpeechHistoryItemResponse": ".types",
"SpeechHistoryItemResponseModelSource": ".types",
"SpeechHistoryItemResponseModelVoiceCategory": ".types",
@@ -2940,6 +3058,7 @@
"SrtExportOptions": ".types",
"StartPvcVoiceTrainingResponseModel": ".types",
"StartSpeakerSeparationResponseModel": ".types",
+ "StatusId": ".types",
"StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel": ".types",
"StreamingAudioChunkWithTimestampsResponse": ".types",
"StudioAgentSettingsModel": ".types",
@@ -2957,6 +3076,7 @@
"SystemToolConfigInput": ".types",
"SystemToolConfigInputParams": ".types",
"SystemToolConfigInputParams_EndCall": ".types",
+ "SystemToolConfigInputParams_KnowledgeBaseRag": ".types",
"SystemToolConfigInputParams_LanguageDetection": ".types",
"SystemToolConfigInputParams_PlayKeypadTouchTone": ".types",
"SystemToolConfigInputParams_SkipTurn": ".types",
@@ -2966,6 +3086,7 @@
"SystemToolConfigOutput": ".types",
"SystemToolConfigOutputParams": ".types",
"SystemToolConfigOutputParams_EndCall": ".types",
+ "SystemToolConfigOutputParams_KnowledgeBaseRag": ".types",
"SystemToolConfigOutputParams_LanguageDetection": ".types",
"SystemToolConfigOutputParams_PlayKeypadTouchTone": ".types",
"SystemToolConfigOutputParams_SkipTurn": ".types",
@@ -3112,6 +3233,7 @@
"UpdateClientParams": ".types",
"UpdateCustomerFacingConfigParams": ".types",
"UpdateEnvironmentVariableRequestValuesValue": ".environment_variables",
+ "UpdateGroupSessionSeatsParams": ".types",
"UpdateHolidayParams": ".types",
"UpdateLocationParams": ".types",
"UpdateProductParams": ".types",
@@ -3124,11 +3246,15 @@
"UpdateToolCallUnitTestRequest": ".types",
"UpdateWorkspaceMemberResponseModel": ".types",
"UrlAvatar": ".types",
+ "UrlModel": ".types",
"UsageAggregationInterval": ".types",
"UsageCharactersResponseModel": ".types",
"User": ".types",
+ "UserAccessManagementActivityId": ".types",
"UserFeedback": ".types",
"UserFeedbackScore": ".types",
+ "UserModel": ".types",
+ "UserTypeId": ".types",
"UsersSortBy": ".types",
"UtteranceResponseModel": ".types",
"VadConfig": ".types",
@@ -3186,6 +3312,7 @@
"WebhookToolApiSchemaConfigOutputRequestHeadersValue": ".types",
"WebhookToolConfigInput": ".types",
"WebhookToolConfigOutput": ".types",
+ "WebhookTranscriptFormat": ".types",
"WebhookUsageType": ".types",
"WebsocketTtsClientMessageMulti": ".types",
"WebsocketTtsServerMessageMulti": ".types",
@@ -3324,6 +3451,9 @@
"WorkspaceAnalyticsQueryResponseModelRowsItemItem": ".types",
"WorkspaceApiKeyListResponseModel": ".types",
"WorkspaceApiKeyResponseModel": ".types",
+ "WorkspaceAuditLogEntryResponse": ".types",
+ "WorkspaceAuditLogEntryResponseActivityId": ".types",
+ "WorkspaceAuditLogsPageResponse": ".types",
"WorkspaceBatchCallsResponse": ".types",
"WorkspaceCreateApiKeyResponseModel": ".types",
"WorkspaceCreateWebhookResponseModel": ".types",
@@ -3396,6 +3526,8 @@ def __dir__():
__all__ = [
+ "AccountChangeActivityId",
+ "ActorModel",
"AddChapterResponseModel",
"AddKnowledgeBaseResponseModel",
"AddProjectRequest",
@@ -3469,8 +3601,11 @@ def __dir__():
"AnalysisPropertyConstantValue",
"AnalysisPropertyType",
"AnalysisScope",
+ "ApiIntegrationDocResponse",
"ApiIntegrationOAuth2AuthCodeResponse",
"ApiIntegrationOAuth2AuthCodeResponseScopeSeparator",
+ "ApiIntegrationOAuth2CustomAppResponse",
+ "ApiIntegrationOAuth2CustomAppResponseScopeSeparator",
"ApiIntegrationWebhookOverrides",
"ApiIntegrationWebhookOverridesRequestHeadersValue",
"ApiIntegrationWebhookOverridesSchemaOverridesValue",
@@ -3605,8 +3740,13 @@ def __dir__():
"AuthConnectionDependenciesToolsItem_Unknown",
"AuthConnectionLocator",
"AuthSettings",
+ "AuthenticationActivityId",
"AuthorizationMethod",
"AutoSyncInfo",
+ "BackgroundMusicConfig",
+ "BackgroundMusicConfigWorkflowOverride",
+ "BackgroundMusicPresetId",
+ "BackgroundMusicSourceType",
"BackupLlmDefault",
"BackupLlmDisabled",
"BackupLlmOverride",
@@ -3648,6 +3788,9 @@ def __dir__():
"BuiltInToolsOutput",
"BuiltInToolsWorkflowOverrideInput",
"BuiltInToolsWorkflowOverrideOutput",
+ "CancelCalendarEventParams",
+ "CancelGroupSessionForAllParams",
+ "CancelGroupSessionRegistrationParams",
"CanvasPlacement",
"CaptionStyleCharacterAnimationModel",
"CaptionStyleCharacterAnimationModelEnterType",
@@ -3727,6 +3870,7 @@ def __dir__():
"ContentGuardrailOutputTriggerAction_Retry",
"ContentThresholdGuardrail",
"ContentThresholdGuardrailThreshold",
+ "ContextualUpdateInfo",
"Contributor",
"ConvAiDynamicVariable",
"ConvAiEnvVarLocator",
@@ -3745,15 +3889,18 @@ def __dir__():
"ConvAiUserSecretDbModel",
"ConvAiWebhooks",
"ConvAiWorkspaceStoredSecretConfig",
+ "ConversationAsrUsageModel",
"ConversationChargingCommonModel",
- "ConversationConfig",
"ConversationConfigClientOverrideConfigInput",
"ConversationConfigClientOverrideConfigOutput",
"ConversationConfigClientOverrideInput",
"ConversationConfigClientOverrideOutput",
+ "ConversationConfigInput",
+ "ConversationConfigOutput",
"ConversationConfigOverride",
"ConversationConfigOverrideConfig",
- "ConversationConfigWorkflowOverride",
+ "ConversationConfigWorkflowOverrideInput",
+ "ConversationConfigWorkflowOverrideOutput",
"ConversationDeletionSettings",
"ConversationFeedbackType",
"ConversationHistoryAnalysisCommonModel",
@@ -3788,6 +3935,7 @@ def __dir__():
"ConversationHistoryTranscriptSystemToolResultCommonModelInput",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess",
@@ -3802,6 +3950,7 @@ def __dir__():
"ConversationHistoryTranscriptSystemToolResultCommonModelOutput",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess",
@@ -3847,10 +3996,14 @@ def __dir__():
"ConversationSource",
"ConversationSummaryResponseModel",
"ConversationSummaryResponseModelStatus",
+ "ConversationTagResponseModel",
"ConversationTokenDbModel",
"ConversationTokenPurpose",
+ "ConversationTtsUsageModel",
"ConversationTurnMetrics",
"ConversationUserResponseModel",
+ "ConversationVoiceRewardModel",
+ "ConversationVoiceUsageModel",
"ConversationalConfig",
"ConversationalConfigApiModelWorkflowOverrideInput",
"ConversationalConfigApiModelWorkflowOverrideOutput",
@@ -3875,6 +4028,7 @@ def __dir__():
"CreateOAuth2ClientCredsRequest",
"CreateOAuth2JwtRequest",
"CreateOAuth2JwtRequestAlgorithm",
+ "CreateOAuth2JwtRequestTokenResponseField",
"CreatePhoneNumberResponseModel",
"CreatePreviouslyGeneratedVoiceRequest",
"CreatePrivateKeyJwtRequest",
@@ -3921,6 +4075,7 @@ def __dir__():
"DeleteClientInteractionParams",
"DeleteClientParams",
"DeleteDubbingResponseModel",
+ "DeleteGroupSessionParams",
"DeleteHistoryItemResponse",
"DeleteHolidayParams",
"DeleteLocationParams",
@@ -3949,6 +4104,7 @@ def __dir__():
"DependentUnknownToolIdentifier",
"DetailedMusicResponse",
"DetectedEntity",
+ "DeviceModel",
"DialogueInput",
"DialogueInputResponseModel",
"DialogueTextAlignment",
@@ -3971,7 +4127,6 @@ def __dir__():
"DubbingMediaReference",
"DubbingMetadataPageResponseModel",
"DubbingMetadataResponse",
- "DubbingModel",
"DubbingRenderResponseModel",
"DubbingResource",
"DubbingTranscript",
@@ -4004,6 +4159,7 @@ def __dir__():
"EndCallToolConfig",
"EndCallToolResultModel",
"EndCallTriggerAction",
+ "EntityManagementActivityId",
"EnvironmentAuthConnectionLocator",
"EnvironmentVariableAuthConnectionValue",
"EnvironmentVariableAuthConnectionValueRequest",
@@ -4081,6 +4237,7 @@ def __dir__():
"GetConvAiSettingsResponseModel",
"GetConversationResponseModel",
"GetConversationResponseModelStatus",
+ "GetConversationTagsPageResponseModel",
"GetConversationUsersPageResponseModel",
"GetConversationsPageResponseModel",
"GetKnowledgeBaseDependentAgentsResponseModel",
@@ -4145,6 +4302,7 @@ def __dir__():
"GetSecretDependenciesResponseModelDependenciesZeroItem_Available",
"GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown",
"GetSimulationTestResponseModel",
+ "GetSipLogMessagesResponse",
"GetSpeechHistoryResponse",
"GetTestInvocationsPageResponseModel",
"GetTestSuiteInvocationResponseModel",
@@ -4160,6 +4318,7 @@ def __dir__():
"GetVoicesV2Response",
"GetWhatsAppAccountResponse",
"GetWorkspaceSecretsResponseModel",
+ "GroupManagementActivityId",
"GuardrailExecutionMode",
"GuardrailsV1Input",
"GuardrailsV1Output",
@@ -4169,9 +4328,14 @@ def __dir__():
"HistoryListRequestSortDirection",
"HistoryListRequestSource",
"HtmlExportOptions",
+ "HttpRequestModel",
"HttpValidationError",
"Icon",
+ "ImageAnalysis",
+ "ImageAnalysisResult",
+ "ImageAnalysisStatus",
"ImageAvatar",
+ "ImageSubject",
"InboundSipTrunkConfigRequestModel",
"InitialiseContext",
"InitializeConnection",
@@ -4196,6 +4360,9 @@ def __dir__():
"KnowledgeBaseFolderPathSegmentResponseModel",
"KnowledgeBaseFolderPathSegmentSummaryResponseModel",
"KnowledgeBaseLocator",
+ "KnowledgeBaseRagToolConfig",
+ "KnowledgeBaseRagToolResultModel",
+ "KnowledgeBaseRagToolStatus",
"KnowledgeBaseSortBy",
"KnowledgeBaseSourceFileUrlResponseModel",
"KnowledgeBaseSummaryBatchSuccessfulResponseModel",
@@ -4211,6 +4378,7 @@ def __dir__():
"LanguagePresetOutput",
"LanguagePresetTranslation",
"LanguageResponse",
+ "LeaveMessageParams",
"LibraryVoiceResponse",
"LibraryVoiceResponseModelCategory",
"ListAgentRulesParams",
@@ -4218,6 +4386,7 @@ def __dir__():
"ListAuthConnectionsResponse",
"ListAuthConnectionsResponseAuthConnectionsItem",
"ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode",
+ "ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp",
"ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth",
@@ -4229,11 +4398,13 @@ def __dir__():
"ListCalendarEventsParams",
"ListClientInteractionsParams",
"ListClientsParams",
+ "ListGroupSessionsParams",
"ListHolidaysParams",
"ListLocationsParams",
"ListMcpToolsResponseModel",
"ListProductsParams",
"ListResponseAgentBranchSummary",
+ "ListResponseApiIntegrationDocResponse",
"ListResponseMeta",
"ListServicesParams",
"ListStaffParams",
@@ -4324,6 +4495,7 @@ def __dir__():
"OAuth2ClientCredsResponse",
"OAuth2JwtResponse",
"OAuth2JwtResponseAlgorithm",
+ "OAuth2JwtResponseTokenResponseField",
"OAuthConnectionStatus",
"ObjectJsonSchemaPropertyInput",
"ObjectJsonSchemaPropertyInputPropertiesValue",
@@ -4379,6 +4551,7 @@ def __dir__():
"PostWorkspaceSecretResponseModel",
"PreToolSpeechMode",
"PreviewAudioDbModel",
+ "Price",
"PrivacyConfigInput",
"PrivacyConfigOutput",
"PrivateKeyJwtResponse",
@@ -4514,6 +4687,7 @@ def __dir__():
"ReferencedToolCommonModelType",
"RegexParameterEvaluationStrategy",
"RegionConfigRequest",
+ "RegisterForGroupSessionParams",
"RemoveMemberFromGroupRequest",
"Render",
"RenderStatus",
@@ -4522,6 +4696,7 @@ def __dir__():
"RequiredConstraint",
"RequiredConstraints",
"ResourceAccessInfo",
+ "ResourceAccessInfoAnonymousAccessLevelOverride",
"ResourceAccessInfoRole",
"ResourceMetadataResponseModel",
"ResourceMetadataResponseModelAnonymousAccessLevelOverride",
@@ -4544,6 +4719,7 @@ def __dir__():
"SayNodeLiteralMessageOutput",
"SayNodePromptMessageInput",
"SayNodePromptMessageOutput",
+ "ScheduleGroupSessionParams",
"ScopedAnalysisResult",
"ScribeAuthErrorPayload",
"ScribeChunkSizeExceededErrorPayload",
@@ -4581,6 +4757,7 @@ def __dir__():
"SessionStartedPayloadConfig",
"SessionStartedPayloadConfigCommitStrategy",
"SetBookingSlugParams",
+ "SeverityId",
"SfxSourceContext",
"ShareOptionResponseModel",
"ShareOptionResponseModelType",
@@ -4591,6 +4768,8 @@ def __dir__():
"SingleTestRunRequestModel",
"SingleUseTokenResponseModel",
"SingleUseTokenType",
+ "SipLogMessage",
+ "SipLogMessageDirection",
"SipMediaEncryptionEnum",
"SipTrunkCredentialsRequestModel",
"SipTrunkOutboundCallResponse",
@@ -4599,6 +4778,8 @@ def __dir__():
"SipUriTransferDestination",
"SkipTurnToolConfig",
"SkipTurnToolResponseModel",
+ "SmsConversationInfo",
+ "SmsConversationInfoDirection",
"SoftTimeoutConfig",
"SoftTimeoutConfigOverride",
"SoftTimeoutConfigOverrideConfig",
@@ -4615,6 +4796,8 @@ def __dir__():
"SpeakerSeparationResponseModelStatus",
"SpeakerTrack",
"SpeakerUpdatedResponse",
+ "SpeechEngineConfig",
+ "SpeechEngineConfigRequestHeadersValue",
"SpeechHistoryItemResponse",
"SpeechHistoryItemResponseModelSource",
"SpeechHistoryItemResponseModelVoiceCategory",
@@ -4638,6 +4821,7 @@ def __dir__():
"SrtExportOptions",
"StartPvcVoiceTrainingResponseModel",
"StartSpeakerSeparationResponseModel",
+ "StatusId",
"StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel",
"StreamingAudioChunkWithTimestampsResponse",
"StudioAgentSettingsModel",
@@ -4655,6 +4839,7 @@ def __dir__():
"SystemToolConfigInput",
"SystemToolConfigInputParams",
"SystemToolConfigInputParams_EndCall",
+ "SystemToolConfigInputParams_KnowledgeBaseRag",
"SystemToolConfigInputParams_LanguageDetection",
"SystemToolConfigInputParams_PlayKeypadTouchTone",
"SystemToolConfigInputParams_SkipTurn",
@@ -4664,6 +4849,7 @@ def __dir__():
"SystemToolConfigOutput",
"SystemToolConfigOutputParams",
"SystemToolConfigOutputParams_EndCall",
+ "SystemToolConfigOutputParams_KnowledgeBaseRag",
"SystemToolConfigOutputParams_LanguageDetection",
"SystemToolConfigOutputParams_PlayKeypadTouchTone",
"SystemToolConfigOutputParams_SkipTurn",
@@ -4810,6 +4996,7 @@ def __dir__():
"UpdateClientParams",
"UpdateCustomerFacingConfigParams",
"UpdateEnvironmentVariableRequestValuesValue",
+ "UpdateGroupSessionSeatsParams",
"UpdateHolidayParams",
"UpdateLocationParams",
"UpdateProductParams",
@@ -4822,11 +5009,15 @@ def __dir__():
"UpdateToolCallUnitTestRequest",
"UpdateWorkspaceMemberResponseModel",
"UrlAvatar",
+ "UrlModel",
"UsageAggregationInterval",
"UsageCharactersResponseModel",
"User",
+ "UserAccessManagementActivityId",
"UserFeedback",
"UserFeedbackScore",
+ "UserModel",
+ "UserTypeId",
"UsersSortBy",
"UtteranceResponseModel",
"VadConfig",
@@ -4884,6 +5075,7 @@ def __dir__():
"WebhookToolApiSchemaConfigOutputRequestHeadersValue",
"WebhookToolConfigInput",
"WebhookToolConfigOutput",
+ "WebhookTranscriptFormat",
"WebhookUsageType",
"WebsocketTtsClientMessageMulti",
"WebsocketTtsServerMessageMulti",
@@ -5022,6 +5214,9 @@ def __dir__():
"WorkspaceAnalyticsQueryResponseModelRowsItemItem",
"WorkspaceApiKeyListResponseModel",
"WorkspaceApiKeyResponseModel",
+ "WorkspaceAuditLogEntryResponse",
+ "WorkspaceAuditLogEntryResponseActivityId",
+ "WorkspaceAuditLogsPageResponse",
"WorkspaceBatchCallsResponse",
"WorkspaceCreateApiKeyResponseModel",
"WorkspaceCreateWebhookResponseModel",
diff --git a/src/elevenlabs/conversational_ai/__init__.py b/src/elevenlabs/conversational_ai/__init__.py
index b9d8bd0d..457ea3fb 100644
--- a/src/elevenlabs/conversational_ai/__init__.py
+++ b/src/elevenlabs/conversational_ai/__init__.py
@@ -27,7 +27,7 @@
whatsapp,
whatsapp_accounts,
)
- from .conversations import ConversationsListRequestSummaryMode
+ from .conversations import ConversationsListRequestExcludeStatusesItem, ConversationsListRequestSummaryMode
from .knowledge_base import (
KnowledgeBaseGetOrCreateRagIndexesResponseValue,
KnowledgeBaseGetOrCreateRagIndexesResponseValue_Failure,
@@ -81,6 +81,7 @@
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body": ".whatsapp",
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Button": ".whatsapp",
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Header": ".whatsapp",
+ "ConversationsListRequestExcludeStatusesItem": ".conversations",
"ConversationsListRequestSummaryMode": ".conversations",
"KnowledgeBaseGetOrCreateRagIndexesResponseValue": ".knowledge_base",
"KnowledgeBaseGetOrCreateRagIndexesResponseValue_Failure": ".knowledge_base",
@@ -164,6 +165,7 @@ def __dir__():
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body",
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Button",
"BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Header",
+ "ConversationsListRequestExcludeStatusesItem",
"ConversationsListRequestSummaryMode",
"KnowledgeBaseGetOrCreateRagIndexesResponseValue",
"KnowledgeBaseGetOrCreateRagIndexesResponseValue_Failure",
diff --git a/src/elevenlabs/conversational_ai/agents/summaries/client.py b/src/elevenlabs/conversational_ai/agents/summaries/client.py
index 89a34eb0..905af664 100644
--- a/src/elevenlabs/conversational_ai/agents/summaries/client.py
+++ b/src/elevenlabs/conversational_ai/agents/summaries/client.py
@@ -52,7 +52,9 @@ def get(
client = ElevenLabs(
api_key="YOUR_API_KEY",
)
- client.conversational_ai.agents.summaries.get()
+ client.conversational_ai.agents.summaries.get(
+ agent_ids=["agent_ids"],
+ )
"""
_response = self._raw_client.get(agent_ids=agent_ids, request_options=request_options)
return _response.data
@@ -107,7 +109,9 @@ async def get(
async def main() -> None:
- await client.conversational_ai.agents.summaries.get()
+ await client.conversational_ai.agents.summaries.get(
+ agent_ids=["agent_ids"],
+ )
asyncio.run(main())
diff --git a/src/elevenlabs/conversational_ai/batch_calls/client.py b/src/elevenlabs/conversational_ai/batch_calls/client.py
index 9308d49e..b3a17c0b 100644
--- a/src/elevenlabs/conversational_ai/batch_calls/client.py
+++ b/src/elevenlabs/conversational_ai/batch_calls/client.py
@@ -117,6 +117,7 @@ def list(
*,
limit: typing.Optional[int] = None,
last_doc: typing.Optional[str] = None,
+ agent_id: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> WorkspaceBatchCallsResponse:
"""
@@ -128,6 +129,9 @@ def list(
last_doc : typing.Optional[str]
+ agent_id : typing.Optional[str]
+ Filter batch calls to a single agent.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -146,9 +150,12 @@ def list(
client.conversational_ai.batch_calls.list(
limit=1,
last_doc="last_doc",
+ agent_id="agent_id",
)
"""
- _response = self._raw_client.list(limit=limit, last_doc=last_doc, request_options=request_options)
+ _response = self._raw_client.list(
+ limit=limit, last_doc=last_doc, agent_id=agent_id, request_options=request_options
+ )
return _response.data
def get(
@@ -382,6 +389,7 @@ async def list(
*,
limit: typing.Optional[int] = None,
last_doc: typing.Optional[str] = None,
+ agent_id: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> WorkspaceBatchCallsResponse:
"""
@@ -393,6 +401,9 @@ async def list(
last_doc : typing.Optional[str]
+ agent_id : typing.Optional[str]
+ Filter batch calls to a single agent.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -416,12 +427,15 @@ async def main() -> None:
await client.conversational_ai.batch_calls.list(
limit=1,
last_doc="last_doc",
+ agent_id="agent_id",
)
asyncio.run(main())
"""
- _response = await self._raw_client.list(limit=limit, last_doc=last_doc, request_options=request_options)
+ _response = await self._raw_client.list(
+ limit=limit, last_doc=last_doc, agent_id=agent_id, request_options=request_options
+ )
return _response.data
async def get(
diff --git a/src/elevenlabs/conversational_ai/batch_calls/raw_client.py b/src/elevenlabs/conversational_ai/batch_calls/raw_client.py
index c6de9b1d..b1b5666f 100644
--- a/src/elevenlabs/conversational_ai/batch_calls/raw_client.py
+++ b/src/elevenlabs/conversational_ai/batch_calls/raw_client.py
@@ -137,6 +137,7 @@ def list(
*,
limit: typing.Optional[int] = None,
last_doc: typing.Optional[str] = None,
+ agent_id: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[WorkspaceBatchCallsResponse]:
"""
@@ -148,6 +149,9 @@ def list(
last_doc : typing.Optional[str]
+ agent_id : typing.Optional[str]
+ Filter batch calls to a single agent.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -162,6 +166,7 @@ def list(
params={
"limit": limit,
"last_doc": last_doc,
+ "agent_id": agent_id,
},
request_options=request_options,
)
@@ -493,6 +498,7 @@ async def list(
*,
limit: typing.Optional[int] = None,
last_doc: typing.Optional[str] = None,
+ agent_id: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[WorkspaceBatchCallsResponse]:
"""
@@ -504,6 +510,9 @@ async def list(
last_doc : typing.Optional[str]
+ agent_id : typing.Optional[str]
+ Filter batch calls to a single agent.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -518,6 +527,7 @@ async def list(
params={
"limit": limit,
"last_doc": last_doc,
+ "agent_id": agent_id,
},
request_options=request_options,
)
diff --git a/src/elevenlabs/conversational_ai/conversations/__init__.py b/src/elevenlabs/conversational_ai/conversations/__init__.py
index 4b3ad4a2..7c3388e8 100644
--- a/src/elevenlabs/conversational_ai/conversations/__init__.py
+++ b/src/elevenlabs/conversational_ai/conversations/__init__.py
@@ -6,10 +6,11 @@
from importlib import import_module
if typing.TYPE_CHECKING:
- from .types import ConversationsListRequestSummaryMode
- from . import analysis, audio, feedback, files, messages, topics
+ from .types import ConversationsListRequestExcludeStatusesItem, ConversationsListRequestSummaryMode
+ from . import analysis, audio, feedback, files, messages, tags, topics
from .messages import MessagesTextSearchRequestSummaryMode
_dynamic_imports: typing.Dict[str, str] = {
+ "ConversationsListRequestExcludeStatusesItem": ".types",
"ConversationsListRequestSummaryMode": ".types",
"MessagesTextSearchRequestSummaryMode": ".messages",
"analysis": ".analysis",
@@ -17,6 +18,7 @@
"feedback": ".feedback",
"files": ".files",
"messages": ".messages",
+ "tags": ".tags",
"topics": ".topics",
}
@@ -43,6 +45,7 @@ def __dir__():
__all__ = [
+ "ConversationsListRequestExcludeStatusesItem",
"ConversationsListRequestSummaryMode",
"MessagesTextSearchRequestSummaryMode",
"analysis",
@@ -50,5 +53,6 @@ def __dir__():
"feedback",
"files",
"messages",
+ "tags",
"topics",
]
diff --git a/src/elevenlabs/conversational_ai/conversations/client.py b/src/elevenlabs/conversational_ai/conversations/client.py
index 5248a79b..84cadd48 100644
--- a/src/elevenlabs/conversational_ai/conversations/client.py
+++ b/src/elevenlabs/conversational_ai/conversations/client.py
@@ -11,8 +11,10 @@
from ...types.evaluation_success_result import EvaluationSuccessResult
from ...types.get_conversation_response_model import GetConversationResponseModel
from ...types.get_conversations_page_response_model import GetConversationsPageResponseModel
+from ...types.get_sip_log_messages_response import GetSipLogMessagesResponse
from ...types.token_response_model import TokenResponseModel
from .raw_client import AsyncRawConversationsClient, RawConversationsClient
+from .types.conversations_list_request_exclude_statuses_item import ConversationsListRequestExcludeStatusesItem
from .types.conversations_list_request_summary_mode import ConversationsListRequestSummaryMode
if typing.TYPE_CHECKING:
@@ -21,6 +23,7 @@
from .feedback.client import AsyncFeedbackClient, FeedbackClient
from .files.client import AsyncFilesClient, FilesClient
from .messages.client import AsyncMessagesClient, MessagesClient
+ from .tags.client import AsyncTagsClient, TagsClient
from .topics.client import AsyncTopicsClient, TopicsClient
@@ -31,6 +34,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper):
self._audio: typing.Optional[AudioClient] = None
self._feedback: typing.Optional[FeedbackClient] = None
self._messages: typing.Optional[MessagesClient] = None
+ self._tags: typing.Optional[TagsClient] = None
self._files: typing.Optional[FilesClient] = None
self._topics: typing.Optional[TopicsClient] = None
self._analysis: typing.Optional[AnalysisClient] = None
@@ -186,6 +190,13 @@ def list(
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ exclude_statuses: typing.Optional[
+ typing.Union[
+ ConversationsListRequestExcludeStatusesItem,
+ typing.Sequence[ConversationsListRequestExcludeStatusesItem],
+ ]
+ ] = None,
+ tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetConversationsPageResponseModel:
"""
@@ -261,6 +272,12 @@ def list(
topic_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filter conversations by topic IDs assigned during topic discovery.
+ exclude_statuses : typing.Optional[typing.Union[ConversationsListRequestExcludeStatusesItem, typing.Sequence[ConversationsListRequestExcludeStatusesItem]]]
+ Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
+
+ tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter conversations by conversation tag IDs assigned via the conversation-tags endpoints.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -288,11 +305,20 @@ def list(
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
branch_id="branch_id",
+ topic_ids=["topic_ids"],
+ exclude_statuses=["initiated"],
+ tag_ids=["tag_ids"],
)
"""
_response = self._raw_client.list(
@@ -319,6 +345,8 @@ def list(
conversation_initiation_source=conversation_initiation_source,
branch_id=branch_id,
topic_ids=topic_ids,
+ exclude_statuses=exclude_statuses,
+ tag_ids=tag_ids,
request_options=request_options,
)
return _response.data
@@ -387,6 +415,53 @@ def delete(self, conversation_id: str, *, request_options: typing.Optional[Reque
_response = self._raw_client.delete(conversation_id, request_options=request_options)
return _response.data
+ def get_sip_messages(
+ self,
+ conversation_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetSipLogMessagesResponse:
+ """
+ Get SIP messages associated with a conversation's phone call
+
+ Parameters
+ ----------
+ conversation_id : str
+ The id of the conversation you're taking the action on.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetSipLogMessagesResponse
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.get_sip_messages(
+ conversation_id="21m00Tcm4TlvDq8ikWAM",
+ page_size=1,
+ cursor="cursor",
+ )
+ """
+ _response = self._raw_client.get_sip_messages(
+ conversation_id, page_size=page_size, cursor=cursor, request_options=request_options
+ )
+ return _response.data
+
@property
def audio(self):
if self._audio is None:
@@ -411,6 +486,14 @@ def messages(self):
self._messages = MessagesClient(client_wrapper=self._client_wrapper)
return self._messages
+ @property
+ def tags(self):
+ if self._tags is None:
+ from .tags.client import TagsClient # noqa: E402
+
+ self._tags = TagsClient(client_wrapper=self._client_wrapper)
+ return self._tags
+
@property
def files(self):
if self._files is None:
@@ -443,6 +526,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._audio: typing.Optional[AsyncAudioClient] = None
self._feedback: typing.Optional[AsyncFeedbackClient] = None
self._messages: typing.Optional[AsyncMessagesClient] = None
+ self._tags: typing.Optional[AsyncTagsClient] = None
self._files: typing.Optional[AsyncFilesClient] = None
self._topics: typing.Optional[AsyncTopicsClient] = None
self._analysis: typing.Optional[AsyncAnalysisClient] = None
@@ -614,6 +698,13 @@ async def list(
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ exclude_statuses: typing.Optional[
+ typing.Union[
+ ConversationsListRequestExcludeStatusesItem,
+ typing.Sequence[ConversationsListRequestExcludeStatusesItem],
+ ]
+ ] = None,
+ tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetConversationsPageResponseModel:
"""
@@ -689,6 +780,12 @@ async def list(
topic_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filter conversations by topic IDs assigned during topic discovery.
+ exclude_statuses : typing.Optional[typing.Union[ConversationsListRequestExcludeStatusesItem, typing.Sequence[ConversationsListRequestExcludeStatusesItem]]]
+ Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
+
+ tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter conversations by conversation tag IDs assigned via the conversation-tags endpoints.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -721,11 +818,20 @@ async def main() -> None:
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
branch_id="branch_id",
+ topic_ids=["topic_ids"],
+ exclude_statuses=["initiated"],
+ tag_ids=["tag_ids"],
)
@@ -755,6 +861,8 @@ async def main() -> None:
conversation_initiation_source=conversation_initiation_source,
branch_id=branch_id,
topic_ids=topic_ids,
+ exclude_statuses=exclude_statuses,
+ tag_ids=tag_ids,
request_options=request_options,
)
return _response.data
@@ -841,6 +949,61 @@ async def main() -> None:
_response = await self._raw_client.delete(conversation_id, request_options=request_options)
return _response.data
+ async def get_sip_messages(
+ self,
+ conversation_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetSipLogMessagesResponse:
+ """
+ Get SIP messages associated with a conversation's phone call
+
+ Parameters
+ ----------
+ conversation_id : str
+ The id of the conversation you're taking the action on.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetSipLogMessagesResponse
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.get_sip_messages(
+ conversation_id="21m00Tcm4TlvDq8ikWAM",
+ page_size=1,
+ cursor="cursor",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get_sip_messages(
+ conversation_id, page_size=page_size, cursor=cursor, request_options=request_options
+ )
+ return _response.data
+
@property
def audio(self):
if self._audio is None:
@@ -865,6 +1028,14 @@ def messages(self):
self._messages = AsyncMessagesClient(client_wrapper=self._client_wrapper)
return self._messages
+ @property
+ def tags(self):
+ if self._tags is None:
+ from .tags.client import AsyncTagsClient # noqa: E402
+
+ self._tags = AsyncTagsClient(client_wrapper=self._client_wrapper)
+ return self._tags
+
@property
def files(self):
if self._files is None:
diff --git a/src/elevenlabs/conversational_ai/conversations/messages/client.py b/src/elevenlabs/conversational_ai/conversations/messages/client.py
index 5b38b41e..236c2888 100644
--- a/src/elevenlabs/conversational_ai/conversations/messages/client.py
+++ b/src/elevenlabs/conversational_ai/conversations/messages/client.py
@@ -155,6 +155,12 @@ def text_search(
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
@@ -397,6 +403,12 @@ async def main() -> None:
rating_min=1,
has_feedback_comment=True,
user_id="user_id",
+ evaluation_params=["evaluation_params"],
+ data_collection_params=["data_collection_params"],
+ tool_names=["tool_names"],
+ tool_names_successful=["tool_names_successful"],
+ tool_names_errored=["tool_names_errored"],
+ main_languages=["main_languages"],
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
diff --git a/src/elevenlabs/conversational_ai/conversations/raw_client.py b/src/elevenlabs/conversational_ai/conversations/raw_client.py
index f4ca6b05..da14c101 100644
--- a/src/elevenlabs/conversational_ai/conversations/raw_client.py
+++ b/src/elevenlabs/conversational_ai/conversations/raw_client.py
@@ -15,7 +15,9 @@
from ...types.evaluation_success_result import EvaluationSuccessResult
from ...types.get_conversation_response_model import GetConversationResponseModel
from ...types.get_conversations_page_response_model import GetConversationsPageResponseModel
+from ...types.get_sip_log_messages_response import GetSipLogMessagesResponse
from ...types.token_response_model import TokenResponseModel
+from .types.conversations_list_request_exclude_statuses_item import ConversationsListRequestExcludeStatusesItem
from .types.conversations_list_request_summary_mode import ConversationsListRequestSummaryMode
@@ -191,6 +193,13 @@ def list(
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ exclude_statuses: typing.Optional[
+ typing.Union[
+ ConversationsListRequestExcludeStatusesItem,
+ typing.Sequence[ConversationsListRequestExcludeStatusesItem],
+ ]
+ ] = None,
+ tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetConversationsPageResponseModel]:
"""
@@ -266,6 +275,12 @@ def list(
topic_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filter conversations by topic IDs assigned during topic discovery.
+ exclude_statuses : typing.Optional[typing.Union[ConversationsListRequestExcludeStatusesItem, typing.Sequence[ConversationsListRequestExcludeStatusesItem]]]
+ Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
+
+ tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter conversations by conversation tag IDs assigned via the conversation-tags endpoints.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -301,6 +316,8 @@ def list(
"conversation_initiation_source": conversation_initiation_source,
"branch_id": branch_id,
"topic_ids": topic_ids,
+ "exclude_statuses": exclude_statuses,
+ "tag_ids": tag_ids,
},
request_options=request_options,
)
@@ -432,6 +449,70 @@ def delete(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def get_sip_messages(
+ self,
+ conversation_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[GetSipLogMessagesResponse]:
+ """
+ Get SIP messages associated with a conversation's phone call
+
+ Parameters
+ ----------
+ conversation_id : str
+ The id of the conversation you're taking the action on.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[GetSipLogMessagesResponse]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/sip-messages",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetSipLogMessagesResponse,
+ construct_type(
+ type_=GetSipLogMessagesResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
class AsyncRawConversationsClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -605,6 +686,13 @@ async def list(
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ exclude_statuses: typing.Optional[
+ typing.Union[
+ ConversationsListRequestExcludeStatusesItem,
+ typing.Sequence[ConversationsListRequestExcludeStatusesItem],
+ ]
+ ] = None,
+ tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetConversationsPageResponseModel]:
"""
@@ -680,6 +768,12 @@ async def list(
topic_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filter conversations by topic IDs assigned during topic discovery.
+ exclude_statuses : typing.Optional[typing.Union[ConversationsListRequestExcludeStatusesItem, typing.Sequence[ConversationsListRequestExcludeStatusesItem]]]
+ Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
+
+ tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter conversations by conversation tag IDs assigned via the conversation-tags endpoints.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -715,6 +809,8 @@ async def list(
"conversation_initiation_source": conversation_initiation_source,
"branch_id": branch_id,
"topic_ids": topic_ids,
+ "exclude_statuses": exclude_statuses,
+ "tag_ids": tag_ids,
},
request_options=request_options,
)
@@ -845,3 +941,67 @@ async def delete(
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def get_sip_messages(
+ self,
+ conversation_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[GetSipLogMessagesResponse]:
+ """
+ Get SIP messages associated with a conversation's phone call
+
+ Parameters
+ ----------
+ conversation_id : str
+ The id of the conversation you're taking the action on.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[GetSipLogMessagesResponse]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/sip-messages",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetSipLogMessagesResponse,
+ construct_type(
+ type_=GetSipLogMessagesResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/elevenlabs/conversational_ai/conversations/tags/__init__.py b/src/elevenlabs/conversational_ai/conversations/tags/__init__.py
new file mode 100644
index 00000000..5cde0202
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/conversations/tags/__init__.py
@@ -0,0 +1,4 @@
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
+
diff --git a/src/elevenlabs/conversational_ai/conversations/tags/client.py b/src/elevenlabs/conversational_ai/conversations/tags/client.py
new file mode 100644
index 00000000..ae1b0162
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/conversations/tags/client.py
@@ -0,0 +1,620 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from ....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ....core.request_options import RequestOptions
+from ....types.conversation_tag_response_model import ConversationTagResponseModel
+from ....types.get_conversation_tags_page_response_model import GetConversationTagsPageResponseModel
+from .raw_client import AsyncRawTagsClient, RawTagsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class TagsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawTagsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawTagsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawTagsClient
+ """
+ return self._raw_client
+
+ def assign(
+ self,
+ conversation_id: str,
+ *,
+ tag_ids: typing.Sequence[str],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> None:
+ """
+ Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong to the same workspace.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_ids : typing.Sequence[str]
+ Tag IDs to add to the conversation. Re-assigning an existing tag is a no-op.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.assign(
+ conversation_id="conversation_id",
+ tag_ids=["tag_ids"],
+ )
+ """
+ _response = self._raw_client.assign(conversation_id, tag_ids=tag_ids, request_options=request_options)
+ return _response.data
+
+ def unassign(
+ self, conversation_id: str, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Remove a single conversation tag from a conversation.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.unassign(
+ conversation_id="conversation_id",
+ tag_id="tag_id",
+ )
+ """
+ _response = self._raw_client.unassign(conversation_id, tag_id, request_options=request_options)
+ return _response.data
+
+ def list(
+ self,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetConversationTagsPageResponseModel:
+ """
+ List conversation tags for the workspace, ordered by most recently created first.
+
+ Parameters
+ ----------
+ page_size : typing.Optional[int]
+ How many conversation tags to return. Can not exceed 100.
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetConversationTagsPageResponseModel
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.list(
+ page_size=1,
+ cursor="cursor",
+ )
+ """
+ _response = self._raw_client.list(page_size=page_size, cursor=cursor, request_options=request_options)
+ return _response.data
+
+ def create(
+ self,
+ *,
+ title: str,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ConversationTagResponseModel:
+ """
+ Create a new conversation tag for the workspace.
+
+ Parameters
+ ----------
+ title : str
+ Display title of the tag.
+
+ description : typing.Optional[str]
+ Optional free-text description.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.create(
+ title="title",
+ )
+ """
+ _response = self._raw_client.create(title=title, description=description, request_options=request_options)
+ return _response.data
+
+ def get(
+ self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ConversationTagResponseModel:
+ """
+ Get a conversation tag by ID.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.get(
+ tag_id="tag_id",
+ )
+ """
+ _response = self._raw_client.get(tag_id, request_options=request_options)
+ return _response.data
+
+ def delete(self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Delete a conversation tag. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.delete(
+ tag_id="tag_id",
+ )
+ """
+ _response = self._raw_client.delete(tag_id, request_options=request_options)
+ return _response.data
+
+ def update(
+ self,
+ tag_id: str,
+ *,
+ title: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ConversationTagResponseModel:
+ """
+ Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ title : typing.Optional[str]
+ If provided, replaces the tag title. Omit to leave unchanged.
+
+ description : typing.Optional[str]
+ If provided, replaces the tag description. Omit to leave unchanged.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.conversations.tags.update(
+ tag_id="tag_id",
+ )
+ """
+ _response = self._raw_client.update(
+ tag_id, title=title, description=description, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncTagsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawTagsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawTagsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawTagsClient
+ """
+ return self._raw_client
+
+ async def assign(
+ self,
+ conversation_id: str,
+ *,
+ tag_ids: typing.Sequence[str],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> None:
+ """
+ Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong to the same workspace.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_ids : typing.Sequence[str]
+ Tag IDs to add to the conversation. Re-assigning an existing tag is a no-op.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.assign(
+ conversation_id="conversation_id",
+ tag_ids=["tag_ids"],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.assign(conversation_id, tag_ids=tag_ids, request_options=request_options)
+ return _response.data
+
+ async def unassign(
+ self, conversation_id: str, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Remove a single conversation tag from a conversation.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.unassign(
+ conversation_id="conversation_id",
+ tag_id="tag_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.unassign(conversation_id, tag_id, request_options=request_options)
+ return _response.data
+
+ async def list(
+ self,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetConversationTagsPageResponseModel:
+ """
+ List conversation tags for the workspace, ordered by most recently created first.
+
+ Parameters
+ ----------
+ page_size : typing.Optional[int]
+ How many conversation tags to return. Can not exceed 100.
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetConversationTagsPageResponseModel
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.list(
+ page_size=1,
+ cursor="cursor",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(page_size=page_size, cursor=cursor, request_options=request_options)
+ return _response.data
+
+ async def create(
+ self,
+ *,
+ title: str,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ConversationTagResponseModel:
+ """
+ Create a new conversation tag for the workspace.
+
+ Parameters
+ ----------
+ title : str
+ Display title of the tag.
+
+ description : typing.Optional[str]
+ Optional free-text description.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.create(
+ title="title",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.create(title=title, description=description, request_options=request_options)
+ return _response.data
+
+ async def get(
+ self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ConversationTagResponseModel:
+ """
+ Get a conversation tag by ID.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.get(
+ tag_id="tag_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get(tag_id, request_options=request_options)
+ return _response.data
+
+ async def delete(self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Delete a conversation tag. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.delete(
+ tag_id="tag_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete(tag_id, request_options=request_options)
+ return _response.data
+
+ async def update(
+ self,
+ tag_id: str,
+ *,
+ title: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ConversationTagResponseModel:
+ """
+ Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ title : typing.Optional[str]
+ If provided, replaces the tag title. Omit to leave unchanged.
+
+ description : typing.Optional[str]
+ If provided, replaces the tag description. Omit to leave unchanged.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConversationTagResponseModel
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.conversations.tags.update(
+ tag_id="tag_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update(
+ tag_id, title=title, description=description, request_options=request_options
+ )
+ return _response.data
diff --git a/src/elevenlabs/conversational_ai/conversations/tags/raw_client.py b/src/elevenlabs/conversational_ai/conversations/tags/raw_client.py
new file mode 100644
index 00000000..dec5f3fe
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/conversations/tags/raw_client.py
@@ -0,0 +1,789 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+from json.decoder import JSONDecodeError
+
+from ....core.api_error import ApiError
+from ....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ....core.http_response import AsyncHttpResponse, HttpResponse
+from ....core.jsonable_encoder import jsonable_encoder
+from ....core.request_options import RequestOptions
+from ....core.unchecked_base_model import construct_type
+from ....errors.unprocessable_entity_error import UnprocessableEntityError
+from ....types.conversation_tag_response_model import ConversationTagResponseModel
+from ....types.get_conversation_tags_page_response_model import GetConversationTagsPageResponseModel
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawTagsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def assign(
+ self,
+ conversation_id: str,
+ *,
+ tag_ids: typing.Sequence[str],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[None]:
+ """
+ Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong to the same workspace.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_ids : typing.Sequence[str]
+ Tag IDs to add to the conversation. Re-assigning an existing tag is a no-op.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/tags",
+ method="POST",
+ json={
+ "tag_ids": tag_ids,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def unassign(
+ self, conversation_id: str, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Remove a single conversation tag from a conversation.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/tags/{jsonable_encoder(tag_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list(
+ self,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[GetConversationTagsPageResponseModel]:
+ """
+ List conversation tags for the workspace, ordered by most recently created first.
+
+ Parameters
+ ----------
+ page_size : typing.Optional[int]
+ How many conversation tags to return. Can not exceed 100.
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[GetConversationTagsPageResponseModel]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/convai/tags",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetConversationTagsPageResponseModel,
+ construct_type(
+ type_=GetConversationTagsPageResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def create(
+ self,
+ *,
+ title: str,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ConversationTagResponseModel]:
+ """
+ Create a new conversation tag for the workspace.
+
+ Parameters
+ ----------
+ title : str
+ Display title of the tag.
+
+ description : typing.Optional[str]
+ Optional free-text description.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/convai/tags",
+ method="POST",
+ json={
+ "title": title,
+ "description": description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def get(
+ self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[ConversationTagResponseModel]:
+ """
+ Get a conversation tag by ID.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def delete(self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
+ """
+ Delete a conversation tag. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def update(
+ self,
+ tag_id: str,
+ *,
+ title: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ConversationTagResponseModel]:
+ """
+ Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ title : typing.Optional[str]
+ If provided, replaces the tag title. Omit to leave unchanged.
+
+ description : typing.Optional[str]
+ If provided, replaces the tag description. Omit to leave unchanged.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="PATCH",
+ json={
+ "title": title,
+ "description": description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawTagsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def assign(
+ self,
+ conversation_id: str,
+ *,
+ tag_ids: typing.Sequence[str],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[None]:
+ """
+ Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong to the same workspace.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_ids : typing.Sequence[str]
+ Tag IDs to add to the conversation. Re-assigning an existing tag is a no-op.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/tags",
+ method="POST",
+ json={
+ "tag_ids": tag_ids,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def unassign(
+ self, conversation_id: str, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Remove a single conversation tag from a conversation.
+
+ Parameters
+ ----------
+ conversation_id : str
+
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/conversations/{jsonable_encoder(conversation_id)}/tags/{jsonable_encoder(tag_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list(
+ self,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[GetConversationTagsPageResponseModel]:
+ """
+ List conversation tags for the workspace, ordered by most recently created first.
+
+ Parameters
+ ----------
+ page_size : typing.Optional[int]
+ How many conversation tags to return. Can not exceed 100.
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[GetConversationTagsPageResponseModel]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/convai/tags",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetConversationTagsPageResponseModel,
+ construct_type(
+ type_=GetConversationTagsPageResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def create(
+ self,
+ *,
+ title: str,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ConversationTagResponseModel]:
+ """
+ Create a new conversation tag for the workspace.
+
+ Parameters
+ ----------
+ title : str
+ Display title of the tag.
+
+ description : typing.Optional[str]
+ Optional free-text description.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/convai/tags",
+ method="POST",
+ json={
+ "title": title,
+ "description": description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def get(
+ self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[ConversationTagResponseModel]:
+ """
+ Get a conversation tag by ID.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def delete(
+ self, tag_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Delete a conversation tag. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def update(
+ self,
+ tag_id: str,
+ *,
+ title: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ConversationTagResponseModel]:
+ """
+ Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
+
+ Parameters
+ ----------
+ tag_id : str
+
+ title : typing.Optional[str]
+ If provided, replaces the tag title. Omit to leave unchanged.
+
+ description : typing.Optional[str]
+ If provided, replaces the tag description. Omit to leave unchanged.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ConversationTagResponseModel]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/tags/{jsonable_encoder(tag_id)}",
+ method="PATCH",
+ json={
+ "title": title,
+ "description": description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConversationTagResponseModel,
+ construct_type(
+ type_=ConversationTagResponseModel, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/elevenlabs/conversational_ai/conversations/types/__init__.py b/src/elevenlabs/conversational_ai/conversations/types/__init__.py
index ef16c77c..21fb0c26 100644
--- a/src/elevenlabs/conversational_ai/conversations/types/__init__.py
+++ b/src/elevenlabs/conversational_ai/conversations/types/__init__.py
@@ -6,9 +6,11 @@
from importlib import import_module
if typing.TYPE_CHECKING:
+ from .conversations_list_request_exclude_statuses_item import ConversationsListRequestExcludeStatusesItem
from .conversations_list_request_summary_mode import ConversationsListRequestSummaryMode
_dynamic_imports: typing.Dict[str, str] = {
- "ConversationsListRequestSummaryMode": ".conversations_list_request_summary_mode"
+ "ConversationsListRequestExcludeStatusesItem": ".conversations_list_request_exclude_statuses_item",
+ "ConversationsListRequestSummaryMode": ".conversations_list_request_summary_mode",
}
@@ -33,4 +35,4 @@ def __dir__():
return sorted(lazy_attrs)
-__all__ = ["ConversationsListRequestSummaryMode"]
+__all__ = ["ConversationsListRequestExcludeStatusesItem", "ConversationsListRequestSummaryMode"]
diff --git a/src/elevenlabs/conversational_ai/conversations/types/conversations_list_request_exclude_statuses_item.py b/src/elevenlabs/conversational_ai/conversations/types/conversations_list_request_exclude_statuses_item.py
new file mode 100644
index 00000000..f6edfd87
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/conversations/types/conversations_list_request_exclude_statuses_item.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+ConversationsListRequestExcludeStatusesItem = typing.Union[
+ typing.Literal["initiated", "in-progress", "processing", "done", "failed"], typing.Any
+]
diff --git a/src/elevenlabs/conversational_ai/knowledge_base/client.py b/src/elevenlabs/conversational_ai/knowledge_base/client.py
index 42f7abdf..c8adff2f 100644
--- a/src/elevenlabs/conversational_ai/knowledge_base/client.py
+++ b/src/elevenlabs/conversational_ai/knowledge_base/client.py
@@ -118,6 +118,7 @@ def list(
search="search",
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["file"],
parent_folder_id="parent_folder_id",
ancestor_folder_id="ancestor_folder_id",
folders_first=True,
@@ -230,6 +231,7 @@ def search(
client.conversational_ai.knowledge_base.search(
query="query",
page_size=1,
+ types=["file"],
cursor="cursor",
)
"""
@@ -354,6 +356,7 @@ async def main() -> None:
search="search",
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["file"],
parent_folder_id="parent_folder_id",
ancestor_folder_id="ancestor_folder_id",
folders_first=True,
@@ -482,6 +485,7 @@ async def main() -> None:
await client.conversational_ai.knowledge_base.search(
query="query",
page_size=1,
+ types=["file"],
cursor="cursor",
)
diff --git a/src/elevenlabs/conversational_ai/knowledge_base/documents/summaries/client.py b/src/elevenlabs/conversational_ai/knowledge_base/documents/summaries/client.py
index 914c2250..166d9069 100644
--- a/src/elevenlabs/conversational_ai/knowledge_base/documents/summaries/client.py
+++ b/src/elevenlabs/conversational_ai/knowledge_base/documents/summaries/client.py
@@ -52,7 +52,9 @@ def get(
client = ElevenLabs(
api_key="YOUR_API_KEY",
)
- client.conversational_ai.knowledge_base.documents.summaries.get()
+ client.conversational_ai.knowledge_base.documents.summaries.get(
+ document_ids=["21m00Tcm4TlvDq8ikWAM", "31n11Udm5UmwEr9jkXBN"],
+ )
"""
_response = self._raw_client.get(document_ids=document_ids, request_options=request_options)
return _response.data
@@ -107,7 +109,9 @@ async def get(
async def main() -> None:
- await client.conversational_ai.knowledge_base.documents.summaries.get()
+ await client.conversational_ai.knowledge_base.documents.summaries.get(
+ document_ids=["21m00Tcm4TlvDq8ikWAM", "31n11Udm5UmwEr9jkXBN"],
+ )
asyncio.run(main())
diff --git a/src/elevenlabs/conversational_ai/phone_numbers/client.py b/src/elevenlabs/conversational_ai/phone_numbers/client.py
index 2426792f..0c99ffdf 100644
--- a/src/elevenlabs/conversational_ai/phone_numbers/client.py
+++ b/src/elevenlabs/conversational_ai/phone_numbers/client.py
@@ -5,6 +5,7 @@
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from ...core.request_options import RequestOptions
from ...types.create_phone_number_response_model import CreatePhoneNumberResponseModel
+from ...types.get_sip_log_messages_response import GetSipLogMessagesResponse
from ...types.inbound_sip_trunk_config_request_model import InboundSipTrunkConfigRequestModel
from ...types.livekit_stack_type import LivekitStackType
from ...types.outbound_sip_trunk_config_request_model import OutboundSipTrunkConfigRequestModel
@@ -174,6 +175,7 @@ def update(
inbound_trunk_config: typing.Optional[InboundSipTrunkConfigRequestModel] = OMIT,
outbound_trunk_config: typing.Optional[OutboundSipTrunkConfigRequestModel] = OMIT,
livekit_stack: typing.Optional[LivekitStackType] = OMIT,
+ store_sip_messages: typing.Optional[bool] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> PhoneNumbersUpdateResponse:
"""
@@ -194,6 +196,8 @@ def update(
livekit_stack : typing.Optional[LivekitStackType]
+ store_sip_messages : typing.Optional[bool]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -220,10 +224,58 @@ def update(
inbound_trunk_config=inbound_trunk_config,
outbound_trunk_config=outbound_trunk_config,
livekit_stack=livekit_stack,
+ store_sip_messages=store_sip_messages,
request_options=request_options,
)
return _response.data
+ def get_sip_messages(
+ self,
+ phone_number_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetSipLogMessagesResponse:
+ """
+ Get SIP messages for a phone number
+
+ Parameters
+ ----------
+ phone_number_id : str
+ The id of an agent. This is returned on agent creation.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetSipLogMessagesResponse
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.phone_numbers.get_sip_messages(
+ phone_number_id="TeaqRRdTcIfIu2i7BYfT",
+ page_size=1,
+ cursor="cursor",
+ )
+ """
+ _response = self._raw_client.get_sip_messages(
+ phone_number_id, page_size=page_size, cursor=cursor, request_options=request_options
+ )
+ return _response.data
+
class AsyncPhoneNumbersClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -415,6 +467,7 @@ async def update(
inbound_trunk_config: typing.Optional[InboundSipTrunkConfigRequestModel] = OMIT,
outbound_trunk_config: typing.Optional[OutboundSipTrunkConfigRequestModel] = OMIT,
livekit_stack: typing.Optional[LivekitStackType] = OMIT,
+ store_sip_messages: typing.Optional[bool] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> PhoneNumbersUpdateResponse:
"""
@@ -435,6 +488,8 @@ async def update(
livekit_stack : typing.Optional[LivekitStackType]
+ store_sip_messages : typing.Optional[bool]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -469,6 +524,62 @@ async def main() -> None:
inbound_trunk_config=inbound_trunk_config,
outbound_trunk_config=outbound_trunk_config,
livekit_stack=livekit_stack,
+ store_sip_messages=store_sip_messages,
request_options=request_options,
)
return _response.data
+
+ async def get_sip_messages(
+ self,
+ phone_number_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetSipLogMessagesResponse:
+ """
+ Get SIP messages for a phone number
+
+ Parameters
+ ----------
+ phone_number_id : str
+ The id of an agent. This is returned on agent creation.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetSipLogMessagesResponse
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.phone_numbers.get_sip_messages(
+ phone_number_id="TeaqRRdTcIfIu2i7BYfT",
+ page_size=1,
+ cursor="cursor",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get_sip_messages(
+ phone_number_id, page_size=page_size, cursor=cursor, request_options=request_options
+ )
+ return _response.data
diff --git a/src/elevenlabs/conversational_ai/phone_numbers/raw_client.py b/src/elevenlabs/conversational_ai/phone_numbers/raw_client.py
index d44a2d0a..1d8574c7 100644
--- a/src/elevenlabs/conversational_ai/phone_numbers/raw_client.py
+++ b/src/elevenlabs/conversational_ai/phone_numbers/raw_client.py
@@ -12,6 +12,7 @@
from ...core.unchecked_base_model import construct_type
from ...errors.unprocessable_entity_error import UnprocessableEntityError
from ...types.create_phone_number_response_model import CreatePhoneNumberResponseModel
+from ...types.get_sip_log_messages_response import GetSipLogMessagesResponse
from ...types.inbound_sip_trunk_config_request_model import InboundSipTrunkConfigRequestModel
from ...types.livekit_stack_type import LivekitStackType
from ...types.outbound_sip_trunk_config_request_model import OutboundSipTrunkConfigRequestModel
@@ -242,6 +243,7 @@ def update(
inbound_trunk_config: typing.Optional[InboundSipTrunkConfigRequestModel] = OMIT,
outbound_trunk_config: typing.Optional[OutboundSipTrunkConfigRequestModel] = OMIT,
livekit_stack: typing.Optional[LivekitStackType] = OMIT,
+ store_sip_messages: typing.Optional[bool] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[PhoneNumbersUpdateResponse]:
"""
@@ -262,6 +264,8 @@ def update(
livekit_stack : typing.Optional[LivekitStackType]
+ store_sip_messages : typing.Optional[bool]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -283,6 +287,7 @@ def update(
object_=outbound_trunk_config, annotation=OutboundSipTrunkConfigRequestModel, direction="write"
),
"livekit_stack": livekit_stack,
+ "store_sip_messages": store_sip_messages,
},
headers={
"content-type": "application/json",
@@ -316,6 +321,70 @@ def update(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def get_sip_messages(
+ self,
+ phone_number_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[GetSipLogMessagesResponse]:
+ """
+ Get SIP messages for a phone number
+
+ Parameters
+ ----------
+ phone_number_id : str
+ The id of an agent. This is returned on agent creation.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[GetSipLogMessagesResponse]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/phone-numbers/{jsonable_encoder(phone_number_id)}/sip-messages",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetSipLogMessagesResponse,
+ construct_type(
+ type_=GetSipLogMessagesResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
class AsyncRawPhoneNumbersClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -535,6 +604,7 @@ async def update(
inbound_trunk_config: typing.Optional[InboundSipTrunkConfigRequestModel] = OMIT,
outbound_trunk_config: typing.Optional[OutboundSipTrunkConfigRequestModel] = OMIT,
livekit_stack: typing.Optional[LivekitStackType] = OMIT,
+ store_sip_messages: typing.Optional[bool] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[PhoneNumbersUpdateResponse]:
"""
@@ -555,6 +625,8 @@ async def update(
livekit_stack : typing.Optional[LivekitStackType]
+ store_sip_messages : typing.Optional[bool]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -576,6 +648,7 @@ async def update(
object_=outbound_trunk_config, annotation=OutboundSipTrunkConfigRequestModel, direction="write"
),
"livekit_stack": livekit_stack,
+ "store_sip_messages": store_sip_messages,
},
headers={
"content-type": "application/json",
@@ -608,3 +681,67 @@ async def update(
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def get_sip_messages(
+ self,
+ phone_number_id: str,
+ *,
+ page_size: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[GetSipLogMessagesResponse]:
+ """
+ Get SIP messages for a phone number
+
+ Parameters
+ ----------
+ phone_number_id : str
+ The id of an agent. This is returned on agent creation.
+
+ page_size : typing.Optional[int]
+
+ cursor : typing.Optional[str]
+ Used for fetching next page. Cursor is returned in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[GetSipLogMessagesResponse]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/phone-numbers/{jsonable_encoder(phone_number_id)}/sip-messages",
+ method="GET",
+ params={
+ "page_size": page_size,
+ "cursor": cursor,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetSipLogMessagesResponse,
+ construct_type(
+ type_=GetSipLogMessagesResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_get_response.py b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_get_response.py
index e65c5546..63867927 100644
--- a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_get_response.py
+++ b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_get_response.py
@@ -49,6 +49,7 @@ class PhoneNumbersGetResponse_SipTrunk(UncheckedBaseModel):
outbound_trunk: typing.Optional[GetPhoneNumberOutboundSipTrunkConfigResponseModel] = None
inbound_trunk: typing.Optional[GetPhoneNumberInboundSipTrunkConfigResponseModel] = None
livekit_stack: LivekitStackType
+ store_sip_messages: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_list_response_item.py b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_list_response_item.py
index 90526d95..02cb26e9 100644
--- a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_list_response_item.py
+++ b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_list_response_item.py
@@ -49,6 +49,7 @@ class PhoneNumbersListResponseItem_SipTrunk(UncheckedBaseModel):
outbound_trunk: typing.Optional[GetPhoneNumberOutboundSipTrunkConfigResponseModel] = None
inbound_trunk: typing.Optional[GetPhoneNumberInboundSipTrunkConfigResponseModel] = None
livekit_stack: LivekitStackType
+ store_sip_messages: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_update_response.py b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_update_response.py
index 2ce845b9..6c7caba1 100644
--- a/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_update_response.py
+++ b/src/elevenlabs/conversational_ai/phone_numbers/types/phone_numbers_update_response.py
@@ -49,6 +49,7 @@ class PhoneNumbersUpdateResponse_SipTrunk(UncheckedBaseModel):
outbound_trunk: typing.Optional[GetPhoneNumberOutboundSipTrunkConfigResponseModel] = None
inbound_trunk: typing.Optional[GetPhoneNumberInboundSipTrunkConfigResponseModel] = None
livekit_stack: LivekitStackType
+ store_sip_messages: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/conversational_ai/tests/client.py b/src/elevenlabs/conversational_ai/tests/client.py
index a87345b3..966b0f2f 100644
--- a/src/elevenlabs/conversational_ai/tests/client.py
+++ b/src/elevenlabs/conversational_ai/tests/client.py
@@ -314,6 +314,7 @@ def list(
page_size=1,
search="search",
parent_folder_id="parent_folder_id",
+ types=["llm"],
include_folders=True,
sort_mode="default",
sharing_mode="all",
@@ -691,6 +692,7 @@ async def main() -> None:
page_size=1,
search="search",
parent_folder_id="parent_folder_id",
+ types=["llm"],
include_folders=True,
sort_mode="default",
sharing_mode="all",
diff --git a/src/elevenlabs/conversational_ai/tests/invocations/client.py b/src/elevenlabs/conversational_ai/tests/invocations/client.py
index 2597fdc5..9912441f 100644
--- a/src/elevenlabs/conversational_ai/tests/invocations/client.py
+++ b/src/elevenlabs/conversational_ai/tests/invocations/client.py
@@ -31,7 +31,7 @@ def with_raw_response(self) -> RawInvocationsClient:
def list(
self,
*,
- agent_id: str,
+ agent_id: typing.Optional[str] = None,
page_size: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
@@ -41,7 +41,7 @@ def list(
Parameters
----------
- agent_id : str
+ agent_id : typing.Optional[str]
Filter by agent ID
page_size : typing.Optional[int]
@@ -189,7 +189,7 @@ def with_raw_response(self) -> AsyncRawInvocationsClient:
async def list(
self,
*,
- agent_id: str,
+ agent_id: typing.Optional[str] = None,
page_size: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
@@ -199,7 +199,7 @@ async def list(
Parameters
----------
- agent_id : str
+ agent_id : typing.Optional[str]
Filter by agent ID
page_size : typing.Optional[int]
diff --git a/src/elevenlabs/conversational_ai/tests/invocations/raw_client.py b/src/elevenlabs/conversational_ai/tests/invocations/raw_client.py
index 07b5e673..77d2238d 100644
--- a/src/elevenlabs/conversational_ai/tests/invocations/raw_client.py
+++ b/src/elevenlabs/conversational_ai/tests/invocations/raw_client.py
@@ -26,7 +26,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper):
def list(
self,
*,
- agent_id: str,
+ agent_id: typing.Optional[str] = None,
page_size: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
@@ -36,7 +36,7 @@ def list(
Parameters
----------
- agent_id : str
+ agent_id : typing.Optional[str]
Filter by agent ID
page_size : typing.Optional[int]
@@ -232,7 +232,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper):
async def list(
self,
*,
- agent_id: str,
+ agent_id: typing.Optional[str] = None,
page_size: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
request_options: typing.Optional[RequestOptions] = None,
@@ -242,7 +242,7 @@ async def list(
Parameters
----------
- agent_id : str
+ agent_id : typing.Optional[str]
Filter by agent ID
page_size : typing.Optional[int]
diff --git a/src/elevenlabs/conversational_ai/tests/types/tests_create_request_body.py b/src/elevenlabs/conversational_ai/tests/types/tests_create_request_body.py
index d25288c1..a51e96a8 100644
--- a/src/elevenlabs/conversational_ai/tests/types/tests_create_request_body.py
+++ b/src/elevenlabs/conversational_ai/tests/types/tests_create_request_body.py
@@ -12,6 +12,7 @@
from ....types.agent_successful_response_example import AgentSuccessfulResponseExample
from ....types.conversation_history_transcript_common_model_input import ConversationHistoryTranscriptCommonModelInput
from ....types.dynamic_variable_value_type_input import DynamicVariableValueTypeInput
+from ....types.llm import Llm
from ....types.simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from ....types.test_from_conversation_metadata_input import TestFromConversationMetadataInput
from ....types.unit_test_tool_call_evaluation_model_input import UnitTestToolCallEvaluationModelInput
@@ -80,6 +81,8 @@ class TestsCreateRequestBody_Simulation(UncheckedBaseModel):
simulation_max_turns: typing.Optional[int] = None
simulation_environment: typing.Optional[str] = None
tool_mock_config: typing.Optional[SimulationToolMockBehaviorConfig] = None
+ evaluation_model: typing.Optional[Llm] = None
+ simulated_user_model: typing.Optional[Llm] = None
name: str
parent_folder_id: typing.Optional[str] = None
diff --git a/src/elevenlabs/conversational_ai/tests/types/tests_get_response.py b/src/elevenlabs/conversational_ai/tests/types/tests_get_response.py
index c555c03b..3df06f99 100644
--- a/src/elevenlabs/conversational_ai/tests/types/tests_get_response.py
+++ b/src/elevenlabs/conversational_ai/tests/types/tests_get_response.py
@@ -12,6 +12,7 @@
from ....types.agent_successful_response_example import AgentSuccessfulResponseExample
from ....types.conversation_history_transcript_common_model_output import ConversationHistoryTranscriptCommonModelOutput
from ....types.dynamic_variable_value_type_output import DynamicVariableValueTypeOutput
+from ....types.llm import Llm
from ....types.simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from ....types.test_from_conversation_metadata_output import TestFromConversationMetadataOutput
from ....types.unit_test_tool_call_evaluation_model_output import UnitTestToolCallEvaluationModelOutput
@@ -68,6 +69,8 @@ class TestsGetResponse_Simulation(UncheckedBaseModel):
simulation_max_turns: typing.Optional[int] = None
simulation_environment: typing.Optional[str] = None
tool_mock_config: typing.Optional[SimulationToolMockBehaviorConfig] = None
+ evaluation_model: typing.Optional[Llm] = None
+ simulated_user_model: typing.Optional[Llm] = None
id: str
name: str
diff --git a/src/elevenlabs/conversational_ai/tests/types/tests_update_request_body.py b/src/elevenlabs/conversational_ai/tests/types/tests_update_request_body.py
index d0644765..d76578b9 100644
--- a/src/elevenlabs/conversational_ai/tests/types/tests_update_request_body.py
+++ b/src/elevenlabs/conversational_ai/tests/types/tests_update_request_body.py
@@ -12,6 +12,7 @@
from ....types.agent_successful_response_example import AgentSuccessfulResponseExample
from ....types.conversation_history_transcript_common_model_input import ConversationHistoryTranscriptCommonModelInput
from ....types.dynamic_variable_value_type_input import DynamicVariableValueTypeInput
+from ....types.llm import Llm
from ....types.simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from ....types.test_from_conversation_metadata_input import TestFromConversationMetadataInput
from ....types.unit_test_tool_call_evaluation_model_input import UnitTestToolCallEvaluationModelInput
@@ -80,6 +81,8 @@ class TestsUpdateRequestBody_Simulation(UncheckedBaseModel):
simulation_max_turns: typing.Optional[int] = None
simulation_environment: typing.Optional[str] = None
tool_mock_config: typing.Optional[SimulationToolMockBehaviorConfig] = None
+ evaluation_model: typing.Optional[Llm] = None
+ simulated_user_model: typing.Optional[Llm] = None
name: str
parent_folder_id: typing.Optional[str] = None
diff --git a/src/elevenlabs/conversational_ai/tests/types/tests_update_response.py b/src/elevenlabs/conversational_ai/tests/types/tests_update_response.py
index 22a8b3df..324a9e31 100644
--- a/src/elevenlabs/conversational_ai/tests/types/tests_update_response.py
+++ b/src/elevenlabs/conversational_ai/tests/types/tests_update_response.py
@@ -12,6 +12,7 @@
from ....types.agent_successful_response_example import AgentSuccessfulResponseExample
from ....types.conversation_history_transcript_common_model_output import ConversationHistoryTranscriptCommonModelOutput
from ....types.dynamic_variable_value_type_output import DynamicVariableValueTypeOutput
+from ....types.llm import Llm
from ....types.simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from ....types.test_from_conversation_metadata_output import TestFromConversationMetadataOutput
from ....types.unit_test_tool_call_evaluation_model_output import UnitTestToolCallEvaluationModelOutput
@@ -68,6 +69,8 @@ class TestsUpdateResponse_Simulation(UncheckedBaseModel):
simulation_max_turns: typing.Optional[int] = None
simulation_environment: typing.Optional[str] = None
tool_mock_config: typing.Optional[SimulationToolMockBehaviorConfig] = None
+ evaluation_model: typing.Optional[Llm] = None
+ simulated_user_model: typing.Optional[Llm] = None
id: str
name: str
diff --git a/src/elevenlabs/conversational_ai/tools/client.py b/src/elevenlabs/conversational_ai/tools/client.py
index 91e14645..a10d4bbc 100644
--- a/src/elevenlabs/conversational_ai/tools/client.py
+++ b/src/elevenlabs/conversational_ai/tools/client.py
@@ -100,6 +100,7 @@ def list(
page_size=1,
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["webhook"],
sort_direction="asc",
sort_by="name",
cursor="cursor",
@@ -419,6 +420,7 @@ async def main() -> None:
page_size=1,
show_only_owned_documents=True,
created_by_user_id="created_by_user_id",
+ types=["webhook"],
sort_direction="asc",
sort_by="name",
cursor="cursor",
diff --git a/src/elevenlabs/core/client_wrapper.py b/src/elevenlabs/core/client_wrapper.py
index e0235b57..720db7b8 100644
--- a/src/elevenlabs/core/client_wrapper.py
+++ b/src/elevenlabs/core/client_wrapper.py
@@ -22,10 +22,10 @@ def __init__(
def get_headers(self) -> typing.Dict[str, str]:
headers: typing.Dict[str, str] = {
- "User-Agent": "elevenlabs/2.45.0",
+ "User-Agent": "elevenlabs/2.46.0",
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "elevenlabs",
- "X-Fern-SDK-Version": "2.45.0",
+ "X-Fern-SDK-Version": "2.46.0",
**(self.get_custom_headers() or {}),
}
if self._api_key is not None:
diff --git a/src/elevenlabs/text_to_dialogue/client.py b/src/elevenlabs/text_to_dialogue/client.py
index 954f0a98..83baac9b 100644
--- a/src/elevenlabs/text_to_dialogue/client.py
+++ b/src/elevenlabs/text_to_dialogue/client.py
@@ -115,11 +115,11 @@ def convert(
client.text_to_dialogue.convert(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
@@ -202,11 +202,11 @@ def stream(
client.text_to_dialogue.stream(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
@@ -484,11 +484,11 @@ async def main() -> None:
await client.text_to_dialogue.convert(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
@@ -580,11 +580,11 @@ async def main() -> None:
await client.text_to_dialogue.stream(
inputs=[
DialogueInput(
- text="Knock knock",
+ text="[giggling] Knock knock",
voice_id="JBFqnCBsd6RMkjVDRZzb",
),
DialogueInput(
- text="Who is there?",
+ text="[curious] Who is there?",
voice_id="Aw4FAjKCGjjNkVhN1Xmq",
),
],
diff --git a/src/elevenlabs/text_to_voice/client.py b/src/elevenlabs/text_to_voice/client.py
index f209d2ee..2aa7c00f 100644
--- a/src/elevenlabs/text_to_voice/client.py
+++ b/src/elevenlabs/text_to_voice/client.py
@@ -137,7 +137,7 @@ def create(
Description to use for the created voice.
generated_voice_id : str
- The generated_voice_id to create, call POST /v1/text-to-voice/create-previews and fetch the generated_voice_id from the response header if don't have one yet.
+ The generated_voice_id to create; obtain it from POST /v1/text-to-voice/design, POST /v1/text-to-voice/:voice_id/remix, or the response headers when generating previews.
labels : typing.Optional[typing.Dict[str, typing.Optional[str]]]
Optional, metadata to add to the created voice. Defaults to None.
@@ -518,7 +518,7 @@ async def create(
Description to use for the created voice.
generated_voice_id : str
- The generated_voice_id to create, call POST /v1/text-to-voice/create-previews and fetch the generated_voice_id from the response header if don't have one yet.
+ The generated_voice_id to create; obtain it from POST /v1/text-to-voice/design, POST /v1/text-to-voice/:voice_id/remix, or the response headers when generating previews.
labels : typing.Optional[typing.Dict[str, typing.Optional[str]]]
Optional, metadata to add to the created voice. Defaults to None.
diff --git a/src/elevenlabs/text_to_voice/raw_client.py b/src/elevenlabs/text_to_voice/raw_client.py
index 1710cd73..d0fb00b4 100644
--- a/src/elevenlabs/text_to_voice/raw_client.py
+++ b/src/elevenlabs/text_to_voice/raw_client.py
@@ -147,7 +147,7 @@ def create(
Description to use for the created voice.
generated_voice_id : str
- The generated_voice_id to create, call POST /v1/text-to-voice/create-previews and fetch the generated_voice_id from the response header if don't have one yet.
+ The generated_voice_id to create; obtain it from POST /v1/text-to-voice/design, POST /v1/text-to-voice/:voice_id/remix, or the response headers when generating previews.
labels : typing.Optional[typing.Dict[str, typing.Optional[str]]]
Optional, metadata to add to the created voice. Defaults to None.
@@ -582,7 +582,7 @@ async def create(
Description to use for the created voice.
generated_voice_id : str
- The generated_voice_id to create, call POST /v1/text-to-voice/create-previews and fetch the generated_voice_id from the response header if don't have one yet.
+ The generated_voice_id to create; obtain it from POST /v1/text-to-voice/design, POST /v1/text-to-voice/:voice_id/remix, or the response headers when generating previews.
labels : typing.Optional[typing.Dict[str, typing.Optional[str]]]
Optional, metadata to add to the created voice. Defaults to None.
diff --git a/src/elevenlabs/types/__init__.py b/src/elevenlabs/types/__init__.py
index 2723e5d4..8412a2d9 100644
--- a/src/elevenlabs/types/__init__.py
+++ b/src/elevenlabs/types/__init__.py
@@ -6,6 +6,8 @@
from importlib import import_module
if typing.TYPE_CHECKING:
+ from .account_change_activity_id import AccountChangeActivityId
+ from .actor_model import ActorModel
from .add_chapter_response_model import AddChapterResponseModel
from .add_knowledge_base_response_model import AddKnowledgeBaseResponseModel
from .add_project_request import AddProjectRequest
@@ -85,10 +87,15 @@
from .analysis_property_constant_value import AnalysisPropertyConstantValue
from .analysis_property_type import AnalysisPropertyType
from .analysis_scope import AnalysisScope
+ from .api_integration_doc_response import ApiIntegrationDocResponse
from .api_integration_o_auth_2_auth_code_response import ApiIntegrationOAuth2AuthCodeResponse
from .api_integration_o_auth_2_auth_code_response_scope_separator import (
ApiIntegrationOAuth2AuthCodeResponseScopeSeparator,
)
+ from .api_integration_o_auth_2_custom_app_response import ApiIntegrationOAuth2CustomAppResponse
+ from .api_integration_o_auth_2_custom_app_response_scope_separator import (
+ ApiIntegrationOAuth2CustomAppResponseScopeSeparator,
+ )
from .api_integration_webhook_overrides import ApiIntegrationWebhookOverrides
from .api_integration_webhook_overrides_request_headers_value import (
ApiIntegrationWebhookOverridesRequestHeadersValue,
@@ -232,8 +239,13 @@
)
from .auth_connection_locator import AuthConnectionLocator
from .auth_settings import AuthSettings
+ from .authentication_activity_id import AuthenticationActivityId
from .authorization_method import AuthorizationMethod
from .auto_sync_info import AutoSyncInfo
+ from .background_music_config import BackgroundMusicConfig
+ from .background_music_config_workflow_override import BackgroundMusicConfigWorkflowOverride
+ from .background_music_preset_id import BackgroundMusicPresetId
+ from .background_music_source_type import BackgroundMusicSourceType
from .backup_llm_default import BackupLlmDefault
from .backup_llm_disabled import BackupLlmDisabled
from .backup_llm_override import BackupLlmOverride
@@ -253,6 +265,9 @@
from .built_in_tools_output import BuiltInToolsOutput
from .built_in_tools_workflow_override_input import BuiltInToolsWorkflowOverrideInput
from .built_in_tools_workflow_override_output import BuiltInToolsWorkflowOverrideOutput
+ from .cancel_calendar_event_params import CancelCalendarEventParams
+ from .cancel_group_session_for_all_params import CancelGroupSessionForAllParams
+ from .cancel_group_session_registration_params import CancelGroupSessionRegistrationParams
from .canvas_placement import CanvasPlacement
from .caption_style_character_animation_model import CaptionStyleCharacterAnimationModel
from .caption_style_character_animation_model_enter_type import CaptionStyleCharacterAnimationModelEnterType
@@ -336,6 +351,7 @@
)
from .content_threshold_guardrail import ContentThresholdGuardrail
from .content_threshold_guardrail_threshold import ContentThresholdGuardrailThreshold
+ from .contextual_update_info import ContextualUpdateInfo
from .contributor import Contributor
from .conv_ai_dynamic_variable import ConvAiDynamicVariable
from .conv_ai_env_var_locator import ConvAiEnvVarLocator
@@ -360,15 +376,18 @@
from .conv_ai_user_secret_db_model import ConvAiUserSecretDbModel
from .conv_ai_webhooks import ConvAiWebhooks
from .conv_ai_workspace_stored_secret_config import ConvAiWorkspaceStoredSecretConfig
+ from .conversation_asr_usage_model import ConversationAsrUsageModel
from .conversation_charging_common_model import ConversationChargingCommonModel
- from .conversation_config import ConversationConfig
from .conversation_config_client_override_config_input import ConversationConfigClientOverrideConfigInput
from .conversation_config_client_override_config_output import ConversationConfigClientOverrideConfigOutput
from .conversation_config_client_override_input import ConversationConfigClientOverrideInput
from .conversation_config_client_override_output import ConversationConfigClientOverrideOutput
+ from .conversation_config_input import ConversationConfigInput
+ from .conversation_config_output import ConversationConfigOutput
from .conversation_config_override import ConversationConfigOverride
from .conversation_config_override_config import ConversationConfigOverrideConfig
- from .conversation_config_workflow_override import ConversationConfigWorkflowOverride
+ from .conversation_config_workflow_override_input import ConversationConfigWorkflowOverrideInput
+ from .conversation_config_workflow_override_output import ConversationConfigWorkflowOverrideOutput
from .conversation_deletion_settings import ConversationDeletionSettings
from .conversation_feedback_type import ConversationFeedbackType
from .conversation_history_analysis_common_model import ConversationHistoryAnalysisCommonModel
@@ -430,6 +449,7 @@
from .conversation_history_transcript_system_tool_result_common_model_input_result import (
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess,
@@ -448,6 +468,7 @@
from .conversation_history_transcript_system_tool_result_common_model_output_result import (
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess,
@@ -516,10 +537,14 @@
from .conversation_source import ConversationSource
from .conversation_summary_response_model import ConversationSummaryResponseModel
from .conversation_summary_response_model_status import ConversationSummaryResponseModelStatus
+ from .conversation_tag_response_model import ConversationTagResponseModel
from .conversation_token_db_model import ConversationTokenDbModel
from .conversation_token_purpose import ConversationTokenPurpose
+ from .conversation_tts_usage_model import ConversationTtsUsageModel
from .conversation_turn_metrics import ConversationTurnMetrics
from .conversation_user_response_model import ConversationUserResponseModel
+ from .conversation_voice_reward_model import ConversationVoiceRewardModel
+ from .conversation_voice_usage_model import ConversationVoiceUsageModel
from .conversational_config import ConversationalConfig
from .conversational_config_api_model_workflow_override_input import (
ConversationalConfigApiModelWorkflowOverrideInput,
@@ -548,6 +573,7 @@
from .create_o_auth_2_client_creds_request import CreateOAuth2ClientCredsRequest
from .create_o_auth_2_jwt_request import CreateOAuth2JwtRequest
from .create_o_auth_2_jwt_request_algorithm import CreateOAuth2JwtRequestAlgorithm
+ from .create_o_auth_2_jwt_request_token_response_field import CreateOAuth2JwtRequestTokenResponseField
from .create_phone_number_response_model import CreatePhoneNumberResponseModel
from .create_previously_generated_voice_request import CreatePreviouslyGeneratedVoiceRequest
from .create_private_key_jwt_request import CreatePrivateKeyJwtRequest
@@ -596,6 +622,7 @@
from .delete_client_interaction_params import DeleteClientInteractionParams
from .delete_client_params import DeleteClientParams
from .delete_dubbing_response_model import DeleteDubbingResponseModel
+ from .delete_group_session_params import DeleteGroupSessionParams
from .delete_history_item_response import DeleteHistoryItemResponse
from .delete_holiday_params import DeleteHolidayParams
from .delete_location_params import DeleteLocationParams
@@ -624,6 +651,7 @@
from .dependent_unknown_tool_identifier import DependentUnknownToolIdentifier
from .detailed_music_response import DetailedMusicResponse
from .detected_entity import DetectedEntity
+ from .device_model import DeviceModel
from .dialogue_input import DialogueInput
from .dialogue_input_response_model import DialogueInputResponseModel
from .dialogue_text_alignment import DialogueTextAlignment
@@ -642,7 +670,6 @@
from .dubbing_media_reference import DubbingMediaReference
from .dubbing_metadata_page_response_model import DubbingMetadataPageResponseModel
from .dubbing_metadata_response import DubbingMetadataResponse
- from .dubbing_model import DubbingModel
from .dubbing_render_response_model import DubbingRenderResponseModel
from .dubbing_resource import DubbingResource
from .dubbing_transcript import DubbingTranscript
@@ -673,6 +700,7 @@
from .end_call_tool_config import EndCallToolConfig
from .end_call_tool_result_model import EndCallToolResultModel
from .end_call_trigger_action import EndCallTriggerAction
+ from .entity_management_activity_id import EntityManagementActivityId
from .environment_auth_connection_locator import EnvironmentAuthConnectionLocator
from .environment_variable_auth_connection_value import EnvironmentVariableAuthConnectionValue
from .environment_variable_auth_connection_value_request import EnvironmentVariableAuthConnectionValueRequest
@@ -752,6 +780,7 @@
from .get_conv_ai_settings_response_model import GetConvAiSettingsResponseModel
from .get_conversation_response_model import GetConversationResponseModel
from .get_conversation_response_model_status import GetConversationResponseModelStatus
+ from .get_conversation_tags_page_response_model import GetConversationTagsPageResponseModel
from .get_conversation_users_page_response_model import GetConversationUsersPageResponseModel
from .get_conversations_page_response_model import GetConversationsPageResponseModel
from .get_knowledge_base_dependent_agents_response_model import GetKnowledgeBaseDependentAgentsResponseModel
@@ -844,6 +873,7 @@
GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown,
)
from .get_simulation_test_response_model import GetSimulationTestResponseModel
+ from .get_sip_log_messages_response import GetSipLogMessagesResponse
from .get_speech_history_response import GetSpeechHistoryResponse
from .get_test_invocations_page_response_model import GetTestInvocationsPageResponseModel
from .get_test_suite_invocation_response_model import GetTestSuiteInvocationResponseModel
@@ -861,6 +891,7 @@
from .get_voices_v_2_response import GetVoicesV2Response
from .get_whats_app_account_response import GetWhatsAppAccountResponse
from .get_workspace_secrets_response_model import GetWorkspaceSecretsResponseModel
+ from .group_management_activity_id import GroupManagementActivityId
from .guardrail_execution_mode import GuardrailExecutionMode
from .guardrails_v_1_input import GuardrailsV1Input
from .guardrails_v_1_output import GuardrailsV1Output
@@ -868,9 +899,14 @@
from .history_alignments_response_model import HistoryAlignmentsResponseModel
from .history_item_response import HistoryItemResponse
from .html_export_options import HtmlExportOptions
+ from .http_request_model import HttpRequestModel
from .http_validation_error import HttpValidationError
from .icon import Icon
+ from .image_analysis import ImageAnalysis
+ from .image_analysis_result import ImageAnalysisResult
+ from .image_analysis_status import ImageAnalysisStatus
from .image_avatar import ImageAvatar
+ from .image_subject import ImageSubject
from .inbound_sip_trunk_config_request_model import InboundSipTrunkConfigRequestModel
from .initialise_context import InitialiseContext
from .initialize_connection import InitializeConnection
@@ -899,6 +935,9 @@
KnowledgeBaseFolderPathSegmentSummaryResponseModel,
)
from .knowledge_base_locator import KnowledgeBaseLocator
+ from .knowledge_base_rag_tool_config import KnowledgeBaseRagToolConfig
+ from .knowledge_base_rag_tool_result_model import KnowledgeBaseRagToolResultModel
+ from .knowledge_base_rag_tool_status import KnowledgeBaseRagToolStatus
from .knowledge_base_sort_by import KnowledgeBaseSortBy
from .knowledge_base_source_file_url_response_model import KnowledgeBaseSourceFileUrlResponseModel
from .knowledge_base_summary_batch_successful_response_model import KnowledgeBaseSummaryBatchSuccessfulResponseModel
@@ -916,6 +955,7 @@
from .language_preset_output import LanguagePresetOutput
from .language_preset_translation import LanguagePresetTranslation
from .language_response import LanguageResponse
+ from .leave_message_params import LeaveMessageParams
from .library_voice_response import LibraryVoiceResponse
from .library_voice_response_model_category import LibraryVoiceResponseModelCategory
from .list_agent_rules_params import ListAgentRulesParams
@@ -924,6 +964,7 @@
from .list_auth_connections_response_auth_connections_item import (
ListAuthConnectionsResponseAuthConnectionsItem,
ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode,
+ ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp,
ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth,
ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth,
ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth,
@@ -936,11 +977,13 @@
from .list_calendar_events_params import ListCalendarEventsParams
from .list_client_interactions_params import ListClientInteractionsParams
from .list_clients_params import ListClientsParams
+ from .list_group_sessions_params import ListGroupSessionsParams
from .list_holidays_params import ListHolidaysParams
from .list_locations_params import ListLocationsParams
from .list_mcp_tools_response_model import ListMcpToolsResponseModel
from .list_products_params import ListProductsParams
from .list_response_agent_branch_summary import ListResponseAgentBranchSummary
+ from .list_response_api_integration_doc_response import ListResponseApiIntegrationDocResponse
from .list_response_meta import ListResponseMeta
from .list_services_params import ListServicesParams
from .list_staff_params import ListStaffParams
@@ -1035,6 +1078,7 @@
from .o_auth_2_client_creds_response import OAuth2ClientCredsResponse
from .o_auth_2_jwt_response import OAuth2JwtResponse
from .o_auth_2_jwt_response_algorithm import OAuth2JwtResponseAlgorithm
+ from .o_auth_2_jwt_response_token_response_field import OAuth2JwtResponseTokenResponseField
from .o_auth_connection_status import OAuthConnectionStatus
from .object_json_schema_property_input import ObjectJsonSchemaPropertyInput
from .object_json_schema_property_input_properties_value import ObjectJsonSchemaPropertyInputPropertiesValue
@@ -1096,6 +1140,7 @@
from .post_workspace_secret_response_model import PostWorkspaceSecretResponseModel
from .pre_tool_speech_mode import PreToolSpeechMode
from .preview_audio_db_model import PreviewAudioDbModel
+ from .price import Price
from .privacy_config_input import PrivacyConfigInput
from .privacy_config_output import PrivacyConfigOutput
from .private_key_jwt_response import PrivateKeyJwtResponse
@@ -1245,6 +1290,7 @@
from .referenced_tool_common_model_type import ReferencedToolCommonModelType
from .regex_parameter_evaluation_strategy import RegexParameterEvaluationStrategy
from .region_config_request import RegionConfigRequest
+ from .register_for_group_session_params import RegisterForGroupSessionParams
from .remove_member_from_group_request import RemoveMemberFromGroupRequest
from .render import Render
from .render_status import RenderStatus
@@ -1253,6 +1299,7 @@
from .required_constraint import RequiredConstraint
from .required_constraints import RequiredConstraints
from .resource_access_info import ResourceAccessInfo
+ from .resource_access_info_anonymous_access_level_override import ResourceAccessInfoAnonymousAccessLevelOverride
from .resource_access_info_role import ResourceAccessInfoRole
from .resource_metadata_response_model import ResourceMetadataResponseModel
from .resource_metadata_response_model_anonymous_access_level_override import (
@@ -1277,6 +1324,7 @@
from .say_node_literal_message_output import SayNodeLiteralMessageOutput
from .say_node_prompt_message_input import SayNodePromptMessageInput
from .say_node_prompt_message_output import SayNodePromptMessageOutput
+ from .schedule_group_session_params import ScheduleGroupSessionParams
from .scoped_analysis_result import ScopedAnalysisResult
from .scribe_auth_error_payload import ScribeAuthErrorPayload
from .scribe_chunk_size_exceeded_error_payload import ScribeChunkSizeExceededErrorPayload
@@ -1312,6 +1360,7 @@
from .session_started_payload_config import SessionStartedPayloadConfig
from .session_started_payload_config_commit_strategy import SessionStartedPayloadConfigCommitStrategy
from .set_booking_slug_params import SetBookingSlugParams
+ from .severity_id import SeverityId
from .sfx_source_context import SfxSourceContext
from .share_option_response_model import ShareOptionResponseModel
from .share_option_response_model_type import ShareOptionResponseModelType
@@ -1322,6 +1371,8 @@
from .single_test_run_request_model import SingleTestRunRequestModel
from .single_use_token_response_model import SingleUseTokenResponseModel
from .single_use_token_type import SingleUseTokenType
+ from .sip_log_message import SipLogMessage
+ from .sip_log_message_direction import SipLogMessageDirection
from .sip_media_encryption_enum import SipMediaEncryptionEnum
from .sip_trunk_credentials_request_model import SipTrunkCredentialsRequestModel
from .sip_trunk_outbound_call_response import SipTrunkOutboundCallResponse
@@ -1330,6 +1381,8 @@
from .sip_uri_transfer_destination import SipUriTransferDestination
from .skip_turn_tool_config import SkipTurnToolConfig
from .skip_turn_tool_response_model import SkipTurnToolResponseModel
+ from .sms_conversation_info import SmsConversationInfo
+ from .sms_conversation_info_direction import SmsConversationInfoDirection
from .soft_timeout_config import SoftTimeoutConfig
from .soft_timeout_config_override import SoftTimeoutConfigOverride
from .soft_timeout_config_override_config import SoftTimeoutConfigOverrideConfig
@@ -1346,6 +1399,8 @@
from .speaker_separation_response_model_status import SpeakerSeparationResponseModelStatus
from .speaker_track import SpeakerTrack
from .speaker_updated_response import SpeakerUpdatedResponse
+ from .speech_engine_config import SpeechEngineConfig
+ from .speech_engine_config_request_headers_value import SpeechEngineConfigRequestHeadersValue
from .speech_history_item_response import SpeechHistoryItemResponse
from .speech_history_item_response_model_source import SpeechHistoryItemResponseModelSource
from .speech_history_item_response_model_voice_category import SpeechHistoryItemResponseModelVoiceCategory
@@ -1358,6 +1413,7 @@
from .srt_export_options import SrtExportOptions
from .start_pvc_voice_training_response_model import StartPvcVoiceTrainingResponseModel
from .start_speaker_separation_response_model import StartSpeakerSeparationResponseModel
+ from .status_id import StatusId
from .streaming_audio_chunk_with_timestamps_and_voice_segments_response_model import (
StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel,
)
@@ -1378,6 +1434,7 @@
from .system_tool_config_input_params import (
SystemToolConfigInputParams,
SystemToolConfigInputParams_EndCall,
+ SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
@@ -1389,6 +1446,7 @@
from .system_tool_config_output_params import (
SystemToolConfigOutputParams,
SystemToolConfigOutputParams_EndCall,
+ SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
@@ -1539,6 +1597,7 @@
from .update_chapter_request import UpdateChapterRequest
from .update_client_params import UpdateClientParams
from .update_customer_facing_config_params import UpdateCustomerFacingConfigParams
+ from .update_group_session_seats_params import UpdateGroupSessionSeatsParams
from .update_holiday_params import UpdateHolidayParams
from .update_location_params import UpdateLocationParams
from .update_product_params import UpdateProductParams
@@ -1551,11 +1610,15 @@
from .update_tool_call_unit_test_request import UpdateToolCallUnitTestRequest
from .update_workspace_member_response_model import UpdateWorkspaceMemberResponseModel
from .url_avatar import UrlAvatar
+ from .url_model import UrlModel
from .usage_aggregation_interval import UsageAggregationInterval
from .usage_characters_response_model import UsageCharactersResponseModel
from .user import User
+ from .user_access_management_activity_id import UserAccessManagementActivityId
from .user_feedback import UserFeedback
from .user_feedback_score import UserFeedbackScore
+ from .user_model import UserModel
+ from .user_type_id import UserTypeId
from .users_sort_by import UsersSortBy
from .utterance_response_model import UtteranceResponseModel
from .vad_config import VadConfig
@@ -1614,6 +1677,7 @@
)
from .webhook_tool_config_input import WebhookToolConfigInput
from .webhook_tool_config_output import WebhookToolConfigOutput
+ from .webhook_transcript_format import WebhookTranscriptFormat
from .webhook_usage_type import WebhookUsageType
from .websocket_tts_client_message_multi import WebsocketTtsClientMessageMulti
from .websocket_tts_server_message_multi import WebsocketTtsServerMessageMulti
@@ -1792,6 +1856,9 @@
)
from .workspace_api_key_list_response_model import WorkspaceApiKeyListResponseModel
from .workspace_api_key_response_model import WorkspaceApiKeyResponseModel
+ from .workspace_audit_log_entry_response import WorkspaceAuditLogEntryResponse
+ from .workspace_audit_log_entry_response_activity_id import WorkspaceAuditLogEntryResponseActivityId
+ from .workspace_audit_logs_page_response import WorkspaceAuditLogsPageResponse
from .workspace_batch_calls_response import WorkspaceBatchCallsResponse
from .workspace_create_api_key_response_model import WorkspaceCreateApiKeyResponseModel
from .workspace_create_webhook_response_model import WorkspaceCreateWebhookResponseModel
@@ -1807,6 +1874,8 @@
from .workspace_webhook_response_model import WorkspaceWebhookResponseModel
from .workspace_webhook_usage_response_model import WorkspaceWebhookUsageResponseModel
_dynamic_imports: typing.Dict[str, str] = {
+ "AccountChangeActivityId": ".account_change_activity_id",
+ "ActorModel": ".actor_model",
"AddChapterResponseModel": ".add_chapter_response_model",
"AddKnowledgeBaseResponseModel": ".add_knowledge_base_response_model",
"AddProjectRequest": ".add_project_request",
@@ -1880,8 +1949,11 @@
"AnalysisPropertyConstantValue": ".analysis_property_constant_value",
"AnalysisPropertyType": ".analysis_property_type",
"AnalysisScope": ".analysis_scope",
+ "ApiIntegrationDocResponse": ".api_integration_doc_response",
"ApiIntegrationOAuth2AuthCodeResponse": ".api_integration_o_auth_2_auth_code_response",
"ApiIntegrationOAuth2AuthCodeResponseScopeSeparator": ".api_integration_o_auth_2_auth_code_response_scope_separator",
+ "ApiIntegrationOAuth2CustomAppResponse": ".api_integration_o_auth_2_custom_app_response",
+ "ApiIntegrationOAuth2CustomAppResponseScopeSeparator": ".api_integration_o_auth_2_custom_app_response_scope_separator",
"ApiIntegrationWebhookOverrides": ".api_integration_webhook_overrides",
"ApiIntegrationWebhookOverridesRequestHeadersValue": ".api_integration_webhook_overrides_request_headers_value",
"ApiIntegrationWebhookOverridesSchemaOverridesValue": ".api_integration_webhook_overrides_schema_overrides_value",
@@ -2011,8 +2083,13 @@
"AuthConnectionDependenciesToolsItem_Unknown": ".auth_connection_dependencies_tools_item",
"AuthConnectionLocator": ".auth_connection_locator",
"AuthSettings": ".auth_settings",
+ "AuthenticationActivityId": ".authentication_activity_id",
"AuthorizationMethod": ".authorization_method",
"AutoSyncInfo": ".auto_sync_info",
+ "BackgroundMusicConfig": ".background_music_config",
+ "BackgroundMusicConfigWorkflowOverride": ".background_music_config_workflow_override",
+ "BackgroundMusicPresetId": ".background_music_preset_id",
+ "BackgroundMusicSourceType": ".background_music_source_type",
"BackupLlmDefault": ".backup_llm_default",
"BackupLlmDisabled": ".backup_llm_disabled",
"BackupLlmOverride": ".backup_llm_override",
@@ -2032,6 +2109,9 @@
"BuiltInToolsOutput": ".built_in_tools_output",
"BuiltInToolsWorkflowOverrideInput": ".built_in_tools_workflow_override_input",
"BuiltInToolsWorkflowOverrideOutput": ".built_in_tools_workflow_override_output",
+ "CancelCalendarEventParams": ".cancel_calendar_event_params",
+ "CancelGroupSessionForAllParams": ".cancel_group_session_for_all_params",
+ "CancelGroupSessionRegistrationParams": ".cancel_group_session_registration_params",
"CanvasPlacement": ".canvas_placement",
"CaptionStyleCharacterAnimationModel": ".caption_style_character_animation_model",
"CaptionStyleCharacterAnimationModelEnterType": ".caption_style_character_animation_model_enter_type",
@@ -2109,6 +2189,7 @@
"ContentGuardrailOutputTriggerAction_Retry": ".content_guardrail_output_trigger_action",
"ContentThresholdGuardrail": ".content_threshold_guardrail",
"ContentThresholdGuardrailThreshold": ".content_threshold_guardrail_threshold",
+ "ContextualUpdateInfo": ".contextual_update_info",
"Contributor": ".contributor",
"ConvAiDynamicVariable": ".conv_ai_dynamic_variable",
"ConvAiEnvVarLocator": ".conv_ai_env_var_locator",
@@ -2127,15 +2208,18 @@
"ConvAiUserSecretDbModel": ".conv_ai_user_secret_db_model",
"ConvAiWebhooks": ".conv_ai_webhooks",
"ConvAiWorkspaceStoredSecretConfig": ".conv_ai_workspace_stored_secret_config",
+ "ConversationAsrUsageModel": ".conversation_asr_usage_model",
"ConversationChargingCommonModel": ".conversation_charging_common_model",
- "ConversationConfig": ".conversation_config",
"ConversationConfigClientOverrideConfigInput": ".conversation_config_client_override_config_input",
"ConversationConfigClientOverrideConfigOutput": ".conversation_config_client_override_config_output",
"ConversationConfigClientOverrideInput": ".conversation_config_client_override_input",
"ConversationConfigClientOverrideOutput": ".conversation_config_client_override_output",
+ "ConversationConfigInput": ".conversation_config_input",
+ "ConversationConfigOutput": ".conversation_config_output",
"ConversationConfigOverride": ".conversation_config_override",
"ConversationConfigOverrideConfig": ".conversation_config_override_config",
- "ConversationConfigWorkflowOverride": ".conversation_config_workflow_override",
+ "ConversationConfigWorkflowOverrideInput": ".conversation_config_workflow_override_input",
+ "ConversationConfigWorkflowOverrideOutput": ".conversation_config_workflow_override_output",
"ConversationDeletionSettings": ".conversation_deletion_settings",
"ConversationFeedbackType": ".conversation_feedback_type",
"ConversationHistoryAnalysisCommonModel": ".conversation_history_analysis_common_model",
@@ -2170,6 +2254,7 @@
"ConversationHistoryTranscriptSystemToolResultCommonModelInput": ".conversation_history_transcript_system_tool_result_common_model_input",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult": ".conversation_history_transcript_system_tool_result_common_model_input_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess": ".conversation_history_transcript_system_tool_result_common_model_input_result",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess": ".conversation_history_transcript_system_tool_result_common_model_input_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess": ".conversation_history_transcript_system_tool_result_common_model_input_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError": ".conversation_history_transcript_system_tool_result_common_model_input_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess": ".conversation_history_transcript_system_tool_result_common_model_input_result",
@@ -2184,6 +2269,7 @@
"ConversationHistoryTranscriptSystemToolResultCommonModelOutput": ".conversation_history_transcript_system_tool_result_common_model_output",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult": ".conversation_history_transcript_system_tool_result_common_model_output_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess": ".conversation_history_transcript_system_tool_result_common_model_output_result",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess": ".conversation_history_transcript_system_tool_result_common_model_output_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess": ".conversation_history_transcript_system_tool_result_common_model_output_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError": ".conversation_history_transcript_system_tool_result_common_model_output_result",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess": ".conversation_history_transcript_system_tool_result_common_model_output_result",
@@ -2229,10 +2315,14 @@
"ConversationSource": ".conversation_source",
"ConversationSummaryResponseModel": ".conversation_summary_response_model",
"ConversationSummaryResponseModelStatus": ".conversation_summary_response_model_status",
+ "ConversationTagResponseModel": ".conversation_tag_response_model",
"ConversationTokenDbModel": ".conversation_token_db_model",
"ConversationTokenPurpose": ".conversation_token_purpose",
+ "ConversationTtsUsageModel": ".conversation_tts_usage_model",
"ConversationTurnMetrics": ".conversation_turn_metrics",
"ConversationUserResponseModel": ".conversation_user_response_model",
+ "ConversationVoiceRewardModel": ".conversation_voice_reward_model",
+ "ConversationVoiceUsageModel": ".conversation_voice_usage_model",
"ConversationalConfig": ".conversational_config",
"ConversationalConfigApiModelWorkflowOverrideInput": ".conversational_config_api_model_workflow_override_input",
"ConversationalConfigApiModelWorkflowOverrideOutput": ".conversational_config_api_model_workflow_override_output",
@@ -2257,6 +2347,7 @@
"CreateOAuth2ClientCredsRequest": ".create_o_auth_2_client_creds_request",
"CreateOAuth2JwtRequest": ".create_o_auth_2_jwt_request",
"CreateOAuth2JwtRequestAlgorithm": ".create_o_auth_2_jwt_request_algorithm",
+ "CreateOAuth2JwtRequestTokenResponseField": ".create_o_auth_2_jwt_request_token_response_field",
"CreatePhoneNumberResponseModel": ".create_phone_number_response_model",
"CreatePreviouslyGeneratedVoiceRequest": ".create_previously_generated_voice_request",
"CreatePrivateKeyJwtRequest": ".create_private_key_jwt_request",
@@ -2303,6 +2394,7 @@
"DeleteClientInteractionParams": ".delete_client_interaction_params",
"DeleteClientParams": ".delete_client_params",
"DeleteDubbingResponseModel": ".delete_dubbing_response_model",
+ "DeleteGroupSessionParams": ".delete_group_session_params",
"DeleteHistoryItemResponse": ".delete_history_item_response",
"DeleteHolidayParams": ".delete_holiday_params",
"DeleteLocationParams": ".delete_location_params",
@@ -2331,6 +2423,7 @@
"DependentUnknownToolIdentifier": ".dependent_unknown_tool_identifier",
"DetailedMusicResponse": ".detailed_music_response",
"DetectedEntity": ".detected_entity",
+ "DeviceModel": ".device_model",
"DialogueInput": ".dialogue_input",
"DialogueInputResponseModel": ".dialogue_input_response_model",
"DialogueTextAlignment": ".dialogue_text_alignment",
@@ -2349,7 +2442,6 @@
"DubbingMediaReference": ".dubbing_media_reference",
"DubbingMetadataPageResponseModel": ".dubbing_metadata_page_response_model",
"DubbingMetadataResponse": ".dubbing_metadata_response",
- "DubbingModel": ".dubbing_model",
"DubbingRenderResponseModel": ".dubbing_render_response_model",
"DubbingResource": ".dubbing_resource",
"DubbingTranscript": ".dubbing_transcript",
@@ -2380,6 +2472,7 @@
"EndCallToolConfig": ".end_call_tool_config",
"EndCallToolResultModel": ".end_call_tool_result_model",
"EndCallTriggerAction": ".end_call_trigger_action",
+ "EntityManagementActivityId": ".entity_management_activity_id",
"EnvironmentAuthConnectionLocator": ".environment_auth_connection_locator",
"EnvironmentVariableAuthConnectionValue": ".environment_variable_auth_connection_value",
"EnvironmentVariableAuthConnectionValueRequest": ".environment_variable_auth_connection_value_request",
@@ -2451,6 +2544,7 @@
"GetConvAiSettingsResponseModel": ".get_conv_ai_settings_response_model",
"GetConversationResponseModel": ".get_conversation_response_model",
"GetConversationResponseModelStatus": ".get_conversation_response_model_status",
+ "GetConversationTagsPageResponseModel": ".get_conversation_tags_page_response_model",
"GetConversationUsersPageResponseModel": ".get_conversation_users_page_response_model",
"GetConversationsPageResponseModel": ".get_conversations_page_response_model",
"GetKnowledgeBaseDependentAgentsResponseModel": ".get_knowledge_base_dependent_agents_response_model",
@@ -2515,6 +2609,7 @@
"GetSecretDependenciesResponseModelDependenciesZeroItem_Available": ".get_secret_dependencies_response_model_dependencies_zero_item",
"GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown": ".get_secret_dependencies_response_model_dependencies_zero_item",
"GetSimulationTestResponseModel": ".get_simulation_test_response_model",
+ "GetSipLogMessagesResponse": ".get_sip_log_messages_response",
"GetSpeechHistoryResponse": ".get_speech_history_response",
"GetTestInvocationsPageResponseModel": ".get_test_invocations_page_response_model",
"GetTestSuiteInvocationResponseModel": ".get_test_suite_invocation_response_model",
@@ -2530,6 +2625,7 @@
"GetVoicesV2Response": ".get_voices_v_2_response",
"GetWhatsAppAccountResponse": ".get_whats_app_account_response",
"GetWorkspaceSecretsResponseModel": ".get_workspace_secrets_response_model",
+ "GroupManagementActivityId": ".group_management_activity_id",
"GuardrailExecutionMode": ".guardrail_execution_mode",
"GuardrailsV1Input": ".guardrails_v_1_input",
"GuardrailsV1Output": ".guardrails_v_1_output",
@@ -2537,9 +2633,14 @@
"HistoryAlignmentsResponseModel": ".history_alignments_response_model",
"HistoryItemResponse": ".history_item_response",
"HtmlExportOptions": ".html_export_options",
+ "HttpRequestModel": ".http_request_model",
"HttpValidationError": ".http_validation_error",
"Icon": ".icon",
+ "ImageAnalysis": ".image_analysis",
+ "ImageAnalysisResult": ".image_analysis_result",
+ "ImageAnalysisStatus": ".image_analysis_status",
"ImageAvatar": ".image_avatar",
+ "ImageSubject": ".image_subject",
"InboundSipTrunkConfigRequestModel": ".inbound_sip_trunk_config_request_model",
"InitialiseContext": ".initialise_context",
"InitializeConnection": ".initialize_connection",
@@ -2564,6 +2665,9 @@
"KnowledgeBaseFolderPathSegmentResponseModel": ".knowledge_base_folder_path_segment_response_model",
"KnowledgeBaseFolderPathSegmentSummaryResponseModel": ".knowledge_base_folder_path_segment_summary_response_model",
"KnowledgeBaseLocator": ".knowledge_base_locator",
+ "KnowledgeBaseRagToolConfig": ".knowledge_base_rag_tool_config",
+ "KnowledgeBaseRagToolResultModel": ".knowledge_base_rag_tool_result_model",
+ "KnowledgeBaseRagToolStatus": ".knowledge_base_rag_tool_status",
"KnowledgeBaseSortBy": ".knowledge_base_sort_by",
"KnowledgeBaseSourceFileUrlResponseModel": ".knowledge_base_source_file_url_response_model",
"KnowledgeBaseSummaryBatchSuccessfulResponseModel": ".knowledge_base_summary_batch_successful_response_model",
@@ -2579,6 +2683,7 @@
"LanguagePresetOutput": ".language_preset_output",
"LanguagePresetTranslation": ".language_preset_translation",
"LanguageResponse": ".language_response",
+ "LeaveMessageParams": ".leave_message_params",
"LibraryVoiceResponse": ".library_voice_response",
"LibraryVoiceResponseModelCategory": ".library_voice_response_model_category",
"ListAgentRulesParams": ".list_agent_rules_params",
@@ -2586,6 +2691,7 @@
"ListAuthConnectionsResponse": ".list_auth_connections_response",
"ListAuthConnectionsResponseAuthConnectionsItem": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode": ".list_auth_connections_response_auth_connections_item",
+ "ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth": ".list_auth_connections_response_auth_connections_item",
@@ -2597,11 +2703,13 @@
"ListCalendarEventsParams": ".list_calendar_events_params",
"ListClientInteractionsParams": ".list_client_interactions_params",
"ListClientsParams": ".list_clients_params",
+ "ListGroupSessionsParams": ".list_group_sessions_params",
"ListHolidaysParams": ".list_holidays_params",
"ListLocationsParams": ".list_locations_params",
"ListMcpToolsResponseModel": ".list_mcp_tools_response_model",
"ListProductsParams": ".list_products_params",
"ListResponseAgentBranchSummary": ".list_response_agent_branch_summary",
+ "ListResponseApiIntegrationDocResponse": ".list_response_api_integration_doc_response",
"ListResponseMeta": ".list_response_meta",
"ListServicesParams": ".list_services_params",
"ListStaffParams": ".list_staff_params",
@@ -2690,6 +2798,7 @@
"OAuth2ClientCredsResponse": ".o_auth_2_client_creds_response",
"OAuth2JwtResponse": ".o_auth_2_jwt_response",
"OAuth2JwtResponseAlgorithm": ".o_auth_2_jwt_response_algorithm",
+ "OAuth2JwtResponseTokenResponseField": ".o_auth_2_jwt_response_token_response_field",
"OAuthConnectionStatus": ".o_auth_connection_status",
"ObjectJsonSchemaPropertyInput": ".object_json_schema_property_input",
"ObjectJsonSchemaPropertyInputPropertiesValue": ".object_json_schema_property_input_properties_value",
@@ -2745,6 +2854,7 @@
"PostWorkspaceSecretResponseModel": ".post_workspace_secret_response_model",
"PreToolSpeechMode": ".pre_tool_speech_mode",
"PreviewAudioDbModel": ".preview_audio_db_model",
+ "Price": ".price",
"PrivacyConfigInput": ".privacy_config_input",
"PrivacyConfigOutput": ".privacy_config_output",
"PrivateKeyJwtResponse": ".private_key_jwt_response",
@@ -2870,6 +2980,7 @@
"ReferencedToolCommonModelType": ".referenced_tool_common_model_type",
"RegexParameterEvaluationStrategy": ".regex_parameter_evaluation_strategy",
"RegionConfigRequest": ".region_config_request",
+ "RegisterForGroupSessionParams": ".register_for_group_session_params",
"RemoveMemberFromGroupRequest": ".remove_member_from_group_request",
"Render": ".render",
"RenderStatus": ".render_status",
@@ -2878,6 +2989,7 @@
"RequiredConstraint": ".required_constraint",
"RequiredConstraints": ".required_constraints",
"ResourceAccessInfo": ".resource_access_info",
+ "ResourceAccessInfoAnonymousAccessLevelOverride": ".resource_access_info_anonymous_access_level_override",
"ResourceAccessInfoRole": ".resource_access_info_role",
"ResourceMetadataResponseModel": ".resource_metadata_response_model",
"ResourceMetadataResponseModelAnonymousAccessLevelOverride": ".resource_metadata_response_model_anonymous_access_level_override",
@@ -2900,6 +3012,7 @@
"SayNodeLiteralMessageOutput": ".say_node_literal_message_output",
"SayNodePromptMessageInput": ".say_node_prompt_message_input",
"SayNodePromptMessageOutput": ".say_node_prompt_message_output",
+ "ScheduleGroupSessionParams": ".schedule_group_session_params",
"ScopedAnalysisResult": ".scoped_analysis_result",
"ScribeAuthErrorPayload": ".scribe_auth_error_payload",
"ScribeChunkSizeExceededErrorPayload": ".scribe_chunk_size_exceeded_error_payload",
@@ -2935,6 +3048,7 @@
"SessionStartedPayloadConfig": ".session_started_payload_config",
"SessionStartedPayloadConfigCommitStrategy": ".session_started_payload_config_commit_strategy",
"SetBookingSlugParams": ".set_booking_slug_params",
+ "SeverityId": ".severity_id",
"SfxSourceContext": ".sfx_source_context",
"ShareOptionResponseModel": ".share_option_response_model",
"ShareOptionResponseModelType": ".share_option_response_model_type",
@@ -2945,6 +3059,8 @@
"SingleTestRunRequestModel": ".single_test_run_request_model",
"SingleUseTokenResponseModel": ".single_use_token_response_model",
"SingleUseTokenType": ".single_use_token_type",
+ "SipLogMessage": ".sip_log_message",
+ "SipLogMessageDirection": ".sip_log_message_direction",
"SipMediaEncryptionEnum": ".sip_media_encryption_enum",
"SipTrunkCredentialsRequestModel": ".sip_trunk_credentials_request_model",
"SipTrunkOutboundCallResponse": ".sip_trunk_outbound_call_response",
@@ -2953,6 +3069,8 @@
"SipUriTransferDestination": ".sip_uri_transfer_destination",
"SkipTurnToolConfig": ".skip_turn_tool_config",
"SkipTurnToolResponseModel": ".skip_turn_tool_response_model",
+ "SmsConversationInfo": ".sms_conversation_info",
+ "SmsConversationInfoDirection": ".sms_conversation_info_direction",
"SoftTimeoutConfig": ".soft_timeout_config",
"SoftTimeoutConfigOverride": ".soft_timeout_config_override",
"SoftTimeoutConfigOverrideConfig": ".soft_timeout_config_override_config",
@@ -2969,6 +3087,8 @@
"SpeakerSeparationResponseModelStatus": ".speaker_separation_response_model_status",
"SpeakerTrack": ".speaker_track",
"SpeakerUpdatedResponse": ".speaker_updated_response",
+ "SpeechEngineConfig": ".speech_engine_config",
+ "SpeechEngineConfigRequestHeadersValue": ".speech_engine_config_request_headers_value",
"SpeechHistoryItemResponse": ".speech_history_item_response",
"SpeechHistoryItemResponseModelSource": ".speech_history_item_response_model_source",
"SpeechHistoryItemResponseModelVoiceCategory": ".speech_history_item_response_model_voice_category",
@@ -2981,6 +3101,7 @@
"SrtExportOptions": ".srt_export_options",
"StartPvcVoiceTrainingResponseModel": ".start_pvc_voice_training_response_model",
"StartSpeakerSeparationResponseModel": ".start_speaker_separation_response_model",
+ "StatusId": ".status_id",
"StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel": ".streaming_audio_chunk_with_timestamps_and_voice_segments_response_model",
"StreamingAudioChunkWithTimestampsResponse": ".streaming_audio_chunk_with_timestamps_response",
"StudioAgentSettingsModel": ".studio_agent_settings_model",
@@ -2998,6 +3119,7 @@
"SystemToolConfigInput": ".system_tool_config_input",
"SystemToolConfigInputParams": ".system_tool_config_input_params",
"SystemToolConfigInputParams_EndCall": ".system_tool_config_input_params",
+ "SystemToolConfigInputParams_KnowledgeBaseRag": ".system_tool_config_input_params",
"SystemToolConfigInputParams_LanguageDetection": ".system_tool_config_input_params",
"SystemToolConfigInputParams_PlayKeypadTouchTone": ".system_tool_config_input_params",
"SystemToolConfigInputParams_SkipTurn": ".system_tool_config_input_params",
@@ -3007,6 +3129,7 @@
"SystemToolConfigOutput": ".system_tool_config_output",
"SystemToolConfigOutputParams": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_EndCall": ".system_tool_config_output_params",
+ "SystemToolConfigOutputParams_KnowledgeBaseRag": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_LanguageDetection": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_PlayKeypadTouchTone": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_SkipTurn": ".system_tool_config_output_params",
@@ -3142,6 +3265,7 @@
"UpdateChapterRequest": ".update_chapter_request",
"UpdateClientParams": ".update_client_params",
"UpdateCustomerFacingConfigParams": ".update_customer_facing_config_params",
+ "UpdateGroupSessionSeatsParams": ".update_group_session_seats_params",
"UpdateHolidayParams": ".update_holiday_params",
"UpdateLocationParams": ".update_location_params",
"UpdateProductParams": ".update_product_params",
@@ -3154,11 +3278,15 @@
"UpdateToolCallUnitTestRequest": ".update_tool_call_unit_test_request",
"UpdateWorkspaceMemberResponseModel": ".update_workspace_member_response_model",
"UrlAvatar": ".url_avatar",
+ "UrlModel": ".url_model",
"UsageAggregationInterval": ".usage_aggregation_interval",
"UsageCharactersResponseModel": ".usage_characters_response_model",
"User": ".user",
+ "UserAccessManagementActivityId": ".user_access_management_activity_id",
"UserFeedback": ".user_feedback",
"UserFeedbackScore": ".user_feedback_score",
+ "UserModel": ".user_model",
+ "UserTypeId": ".user_type_id",
"UsersSortBy": ".users_sort_by",
"UtteranceResponseModel": ".utterance_response_model",
"VadConfig": ".vad_config",
@@ -3213,6 +3341,7 @@
"WebhookToolApiSchemaConfigOutputRequestHeadersValue": ".webhook_tool_api_schema_config_output_request_headers_value",
"WebhookToolConfigInput": ".webhook_tool_config_input",
"WebhookToolConfigOutput": ".webhook_tool_config_output",
+ "WebhookTranscriptFormat": ".webhook_transcript_format",
"WebhookUsageType": ".webhook_usage_type",
"WebsocketTtsClientMessageMulti": ".websocket_tts_client_message_multi",
"WebsocketTtsServerMessageMulti": ".websocket_tts_server_message_multi",
@@ -3351,6 +3480,9 @@
"WorkspaceAnalyticsQueryResponseModelRowsItemItem": ".workspace_analytics_query_response_model_rows_item_item",
"WorkspaceApiKeyListResponseModel": ".workspace_api_key_list_response_model",
"WorkspaceApiKeyResponseModel": ".workspace_api_key_response_model",
+ "WorkspaceAuditLogEntryResponse": ".workspace_audit_log_entry_response",
+ "WorkspaceAuditLogEntryResponseActivityId": ".workspace_audit_log_entry_response_activity_id",
+ "WorkspaceAuditLogsPageResponse": ".workspace_audit_logs_page_response",
"WorkspaceBatchCallsResponse": ".workspace_batch_calls_response",
"WorkspaceCreateApiKeyResponseModel": ".workspace_create_api_key_response_model",
"WorkspaceCreateWebhookResponseModel": ".workspace_create_webhook_response_model",
@@ -3390,6 +3522,8 @@ def __dir__():
__all__ = [
+ "AccountChangeActivityId",
+ "ActorModel",
"AddChapterResponseModel",
"AddKnowledgeBaseResponseModel",
"AddProjectRequest",
@@ -3463,8 +3597,11 @@ def __dir__():
"AnalysisPropertyConstantValue",
"AnalysisPropertyType",
"AnalysisScope",
+ "ApiIntegrationDocResponse",
"ApiIntegrationOAuth2AuthCodeResponse",
"ApiIntegrationOAuth2AuthCodeResponseScopeSeparator",
+ "ApiIntegrationOAuth2CustomAppResponse",
+ "ApiIntegrationOAuth2CustomAppResponseScopeSeparator",
"ApiIntegrationWebhookOverrides",
"ApiIntegrationWebhookOverridesRequestHeadersValue",
"ApiIntegrationWebhookOverridesSchemaOverridesValue",
@@ -3594,8 +3731,13 @@ def __dir__():
"AuthConnectionDependenciesToolsItem_Unknown",
"AuthConnectionLocator",
"AuthSettings",
+ "AuthenticationActivityId",
"AuthorizationMethod",
"AutoSyncInfo",
+ "BackgroundMusicConfig",
+ "BackgroundMusicConfigWorkflowOverride",
+ "BackgroundMusicPresetId",
+ "BackgroundMusicSourceType",
"BackupLlmDefault",
"BackupLlmDisabled",
"BackupLlmOverride",
@@ -3615,6 +3757,9 @@ def __dir__():
"BuiltInToolsOutput",
"BuiltInToolsWorkflowOverrideInput",
"BuiltInToolsWorkflowOverrideOutput",
+ "CancelCalendarEventParams",
+ "CancelGroupSessionForAllParams",
+ "CancelGroupSessionRegistrationParams",
"CanvasPlacement",
"CaptionStyleCharacterAnimationModel",
"CaptionStyleCharacterAnimationModelEnterType",
@@ -3692,6 +3837,7 @@ def __dir__():
"ContentGuardrailOutputTriggerAction_Retry",
"ContentThresholdGuardrail",
"ContentThresholdGuardrailThreshold",
+ "ContextualUpdateInfo",
"Contributor",
"ConvAiDynamicVariable",
"ConvAiEnvVarLocator",
@@ -3710,15 +3856,18 @@ def __dir__():
"ConvAiUserSecretDbModel",
"ConvAiWebhooks",
"ConvAiWorkspaceStoredSecretConfig",
+ "ConversationAsrUsageModel",
"ConversationChargingCommonModel",
- "ConversationConfig",
"ConversationConfigClientOverrideConfigInput",
"ConversationConfigClientOverrideConfigOutput",
"ConversationConfigClientOverrideInput",
"ConversationConfigClientOverrideOutput",
+ "ConversationConfigInput",
+ "ConversationConfigOutput",
"ConversationConfigOverride",
"ConversationConfigOverrideConfig",
- "ConversationConfigWorkflowOverride",
+ "ConversationConfigWorkflowOverrideInput",
+ "ConversationConfigWorkflowOverrideOutput",
"ConversationDeletionSettings",
"ConversationFeedbackType",
"ConversationHistoryAnalysisCommonModel",
@@ -3753,6 +3902,7 @@ def __dir__():
"ConversationHistoryTranscriptSystemToolResultCommonModelInput",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError",
"ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess",
@@ -3767,6 +3917,7 @@ def __dir__():
"ConversationHistoryTranscriptSystemToolResultCommonModelOutput",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess",
+ "ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError",
"ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess",
@@ -3812,10 +3963,14 @@ def __dir__():
"ConversationSource",
"ConversationSummaryResponseModel",
"ConversationSummaryResponseModelStatus",
+ "ConversationTagResponseModel",
"ConversationTokenDbModel",
"ConversationTokenPurpose",
+ "ConversationTtsUsageModel",
"ConversationTurnMetrics",
"ConversationUserResponseModel",
+ "ConversationVoiceRewardModel",
+ "ConversationVoiceUsageModel",
"ConversationalConfig",
"ConversationalConfigApiModelWorkflowOverrideInput",
"ConversationalConfigApiModelWorkflowOverrideOutput",
@@ -3840,6 +3995,7 @@ def __dir__():
"CreateOAuth2ClientCredsRequest",
"CreateOAuth2JwtRequest",
"CreateOAuth2JwtRequestAlgorithm",
+ "CreateOAuth2JwtRequestTokenResponseField",
"CreatePhoneNumberResponseModel",
"CreatePreviouslyGeneratedVoiceRequest",
"CreatePrivateKeyJwtRequest",
@@ -3886,6 +4042,7 @@ def __dir__():
"DeleteClientInteractionParams",
"DeleteClientParams",
"DeleteDubbingResponseModel",
+ "DeleteGroupSessionParams",
"DeleteHistoryItemResponse",
"DeleteHolidayParams",
"DeleteLocationParams",
@@ -3914,6 +4071,7 @@ def __dir__():
"DependentUnknownToolIdentifier",
"DetailedMusicResponse",
"DetectedEntity",
+ "DeviceModel",
"DialogueInput",
"DialogueInputResponseModel",
"DialogueTextAlignment",
@@ -3932,7 +4090,6 @@ def __dir__():
"DubbingMediaReference",
"DubbingMetadataPageResponseModel",
"DubbingMetadataResponse",
- "DubbingModel",
"DubbingRenderResponseModel",
"DubbingResource",
"DubbingTranscript",
@@ -3963,6 +4120,7 @@ def __dir__():
"EndCallToolConfig",
"EndCallToolResultModel",
"EndCallTriggerAction",
+ "EntityManagementActivityId",
"EnvironmentAuthConnectionLocator",
"EnvironmentVariableAuthConnectionValue",
"EnvironmentVariableAuthConnectionValueRequest",
@@ -4034,6 +4192,7 @@ def __dir__():
"GetConvAiSettingsResponseModel",
"GetConversationResponseModel",
"GetConversationResponseModelStatus",
+ "GetConversationTagsPageResponseModel",
"GetConversationUsersPageResponseModel",
"GetConversationsPageResponseModel",
"GetKnowledgeBaseDependentAgentsResponseModel",
@@ -4098,6 +4257,7 @@ def __dir__():
"GetSecretDependenciesResponseModelDependenciesZeroItem_Available",
"GetSecretDependenciesResponseModelDependenciesZeroItem_Unknown",
"GetSimulationTestResponseModel",
+ "GetSipLogMessagesResponse",
"GetSpeechHistoryResponse",
"GetTestInvocationsPageResponseModel",
"GetTestSuiteInvocationResponseModel",
@@ -4113,6 +4273,7 @@ def __dir__():
"GetVoicesV2Response",
"GetWhatsAppAccountResponse",
"GetWorkspaceSecretsResponseModel",
+ "GroupManagementActivityId",
"GuardrailExecutionMode",
"GuardrailsV1Input",
"GuardrailsV1Output",
@@ -4120,9 +4281,14 @@ def __dir__():
"HistoryAlignmentsResponseModel",
"HistoryItemResponse",
"HtmlExportOptions",
+ "HttpRequestModel",
"HttpValidationError",
"Icon",
+ "ImageAnalysis",
+ "ImageAnalysisResult",
+ "ImageAnalysisStatus",
"ImageAvatar",
+ "ImageSubject",
"InboundSipTrunkConfigRequestModel",
"InitialiseContext",
"InitializeConnection",
@@ -4147,6 +4313,9 @@ def __dir__():
"KnowledgeBaseFolderPathSegmentResponseModel",
"KnowledgeBaseFolderPathSegmentSummaryResponseModel",
"KnowledgeBaseLocator",
+ "KnowledgeBaseRagToolConfig",
+ "KnowledgeBaseRagToolResultModel",
+ "KnowledgeBaseRagToolStatus",
"KnowledgeBaseSortBy",
"KnowledgeBaseSourceFileUrlResponseModel",
"KnowledgeBaseSummaryBatchSuccessfulResponseModel",
@@ -4162,6 +4331,7 @@ def __dir__():
"LanguagePresetOutput",
"LanguagePresetTranslation",
"LanguageResponse",
+ "LeaveMessageParams",
"LibraryVoiceResponse",
"LibraryVoiceResponseModelCategory",
"ListAgentRulesParams",
@@ -4169,6 +4339,7 @@ def __dir__():
"ListAuthConnectionsResponse",
"ListAuthConnectionsResponseAuthConnectionsItem",
"ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode",
+ "ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp",
"ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth",
@@ -4180,11 +4351,13 @@ def __dir__():
"ListCalendarEventsParams",
"ListClientInteractionsParams",
"ListClientsParams",
+ "ListGroupSessionsParams",
"ListHolidaysParams",
"ListLocationsParams",
"ListMcpToolsResponseModel",
"ListProductsParams",
"ListResponseAgentBranchSummary",
+ "ListResponseApiIntegrationDocResponse",
"ListResponseMeta",
"ListServicesParams",
"ListStaffParams",
@@ -4273,6 +4446,7 @@ def __dir__():
"OAuth2ClientCredsResponse",
"OAuth2JwtResponse",
"OAuth2JwtResponseAlgorithm",
+ "OAuth2JwtResponseTokenResponseField",
"OAuthConnectionStatus",
"ObjectJsonSchemaPropertyInput",
"ObjectJsonSchemaPropertyInputPropertiesValue",
@@ -4328,6 +4502,7 @@ def __dir__():
"PostWorkspaceSecretResponseModel",
"PreToolSpeechMode",
"PreviewAudioDbModel",
+ "Price",
"PrivacyConfigInput",
"PrivacyConfigOutput",
"PrivateKeyJwtResponse",
@@ -4453,6 +4628,7 @@ def __dir__():
"ReferencedToolCommonModelType",
"RegexParameterEvaluationStrategy",
"RegionConfigRequest",
+ "RegisterForGroupSessionParams",
"RemoveMemberFromGroupRequest",
"Render",
"RenderStatus",
@@ -4461,6 +4637,7 @@ def __dir__():
"RequiredConstraint",
"RequiredConstraints",
"ResourceAccessInfo",
+ "ResourceAccessInfoAnonymousAccessLevelOverride",
"ResourceAccessInfoRole",
"ResourceMetadataResponseModel",
"ResourceMetadataResponseModelAnonymousAccessLevelOverride",
@@ -4483,6 +4660,7 @@ def __dir__():
"SayNodeLiteralMessageOutput",
"SayNodePromptMessageInput",
"SayNodePromptMessageOutput",
+ "ScheduleGroupSessionParams",
"ScopedAnalysisResult",
"ScribeAuthErrorPayload",
"ScribeChunkSizeExceededErrorPayload",
@@ -4518,6 +4696,7 @@ def __dir__():
"SessionStartedPayloadConfig",
"SessionStartedPayloadConfigCommitStrategy",
"SetBookingSlugParams",
+ "SeverityId",
"SfxSourceContext",
"ShareOptionResponseModel",
"ShareOptionResponseModelType",
@@ -4528,6 +4707,8 @@ def __dir__():
"SingleTestRunRequestModel",
"SingleUseTokenResponseModel",
"SingleUseTokenType",
+ "SipLogMessage",
+ "SipLogMessageDirection",
"SipMediaEncryptionEnum",
"SipTrunkCredentialsRequestModel",
"SipTrunkOutboundCallResponse",
@@ -4536,6 +4717,8 @@ def __dir__():
"SipUriTransferDestination",
"SkipTurnToolConfig",
"SkipTurnToolResponseModel",
+ "SmsConversationInfo",
+ "SmsConversationInfoDirection",
"SoftTimeoutConfig",
"SoftTimeoutConfigOverride",
"SoftTimeoutConfigOverrideConfig",
@@ -4552,6 +4735,8 @@ def __dir__():
"SpeakerSeparationResponseModelStatus",
"SpeakerTrack",
"SpeakerUpdatedResponse",
+ "SpeechEngineConfig",
+ "SpeechEngineConfigRequestHeadersValue",
"SpeechHistoryItemResponse",
"SpeechHistoryItemResponseModelSource",
"SpeechHistoryItemResponseModelVoiceCategory",
@@ -4564,6 +4749,7 @@ def __dir__():
"SrtExportOptions",
"StartPvcVoiceTrainingResponseModel",
"StartSpeakerSeparationResponseModel",
+ "StatusId",
"StreamingAudioChunkWithTimestampsAndVoiceSegmentsResponseModel",
"StreamingAudioChunkWithTimestampsResponse",
"StudioAgentSettingsModel",
@@ -4581,6 +4767,7 @@ def __dir__():
"SystemToolConfigInput",
"SystemToolConfigInputParams",
"SystemToolConfigInputParams_EndCall",
+ "SystemToolConfigInputParams_KnowledgeBaseRag",
"SystemToolConfigInputParams_LanguageDetection",
"SystemToolConfigInputParams_PlayKeypadTouchTone",
"SystemToolConfigInputParams_SkipTurn",
@@ -4590,6 +4777,7 @@ def __dir__():
"SystemToolConfigOutput",
"SystemToolConfigOutputParams",
"SystemToolConfigOutputParams_EndCall",
+ "SystemToolConfigOutputParams_KnowledgeBaseRag",
"SystemToolConfigOutputParams_LanguageDetection",
"SystemToolConfigOutputParams_PlayKeypadTouchTone",
"SystemToolConfigOutputParams_SkipTurn",
@@ -4725,6 +4913,7 @@ def __dir__():
"UpdateChapterRequest",
"UpdateClientParams",
"UpdateCustomerFacingConfigParams",
+ "UpdateGroupSessionSeatsParams",
"UpdateHolidayParams",
"UpdateLocationParams",
"UpdateProductParams",
@@ -4737,11 +4926,15 @@ def __dir__():
"UpdateToolCallUnitTestRequest",
"UpdateWorkspaceMemberResponseModel",
"UrlAvatar",
+ "UrlModel",
"UsageAggregationInterval",
"UsageCharactersResponseModel",
"User",
+ "UserAccessManagementActivityId",
"UserFeedback",
"UserFeedbackScore",
+ "UserModel",
+ "UserTypeId",
"UsersSortBy",
"UtteranceResponseModel",
"VadConfig",
@@ -4796,6 +4989,7 @@ def __dir__():
"WebhookToolApiSchemaConfigOutputRequestHeadersValue",
"WebhookToolConfigInput",
"WebhookToolConfigOutput",
+ "WebhookTranscriptFormat",
"WebhookUsageType",
"WebsocketTtsClientMessageMulti",
"WebsocketTtsServerMessageMulti",
@@ -4934,6 +5128,9 @@ def __dir__():
"WorkspaceAnalyticsQueryResponseModelRowsItemItem",
"WorkspaceApiKeyListResponseModel",
"WorkspaceApiKeyResponseModel",
+ "WorkspaceAuditLogEntryResponse",
+ "WorkspaceAuditLogEntryResponseActivityId",
+ "WorkspaceAuditLogsPageResponse",
"WorkspaceBatchCallsResponse",
"WorkspaceCreateApiKeyResponseModel",
"WorkspaceCreateWebhookResponseModel",
diff --git a/src/elevenlabs/types/account_change_activity_id.py b/src/elevenlabs/types/account_change_activity_id.py
new file mode 100644
index 00000000..5dedd649
--- /dev/null
+++ b/src/elevenlabs/types/account_change_activity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+AccountChangeActivityId = int
diff --git a/src/elevenlabs/types/actor_model.py b/src/elevenlabs/types/actor_model.py
new file mode 100644
index 00000000..92f60445
--- /dev/null
+++ b/src/elevenlabs/types/actor_model.py
@@ -0,0 +1,45 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .user_model import UserModel
+
+
+class ActorModel(UncheckedBaseModel):
+ """
+ OCSF Actor object - describes the entity that performed the action.
+
+ Spec: https://schema.ocsf.io/1.6.0/objects/actor
+ """
+
+ user: UserModel = pydantic.Field()
+ """
+ User who performed the action
+ """
+
+ app_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Client application or service name
+ """
+
+ app_uid: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Client application unique identifier
+ """
+
+ session: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
+ """
+ Session information
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/api_integration_doc_response.py b/src/elevenlabs/types/api_integration_doc_response.py
new file mode 100644
index 00000000..2e1021ea
--- /dev/null
+++ b/src/elevenlabs/types/api_integration_doc_response.py
@@ -0,0 +1,33 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ApiIntegrationDocResponse(UncheckedBaseModel):
+ id: str = pydantic.Field()
+ """
+ Integration identifier
+ """
+
+ name: str = pydantic.Field()
+ """
+ Display name of the integration
+ """
+
+ doc_mdx: str = pydantic.Field()
+ """
+ Full MDX documentation content for the integration
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response.py b/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response.py
new file mode 100644
index 00000000..02e81182
--- /dev/null
+++ b/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response.py
@@ -0,0 +1,66 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .api_integration_o_auth_2_custom_app_response_scope_separator import (
+ ApiIntegrationOAuth2CustomAppResponseScopeSeparator,
+)
+from .auth_connection_dependencies import AuthConnectionDependencies
+from .o_auth_connection_status import OAuthConnectionStatus
+
+
+class ApiIntegrationOAuth2CustomAppResponse(UncheckedBaseModel):
+ """
+ Response model for user-owned OAuth2 Custom App auth connections
+ """
+
+ name: str
+ provider: str
+ token_url: str
+ scopes: typing.Optional[typing.List[str]] = None
+ scope_separator: typing.Optional[ApiIntegrationOAuth2CustomAppResponseScopeSeparator] = pydantic.Field(default=None)
+ """
+ Separator for scopes
+ """
+
+ expires_at: str = pydantic.Field()
+ """
+ ISO 8601 timestamp of when the access token expires
+ """
+
+ integration_id: str
+ credential_id: str
+ status: typing.Optional[OAuthConnectionStatus] = pydantic.Field(default=None)
+ """
+ Current health status of the OAuth connection
+ """
+
+ status_detail: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Human-readable detail about the current status, e.g. the error message on refresh failure
+ """
+
+ status_updated_at: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ ISO 8601 timestamp of the last status change
+ """
+
+ client_id: str = pydantic.Field()
+ """
+ OAuth client ID (rendered from template if credential uses templated credentials, None for legacy connections)
+ """
+
+ id: str
+ used_by: typing.Optional[AuthConnectionDependencies] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response_scope_separator.py b/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response_scope_separator.py
new file mode 100644
index 00000000..e09d4cc5
--- /dev/null
+++ b/src/elevenlabs/types/api_integration_o_auth_2_custom_app_response_scope_separator.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+ApiIntegrationOAuth2CustomAppResponseScopeSeparator = typing.Union[typing.Literal[" ", ","], typing.Any]
diff --git a/src/elevenlabs/types/authentication_activity_id.py b/src/elevenlabs/types/authentication_activity_id.py
new file mode 100644
index 00000000..f2c00a67
--- /dev/null
+++ b/src/elevenlabs/types/authentication_activity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+AuthenticationActivityId = int
diff --git a/src/elevenlabs/types/authorization_method.py b/src/elevenlabs/types/authorization_method.py
index 2e41dc23..6f4a2004 100644
--- a/src/elevenlabs/types/authorization_method.py
+++ b/src/elevenlabs/types/authorization_method.py
@@ -13,6 +13,7 @@
"livekit_token_website",
"genesys_api_key",
"whatsapp",
+ "sms",
],
typing.Any,
]
diff --git a/src/elevenlabs/types/background_music_config.py b/src/elevenlabs/types/background_music_config.py
new file mode 100644
index 00000000..9898fd1c
--- /dev/null
+++ b/src/elevenlabs/types/background_music_config.py
@@ -0,0 +1,40 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .background_music_preset_id import BackgroundMusicPresetId
+from .background_music_source_type import BackgroundMusicSourceType
+
+
+class BackgroundMusicConfig(UncheckedBaseModel):
+ source_type: typing.Optional[BackgroundMusicSourceType] = pydantic.Field(default=None)
+ """
+ The type of background music source.
+ """
+
+ source_id: typing.Optional[BackgroundMusicPresetId] = pydantic.Field(default=None)
+ """
+ Identifier for the music source.
+ """
+
+ volume: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Volume level for background music (0.01 to 1.0).
+ """
+
+ crossfade_loop: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Apply a crossfade at the loop boundary to avoid audible pops when the music loops.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/background_music_config_workflow_override.py b/src/elevenlabs/types/background_music_config_workflow_override.py
new file mode 100644
index 00000000..4e92952b
--- /dev/null
+++ b/src/elevenlabs/types/background_music_config_workflow_override.py
@@ -0,0 +1,40 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .background_music_preset_id import BackgroundMusicPresetId
+from .background_music_source_type import BackgroundMusicSourceType
+
+
+class BackgroundMusicConfigWorkflowOverride(UncheckedBaseModel):
+ source_type: typing.Optional[BackgroundMusicSourceType] = pydantic.Field(default=None)
+ """
+ The type of background music source.
+ """
+
+ source_id: typing.Optional[BackgroundMusicPresetId] = pydantic.Field(default=None)
+ """
+ Identifier for the music source.
+ """
+
+ volume: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Volume level for background music (0.01 to 1.0).
+ """
+
+ crossfade_loop: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Apply a crossfade at the loop boundary to avoid audible pops when the music loops.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/background_music_preset_id.py b/src/elevenlabs/types/background_music_preset_id.py
new file mode 100644
index 00000000..78ee8e68
--- /dev/null
+++ b/src/elevenlabs/types/background_music_preset_id.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+BackgroundMusicPresetId = typing.Union[
+ typing.Literal["typing", "elevator1", "elevator2", "elevator3", "elevator4"], typing.Any
+]
diff --git a/src/elevenlabs/types/background_music_source_type.py b/src/elevenlabs/types/background_music_source_type.py
new file mode 100644
index 00000000..1d07915b
--- /dev/null
+++ b/src/elevenlabs/types/background_music_source_type.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+BackgroundMusicSourceType = typing.Literal["preset"]
diff --git a/src/elevenlabs/types/cancel_calendar_event_params.py b/src/elevenlabs/types/cancel_calendar_event_params.py
new file mode 100644
index 00000000..c330c724
--- /dev/null
+++ b/src/elevenlabs/types/cancel_calendar_event_params.py
@@ -0,0 +1,20 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class CancelCalendarEventParams(UncheckedBaseModel):
+ smb_tool_type: typing.Optional[typing.Literal["cancel_calendar_event"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/cancel_group_session_for_all_params.py b/src/elevenlabs/types/cancel_group_session_for_all_params.py
new file mode 100644
index 00000000..0c0e1bf5
--- /dev/null
+++ b/src/elevenlabs/types/cancel_group_session_for_all_params.py
@@ -0,0 +1,26 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class CancelGroupSessionForAllParams(UncheckedBaseModel):
+ """
+ Cancel an entire group session and notify every registered participant.
+ Destructive -- prefer ``cancel_group_session_registration`` for cancelling
+ a single attendee.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["cancel_group_session_for_all"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/cancel_group_session_registration_params.py b/src/elevenlabs/types/cancel_group_session_registration_params.py
new file mode 100644
index 00000000..515a6ee8
--- /dev/null
+++ b/src/elevenlabs/types/cancel_group_session_registration_params.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class CancelGroupSessionRegistrationParams(UncheckedBaseModel):
+ """
+ Cancel a single client's registration for a group session.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["cancel_group_session_registration"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/column_unit.py b/src/elevenlabs/types/column_unit.py
index 12f5d636..49b72881 100644
--- a/src/elevenlabs/types/column_unit.py
+++ b/src/elevenlabs/types/column_unit.py
@@ -3,5 +3,5 @@
import typing
ColumnUnit = typing.Union[
- typing.Literal["ms", "s", "min", "duration", "credits", "usd", "eur", "inr", "ratio", "rating"], typing.Any
+ typing.Literal["ms", "s", "min", "duration", "credits", "usd", "eur", "inr", "pln", "ratio", "rating"], typing.Any
]
diff --git a/src/elevenlabs/types/contextual_update_info.py b/src/elevenlabs/types/contextual_update_info.py
new file mode 100644
index 00000000..d811a36e
--- /dev/null
+++ b/src/elevenlabs/types/contextual_update_info.py
@@ -0,0 +1,28 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ContextualUpdateInfo(UncheckedBaseModel):
+ context_id: str = pydantic.Field()
+ """
+ Client-supplied identifier grouping related contextual updates.
+ """
+
+ is_superseded: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ True when this contextual update has been replaced by a newer update with the same context_id.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conv_ai_webhooks.py b/src/elevenlabs/types/conv_ai_webhooks.py
index 1bb5110a..7dc0741d 100644
--- a/src/elevenlabs/types/conv_ai_webhooks.py
+++ b/src/elevenlabs/types/conv_ai_webhooks.py
@@ -6,6 +6,7 @@
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .webhook_event_type import WebhookEventType
+from .webhook_transcript_format import WebhookTranscriptFormat
class ConvAiWebhooks(UncheckedBaseModel):
@@ -15,6 +16,11 @@ class ConvAiWebhooks(UncheckedBaseModel):
List of event types to send via webhook. Options: transcript, audio, call_initiation_failure.
"""
+ transcript_format: typing.Optional[WebhookTranscriptFormat] = pydantic.Field(default=None)
+ """
+ Format for transcript webhooks.
+ """
+
send_audio: typing.Optional[bool] = pydantic.Field(default=None)
"""
DEPRECATED: Use 'events' field instead. Whether to send audio data with post-call webhooks for ConvAI conversations
diff --git a/src/elevenlabs/types/conversation_asr_usage_model.py b/src/elevenlabs/types/conversation_asr_usage_model.py
new file mode 100644
index 00000000..8b6c1914
--- /dev/null
+++ b/src/elevenlabs/types/conversation_asr_usage_model.py
@@ -0,0 +1,26 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ConversationAsrUsageModel(UncheckedBaseModel):
+ """
+ Aggregated ASR usage for a conversation (analytics-only, not billing).
+ """
+
+ asr_model: typing.Optional[str] = None
+ total_transcription_calls: typing.Optional[int] = None
+ total_audio_input_seconds: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_charging_common_model.py b/src/elevenlabs/types/conversation_charging_common_model.py
index 39304e18..38939d7c 100644
--- a/src/elevenlabs/types/conversation_charging_common_model.py
+++ b/src/elevenlabs/types/conversation_charging_common_model.py
@@ -5,6 +5,8 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
+from .conversation_asr_usage_model import ConversationAsrUsageModel
+from .conversation_tts_usage_model import ConversationTtsUsageModel
from .llm_category_usage import LlmCategoryUsage
@@ -18,6 +20,8 @@ class ConversationChargingCommonModel(UncheckedBaseModel):
call_charge: typing.Optional[int] = None
free_minutes_consumed: typing.Optional[float] = None
free_llm_dollars_consumed: typing.Optional[float] = None
+ tts_usage: typing.Optional[ConversationTtsUsageModel] = None
+ asr_usage: typing.Optional[ConversationAsrUsageModel] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/conversation_config.py b/src/elevenlabs/types/conversation_config_input.py
similarity index 97%
rename from src/elevenlabs/types/conversation_config.py
rename to src/elevenlabs/types/conversation_config_input.py
index b9115e41..f883f46d 100644
--- a/src/elevenlabs/types/conversation_config.py
+++ b/src/elevenlabs/types/conversation_config_input.py
@@ -9,7 +9,7 @@
from .file_input_config import FileInputConfig
-class ConversationConfig(UncheckedBaseModel):
+class ConversationConfigInput(UncheckedBaseModel):
text_only: typing.Optional[bool] = pydantic.Field(default=None)
"""
If enabled audio will not be processed and only text will be used, use to avoid audio pricing.
diff --git a/src/elevenlabs/types/conversation_config_output.py b/src/elevenlabs/types/conversation_config_output.py
new file mode 100644
index 00000000..a919cbd2
--- /dev/null
+++ b/src/elevenlabs/types/conversation_config_output.py
@@ -0,0 +1,55 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .client_event import ClientEvent
+from .file_input_config import FileInputConfig
+
+
+class ConversationConfigOutput(UncheckedBaseModel):
+ text_only: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled audio will not be processed and only text will be used, use to avoid audio pricing.
+ """
+
+ max_duration_seconds: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The maximum duration of a conversation in seconds
+ """
+
+ client_events: typing.Optional[typing.List[ClientEvent]] = pydantic.Field(default=None)
+ """
+ The events that will be sent to the client
+ """
+
+ file_input: typing.Optional[FileInputConfig] = pydantic.Field(default=None)
+ """
+ Configuration for file input (image/PDF uploads) during conversations.
+ """
+
+ monitoring_enabled: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Enable real-time monitoring of conversations via WebSocket
+ """
+
+ monitoring_events: typing.Optional[typing.List[ClientEvent]] = pydantic.Field(default=None)
+ """
+ The events that will be sent to monitoring connections.
+ """
+
+ source_attribution: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ When enabled and knowledge base content is present, the LLM is instructed to report which sources it used.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_config_workflow_override.py b/src/elevenlabs/types/conversation_config_workflow_override_input.py
similarity index 96%
rename from src/elevenlabs/types/conversation_config_workflow_override.py
rename to src/elevenlabs/types/conversation_config_workflow_override_input.py
index 2dd84505..610f27ee 100644
--- a/src/elevenlabs/types/conversation_config_workflow_override.py
+++ b/src/elevenlabs/types/conversation_config_workflow_override_input.py
@@ -9,7 +9,7 @@
from .file_input_config_workflow_override import FileInputConfigWorkflowOverride
-class ConversationConfigWorkflowOverride(UncheckedBaseModel):
+class ConversationConfigWorkflowOverrideInput(UncheckedBaseModel):
text_only: typing.Optional[bool] = pydantic.Field(default=None)
"""
If enabled audio will not be processed and only text will be used, use to avoid audio pricing.
diff --git a/src/elevenlabs/types/conversation_config_workflow_override_output.py b/src/elevenlabs/types/conversation_config_workflow_override_output.py
new file mode 100644
index 00000000..c51fc1c1
--- /dev/null
+++ b/src/elevenlabs/types/conversation_config_workflow_override_output.py
@@ -0,0 +1,55 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .client_event import ClientEvent
+from .file_input_config_workflow_override import FileInputConfigWorkflowOverride
+
+
+class ConversationConfigWorkflowOverrideOutput(UncheckedBaseModel):
+ text_only: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled audio will not be processed and only text will be used, use to avoid audio pricing.
+ """
+
+ max_duration_seconds: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The maximum duration of a conversation in seconds
+ """
+
+ client_events: typing.Optional[typing.List[ClientEvent]] = pydantic.Field(default=None)
+ """
+ The events that will be sent to the client
+ """
+
+ file_input: typing.Optional[FileInputConfigWorkflowOverride] = pydantic.Field(default=None)
+ """
+ Configuration for file input (image/PDF uploads) during conversations.
+ """
+
+ monitoring_enabled: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Enable real-time monitoring of conversations via WebSocket
+ """
+
+ monitoring_events: typing.Optional[typing.List[ClientEvent]] = pydantic.Field(default=None)
+ """
+ The events that will be sent to monitoring connections.
+ """
+
+ source_attribution: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ When enabled and knowledge base content is present, the LLM is instructed to report which sources it used.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_history_metadata_common_model.py b/src/elevenlabs/types/conversation_history_metadata_common_model.py
index b6611211..b3d6def5 100644
--- a/src/elevenlabs/types/conversation_history_metadata_common_model.py
+++ b/src/elevenlabs/types/conversation_history_metadata_common_model.py
@@ -17,7 +17,9 @@
from .conversation_history_metadata_common_model_phone_call import ConversationHistoryMetadataCommonModelPhoneCall
from .conversation_history_rag_usage_common_model import ConversationHistoryRagUsageCommonModel
from .conversation_initiation_source import ConversationInitiationSource
+from .conversation_voice_reward_model import ConversationVoiceRewardModel
from .features_usage_common_model import FeaturesUsageCommonModel
+from .sms_conversation_info import SmsConversationInfo
from .whats_app_conversation_info import WhatsAppConversationInfo
@@ -46,8 +48,10 @@ class ConversationHistoryMetadataCommonModel(UncheckedBaseModel):
timezone: typing.Optional[str] = None
async_metadata: typing.Optional[AsyncConversationMetadata] = None
whatsapp: typing.Optional[WhatsAppConversationInfo] = None
+ sms: typing.Optional[SmsConversationInfo] = None
agent_created_from: typing.Optional[AgentDefinitionSource] = None
agent_last_updated_from: typing.Optional[AgentDefinitionSource] = None
+ voice_rewards: typing.Optional[typing.List[ConversationVoiceRewardModel]] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py b/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py
index 19fff03c..c1f73f1b 100644
--- a/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py
+++ b/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py
@@ -17,6 +17,7 @@ class ConversationHistoryMetadataCommonModelPhoneCall_SipTrunking(UncheckedBaseM
phone_number_id: str
agent_number: str
external_number: str
+ call_id: typing.Optional[str] = None
call_sid: str
sip_header_dynamic_variables: typing.Optional[typing.Dict[str, str]] = None
diff --git a/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py b/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py
index 95d1b69a..eea73ca5 100644
--- a/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py
+++ b/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py
@@ -13,6 +13,7 @@ class ConversationHistorySipTrunkingPhoneCallModel(UncheckedBaseModel):
phone_number_id: str
agent_number: str
external_number: str
+ call_id: typing.Optional[str] = None
call_sid: str
sip_header_dynamic_variables: typing.Optional[typing.Dict[str, str]] = None
diff --git a/src/elevenlabs/types/conversation_history_transcript_response_model.py b/src/elevenlabs/types/conversation_history_transcript_response_model.py
index fec5af6f..87f5c7ad 100644
--- a/src/elevenlabs/types/conversation_history_transcript_response_model.py
+++ b/src/elevenlabs/types/conversation_history_transcript_response_model.py
@@ -9,6 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .agent_metadata import AgentMetadata
from .chat_source_medium import ChatSourceMedium
+from .contextual_update_info import ContextualUpdateInfo
from .conversation_history_multivoice_message_model import ConversationHistoryMultivoiceMessageModel
from .conversation_history_transcript_file_input_response_model import (
ConversationHistoryTranscriptFileInputResponseModel,
@@ -45,6 +46,7 @@ class ConversationHistoryTranscriptResponseModel(UncheckedBaseModel):
source_event_id: typing.Optional[int] = None
used_static_kb_document_ids: typing.Optional[typing.List[str]] = None
file_input: typing.Optional[ConversationHistoryTranscriptFileInputResponseModel] = None
+ contextual_update_info: typing.Optional[ContextualUpdateInfo] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_input_result.py b/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_input_result.py
index 5f09ca82..71ed96a1 100644
--- a/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_input_result.py
+++ b/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_input_result.py
@@ -8,6 +8,7 @@
import typing_extensions
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
+from .knowledge_base_rag_tool_status import KnowledgeBaseRagToolStatus
from .transfer_to_agent_tool_result_success_model_branch_info import TransferToAgentToolResultSuccessModelBranchInfo
@@ -27,6 +28,22 @@ class Config:
extra = pydantic.Extra.allow
+class ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess(UncheckedBaseModel):
+ result_type: typing.Literal["knowledge_base_rag_success"] = "knowledge_base_rag_success"
+ status: typing.Optional[KnowledgeBaseRagToolStatus] = None
+ chunk_count: typing.Optional[int] = None
+ message: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess(UncheckedBaseModel):
result_type: typing.Literal["language_detection_success"] = "language_detection_success"
status: typing.Optional[typing.Literal["success"]] = None
@@ -219,6 +236,7 @@ class Config:
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult = typing_extensions.Annotated[
typing.Union[
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelInputResult_PlayDtmfSuccess,
diff --git a/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_output_result.py b/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_output_result.py
index da335eda..cb5fd413 100644
--- a/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_output_result.py
+++ b/src/elevenlabs/types/conversation_history_transcript_system_tool_result_common_model_output_result.py
@@ -8,6 +8,7 @@
import typing_extensions
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
+from .knowledge_base_rag_tool_status import KnowledgeBaseRagToolStatus
from .transfer_to_agent_tool_result_success_model_branch_info import TransferToAgentToolResultSuccessModelBranchInfo
@@ -27,6 +28,22 @@ class Config:
extra = pydantic.Extra.allow
+class ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess(UncheckedBaseModel):
+ result_type: typing.Literal["knowledge_base_rag_success"] = "knowledge_base_rag_success"
+ status: typing.Optional[KnowledgeBaseRagToolStatus] = None
+ chunk_count: typing.Optional[int] = None
+ message: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess(UncheckedBaseModel):
result_type: typing.Literal["language_detection_success"] = "language_detection_success"
status: typing.Optional[typing.Literal["success"]] = None
@@ -221,6 +238,7 @@ class Config:
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult = typing_extensions.Annotated[
typing.Union[
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_EndCallSuccess,
+ ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_KnowledgeBaseRagSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_LanguageDetectionSuccess,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfError,
ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult_PlayDtmfSuccess,
diff --git a/src/elevenlabs/types/conversation_initiation_source.py b/src/elevenlabs/types/conversation_initiation_source.py
index 28b12729..217d7e11 100644
--- a/src/elevenlabs/types/conversation_initiation_source.py
+++ b/src/elevenlabs/types/conversation_initiation_source.py
@@ -17,6 +17,7 @@
"genesys",
"swift_sdk",
"whatsapp",
+ "twilio_sms",
"flutter_sdk",
"zendesk_integration",
"slack_integration",
diff --git a/src/elevenlabs/types/conversation_tag_response_model.py b/src/elevenlabs/types/conversation_tag_response_model.py
new file mode 100644
index 00000000..f5c82822
--- /dev/null
+++ b/src/elevenlabs/types/conversation_tag_response_model.py
@@ -0,0 +1,25 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ConversationTagResponseModel(UncheckedBaseModel):
+ tag_id: str
+ workspace_id: str
+ owner_user_id: str
+ title: str
+ description: typing.Optional[str] = None
+ created_at_unix_secs: int
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_tts_usage_model.py b/src/elevenlabs/types/conversation_tts_usage_model.py
new file mode 100644
index 00000000..4256dbf8
--- /dev/null
+++ b/src/elevenlabs/types/conversation_tts_usage_model.py
@@ -0,0 +1,28 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .conversation_voice_usage_model import ConversationVoiceUsageModel
+
+
+class ConversationTtsUsageModel(UncheckedBaseModel):
+ """
+ Aggregated TTS usage for a conversation (analytics-only, not billing).
+ """
+
+ primary_tts_model: typing.Optional[str] = None
+ total_audio_output_seconds: typing.Optional[float] = None
+ total_characters: typing.Optional[int] = None
+ per_voice_usage: typing.Optional[typing.List[ConversationVoiceUsageModel]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_voice_reward_model.py b/src/elevenlabs/types/conversation_voice_reward_model.py
new file mode 100644
index 00000000..256f0612
--- /dev/null
+++ b/src/elevenlabs/types/conversation_voice_reward_model.py
@@ -0,0 +1,21 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ConversationVoiceRewardModel(UncheckedBaseModel):
+ voice_id: str
+ reward_usd_cents: float
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversation_voice_usage_model.py b/src/elevenlabs/types/conversation_voice_usage_model.py
new file mode 100644
index 00000000..3ba20b78
--- /dev/null
+++ b/src/elevenlabs/types/conversation_voice_usage_model.py
@@ -0,0 +1,21 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ConversationVoiceUsageModel(UncheckedBaseModel):
+ voice_id: str
+ audio_output_seconds: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/conversational_config.py b/src/elevenlabs/types/conversational_config.py
index 94653ec0..c4c6ebd9 100644
--- a/src/elevenlabs/types/conversational_config.py
+++ b/src/elevenlabs/types/conversational_config.py
@@ -9,7 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .agent_config import AgentConfig
from .asr_conversational_config import AsrConversationalConfig
-from .conversation_config import ConversationConfig
+from .conversation_config_output import ConversationConfigOutput
from .language_preset_output import LanguagePresetOutput
from .tts_conversational_config_output import TtsConversationalConfigOutput
from .turn_config import TurnConfig
@@ -32,7 +32,7 @@ class ConversationalConfig(UncheckedBaseModel):
Configuration for conversational text to speech
"""
- conversation: typing.Optional[ConversationConfig] = pydantic.Field(default=None)
+ conversation: typing.Optional[ConversationConfigOutput] = pydantic.Field(default=None)
"""
Configuration for conversational events
"""
diff --git a/src/elevenlabs/types/conversational_config_api_model_workflow_override_input.py b/src/elevenlabs/types/conversational_config_api_model_workflow_override_input.py
index e29a56da..5efa8577 100644
--- a/src/elevenlabs/types/conversational_config_api_model_workflow_override_input.py
+++ b/src/elevenlabs/types/conversational_config_api_model_workflow_override_input.py
@@ -9,7 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .agent_config_api_model_workflow_override_input import AgentConfigApiModelWorkflowOverrideInput
from .asr_conversational_config_workflow_override import AsrConversationalConfigWorkflowOverride
-from .conversation_config_workflow_override import ConversationConfigWorkflowOverride
+from .conversation_config_workflow_override_input import ConversationConfigWorkflowOverrideInput
from .language_preset_input import LanguagePresetInput
from .tts_conversational_config_workflow_override_input import TtsConversationalConfigWorkflowOverrideInput
from .turn_config_workflow_override import TurnConfigWorkflowOverride
@@ -32,7 +32,7 @@ class ConversationalConfigApiModelWorkflowOverrideInput(UncheckedBaseModel):
Configuration for conversational text to speech
"""
- conversation: typing.Optional[ConversationConfigWorkflowOverride] = pydantic.Field(default=None)
+ conversation: typing.Optional[ConversationConfigWorkflowOverrideInput] = pydantic.Field(default=None)
"""
Configuration for conversational events
"""
diff --git a/src/elevenlabs/types/conversational_config_api_model_workflow_override_output.py b/src/elevenlabs/types/conversational_config_api_model_workflow_override_output.py
index 699b51a1..4051452b 100644
--- a/src/elevenlabs/types/conversational_config_api_model_workflow_override_output.py
+++ b/src/elevenlabs/types/conversational_config_api_model_workflow_override_output.py
@@ -9,7 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .agent_config_api_model_workflow_override_output import AgentConfigApiModelWorkflowOverrideOutput
from .asr_conversational_config_workflow_override import AsrConversationalConfigWorkflowOverride
-from .conversation_config_workflow_override import ConversationConfigWorkflowOverride
+from .conversation_config_workflow_override_output import ConversationConfigWorkflowOverrideOutput
from .language_preset_output import LanguagePresetOutput
from .tts_conversational_config_workflow_override_output import TtsConversationalConfigWorkflowOverrideOutput
from .turn_config_workflow_override import TurnConfigWorkflowOverride
@@ -32,7 +32,7 @@ class ConversationalConfigApiModelWorkflowOverrideOutput(UncheckedBaseModel):
Configuration for conversational text to speech
"""
- conversation: typing.Optional[ConversationConfigWorkflowOverride] = pydantic.Field(default=None)
+ conversation: typing.Optional[ConversationConfigWorkflowOverrideOutput] = pydantic.Field(default=None)
"""
Configuration for conversational events
"""
diff --git a/src/elevenlabs/types/create_o_auth_2_jwt_request.py b/src/elevenlabs/types/create_o_auth_2_jwt_request.py
index 690843a6..d229e3b2 100644
--- a/src/elevenlabs/types/create_o_auth_2_jwt_request.py
+++ b/src/elevenlabs/types/create_o_auth_2_jwt_request.py
@@ -6,6 +6,7 @@
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .create_o_auth_2_jwt_request_algorithm import CreateOAuth2JwtRequestAlgorithm
+from .create_o_auth_2_jwt_request_token_response_field import CreateOAuth2JwtRequestTokenResponseField
class CreateOAuth2JwtRequest(UncheckedBaseModel):
@@ -60,6 +61,11 @@ class CreateOAuth2JwtRequest(UncheckedBaseModel):
OAuth2 scopes to request when exchanging JWT for access token
"""
+ token_response_field: typing.Optional[CreateOAuth2JwtRequestTokenResponseField] = pydantic.Field(default=None)
+ """
+ Token field to extract from the token endpoint response.
+ """
+
secret_key: str
if IS_PYDANTIC_V2:
diff --git a/src/elevenlabs/types/create_o_auth_2_jwt_request_token_response_field.py b/src/elevenlabs/types/create_o_auth_2_jwt_request_token_response_field.py
new file mode 100644
index 00000000..ca2aab47
--- /dev/null
+++ b/src/elevenlabs/types/create_o_auth_2_jwt_request_token_response_field.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+CreateOAuth2JwtRequestTokenResponseField = typing.Union[typing.Literal["access_token", "id_token"], typing.Any]
diff --git a/src/elevenlabs/types/create_service_params.py b/src/elevenlabs/types/create_service_params.py
index e16cd8b4..1d0f18d5 100644
--- a/src/elevenlabs/types/create_service_params.py
+++ b/src/elevenlabs/types/create_service_params.py
@@ -9,7 +9,7 @@
class CreateServiceParams(UncheckedBaseModel):
"""
- Create a new service (classic or rental) in the system.
+ Create a new service (classic, rental, or group) in the system.
"""
smb_tool_type: typing.Optional[typing.Literal["create_service"]] = None
diff --git a/src/elevenlabs/types/create_simulation_test_request.py b/src/elevenlabs/types/create_simulation_test_request.py
index 0a8ac3ff..9d2932d6 100644
--- a/src/elevenlabs/types/create_simulation_test_request.py
+++ b/src/elevenlabs/types/create_simulation_test_request.py
@@ -9,6 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .conversation_history_transcript_common_model_input import ConversationHistoryTranscriptCommonModelInput
from .dynamic_variable_value_type_input import DynamicVariableValueTypeInput
+from .llm import Llm
from .simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from .test_from_conversation_metadata_input import TestFromConversationMetadataInput
@@ -52,6 +53,16 @@ class CreateSimulationTestRequest(UncheckedBaseModel):
Configuration for which tools to mock and fallback behavior.
"""
+ evaluation_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model to use for evaluating simulation results. Defaults to Claude Sonnet 4.6.
+ """
+
+ simulated_user_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model for the simulated user. Defaults to Claude Sonnet 4.6.
+ """
+
name: str
parent_folder_id: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/elevenlabs/types/currency.py b/src/elevenlabs/types/currency.py
index a78023dc..c6bcd789 100644
--- a/src/elevenlabs/types/currency.py
+++ b/src/elevenlabs/types/currency.py
@@ -2,4 +2,4 @@
import typing
-Currency = typing.Union[typing.Literal["usd", "eur", "inr"], typing.Any]
+Currency = typing.Union[typing.Literal["usd", "eur", "inr", "pln"], typing.Any]
diff --git a/src/elevenlabs/types/delete_calendar_event_params.py b/src/elevenlabs/types/delete_calendar_event_params.py
index 60fedda7..809f79eb 100644
--- a/src/elevenlabs/types/delete_calendar_event_params.py
+++ b/src/elevenlabs/types/delete_calendar_event_params.py
@@ -8,6 +8,14 @@
class DeleteCalendarEventParams(UncheckedBaseModel):
+ """
+ Permanently remove a previously-cancelled calendar event.
+
+ This delete tool is the irreversible follow-up to cancel_calendar_event.
+ The backend rejects the call (422) if the event hasn't been
+ cancelled yet, so the only safe path is cancel-then-delete.
+ """
+
smb_tool_type: typing.Optional[typing.Literal["delete_calendar_event"]] = None
if IS_PYDANTIC_V2:
diff --git a/src/elevenlabs/types/delete_group_session_params.py b/src/elevenlabs/types/delete_group_session_params.py
new file mode 100644
index 00000000..bc35cc4d
--- /dev/null
+++ b/src/elevenlabs/types/delete_group_session_params.py
@@ -0,0 +1,31 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class DeleteGroupSessionParams(UncheckedBaseModel):
+ """
+ Permanently remove a previously-cancelled group session.
+
+ Group analogue of ``delete_calendar_event``: cancel
+ (``cancel_group_session_for_all``) is the soft, history-preserving step;
+ this tool is the irreversible follow-up that drops the row from Mongo
+ and the staff Google Calendar entirely. The backend rejects the call
+ (422) if the session hasn't been cancelled yet, so the only safe path
+ is cancel-then-delete.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["delete_group_session"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/device_model.py b/src/elevenlabs/types/device_model.py
new file mode 100644
index 00000000..2b98d50b
--- /dev/null
+++ b/src/elevenlabs/types/device_model.py
@@ -0,0 +1,39 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class DeviceModel(UncheckedBaseModel):
+ """
+ Device information.
+
+ Spec: https://schema.ocsf.io/1.6.0/objects/device
+ """
+
+ ip: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ IP address
+ """
+
+ hostname: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Device hostname
+ """
+
+ type_id: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Device type ID (99 = Unknown)
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/direct_publishing_read_response_model.py b/src/elevenlabs/types/direct_publishing_read_response_model.py
index 55bb4477..2f50ea30 100644
--- a/src/elevenlabs/types/direct_publishing_read_response_model.py
+++ b/src/elevenlabs/types/direct_publishing_read_response_model.py
@@ -68,6 +68,7 @@ class DirectPublishingReadResponseModel(UncheckedBaseModel):
review: typing.Optional[ReviewResponseModel] = None
voice_id: typing.Optional[str] = None
can_use_assistant: typing.Optional[bool] = None
+ is_voice_changer_on: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/dubbing_model.py b/src/elevenlabs/types/dubbing_model.py
deleted file mode 100644
index 326648ac..00000000
--- a/src/elevenlabs/types/dubbing_model.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DubbingModel = typing.Union[
- typing.Literal["dubbing_v1_tts_v3", "dubbing_v2", "dubbing_v3", "dubbing_e2e_v1"], typing.Any
-]
diff --git a/src/elevenlabs/types/entity_management_activity_id.py b/src/elevenlabs/types/entity_management_activity_id.py
new file mode 100644
index 00000000..d7c1b801
--- /dev/null
+++ b/src/elevenlabs/types/entity_management_activity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+EntityManagementActivityId = int
diff --git a/src/elevenlabs/types/generation_source_context.py b/src/elevenlabs/types/generation_source_context.py
index 01ca86a1..015f6285 100644
--- a/src/elevenlabs/types/generation_source_context.py
+++ b/src/elevenlabs/types/generation_source_context.py
@@ -16,11 +16,6 @@ class GenerationSourceContext(UncheckedBaseModel):
model_provider: typing.Optional[str] = None
generation_session_id: typing.Optional[str] = None
session_iteration_id: typing.Optional[str] = None
- altered_prompt: typing.Optional[str] = pydantic.Field(default=None)
- """
- Modified/enhanced prompt if different from original
- """
-
model_parameters: typing.Optional[typing.Dict[str, typing.Any]] = None
extend_video: typing.Optional[ReferenceVideo] = None
diff --git a/src/elevenlabs/types/get_agent_response_model_phone_numbers_item.py b/src/elevenlabs/types/get_agent_response_model_phone_numbers_item.py
index f25828bd..4ad5701e 100644
--- a/src/elevenlabs/types/get_agent_response_model_phone_numbers_item.py
+++ b/src/elevenlabs/types/get_agent_response_model_phone_numbers_item.py
@@ -26,6 +26,7 @@ class GetAgentResponseModelPhoneNumbersItem_SipTrunk(UncheckedBaseModel):
outbound_trunk: typing.Optional[GetPhoneNumberOutboundSipTrunkConfigResponseModel] = None
inbound_trunk: typing.Optional[GetPhoneNumberInboundSipTrunkConfigResponseModel] = None
livekit_stack: LivekitStackType
+ store_sip_messages: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/get_client_appointments_params.py b/src/elevenlabs/types/get_client_appointments_params.py
index 889278bd..3a16e648 100644
--- a/src/elevenlabs/types/get_client_appointments_params.py
+++ b/src/elevenlabs/types/get_client_appointments_params.py
@@ -9,6 +9,7 @@
class GetClientAppointmentsParams(UncheckedBaseModel):
smb_tool_type: typing.Optional[typing.Literal["get_client_appointments"]] = None
+ include_cancelled: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/get_conversation_response_model.py b/src/elevenlabs/types/get_conversation_response_model.py
index e01ee2e4..17a6d318 100644
--- a/src/elevenlabs/types/get_conversation_response_model.py
+++ b/src/elevenlabs/types/get_conversation_response_model.py
@@ -36,6 +36,10 @@ class GetConversationResponseModel(UncheckedBaseModel):
has_user_audio: bool
has_response_audio: bool
transcript: typing.List[ConversationHistoryTranscriptResponseModel]
+ tag_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Conversation tag ids assigned to this conversation.
+ """
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/get_conversation_tags_page_response_model.py b/src/elevenlabs/types/get_conversation_tags_page_response_model.py
new file mode 100644
index 00000000..f19be04f
--- /dev/null
+++ b/src/elevenlabs/types/get_conversation_tags_page_response_model.py
@@ -0,0 +1,23 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .conversation_tag_response_model import ConversationTagResponseModel
+
+
+class GetConversationTagsPageResponseModel(UncheckedBaseModel):
+ conversation_tags: typing.List[ConversationTagResponseModel]
+ next_cursor: typing.Optional[str] = None
+ has_more: bool
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/get_phone_number_sip_trunk_response_model.py b/src/elevenlabs/types/get_phone_number_sip_trunk_response_model.py
index b866952e..4d48b29c 100644
--- a/src/elevenlabs/types/get_phone_number_sip_trunk_response_model.py
+++ b/src/elevenlabs/types/get_phone_number_sip_trunk_response_model.py
@@ -58,6 +58,11 @@ class GetPhoneNumberSipTrunkResponseModel(UncheckedBaseModel):
Type of Livekit stack used for this number.
"""
+ store_sip_messages: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Whether to store SIP messages for this phone number.
+ """
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/elevenlabs/types/get_simulation_test_response_model.py b/src/elevenlabs/types/get_simulation_test_response_model.py
index 9558b007..2df72fd7 100644
--- a/src/elevenlabs/types/get_simulation_test_response_model.py
+++ b/src/elevenlabs/types/get_simulation_test_response_model.py
@@ -9,6 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .conversation_history_transcript_common_model_output import ConversationHistoryTranscriptCommonModelOutput
from .dynamic_variable_value_type_output import DynamicVariableValueTypeOutput
+from .llm import Llm
from .simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from .test_from_conversation_metadata_output import TestFromConversationMetadataOutput
@@ -52,6 +53,16 @@ class GetSimulationTestResponseModel(UncheckedBaseModel):
Configuration for which tools to mock and fallback behavior.
"""
+ evaluation_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model to use for evaluating simulation results. Defaults to Claude Sonnet 4.6.
+ """
+
+ simulated_user_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model for the simulated user. Defaults to Claude Sonnet 4.6.
+ """
+
id: str
name: str
diff --git a/src/elevenlabs/types/get_sip_log_messages_response.py b/src/elevenlabs/types/get_sip_log_messages_response.py
new file mode 100644
index 00000000..9b0606d5
--- /dev/null
+++ b/src/elevenlabs/types/get_sip_log_messages_response.py
@@ -0,0 +1,23 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .sip_log_message import SipLogMessage
+
+
+class GetSipLogMessagesResponse(UncheckedBaseModel):
+ sip_messages: typing.List[SipLogMessage]
+ next_cursor: typing.Optional[str] = None
+ has_more: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/group_management_activity_id.py b/src/elevenlabs/types/group_management_activity_id.py
new file mode 100644
index 00000000..7534a1a3
--- /dev/null
+++ b/src/elevenlabs/types/group_management_activity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+GroupManagementActivityId = int
diff --git a/src/elevenlabs/types/http_request_model.py b/src/elevenlabs/types/http_request_model.py
new file mode 100644
index 00000000..c09ffacf
--- /dev/null
+++ b/src/elevenlabs/types/http_request_model.py
@@ -0,0 +1,45 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .url_model import UrlModel
+
+
+class HttpRequestModel(UncheckedBaseModel):
+ """
+ HTTP request details.
+
+ Spec: https://schema.ocsf.io/1.6.0/objects/http_request
+ """
+
+ http_method: str = pydantic.Field()
+ """
+ HTTP method (GET, POST, etc.)
+ """
+
+ url: UrlModel = pydantic.Field()
+ """
+ Request URL object
+ """
+
+ user_agent: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ User agent string
+ """
+
+ x_forwarded_for: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ X-Forwarded-For header as a list
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/image_analysis.py b/src/elevenlabs/types/image_analysis.py
new file mode 100644
index 00000000..5f6e48ac
--- /dev/null
+++ b/src/elevenlabs/types/image_analysis.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .image_analysis_result import ImageAnalysisResult
+from .image_analysis_status import ImageAnalysisStatus
+
+
+class ImageAnalysis(UncheckedBaseModel):
+ status: ImageAnalysisStatus
+ data: typing.Optional[ImageAnalysisResult] = None
+ updated_at_ms: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/image_analysis_result.py b/src/elevenlabs/types/image_analysis_result.py
new file mode 100644
index 00000000..70cf860e
--- /dev/null
+++ b/src/elevenlabs/types/image_analysis_result.py
@@ -0,0 +1,31 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .image_subject import ImageSubject
+
+
+class ImageAnalysisResult(UncheckedBaseModel):
+ title: str
+ description: str
+ content_type: typing.Optional[str] = None
+ mood_and_style: typing.Optional[str] = None
+ composition_notes: typing.Optional[str] = None
+ visible_text: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Readable text overlaid or shown in the image, if any.
+ """
+
+ subjects: typing.Optional[typing.List[ImageSubject]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/image_analysis_status.py b/src/elevenlabs/types/image_analysis_status.py
new file mode 100644
index 00000000..c43a46e9
--- /dev/null
+++ b/src/elevenlabs/types/image_analysis_status.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+ImageAnalysisStatus = typing.Union[typing.Literal["processing", "completed", "failed"], typing.Any]
diff --git a/src/elevenlabs/types/image_subject.py b/src/elevenlabs/types/image_subject.py
new file mode 100644
index 00000000..ed083e53
--- /dev/null
+++ b/src/elevenlabs/types/image_subject.py
@@ -0,0 +1,21 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ImageSubject(UncheckedBaseModel):
+ name: str
+ description: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/knowledge_base_rag_tool_config.py b/src/elevenlabs/types/knowledge_base_rag_tool_config.py
new file mode 100644
index 00000000..12825ab8
--- /dev/null
+++ b/src/elevenlabs/types/knowledge_base_rag_tool_config.py
@@ -0,0 +1,18 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class KnowledgeBaseRagToolConfig(UncheckedBaseModel):
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/knowledge_base_rag_tool_result_model.py b/src/elevenlabs/types/knowledge_base_rag_tool_result_model.py
new file mode 100644
index 00000000..b52a23f4
--- /dev/null
+++ b/src/elevenlabs/types/knowledge_base_rag_tool_result_model.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .knowledge_base_rag_tool_status import KnowledgeBaseRagToolStatus
+
+
+class KnowledgeBaseRagToolResultModel(UncheckedBaseModel):
+ status: typing.Optional[KnowledgeBaseRagToolStatus] = None
+ chunk_count: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Number of relevant chunks retrieved
+ """
+
+ message: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Human-readable status for the LLM about the search results
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/knowledge_base_rag_tool_status.py b/src/elevenlabs/types/knowledge_base_rag_tool_status.py
new file mode 100644
index 00000000..1b540ced
--- /dev/null
+++ b/src/elevenlabs/types/knowledge_base_rag_tool_status.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+KnowledgeBaseRagToolStatus = typing.Union[typing.Literal["success", "no_documents", "no_results"], typing.Any]
diff --git a/src/elevenlabs/types/leave_message_params.py b/src/elevenlabs/types/leave_message_params.py
new file mode 100644
index 00000000..a3c80380
--- /dev/null
+++ b/src/elevenlabs/types/leave_message_params.py
@@ -0,0 +1,20 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class LeaveMessageParams(UncheckedBaseModel):
+ smb_tool_type: typing.Optional[typing.Literal["leave_message"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/list_auth_connections_response_auth_connections_item.py b/src/elevenlabs/types/list_auth_connections_response_auth_connections_item.py
index 01011b73..e81af7c3 100644
--- a/src/elevenlabs/types/list_auth_connections_response_auth_connections_item.py
+++ b/src/elevenlabs/types/list_auth_connections_response_auth_connections_item.py
@@ -11,8 +11,12 @@
from .api_integration_o_auth_2_auth_code_response_scope_separator import (
ApiIntegrationOAuth2AuthCodeResponseScopeSeparator,
)
+from .api_integration_o_auth_2_custom_app_response_scope_separator import (
+ ApiIntegrationOAuth2CustomAppResponseScopeSeparator,
+)
from .auth_connection_dependencies import AuthConnectionDependencies
from .o_auth_2_jwt_response_algorithm import OAuth2JwtResponseAlgorithm
+from .o_auth_2_jwt_response_token_response_field import OAuth2JwtResponseTokenResponseField
from .o_auth_connection_status import OAuthConnectionStatus
from .private_key_jwt_response_algorithm import PrivateKeyJwtResponseAlgorithm
@@ -47,6 +51,37 @@ class Config:
extra = pydantic.Extra.allow
+class ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["api_integration_oauth2_custom_app"] = "api_integration_oauth2_custom_app"
+ name: str
+ provider: str
+ token_url: str
+ scopes: typing.Optional[typing.List[str]] = None
+ scope_separator: typing.Optional[ApiIntegrationOAuth2CustomAppResponseScopeSeparator] = None
+ expires_at: str
+ integration_id: str
+ credential_id: str
+ status: typing.Optional[OAuthConnectionStatus] = None
+ status_detail: typing.Optional[str] = None
+ status_updated_at: typing.Optional[str] = None
+ client_id: str
+ id: str
+ used_by: typing.Optional[AuthConnectionDependencies] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth(UncheckedBaseModel):
"""
The type of auth connection config
@@ -176,6 +211,7 @@ class ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt(UncheckedBaseMode
extra_params: typing.Optional[typing.Dict[str, str]] = None
token_url: str
scopes: typing.Optional[typing.List[str]] = None
+ token_response_field: typing.Optional[OAuth2JwtResponseTokenResponseField] = None
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
@@ -242,6 +278,7 @@ class Config:
ListAuthConnectionsResponseAuthConnectionsItem = typing_extensions.Annotated[
typing.Union[
ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2AuthCode,
+ ListAuthConnectionsResponseAuthConnectionsItem_ApiIntegrationOauth2CustomApp,
ListAuthConnectionsResponseAuthConnectionsItem_BasicAuth,
ListAuthConnectionsResponseAuthConnectionsItem_BearerAuth,
ListAuthConnectionsResponseAuthConnectionsItem_CustomHeaderAuth,
diff --git a/src/elevenlabs/types/list_calendar_events_params.py b/src/elevenlabs/types/list_calendar_events_params.py
index a577f88c..0dbb0cd5 100644
--- a/src/elevenlabs/types/list_calendar_events_params.py
+++ b/src/elevenlabs/types/list_calendar_events_params.py
@@ -9,6 +9,7 @@
class ListCalendarEventsParams(UncheckedBaseModel):
smb_tool_type: typing.Optional[typing.Literal["list_calendar_events"]] = None
+ include_cancelled: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/list_group_sessions_params.py b/src/elevenlabs/types/list_group_sessions_params.py
new file mode 100644
index 00000000..08d9d0d0
--- /dev/null
+++ b/src/elevenlabs/types/list_group_sessions_params.py
@@ -0,0 +1,28 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ListGroupSessionsParams(UncheckedBaseModel):
+ """
+ List scheduled group sessions for a group service in a date range.
+
+ Group services are scheduled in advance (e.g. yoga classes, workshops) and
+ callers register against an existing session. Use this for group services;
+ use ``check_service_availability`` for appointment / rental services.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["list_group_sessions"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/list_response_api_integration_doc_response.py b/src/elevenlabs/types/list_response_api_integration_doc_response.py
new file mode 100644
index 00000000..6aa4c7da
--- /dev/null
+++ b/src/elevenlabs/types/list_response_api_integration_doc_response.py
@@ -0,0 +1,23 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .api_integration_doc_response import ApiIntegrationDocResponse
+from .list_response_meta import ListResponseMeta
+
+
+class ListResponseApiIntegrationDocResponse(UncheckedBaseModel):
+ meta: typing.Optional[ListResponseMeta] = None
+ results: typing.List[ApiIntegrationDocResponse]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/llm.py b/src/elevenlabs/types/llm.py
index dacefb22..c040cf19 100644
--- a/src/elevenlabs/types/llm.py
+++ b/src/elevenlabs/types/llm.py
@@ -15,6 +15,8 @@
"gpt-5.1",
"gpt-5.2",
"gpt-5.2-chat-latest",
+ "gpt-5.4",
+ "gpt-5.5",
"gpt-5-mini",
"gpt-5-nano",
"gpt-3.5-turbo",
@@ -29,6 +31,7 @@
"gemini-3.1-pro-preview",
"gemini-3.1-flash-lite-preview",
"claude-sonnet-4-5",
+ "claude-opus-4-7",
"claude-sonnet-4-6",
"claude-sonnet-4",
"claude-haiku-4-5",
@@ -40,6 +43,7 @@
"custom-llm",
"qwen3-4b",
"qwen3-30b-a3b",
+ "qwen36-35b-a3b",
"gpt-oss-20b",
"gpt-oss-120b",
"glm-45-air-fp8",
@@ -64,6 +68,8 @@
"gpt-5-2025-08-07",
"gpt-5.1-2025-11-13",
"gpt-5.2-2025-12-11",
+ "gpt-5.4-2026-03-05",
+ "gpt-5.5-2026-04-23",
"gpt-5-mini-2025-08-07",
"gpt-5-nano-2025-08-07",
"gpt-4.1-2025-04-14",
diff --git a/src/elevenlabs/types/mcp_server_config_input.py b/src/elevenlabs/types/mcp_server_config_input.py
index a75c1362..e332bdd6 100644
--- a/src/elevenlabs/types/mcp_server_config_input.py
+++ b/src/elevenlabs/types/mcp_server_config_input.py
@@ -87,7 +87,7 @@ class McpServerConfigInput(UncheckedBaseModel):
response_timeout_secs: typing.Optional[int] = pydantic.Field(default=None)
"""
- The maximum time in seconds to wait for each MCP tool call to complete. Must be between 5 and 120 seconds (inclusive).
+ The maximum time in seconds to wait for each MCP tool call to complete. Must be between 5 and 300 seconds (inclusive).
"""
tool_config_overrides: typing.Optional[typing.List[McpToolConfigOverrideInput]] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/mcp_server_config_output.py b/src/elevenlabs/types/mcp_server_config_output.py
index dff2a3c3..9861287e 100644
--- a/src/elevenlabs/types/mcp_server_config_output.py
+++ b/src/elevenlabs/types/mcp_server_config_output.py
@@ -87,7 +87,7 @@ class McpServerConfigOutput(UncheckedBaseModel):
response_timeout_secs: typing.Optional[int] = pydantic.Field(default=None)
"""
- The maximum time in seconds to wait for each MCP tool call to complete. Must be between 5 and 120 seconds (inclusive).
+ The maximum time in seconds to wait for each MCP tool call to complete. Must be between 5 and 300 seconds (inclusive).
"""
tool_config_overrides: typing.Optional[typing.List[McpToolConfigOverrideOutput]] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/o_auth_2_jwt_response.py b/src/elevenlabs/types/o_auth_2_jwt_response.py
index 927a3e9f..787c0651 100644
--- a/src/elevenlabs/types/o_auth_2_jwt_response.py
+++ b/src/elevenlabs/types/o_auth_2_jwt_response.py
@@ -7,6 +7,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .auth_connection_dependencies import AuthConnectionDependencies
from .o_auth_2_jwt_response_algorithm import OAuth2JwtResponseAlgorithm
+from .o_auth_2_jwt_response_token_response_field import OAuth2JwtResponseTokenResponseField
class OAuth2JwtResponse(UncheckedBaseModel):
@@ -61,6 +62,11 @@ class OAuth2JwtResponse(UncheckedBaseModel):
OAuth2 scopes to request when exchanging JWT for access token
"""
+ token_response_field: typing.Optional[OAuth2JwtResponseTokenResponseField] = pydantic.Field(default=None)
+ """
+ Token field to extract from the token endpoint response.
+ """
+
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
diff --git a/src/elevenlabs/types/o_auth_2_jwt_response_token_response_field.py b/src/elevenlabs/types/o_auth_2_jwt_response_token_response_field.py
new file mode 100644
index 00000000..c3359791
--- /dev/null
+++ b/src/elevenlabs/types/o_auth_2_jwt_response_token_response_field.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+OAuth2JwtResponseTokenResponseField = typing.Union[typing.Literal["access_token", "id_token"], typing.Any]
diff --git a/src/elevenlabs/types/price.py b/src/elevenlabs/types/price.py
new file mode 100644
index 00000000..1619fff0
--- /dev/null
+++ b/src/elevenlabs/types/price.py
@@ -0,0 +1,26 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .currency import Currency
+
+
+class Price(UncheckedBaseModel):
+ """
+ Currency/amount pair.
+ """
+
+ amount: str
+ currency: Currency
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/project_extended_response_model_assets_item.py b/src/elevenlabs/types/project_extended_response_model_assets_item.py
index 42dbaace..0478c441 100644
--- a/src/elevenlabs/types/project_extended_response_model_assets_item.py
+++ b/src/elevenlabs/types/project_extended_response_model_assets_item.py
@@ -13,6 +13,7 @@
from .canvas_placement import CanvasPlacement
from .clip_animation import ClipAnimation
from .generation_source_context import GenerationSourceContext
+from .image_analysis import ImageAnalysis
from .pending_blocks_metadata_model import PendingBlocksMetadataModel
from .pending_clip_task import PendingClipTask
from .pending_external_audios_metadata_model import PendingExternalAudiosMetadataModel
@@ -44,14 +45,13 @@ class ProjectExtendedResponseModelAssetsItem_Video(UncheckedBaseModel):
thumbnail_size: typing.List[int]
thumbnail_sheets: typing.List[ProjectVideoThumbnailSheetResponseModel]
start_time_ms: int
- end_time_ms: int
+ end_time_ms: typing.Optional[int] = None
asset_preview_signed_url: typing.Optional[str] = None
source_video_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
+ source_platform_asset_id: typing.Optional[str] = None
pending_blocks_metadata: typing.Optional[PendingBlocksMetadataModel] = None
pending_external_audios_metadata: typing.Optional[PendingExternalAudiosMetadataModel] = None
- pending_block_ids: typing.List[str]
- pending_external_audio_ids: typing.List[str]
speech_imported: typing.Optional[bool] = None
pending_task: typing.Optional[PendingClipTask] = None
audio_track_ready: typing.Optional[bool] = None
@@ -86,7 +86,7 @@ class ProjectExtendedResponseModelAssetsItem_Audio(UncheckedBaseModel):
offset_ms: int
duration_ms: int
start_time_ms: int
- end_time_ms: int
+ end_time_ms: typing.Optional[int] = None
order: str
track_id: str
created_at_ms: int
@@ -97,8 +97,7 @@ class ProjectExtendedResponseModelAssetsItem_Audio(UncheckedBaseModel):
fade_out_ms: typing.Optional[int] = None
source_external_audio_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
- pending_block_ids: typing.List[str]
- pending_external_audio_ids: typing.List[str]
+ source_platform_asset_id: typing.Optional[str] = None
pending_blocks_metadata: typing.Optional[PendingBlocksMetadataModel] = None
pending_external_audios_metadata: typing.Optional[PendingExternalAudiosMetadataModel] = None
speech_imported: typing.Optional[bool] = None
@@ -124,8 +123,8 @@ class ProjectExtendedResponseModelAssetsItem_Image(UncheckedBaseModel):
type: typing.Literal["image"] = "image"
image_id: str
filename: str
- signed_url: str
- thumbnail_signed_url: str
+ signed_url: typing.Optional[str] = None
+ thumbnail_signed_url: typing.Optional[str] = None
source: typing.Optional[typing.Literal["upload"]] = None
file_size_bytes: int
width: int
@@ -141,6 +140,10 @@ class ProjectExtendedResponseModelAssetsItem_Image(UncheckedBaseModel):
updated_at_ms: int
current_snapshot_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
+ source_platform_asset_id: typing.Optional[str] = None
+ error: typing.Optional[str] = None
+ pending_task: typing.Optional[PendingClipTask] = None
+ analysis: typing.Optional[ImageAnalysis] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/project_external_audio_response_model.py b/src/elevenlabs/types/project_external_audio_response_model.py
index c9bb69ad..b7fff0e3 100644
--- a/src/elevenlabs/types/project_external_audio_response_model.py
+++ b/src/elevenlabs/types/project_external_audio_response_model.py
@@ -20,7 +20,7 @@ class ProjectExternalAudioResponseModel(UncheckedBaseModel):
offset_ms: int
duration_ms: int
start_time_ms: int
- end_time_ms: int
+ end_time_ms: typing.Optional[int] = None
order: str
track_id: str
created_at_ms: int
@@ -31,8 +31,7 @@ class ProjectExternalAudioResponseModel(UncheckedBaseModel):
fade_out_ms: typing.Optional[int] = None
source_external_audio_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
- pending_block_ids: typing.List[str]
- pending_external_audio_ids: typing.List[str]
+ source_platform_asset_id: typing.Optional[str] = None
pending_blocks_metadata: typing.Optional[PendingBlocksMetadataModel] = None
pending_external_audios_metadata: typing.Optional[PendingExternalAudiosMetadataModel] = None
speech_imported: typing.Optional[bool] = None
diff --git a/src/elevenlabs/types/project_image_response_model.py b/src/elevenlabs/types/project_image_response_model.py
index 184d92ce..feff4059 100644
--- a/src/elevenlabs/types/project_image_response_model.py
+++ b/src/elevenlabs/types/project_image_response_model.py
@@ -7,13 +7,15 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .canvas_placement import CanvasPlacement
from .clip_animation import ClipAnimation
+from .image_analysis import ImageAnalysis
+from .pending_clip_task import PendingClipTask
class ProjectImageResponseModel(UncheckedBaseModel):
image_id: str
filename: str
- signed_url: str
- thumbnail_signed_url: str
+ signed_url: typing.Optional[str] = None
+ thumbnail_signed_url: typing.Optional[str] = None
source: typing.Optional[typing.Literal["upload"]] = None
file_size_bytes: int
width: int
@@ -29,6 +31,10 @@ class ProjectImageResponseModel(UncheckedBaseModel):
updated_at_ms: int
current_snapshot_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
+ source_platform_asset_id: typing.Optional[str] = None
+ error: typing.Optional[str] = None
+ pending_task: typing.Optional[PendingClipTask] = None
+ analysis: typing.Optional[ImageAnalysis] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/project_video_response_model.py b/src/elevenlabs/types/project_video_response_model.py
index 94f9f546..154f8533 100644
--- a/src/elevenlabs/types/project_video_response_model.py
+++ b/src/elevenlabs/types/project_video_response_model.py
@@ -38,14 +38,13 @@ class ProjectVideoResponseModel(UncheckedBaseModel):
thumbnail_size: typing.List[int]
thumbnail_sheets: typing.List[ProjectVideoThumbnailSheetResponseModel]
start_time_ms: int
- end_time_ms: int
+ end_time_ms: typing.Optional[int] = None
asset_preview_signed_url: typing.Optional[str] = None
source_video_id: typing.Optional[str] = None
source_asset_id: typing.Optional[str] = None
+ source_platform_asset_id: typing.Optional[str] = None
pending_blocks_metadata: typing.Optional[PendingBlocksMetadataModel] = None
pending_external_audios_metadata: typing.Optional[PendingExternalAudiosMetadataModel] = None
- pending_block_ids: typing.List[str]
- pending_external_audio_ids: typing.List[str]
speech_imported: typing.Optional[bool] = None
pending_task: typing.Optional[PendingClipTask] = None
audio_track_ready: typing.Optional[bool] = None
diff --git a/src/elevenlabs/types/register_for_group_session_params.py b/src/elevenlabs/types/register_for_group_session_params.py
new file mode 100644
index 00000000..7a4ab061
--- /dev/null
+++ b/src/elevenlabs/types/register_for_group_session_params.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class RegisterForGroupSessionParams(UncheckedBaseModel):
+ """
+ Register a client for a scheduled group session.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["register_for_group_session"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/resource_access_info.py b/src/elevenlabs/types/resource_access_info.py
index 2bfdead5..44d81d93 100644
--- a/src/elevenlabs/types/resource_access_info.py
+++ b/src/elevenlabs/types/resource_access_info.py
@@ -5,6 +5,7 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
+from .resource_access_info_anonymous_access_level_override import ResourceAccessInfoAnonymousAccessLevelOverride
from .resource_access_info_role import ResourceAccessInfoRole
@@ -29,6 +30,13 @@ class ResourceAccessInfo(UncheckedBaseModel):
The role of the user making the request
"""
+ anonymous_access_level_override: typing.Optional[ResourceAccessInfoAnonymousAccessLevelOverride] = pydantic.Field(
+ default=None
+ )
+ """
+ The access level for anonymous users. If None, the resource is not shared publicly.
+ """
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/elevenlabs/types/resource_access_info_anonymous_access_level_override.py b/src/elevenlabs/types/resource_access_info_anonymous_access_level_override.py
new file mode 100644
index 00000000..0198d8f9
--- /dev/null
+++ b/src/elevenlabs/types/resource_access_info_anonymous_access_level_override.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+ResourceAccessInfoAnonymousAccessLevelOverride = typing.Union[
+ typing.Literal["admin", "editor", "commenter", "viewer"], typing.Any
+]
diff --git a/src/elevenlabs/types/review_response_model.py b/src/elevenlabs/types/review_response_model.py
index 86c57e34..86dfb9e2 100644
--- a/src/elevenlabs/types/review_response_model.py
+++ b/src/elevenlabs/types/review_response_model.py
@@ -16,6 +16,7 @@ class ReviewResponseModel(UncheckedBaseModel):
reject_reasons: typing.Optional[typing.List[ReviewResponseModelRejectReasonsItem]] = None
scores_breakdown: typing.Optional[typing.Dict[str, typing.Optional[int]]] = None
rejected_details: typing.Optional[str] = None
+ explanation: typing.Optional[str] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/schedule_group_session_params.py b/src/elevenlabs/types/schedule_group_session_params.py
new file mode 100644
index 00000000..161247f5
--- /dev/null
+++ b/src/elevenlabs/types/schedule_group_session_params.py
@@ -0,0 +1,29 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class ScheduleGroupSessionParams(UncheckedBaseModel):
+ """
+ Schedule a single instance of a group service.
+
+ The session's duration is derived from the parent service so the assistant
+ only has to pin start time, the (optional) instructor / room, and the
+ location. Participants register separately via
+ ``register_for_group_session``.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["schedule_group_session"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/severity_id.py b/src/elevenlabs/types/severity_id.py
new file mode 100644
index 00000000..c3a8cd0e
--- /dev/null
+++ b/src/elevenlabs/types/severity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+SeverityId = int
diff --git a/src/elevenlabs/types/simulation_test_model.py b/src/elevenlabs/types/simulation_test_model.py
index b43edb69..001a14c0 100644
--- a/src/elevenlabs/types/simulation_test_model.py
+++ b/src/elevenlabs/types/simulation_test_model.py
@@ -9,6 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .conversation_history_transcript_common_model_output import ConversationHistoryTranscriptCommonModelOutput
from .dynamic_variable_value_type_output import DynamicVariableValueTypeOutput
+from .llm import Llm
from .simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from .test_from_conversation_metadata_output import TestFromConversationMetadataOutput
@@ -52,6 +53,16 @@ class SimulationTestModel(UncheckedBaseModel):
Configuration for which tools to mock and fallback behavior.
"""
+ evaluation_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model to use for evaluating simulation results. Defaults to Claude Sonnet 4.6.
+ """
+
+ simulated_user_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model for the simulated user. Defaults to Claude Sonnet 4.6.
+ """
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/elevenlabs/types/sip_log_message.py b/src/elevenlabs/types/sip_log_message.py
new file mode 100644
index 00000000..0094322b
--- /dev/null
+++ b/src/elevenlabs/types/sip_log_message.py
@@ -0,0 +1,29 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .sip_log_message_direction import SipLogMessageDirection
+
+
+class SipLogMessage(UncheckedBaseModel):
+ call_id: str
+ phone_numbers: typing.List[str]
+ local_address: str
+ remote_address: str
+ transport: str
+ raw_message: str
+ error_message: str
+ direction: SipLogMessageDirection
+ created_at_unix_micro: int
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/sip_log_message_direction.py b/src/elevenlabs/types/sip_log_message_direction.py
new file mode 100644
index 00000000..f246ce8f
--- /dev/null
+++ b/src/elevenlabs/types/sip_log_message_direction.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+SipLogMessageDirection = typing.Union[typing.Literal["in", "out"], typing.Any]
diff --git a/src/elevenlabs/types/sms_conversation_info.py b/src/elevenlabs/types/sms_conversation_info.py
new file mode 100644
index 00000000..258bab7f
--- /dev/null
+++ b/src/elevenlabs/types/sms_conversation_info.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .sms_conversation_info_direction import SmsConversationInfoDirection
+
+
+class SmsConversationInfo(UncheckedBaseModel):
+ direction: SmsConversationInfoDirection
+ phone_number_id: typing.Optional[str] = None
+ sms_user_phone_number: str
+ agent_phone_number: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/sms_conversation_info_direction.py b/src/elevenlabs/types/sms_conversation_info_direction.py
new file mode 100644
index 00000000..ea6b8b6d
--- /dev/null
+++ b/src/elevenlabs/types/sms_conversation_info_direction.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+SmsConversationInfoDirection = typing.Union[typing.Literal["inbound", "outbound"], typing.Any]
diff --git a/src/elevenlabs/types/speech_engine_config.py b/src/elevenlabs/types/speech_engine_config.py
new file mode 100644
index 00000000..3ed5a0bf
--- /dev/null
+++ b/src/elevenlabs/types/speech_engine_config.py
@@ -0,0 +1,31 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .speech_engine_config_request_headers_value import SpeechEngineConfigRequestHeadersValue
+
+
+class SpeechEngineConfig(UncheckedBaseModel):
+ ws_url: str = pydantic.Field()
+ """
+ The WebSocket URL for the transcript server
+ """
+
+ request_headers: typing.Optional[typing.Dict[str, SpeechEngineConfigRequestHeadersValue]] = pydantic.Field(
+ default=None
+ )
+ """
+ Headers to include in the WebSocket connection request
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/speech_engine_config_request_headers_value.py b/src/elevenlabs/types/speech_engine_config_request_headers_value.py
new file mode 100644
index 00000000..483ba0ed
--- /dev/null
+++ b/src/elevenlabs/types/speech_engine_config_request_headers_value.py
@@ -0,0 +1,8 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from .conv_ai_dynamic_variable import ConvAiDynamicVariable
+from .conv_ai_secret_locator import ConvAiSecretLocator
+
+SpeechEngineConfigRequestHeadersValue = typing.Union[str, ConvAiSecretLocator, ConvAiDynamicVariable]
diff --git a/src/elevenlabs/types/status_id.py b/src/elevenlabs/types/status_id.py
new file mode 100644
index 00000000..f060a45c
--- /dev/null
+++ b/src/elevenlabs/types/status_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+StatusId = int
diff --git a/src/elevenlabs/types/subscription.py b/src/elevenlabs/types/subscription.py
index 61eae19d..c0898ec1 100644
--- a/src/elevenlabs/types/subscription.py
+++ b/src/elevenlabs/types/subscription.py
@@ -13,6 +13,7 @@
)
from .extended_subscription_response_model_pending_change import ExtendedSubscriptionResponseModelPendingChange
from .invoice_response import InvoiceResponse
+from .price import Price
from .subscription_status_type import SubscriptionStatusType
@@ -107,6 +108,11 @@ class Subscription(UncheckedBaseModel):
The currency of the user's subscription.
"""
+ current_overage: Price = pydantic.Field()
+ """
+ The current usage-based overage cost.
+ """
+
status: SubscriptionStatusType = pydantic.Field()
"""
The status of the user's subscription.
diff --git a/src/elevenlabs/types/subscription_response.py b/src/elevenlabs/types/subscription_response.py
index 19ef2312..f5479513 100644
--- a/src/elevenlabs/types/subscription_response.py
+++ b/src/elevenlabs/types/subscription_response.py
@@ -8,6 +8,7 @@
from .billing_period import BillingPeriod
from .character_refresh_period import CharacterRefreshPeriod
from .currency import Currency
+from .price import Price
from .subscription_response_model_max_credit_limit_extension import SubscriptionResponseModelMaxCreditLimitExtension
from .subscription_status_type import SubscriptionStatusType
@@ -103,6 +104,11 @@ class SubscriptionResponse(UncheckedBaseModel):
The currency of the user's subscription.
"""
+ current_overage: Price = pydantic.Field()
+ """
+ The current usage-based overage cost.
+ """
+
status: SubscriptionStatusType = pydantic.Field()
"""
The status of the user's subscription.
diff --git a/src/elevenlabs/types/system_tool_config_input_params.py b/src/elevenlabs/types/system_tool_config_input_params.py
index efeeaf30..4c074b48 100644
--- a/src/elevenlabs/types/system_tool_config_input_params.py
+++ b/src/elevenlabs/types/system_tool_config_input_params.py
@@ -25,6 +25,19 @@ class Config:
extra = pydantic.Extra.allow
+class SystemToolConfigInputParams_KnowledgeBaseRag(UncheckedBaseModel):
+ system_tool_type: typing.Literal["knowledge_base_rag"] = "knowledge_base_rag"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class SystemToolConfigInputParams_LanguageDetection(UncheckedBaseModel):
system_tool_type: typing.Literal["language_detection"] = "language_detection"
@@ -112,6 +125,7 @@ class Config:
SystemToolConfigInputParams = typing_extensions.Annotated[
typing.Union[
SystemToolConfigInputParams_EndCall,
+ SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
diff --git a/src/elevenlabs/types/system_tool_config_output_params.py b/src/elevenlabs/types/system_tool_config_output_params.py
index 90cbd91f..14080047 100644
--- a/src/elevenlabs/types/system_tool_config_output_params.py
+++ b/src/elevenlabs/types/system_tool_config_output_params.py
@@ -25,6 +25,19 @@ class Config:
extra = pydantic.Extra.allow
+class SystemToolConfigOutputParams_KnowledgeBaseRag(UncheckedBaseModel):
+ system_tool_type: typing.Literal["knowledge_base_rag"] = "knowledge_base_rag"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class SystemToolConfigOutputParams_LanguageDetection(UncheckedBaseModel):
system_tool_type: typing.Literal["language_detection"] = "language_detection"
@@ -112,6 +125,7 @@ class Config:
SystemToolConfigOutputParams = typing_extensions.Annotated[
typing.Union[
SystemToolConfigOutputParams_EndCall,
+ SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
diff --git a/src/elevenlabs/types/unit_test_run_response_model_test_info.py b/src/elevenlabs/types/unit_test_run_response_model_test_info.py
index 01694977..7d80df9b 100644
--- a/src/elevenlabs/types/unit_test_run_response_model_test_info.py
+++ b/src/elevenlabs/types/unit_test_run_response_model_test_info.py
@@ -12,6 +12,7 @@
from .agent_successful_response_example import AgentSuccessfulResponseExample
from .conversation_history_transcript_common_model_output import ConversationHistoryTranscriptCommonModelOutput
from .dynamic_variable_value_type_output import DynamicVariableValueTypeOutput
+from .llm import Llm
from .simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from .test_from_conversation_metadata_output import TestFromConversationMetadataOutput
from .unit_test_tool_call_evaluation_model_output import UnitTestToolCallEvaluationModelOutput
@@ -46,6 +47,8 @@ class UnitTestRunResponseModelTestInfo_Simulation(UncheckedBaseModel):
simulation_max_turns: typing.Optional[int] = None
simulation_environment: typing.Optional[str] = None
tool_mock_config: typing.Optional[SimulationToolMockBehaviorConfig] = None
+ evaluation_model: typing.Optional[Llm] = None
+ simulated_user_model: typing.Optional[Llm] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/update_group_session_seats_params.py b/src/elevenlabs/types/update_group_session_seats_params.py
new file mode 100644
index 00000000..2fc4cda0
--- /dev/null
+++ b/src/elevenlabs/types/update_group_session_seats_params.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class UpdateGroupSessionSeatsParams(UncheckedBaseModel):
+ """
+ Change the seat count of an existing group session registration.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["update_group_session_seats"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/update_simulation_test_request.py b/src/elevenlabs/types/update_simulation_test_request.py
index fd1bd2ad..5a207bad 100644
--- a/src/elevenlabs/types/update_simulation_test_request.py
+++ b/src/elevenlabs/types/update_simulation_test_request.py
@@ -9,6 +9,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .conversation_history_transcript_common_model_input import ConversationHistoryTranscriptCommonModelInput
from .dynamic_variable_value_type_input import DynamicVariableValueTypeInput
+from .llm import Llm
from .simulation_tool_mock_behavior_config import SimulationToolMockBehaviorConfig
from .test_from_conversation_metadata_input import TestFromConversationMetadataInput
@@ -52,6 +53,16 @@ class UpdateSimulationTestRequest(UncheckedBaseModel):
Configuration for which tools to mock and fallback behavior.
"""
+ evaluation_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model to use for evaluating simulation results. Defaults to Claude Sonnet 4.6.
+ """
+
+ simulated_user_model: typing.Optional[Llm] = pydantic.Field(default=None)
+ """
+ LLM model for the simulated user. Defaults to Claude Sonnet 4.6.
+ """
+
name: str
parent_folder_id: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/elevenlabs/types/url_model.py b/src/elevenlabs/types/url_model.py
new file mode 100644
index 00000000..1060023c
--- /dev/null
+++ b/src/elevenlabs/types/url_model.py
@@ -0,0 +1,54 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class UrlModel(UncheckedBaseModel):
+ """
+ OCSF URL object.
+
+ Spec: https://schema.ocsf.io/1.6.0/objects/url
+ """
+
+ url_string: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Full URL string
+ """
+
+ scheme: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ URL scheme (e.g., https)
+ """
+
+ hostname: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ URL hostname
+ """
+
+ port: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ URL port
+ """
+
+ path: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ URL path
+ """
+
+ query_string: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ URL query string
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/user_access_management_activity_id.py b/src/elevenlabs/types/user_access_management_activity_id.py
new file mode 100644
index 00000000..9cf52f30
--- /dev/null
+++ b/src/elevenlabs/types/user_access_management_activity_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+UserAccessManagementActivityId = int
diff --git a/src/elevenlabs/types/user_model.py b/src/elevenlabs/types/user_model.py
new file mode 100644
index 00000000..9849cb57
--- /dev/null
+++ b/src/elevenlabs/types/user_model.py
@@ -0,0 +1,60 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .user_type_id import UserTypeId
+
+
+class UserModel(UncheckedBaseModel):
+ """
+ OCSF User object.
+
+ Spec: https://schema.ocsf.io/1.6.0/objects/user
+ """
+
+ name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Username
+ """
+
+ uid: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Unique user identifier
+ """
+
+ type_id: typing.Optional[UserTypeId] = pydantic.Field(default=None)
+ """
+ Account type identifier
+ """
+
+ type: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Account type description
+ """
+
+ email_addr: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ User email address
+ """
+
+ full_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Full name of the user
+ """
+
+ domain: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ User's domain
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/user_type_id.py b/src/elevenlabs/types/user_type_id.py
new file mode 100644
index 00000000..0891b82c
--- /dev/null
+++ b/src/elevenlabs/types/user_type_id.py
@@ -0,0 +1,3 @@
+# This file was auto-generated by Fern from our API Definition.
+
+UserTypeId = int
diff --git a/src/elevenlabs/types/webhook_transcript_format.py b/src/elevenlabs/types/webhook_transcript_format.py
new file mode 100644
index 00000000..2263caf8
--- /dev/null
+++ b/src/elevenlabs/types/webhook_transcript_format.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+WebhookTranscriptFormat = typing.Union[typing.Literal["json", "opentelemetry"], typing.Any]
diff --git a/src/elevenlabs/types/widget_config_response.py b/src/elevenlabs/types/widget_config_response.py
index 409260fa..5f67d408 100644
--- a/src/elevenlabs/types/widget_config_response.py
+++ b/src/elevenlabs/types/widget_config_response.py
@@ -7,6 +7,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel
from .allowlist_item import AllowlistItem
from .embed_variant import EmbedVariant
+from .file_input_config import FileInputConfig
from .widget_config_response_model_avatar import WidgetConfigResponseModelAvatar
from .widget_config_response_model_syntax_highlight_theme import WidgetConfigResponseModelSyntaxHighlightTheme
from .widget_end_feedback_config import WidgetEndFeedbackConfig
@@ -264,6 +265,11 @@ class WidgetConfigResponse(UncheckedBaseModel):
Whether to use WebRTC for conversation connections
"""
+ file_input_config: typing.Optional[FileInputConfig] = pydantic.Field(default=None)
+ """
+ Configuration for file upload in the widget
+ """
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/elevenlabs/types/workspace_audit_log_entry_response.py b/src/elevenlabs/types/workspace_audit_log_entry_response.py
new file mode 100644
index 00000000..d8ca003e
--- /dev/null
+++ b/src/elevenlabs/types/workspace_audit_log_entry_response.py
@@ -0,0 +1,123 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .actor_model import ActorModel
+from .device_model import DeviceModel
+from .http_request_model import HttpRequestModel
+from .severity_id import SeverityId
+from .status_id import StatusId
+from .workspace_audit_log_entry_response_activity_id import WorkspaceAuditLogEntryResponseActivityId
+
+
+class WorkspaceAuditLogEntryResponse(UncheckedBaseModel):
+ """
+ Audit log entry with Firestore document ID for API responses.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
+ """
+ Event metadata
+ """
+
+ time: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Event time in milliseconds since epoch
+ """
+
+ activity_id: WorkspaceAuditLogEntryResponseActivityId = pydantic.Field()
+ """
+ Activity ID
+ """
+
+ activity_name: str = pydantic.Field()
+ """
+ Activity name
+ """
+
+ category_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Event category
+ """
+
+ category_uid: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Category UID for IAM
+ """
+
+ class_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Event class name
+ """
+
+ class_uid: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Event class UID
+ """
+
+ severity_id: typing.Optional[SeverityId] = pydantic.Field(default=None)
+ """
+ Severity level
+ """
+
+ status_id: StatusId = pydantic.Field()
+ """
+ Status of the action
+ """
+
+ actor: ActorModel = pydantic.Field()
+ """
+ Actor performing the action
+ """
+
+ device: typing.Optional[DeviceModel] = pydantic.Field(default=None)
+ """
+ Device information
+ """
+
+ http_request: typing.Optional[HttpRequestModel] = pydantic.Field(default=None)
+ """
+ HTTP request details
+ """
+
+ message: str = pydantic.Field()
+ """
+ Human-readable event description
+ """
+
+ unmapped: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
+ """
+ Attributes not mapped to OCSF
+ """
+
+ id: str = pydantic.Field()
+ """
+ Firestore document ID
+ """
+
+ time_dt: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Event time in human-readable RFC 3339 format, derived from 'time'.
+ """
+
+ type_uid: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ OCSF type_uid is class_uid * 100 + activity_id.
+ """
+
+ type_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ OCSF type_name combines class_name and activity_name.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/workspace_audit_log_entry_response_activity_id.py b/src/elevenlabs/types/workspace_audit_log_entry_response_activity_id.py
new file mode 100644
index 00000000..d1778932
--- /dev/null
+++ b/src/elevenlabs/types/workspace_audit_log_entry_response_activity_id.py
@@ -0,0 +1,17 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from .account_change_activity_id import AccountChangeActivityId
+from .authentication_activity_id import AuthenticationActivityId
+from .entity_management_activity_id import EntityManagementActivityId
+from .group_management_activity_id import GroupManagementActivityId
+from .user_access_management_activity_id import UserAccessManagementActivityId
+
+WorkspaceAuditLogEntryResponseActivityId = typing.Union[
+ AccountChangeActivityId,
+ AuthenticationActivityId,
+ EntityManagementActivityId,
+ UserAccessManagementActivityId,
+ GroupManagementActivityId,
+]
diff --git a/src/elevenlabs/types/workspace_audit_logs_page_response.py b/src/elevenlabs/types/workspace_audit_logs_page_response.py
new file mode 100644
index 00000000..fd61c9a1
--- /dev/null
+++ b/src/elevenlabs/types/workspace_audit_logs_page_response.py
@@ -0,0 +1,27 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .workspace_audit_log_entry_response import WorkspaceAuditLogEntryResponse
+
+
+class WorkspaceAuditLogsPageResponse(UncheckedBaseModel):
+ """
+ Paginated workspace audit log response.
+ """
+
+ entries: typing.List[WorkspaceAuditLogEntryResponse]
+ has_more: bool
+ next_cursor: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/elevenlabs/types/workspace_group_response_model.py b/src/elevenlabs/types/workspace_group_response_model.py
index f0d10d06..b0e0a992 100644
--- a/src/elevenlabs/types/workspace_group_response_model.py
+++ b/src/elevenlabs/types/workspace_group_response_model.py
@@ -19,6 +19,7 @@ class WorkspaceGroupResponseModel(UncheckedBaseModel):
group_pvc_limit: typing.Optional[WorkspaceGroupResponseModelGroupPvcLimit] = None
character_count: typing.Optional[int] = None
scim_external_id: typing.Optional[str] = None
+ is_scim_synced: typing.Optional[bool] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/elevenlabs/types/workspace_resource_type.py b/src/elevenlabs/types/workspace_resource_type.py
index 4fd41477..8ded826e 100644
--- a/src/elevenlabs/types/workspace_resource_type.py
+++ b/src/elevenlabs/types/workspace_resource_type.py
@@ -40,6 +40,7 @@
"songs",
"avatars",
"avatar_video_generations",
+ "resource_collection",
],
typing.Any,
]
diff --git a/src/elevenlabs/voices/client.py b/src/elevenlabs/voices/client.py
index c96f9cb4..9933585b 100644
--- a/src/elevenlabs/voices/client.py
+++ b/src/elevenlabs/voices/client.py
@@ -51,7 +51,7 @@ def get_all(
self, *, show_legacy: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None
) -> GetVoicesResponse:
"""
- Returns a list of all available voices for a user.
+ Returns a list of all available voices for a user. Stops working once the user's workspace exceeds 500 voices.
Parameters
----------
@@ -160,6 +160,7 @@ def search(
fine_tuning_state="fine_tuning_state",
collection_id="collection_id",
include_total_count=True,
+ voice_ids=["voice_ids"],
)
"""
_response = self._raw_client.search(
@@ -473,6 +474,8 @@ def get_shared(
language="language",
locale="locale",
search="search",
+ use_cases=["use_cases"],
+ descriptives=["descriptives"],
featured=True,
min_notice_period_days=1,
include_custom_rates=True,
@@ -610,7 +613,7 @@ async def get_all(
self, *, show_legacy: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None
) -> GetVoicesResponse:
"""
- Returns a list of all available voices for a user.
+ Returns a list of all available voices for a user. Stops working once the user's workspace exceeds 500 voices.
Parameters
----------
@@ -732,6 +735,7 @@ async def main() -> None:
fine_tuning_state="fine_tuning_state",
collection_id="collection_id",
include_total_count=True,
+ voice_ids=["voice_ids"],
)
@@ -1085,6 +1089,8 @@ async def main() -> None:
language="language",
locale="locale",
search="search",
+ use_cases=["use_cases"],
+ descriptives=["descriptives"],
featured=True,
min_notice_period_days=1,
include_custom_rates=True,
diff --git a/src/elevenlabs/voices/raw_client.py b/src/elevenlabs/voices/raw_client.py
index 72935d33..34995eb1 100644
--- a/src/elevenlabs/voices/raw_client.py
+++ b/src/elevenlabs/voices/raw_client.py
@@ -33,7 +33,7 @@ def get_all(
self, *, show_legacy: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[GetVoicesResponse]:
"""
- Returns a list of all available voices for a user.
+ Returns a list of all available voices for a user. Stops working once the user's workspace exceeds 500 voices.
Parameters
----------
@@ -673,7 +673,7 @@ async def get_all(
self, *, show_legacy: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[GetVoicesResponse]:
"""
- Returns a list of all available voices for a user.
+ Returns a list of all available voices for a user. Stops working once the user's workspace exceeds 500 voices.
Parameters
----------
diff --git a/src/elevenlabs/workspace/__init__.py b/src/elevenlabs/workspace/__init__.py
index 12a4335e..8d449464 100644
--- a/src/elevenlabs/workspace/__init__.py
+++ b/src/elevenlabs/workspace/__init__.py
@@ -7,7 +7,7 @@
if typing.TYPE_CHECKING:
from .resources import BodyShareWorkspaceResourceV1WorkspaceResourcesResourceIdSharePostRole
- from . import auth_connections, groups, invites, members, resources, usage
+ from . import audit_logs, auth_connections, groups, invites, members, resources, usage
from .auth_connections import (
AuthConnectionsCreateRequestBody,
AuthConnectionsCreateRequestBody_BasicAuth,
@@ -18,6 +18,7 @@
AuthConnectionsCreateRequestBody_PrivateKeyJwt,
AuthConnectionsCreateResponse,
AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp,
AuthConnectionsCreateResponse_BasicAuth,
AuthConnectionsCreateResponse_BearerAuth,
AuthConnectionsCreateResponse_CustomHeaderAuth,
@@ -38,6 +39,7 @@
"AuthConnectionsCreateRequestBody_PrivateKeyJwt": ".auth_connections",
"AuthConnectionsCreateResponse": ".auth_connections",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode": ".auth_connections",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp": ".auth_connections",
"AuthConnectionsCreateResponse_BasicAuth": ".auth_connections",
"AuthConnectionsCreateResponse_BearerAuth": ".auth_connections",
"AuthConnectionsCreateResponse_CustomHeaderAuth": ".auth_connections",
@@ -48,6 +50,7 @@
"AuthConnectionsCreateResponse_WhatsappAuth": ".auth_connections",
"BodyGetWorkspaceUsageV1WorkspaceAnalyticsQueryUsageByProductOverTimePostGroupByItem": ".usage",
"BodyShareWorkspaceResourceV1WorkspaceResourcesResourceIdSharePostRole": ".resources",
+ "audit_logs": ".audit_logs",
"auth_connections": ".auth_connections",
"groups": ".groups",
"invites": ".invites",
@@ -88,6 +91,7 @@ def __dir__():
"AuthConnectionsCreateRequestBody_PrivateKeyJwt",
"AuthConnectionsCreateResponse",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp",
"AuthConnectionsCreateResponse_BasicAuth",
"AuthConnectionsCreateResponse_BearerAuth",
"AuthConnectionsCreateResponse_CustomHeaderAuth",
@@ -98,6 +102,7 @@ def __dir__():
"AuthConnectionsCreateResponse_WhatsappAuth",
"BodyGetWorkspaceUsageV1WorkspaceAnalyticsQueryUsageByProductOverTimePostGroupByItem",
"BodyShareWorkspaceResourceV1WorkspaceResourcesResourceIdSharePostRole",
+ "audit_logs",
"auth_connections",
"groups",
"invites",
diff --git a/src/elevenlabs/workspace/audit_logs/__init__.py b/src/elevenlabs/workspace/audit_logs/__init__.py
new file mode 100644
index 00000000..5cde0202
--- /dev/null
+++ b/src/elevenlabs/workspace/audit_logs/__init__.py
@@ -0,0 +1,4 @@
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
+
diff --git a/src/elevenlabs/workspace/audit_logs/client.py b/src/elevenlabs/workspace/audit_logs/client.py
new file mode 100644
index 00000000..8bb7bc76
--- /dev/null
+++ b/src/elevenlabs/workspace/audit_logs/client.py
@@ -0,0 +1,198 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.workspace_audit_logs_page_response import WorkspaceAuditLogsPageResponse
+from .raw_client import AsyncRawAuditLogsClient, RawAuditLogsClient
+
+
+class AuditLogsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawAuditLogsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawAuditLogsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawAuditLogsClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ time_from_unix_ms: typing.Optional[int] = None,
+ time_to_unix_ms: typing.Optional[int] = None,
+ actor_uid: typing.Optional[str] = None,
+ class_name: typing.Optional[str] = None,
+ activity_name: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkspaceAuditLogsPageResponse:
+ """
+ Returns the audit log for the workspace. Requires enterprise tier and the audit_log_read permission.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Maximum number of entries per page
+
+ cursor : typing.Optional[str]
+ Cursor for the next page (from previous response)
+
+ time_from_unix_ms : typing.Optional[int]
+ Only include entries at or after this time (ms since epoch)
+
+ time_to_unix_ms : typing.Optional[int]
+ Only include entries at or before this time (ms since epoch)
+
+ actor_uid : typing.Optional[str]
+ Filter by actor user ID
+
+ class_name : typing.Optional[str]
+ Filter by OCSF event class name (e.g. Account Change)
+
+ activity_name : typing.Optional[str]
+ Filter by audit activity name (e.g. Subscription Creation)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceAuditLogsPageResponse
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.workspace.audit_logs.list(
+ limit=1,
+ cursor="cursor",
+ time_from_unix_ms=1,
+ time_to_unix_ms=1,
+ actor_uid="actor_uid",
+ class_name="class_name",
+ activity_name="activity_name",
+ )
+ """
+ _response = self._raw_client.list(
+ limit=limit,
+ cursor=cursor,
+ time_from_unix_ms=time_from_unix_ms,
+ time_to_unix_ms=time_to_unix_ms,
+ actor_uid=actor_uid,
+ class_name=class_name,
+ activity_name=activity_name,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncAuditLogsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawAuditLogsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawAuditLogsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawAuditLogsClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ time_from_unix_ms: typing.Optional[int] = None,
+ time_to_unix_ms: typing.Optional[int] = None,
+ actor_uid: typing.Optional[str] = None,
+ class_name: typing.Optional[str] = None,
+ activity_name: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkspaceAuditLogsPageResponse:
+ """
+ Returns the audit log for the workspace. Requires enterprise tier and the audit_log_read permission.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Maximum number of entries per page
+
+ cursor : typing.Optional[str]
+ Cursor for the next page (from previous response)
+
+ time_from_unix_ms : typing.Optional[int]
+ Only include entries at or after this time (ms since epoch)
+
+ time_to_unix_ms : typing.Optional[int]
+ Only include entries at or before this time (ms since epoch)
+
+ actor_uid : typing.Optional[str]
+ Filter by actor user ID
+
+ class_name : typing.Optional[str]
+ Filter by OCSF event class name (e.g. Account Change)
+
+ activity_name : typing.Optional[str]
+ Filter by audit activity name (e.g. Subscription Creation)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceAuditLogsPageResponse
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workspace.audit_logs.list(
+ limit=1,
+ cursor="cursor",
+ time_from_unix_ms=1,
+ time_to_unix_ms=1,
+ actor_uid="actor_uid",
+ class_name="class_name",
+ activity_name="activity_name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ limit=limit,
+ cursor=cursor,
+ time_from_unix_ms=time_from_unix_ms,
+ time_to_unix_ms=time_to_unix_ms,
+ actor_uid=actor_uid,
+ class_name=class_name,
+ activity_name=activity_name,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/elevenlabs/workspace/audit_logs/raw_client.py b/src/elevenlabs/workspace/audit_logs/raw_client.py
new file mode 100644
index 00000000..92dd9630
--- /dev/null
+++ b/src/elevenlabs/workspace/audit_logs/raw_client.py
@@ -0,0 +1,194 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.request_options import RequestOptions
+from ...core.unchecked_base_model import construct_type
+from ...errors.unprocessable_entity_error import UnprocessableEntityError
+from ...types.workspace_audit_logs_page_response import WorkspaceAuditLogsPageResponse
+
+
+class RawAuditLogsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ time_from_unix_ms: typing.Optional[int] = None,
+ time_to_unix_ms: typing.Optional[int] = None,
+ actor_uid: typing.Optional[str] = None,
+ class_name: typing.Optional[str] = None,
+ activity_name: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkspaceAuditLogsPageResponse]:
+ """
+ Returns the audit log for the workspace. Requires enterprise tier and the audit_log_read permission.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Maximum number of entries per page
+
+ cursor : typing.Optional[str]
+ Cursor for the next page (from previous response)
+
+ time_from_unix_ms : typing.Optional[int]
+ Only include entries at or after this time (ms since epoch)
+
+ time_to_unix_ms : typing.Optional[int]
+ Only include entries at or before this time (ms since epoch)
+
+ actor_uid : typing.Optional[str]
+ Filter by actor user ID
+
+ class_name : typing.Optional[str]
+ Filter by OCSF event class name (e.g. Account Change)
+
+ activity_name : typing.Optional[str]
+ Filter by audit activity name (e.g. Subscription Creation)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkspaceAuditLogsPageResponse]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workspace/audit-logs",
+ method="GET",
+ params={
+ "limit": limit,
+ "cursor": cursor,
+ "time_from_unix_ms": time_from_unix_ms,
+ "time_to_unix_ms": time_to_unix_ms,
+ "actor_uid": actor_uid,
+ "class_name": class_name,
+ "activity_name": activity_name,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceAuditLogsPageResponse,
+ construct_type(
+ type_=WorkspaceAuditLogsPageResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawAuditLogsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ cursor: typing.Optional[str] = None,
+ time_from_unix_ms: typing.Optional[int] = None,
+ time_to_unix_ms: typing.Optional[int] = None,
+ actor_uid: typing.Optional[str] = None,
+ class_name: typing.Optional[str] = None,
+ activity_name: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkspaceAuditLogsPageResponse]:
+ """
+ Returns the audit log for the workspace. Requires enterprise tier and the audit_log_read permission.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Maximum number of entries per page
+
+ cursor : typing.Optional[str]
+ Cursor for the next page (from previous response)
+
+ time_from_unix_ms : typing.Optional[int]
+ Only include entries at or after this time (ms since epoch)
+
+ time_to_unix_ms : typing.Optional[int]
+ Only include entries at or before this time (ms since epoch)
+
+ actor_uid : typing.Optional[str]
+ Filter by actor user ID
+
+ class_name : typing.Optional[str]
+ Filter by OCSF event class name (e.g. Account Change)
+
+ activity_name : typing.Optional[str]
+ Filter by audit activity name (e.g. Subscription Creation)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkspaceAuditLogsPageResponse]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workspace/audit-logs",
+ method="GET",
+ params={
+ "limit": limit,
+ "cursor": cursor,
+ "time_from_unix_ms": time_from_unix_ms,
+ "time_to_unix_ms": time_to_unix_ms,
+ "actor_uid": actor_uid,
+ "class_name": class_name,
+ "activity_name": activity_name,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceAuditLogsPageResponse,
+ construct_type(
+ type_=WorkspaceAuditLogsPageResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/elevenlabs/workspace/auth_connections/__init__.py b/src/elevenlabs/workspace/auth_connections/__init__.py
index 66d5baab..53f6f3fe 100644
--- a/src/elevenlabs/workspace/auth_connections/__init__.py
+++ b/src/elevenlabs/workspace/auth_connections/__init__.py
@@ -16,6 +16,7 @@
AuthConnectionsCreateRequestBody_PrivateKeyJwt,
AuthConnectionsCreateResponse,
AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp,
AuthConnectionsCreateResponse_BasicAuth,
AuthConnectionsCreateResponse_BearerAuth,
AuthConnectionsCreateResponse_CustomHeaderAuth,
@@ -35,6 +36,7 @@
"AuthConnectionsCreateRequestBody_PrivateKeyJwt": ".types",
"AuthConnectionsCreateResponse": ".types",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode": ".types",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp": ".types",
"AuthConnectionsCreateResponse_BasicAuth": ".types",
"AuthConnectionsCreateResponse_BearerAuth": ".types",
"AuthConnectionsCreateResponse_CustomHeaderAuth": ".types",
@@ -77,6 +79,7 @@ def __dir__():
"AuthConnectionsCreateRequestBody_PrivateKeyJwt",
"AuthConnectionsCreateResponse",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp",
"AuthConnectionsCreateResponse_BasicAuth",
"AuthConnectionsCreateResponse_BearerAuth",
"AuthConnectionsCreateResponse_CustomHeaderAuth",
diff --git a/src/elevenlabs/workspace/auth_connections/types/__init__.py b/src/elevenlabs/workspace/auth_connections/types/__init__.py
index 319816bc..11c6b694 100644
--- a/src/elevenlabs/workspace/auth_connections/types/__init__.py
+++ b/src/elevenlabs/workspace/auth_connections/types/__init__.py
@@ -18,6 +18,7 @@
from .auth_connections_create_response import (
AuthConnectionsCreateResponse,
AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp,
AuthConnectionsCreateResponse_BasicAuth,
AuthConnectionsCreateResponse_BearerAuth,
AuthConnectionsCreateResponse_CustomHeaderAuth,
@@ -37,6 +38,7 @@
"AuthConnectionsCreateRequestBody_PrivateKeyJwt": ".auth_connections_create_request_body",
"AuthConnectionsCreateResponse": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode": ".auth_connections_create_response",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_BasicAuth": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_BearerAuth": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_CustomHeaderAuth": ".auth_connections_create_response",
@@ -79,6 +81,7 @@ def __dir__():
"AuthConnectionsCreateRequestBody_PrivateKeyJwt",
"AuthConnectionsCreateResponse",
"AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp",
"AuthConnectionsCreateResponse_BasicAuth",
"AuthConnectionsCreateResponse_BearerAuth",
"AuthConnectionsCreateResponse_CustomHeaderAuth",
diff --git a/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_request_body.py b/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_request_body.py
index 6c8bc6db..22e76904 100644
--- a/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_request_body.py
+++ b/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_request_body.py
@@ -9,6 +9,7 @@
from ....core.pydantic_utilities import IS_PYDANTIC_V2
from ....core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
from ....types.create_o_auth_2_jwt_request_algorithm import CreateOAuth2JwtRequestAlgorithm
+from ....types.create_o_auth_2_jwt_request_token_response_field import CreateOAuth2JwtRequestTokenResponseField
from ....types.create_private_key_jwt_request_algorithm import CreatePrivateKeyJwtRequestAlgorithm
@@ -97,6 +98,7 @@ class AuthConnectionsCreateRequestBody_Oauth2Jwt(UncheckedBaseModel):
extra_params: typing.Optional[typing.Dict[str, str]] = None
token_url: str
scopes: typing.Optional[typing.List[str]] = None
+ token_response_field: typing.Optional[CreateOAuth2JwtRequestTokenResponseField] = None
secret_key: str
if IS_PYDANTIC_V2:
diff --git a/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_response.py b/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_response.py
index 8cb84ae2..877763ff 100644
--- a/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_response.py
+++ b/src/elevenlabs/workspace/auth_connections/types/auth_connections_create_response.py
@@ -11,8 +11,12 @@
from ....types.api_integration_o_auth_2_auth_code_response_scope_separator import (
ApiIntegrationOAuth2AuthCodeResponseScopeSeparator,
)
+from ....types.api_integration_o_auth_2_custom_app_response_scope_separator import (
+ ApiIntegrationOAuth2CustomAppResponseScopeSeparator,
+)
from ....types.auth_connection_dependencies import AuthConnectionDependencies
from ....types.o_auth_2_jwt_response_algorithm import OAuth2JwtResponseAlgorithm
+from ....types.o_auth_2_jwt_response_token_response_field import OAuth2JwtResponseTokenResponseField
from ....types.o_auth_connection_status import OAuthConnectionStatus
from ....types.private_key_jwt_response_algorithm import PrivateKeyJwtResponseAlgorithm
@@ -103,6 +107,7 @@ class AuthConnectionsCreateResponse_Oauth2Jwt(UncheckedBaseModel):
extra_params: typing.Optional[typing.Dict[str, str]] = None
token_url: str
scopes: typing.Optional[typing.List[str]] = None
+ token_response_field: typing.Optional[OAuth2JwtResponseTokenResponseField] = None
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
@@ -217,6 +222,37 @@ class Config:
extra = pydantic.Extra.allow
+class AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["api_integration_oauth2_custom_app"] = "api_integration_oauth2_custom_app"
+ name: str
+ provider: str
+ token_url: str
+ scopes: typing.Optional[typing.List[str]] = None
+ scope_separator: typing.Optional[ApiIntegrationOAuth2CustomAppResponseScopeSeparator] = None
+ expires_at: str
+ integration_id: str
+ credential_id: str
+ status: typing.Optional[OAuthConnectionStatus] = None
+ status_detail: typing.Optional[str] = None
+ status_updated_at: typing.Optional[str] = None
+ client_id: str
+ id: str
+ used_by: typing.Optional[AuthConnectionDependencies] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
class AuthConnectionsCreateResponse_WhatsappAuth(UncheckedBaseModel):
"""
The type of auth connection config
@@ -249,6 +285,7 @@ class Config:
AuthConnectionsCreateResponse_Mtls,
AuthConnectionsCreateResponse_CustomHeaderAuth,
AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp,
AuthConnectionsCreateResponse_WhatsappAuth,
],
UnionMetadata(discriminant="auth_type"),
diff --git a/src/elevenlabs/workspace/client.py b/src/elevenlabs/workspace/client.py
index b0a873cf..3f772b2f 100644
--- a/src/elevenlabs/workspace/client.py
+++ b/src/elevenlabs/workspace/client.py
@@ -8,6 +8,7 @@
from .raw_client import AsyncRawWorkspaceClient, RawWorkspaceClient
if typing.TYPE_CHECKING:
+ from .audit_logs.client import AsyncAuditLogsClient, AuditLogsClient
from .auth_connections.client import AsyncAuthConnectionsClient, AuthConnectionsClient
from .groups.client import AsyncGroupsClient, GroupsClient
from .invites.client import AsyncInvitesClient, InvitesClient
@@ -20,6 +21,7 @@ class WorkspaceClient:
def __init__(self, *, client_wrapper: SyncClientWrapper):
self._raw_client = RawWorkspaceClient(client_wrapper=client_wrapper)
self._client_wrapper = client_wrapper
+ self._audit_logs: typing.Optional[AuditLogsClient] = None
self._auth_connections: typing.Optional[AuthConnectionsClient] = None
self._groups: typing.Optional[GroupsClient] = None
self._invites: typing.Optional[InvitesClient] = None
@@ -38,6 +40,14 @@ def with_raw_response(self) -> RawWorkspaceClient:
"""
return self._raw_client
+ @property
+ def audit_logs(self):
+ if self._audit_logs is None:
+ from .audit_logs.client import AuditLogsClient # noqa: E402
+
+ self._audit_logs = AuditLogsClient(client_wrapper=self._client_wrapper)
+ return self._audit_logs
+
@property
def auth_connections(self):
if self._auth_connections is None:
@@ -91,6 +101,7 @@ class AsyncWorkspaceClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._raw_client = AsyncRawWorkspaceClient(client_wrapper=client_wrapper)
self._client_wrapper = client_wrapper
+ self._audit_logs: typing.Optional[AsyncAuditLogsClient] = None
self._auth_connections: typing.Optional[AsyncAuthConnectionsClient] = None
self._groups: typing.Optional[AsyncGroupsClient] = None
self._invites: typing.Optional[AsyncInvitesClient] = None
@@ -109,6 +120,14 @@ def with_raw_response(self) -> AsyncRawWorkspaceClient:
"""
return self._raw_client
+ @property
+ def audit_logs(self):
+ if self._audit_logs is None:
+ from .audit_logs.client import AsyncAuditLogsClient # noqa: E402
+
+ self._audit_logs = AsyncAuditLogsClient(client_wrapper=self._client_wrapper)
+ return self._audit_logs
+
@property
def auth_connections(self):
if self._auth_connections is None: