diff --git a/.fern/metadata.json b/.fern/metadata.json
index c00bf5af..d89058f0 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -55,5 +55,5 @@
}
]
},
- "originGitCommit": "085495d2c98acb98352c8413534b07ef7d52e7e4"
+ "originGitCommit": "6c42e37ab55baee85654fffddd43af522c9fd27b"
}
\ No newline at end of file
diff --git a/poetry.lock b/poetry.lock
index 9afe33c6..2d03cb6a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -285,13 +285,13 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "idna"
-version = "3.14"
+version = "3.15"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.8"
files = [
- {file = "idna-3.14-py3-none-any.whl", hash = "sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69"},
- {file = "idna-3.14.tar.gz", hash = "sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3"},
+ {file = "idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8"},
+ {file = "idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc"},
]
[package.extras]
diff --git a/pyproject.toml b/pyproject.toml
index f81527db..91169602 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ dynamic = ["version"]
[tool.poetry]
name = "elevenlabs"
-version = "2.47.0"
+version = "2.48.0"
description = ""
readme = "README.md"
authors = []
@@ -43,7 +43,7 @@ pydantic = ">= 1.9.2"
pydantic-core = ">=2.18.2"
requests = ">=2.20"
typing_extensions = ">= 4.0.0"
-websockets = ">=13.0"
+websockets = ">=11.0"
[tool.poetry.group.dev.dependencies]
mypy = "==1.13.0"
diff --git a/reference.md b/reference.md
index 8a450999..af30ff63 100644
--- a/reference.md
+++ b/reference.md
@@ -8643,6 +8643,7 @@ client.conversational_ai.conversations.list(
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
topic_ids=["topic_ids"],
exclude_statuses=["initiated"],
@@ -8831,6 +8832,14 @@ client.conversational_ai.conversations.list(
-
+**text_only:** `typing.Optional[bool]`
+
+
+
+
+
+-
+
**branch_id:** `typing.Optional[str]` — Filter conversations by branch ID.
@@ -15663,6 +15672,86 @@ client.conversational_ai.agents.branches.merge(
+
+
+
+
+## ConversationalAi Agents Versions
+client.conversational_ai.agents.versions.get(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Get metadata for a specific agent version
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.conversational_ai.agents.versions.get(
+ agent_id="agent_3701k3ttaq12ewp8b7qv5rfyszkz",
+ version_id="agtvrsn_0901k4aafjxxfxt93gd841r7tv5t",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**agent_id:** `str` — The id of an agent. This is returned on agent creation.
+
+
+
+
+
+-
+
+**version_id:** `str` — Unique identifier for the version.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -16414,6 +16503,7 @@ client.conversational_ai.conversations.messages.text_search(
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
sort_by="search_score",
cursor="cursor",
@@ -16593,6 +16683,14 @@ client.conversational_ai.conversations.messages.text_search(
-
+**text_only:** `typing.Optional[bool]`
+
+
+
+
+
+-
+
**branch_id:** `typing.Optional[str]` — Filter conversations by branch ID.
@@ -27343,6 +27441,88 @@ client.workspace.auth_connections.delete(
+
+
+
+
+client.workspace.auth_connections.update(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an auth connection
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from elevenlabs import ElevenLabs
+from elevenlabs.workspace.auth_connections import (
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+)
+
+client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+)
+client.workspace.auth_connections.update(
+ auth_connection_id="auth_connection_id",
+ request=AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials(),
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**auth_connection_id:** `str`
+
+
+
+
+
+-
+
+**request:** `AuthConnectionsUpdateRequestBody`
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
diff --git a/src/elevenlabs/__init__.py b/src/elevenlabs/__init__.py
index 79357d22..b90ed8bc 100644
--- a/src/elevenlabs/__init__.py
+++ b/src/elevenlabs/__init__.py
@@ -478,6 +478,7 @@
CreateAudioNativeProjectRequest,
CreateAuthConnectionEnvironmentVariableRequest,
CreateBasicAuthRequest,
+ CreateBearerAuthRequest,
CreateClientAppointmentParams,
CreateClientInteractionParams,
CreateClientParams,
@@ -842,10 +843,12 @@
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials,
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt,
ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt,
+ ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth,
ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth,
ListCalendarEventsParams,
ListClientInteractionsParams,
ListClientsParams,
+ ListCustomerFacingAgentsParams,
ListGroupSessionsParams,
ListHolidaysParams,
ListLocationsParams,
@@ -881,6 +884,8 @@
LlmUsageCalculatorResponseModel,
LlmUsageInput,
LlmUsageOutput,
+ LoadProcedureToolConfig,
+ LoadProcedureToolErrorStatus,
ManualSource,
ManualVerificationFileResponse,
ManualVerificationResponse,
@@ -1004,6 +1009,7 @@
PrivacyConfigOutput,
PrivateKeyJwtResponse,
PrivateKeyJwtResponseAlgorithm,
+ ProcedureAtVersion,
ProcedureCompilerMode,
ProcedureRefResponseModel,
ProcedureSettings,
@@ -1216,6 +1222,7 @@
SipUriTransferDestination,
SkipTurnToolConfig,
SkipTurnToolResponseModel,
+ SlackBotAuthResponse,
SmsConversationInfo,
SmsConversationInfoDirection,
SoftTimeoutConfig,
@@ -1270,6 +1277,7 @@
SystemToolConfigInputParams_EndCall,
SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
+ SystemToolConfigInputParams_LoadProcedure,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
SystemToolConfigInputParams_TransferToAgent,
@@ -1280,6 +1288,7 @@
SystemToolConfigOutputParams_EndCall,
SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
+ SystemToolConfigOutputParams_LoadProcedure,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
SystemToolConfigOutputParams_TransferToAgent,
@@ -1408,6 +1417,7 @@
UpdateAgentRuleParams,
UpdateAssetParams,
UpdateAudioNativeProjectRequest,
+ UpdateBasicAuthRequest,
UpdateBookingPageSettingsParams,
UpdateBusinessInfoParams,
UpdateCalendarEventParams,
@@ -1417,6 +1427,10 @@
UpdateGroupSessionSeatsParams,
UpdateHolidayParams,
UpdateLocationParams,
+ UpdateOAuth2ClientCredsRequest,
+ UpdateOAuth2JwtRequest,
+ UpdateOAuth2JwtRequestAlgorithm,
+ UpdateOAuth2JwtRequestTokenResponseField,
UpdateProductParams,
UpdateProjectRequest,
UpdatePronunciationDictionariesRequest,
@@ -2274,6 +2288,7 @@
"CreateAudioNativeProjectRequest": ".types",
"CreateAuthConnectionEnvironmentVariableRequest": ".types",
"CreateBasicAuthRequest": ".types",
+ "CreateBearerAuthRequest": ".types",
"CreateClientAppointmentParams": ".types",
"CreateClientInteractionParams": ".types",
"CreateClientParams": ".types",
@@ -2652,10 +2667,12 @@
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt": ".types",
+ "ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth": ".types",
"ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth": ".types",
"ListCalendarEventsParams": ".types",
"ListClientInteractionsParams": ".types",
"ListClientsParams": ".types",
+ "ListCustomerFacingAgentsParams": ".types",
"ListGroupSessionsParams": ".types",
"ListHolidaysParams": ".types",
"ListLocationsParams": ".types",
@@ -2691,6 +2708,8 @@
"LlmUsageCalculatorResponseModel": ".types",
"LlmUsageInput": ".types",
"LlmUsageOutput": ".types",
+ "LoadProcedureToolConfig": ".types",
+ "LoadProcedureToolErrorStatus": ".types",
"ManualSource": ".types",
"ManualVerificationFileResponse": ".types",
"ManualVerificationResponse": ".types",
@@ -2816,6 +2835,7 @@
"PrivacyConfigOutput": ".types",
"PrivateKeyJwtResponse": ".types",
"PrivateKeyJwtResponseAlgorithm": ".types",
+ "ProcedureAtVersion": ".types",
"ProcedureCompilerMode": ".types",
"ProcedureRefResponseModel": ".types",
"ProcedureSettings": ".types",
@@ -3040,6 +3060,7 @@
"SipUriTransferDestination": ".types",
"SkipTurnToolConfig": ".types",
"SkipTurnToolResponseModel": ".types",
+ "SlackBotAuthResponse": ".types",
"SmsConversationInfo": ".types",
"SmsConversationInfoDirection": ".types",
"SoftTimeoutConfig": ".types",
@@ -3105,6 +3126,7 @@
"SystemToolConfigInputParams_EndCall": ".types",
"SystemToolConfigInputParams_KnowledgeBaseRag": ".types",
"SystemToolConfigInputParams_LanguageDetection": ".types",
+ "SystemToolConfigInputParams_LoadProcedure": ".types",
"SystemToolConfigInputParams_PlayKeypadTouchTone": ".types",
"SystemToolConfigInputParams_SkipTurn": ".types",
"SystemToolConfigInputParams_TransferToAgent": ".types",
@@ -3115,6 +3137,7 @@
"SystemToolConfigOutputParams_EndCall": ".types",
"SystemToolConfigOutputParams_KnowledgeBaseRag": ".types",
"SystemToolConfigOutputParams_LanguageDetection": ".types",
+ "SystemToolConfigOutputParams_LoadProcedure": ".types",
"SystemToolConfigOutputParams_PlayKeypadTouchTone": ".types",
"SystemToolConfigOutputParams_SkipTurn": ".types",
"SystemToolConfigOutputParams_TransferToAgent": ".types",
@@ -3253,6 +3276,7 @@
"UpdateAgentRuleParams": ".types",
"UpdateAssetParams": ".types",
"UpdateAudioNativeProjectRequest": ".types",
+ "UpdateBasicAuthRequest": ".types",
"UpdateBookingPageSettingsParams": ".types",
"UpdateBusinessInfoParams": ".types",
"UpdateCalendarEventParams": ".types",
@@ -3263,6 +3287,10 @@
"UpdateGroupSessionSeatsParams": ".types",
"UpdateHolidayParams": ".types",
"UpdateLocationParams": ".types",
+ "UpdateOAuth2ClientCredsRequest": ".types",
+ "UpdateOAuth2JwtRequest": ".types",
+ "UpdateOAuth2JwtRequestAlgorithm": ".types",
+ "UpdateOAuth2JwtRequestTokenResponseField": ".types",
"UpdateProductParams": ".types",
"UpdateProjectRequest": ".types",
"UpdatePronunciationDictionariesRequest": ".types",
@@ -4051,6 +4079,7 @@ def __dir__():
"CreateAudioNativeProjectRequest",
"CreateAuthConnectionEnvironmentVariableRequest",
"CreateBasicAuthRequest",
+ "CreateBearerAuthRequest",
"CreateClientAppointmentParams",
"CreateClientInteractionParams",
"CreateClientParams",
@@ -4429,10 +4458,12 @@ def __dir__():
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials",
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt",
"ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt",
+ "ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth",
"ListCalendarEventsParams",
"ListClientInteractionsParams",
"ListClientsParams",
+ "ListCustomerFacingAgentsParams",
"ListGroupSessionsParams",
"ListHolidaysParams",
"ListLocationsParams",
@@ -4468,6 +4499,8 @@ def __dir__():
"LlmUsageCalculatorResponseModel",
"LlmUsageInput",
"LlmUsageOutput",
+ "LoadProcedureToolConfig",
+ "LoadProcedureToolErrorStatus",
"ManualSource",
"ManualVerificationFileResponse",
"ManualVerificationResponse",
@@ -4593,6 +4626,7 @@ def __dir__():
"PrivacyConfigOutput",
"PrivateKeyJwtResponse",
"PrivateKeyJwtResponseAlgorithm",
+ "ProcedureAtVersion",
"ProcedureCompilerMode",
"ProcedureRefResponseModel",
"ProcedureSettings",
@@ -4817,6 +4851,7 @@ def __dir__():
"SipUriTransferDestination",
"SkipTurnToolConfig",
"SkipTurnToolResponseModel",
+ "SlackBotAuthResponse",
"SmsConversationInfo",
"SmsConversationInfoDirection",
"SoftTimeoutConfig",
@@ -4882,6 +4917,7 @@ def __dir__():
"SystemToolConfigInputParams_EndCall",
"SystemToolConfigInputParams_KnowledgeBaseRag",
"SystemToolConfigInputParams_LanguageDetection",
+ "SystemToolConfigInputParams_LoadProcedure",
"SystemToolConfigInputParams_PlayKeypadTouchTone",
"SystemToolConfigInputParams_SkipTurn",
"SystemToolConfigInputParams_TransferToAgent",
@@ -4892,6 +4928,7 @@ def __dir__():
"SystemToolConfigOutputParams_EndCall",
"SystemToolConfigOutputParams_KnowledgeBaseRag",
"SystemToolConfigOutputParams_LanguageDetection",
+ "SystemToolConfigOutputParams_LoadProcedure",
"SystemToolConfigOutputParams_PlayKeypadTouchTone",
"SystemToolConfigOutputParams_SkipTurn",
"SystemToolConfigOutputParams_TransferToAgent",
@@ -5030,6 +5067,7 @@ def __dir__():
"UpdateAgentRuleParams",
"UpdateAssetParams",
"UpdateAudioNativeProjectRequest",
+ "UpdateBasicAuthRequest",
"UpdateBookingPageSettingsParams",
"UpdateBusinessInfoParams",
"UpdateCalendarEventParams",
@@ -5040,6 +5078,10 @@ def __dir__():
"UpdateGroupSessionSeatsParams",
"UpdateHolidayParams",
"UpdateLocationParams",
+ "UpdateOAuth2ClientCredsRequest",
+ "UpdateOAuth2JwtRequest",
+ "UpdateOAuth2JwtRequestAlgorithm",
+ "UpdateOAuth2JwtRequestTokenResponseField",
"UpdateProductParams",
"UpdateProjectRequest",
"UpdatePronunciationDictionariesRequest",
diff --git a/src/elevenlabs/conversational_ai/agents/__init__.py b/src/elevenlabs/conversational_ai/agents/__init__.py
index 207286bb..f3ddd095 100644
--- a/src/elevenlabs/conversational_ai/agents/__init__.py
+++ b/src/elevenlabs/conversational_ai/agents/__init__.py
@@ -6,7 +6,7 @@
from importlib import import_module
if typing.TYPE_CHECKING:
- from . import branches, deployments, drafts, knowledge_base, link, llm_usage, summaries, widget
+ from . import branches, deployments, drafts, knowledge_base, link, llm_usage, summaries, versions, widget
from .summaries import (
SummariesGetResponseValue,
SummariesGetResponseValue_Failure,
@@ -23,6 +23,7 @@
"link": ".link",
"llm_usage": ".llm_usage",
"summaries": ".summaries",
+ "versions": ".versions",
"widget": ".widget",
}
@@ -59,5 +60,6 @@ def __dir__():
"link",
"llm_usage",
"summaries",
+ "versions",
"widget",
]
diff --git a/src/elevenlabs/conversational_ai/agents/client.py b/src/elevenlabs/conversational_ai/agents/client.py
index 38be064d..4c325b86 100644
--- a/src/elevenlabs/conversational_ai/agents/client.py
+++ b/src/elevenlabs/conversational_ai/agents/client.py
@@ -30,6 +30,7 @@
from .link.client import AsyncLinkClient, LinkClient
from .llm_usage.client import AsyncLlmUsageClient, LlmUsageClient
from .summaries.client import AsyncSummariesClient, SummariesClient
+ from .versions.client import AsyncVersionsClient, VersionsClient
from .widget.client import AsyncWidgetClient, WidgetClient
# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)
@@ -45,6 +46,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper):
self._knowledge_base: typing.Optional[KnowledgeBaseClient] = None
self._llm_usage: typing.Optional[LlmUsageClient] = None
self._branches: typing.Optional[BranchesClient] = None
+ self._versions: typing.Optional[VersionsClient] = None
self._deployments: typing.Optional[DeploymentsClient] = None
self._drafts: typing.Optional[DraftsClient] = None
@@ -640,6 +642,14 @@ def branches(self):
self._branches = BranchesClient(client_wrapper=self._client_wrapper)
return self._branches
+ @property
+ def versions(self):
+ if self._versions is None:
+ from .versions.client import VersionsClient # noqa: E402
+
+ self._versions = VersionsClient(client_wrapper=self._client_wrapper)
+ return self._versions
+
@property
def deployments(self):
if self._deployments is None:
@@ -667,6 +677,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._knowledge_base: typing.Optional[AsyncKnowledgeBaseClient] = None
self._llm_usage: typing.Optional[AsyncLlmUsageClient] = None
self._branches: typing.Optional[AsyncBranchesClient] = None
+ self._versions: typing.Optional[AsyncVersionsClient] = None
self._deployments: typing.Optional[AsyncDeploymentsClient] = None
self._drafts: typing.Optional[AsyncDraftsClient] = None
@@ -1334,6 +1345,14 @@ def branches(self):
self._branches = AsyncBranchesClient(client_wrapper=self._client_wrapper)
return self._branches
+ @property
+ def versions(self):
+ if self._versions is None:
+ from .versions.client import AsyncVersionsClient # noqa: E402
+
+ self._versions = AsyncVersionsClient(client_wrapper=self._client_wrapper)
+ return self._versions
+
@property
def deployments(self):
if self._deployments is None:
diff --git a/src/elevenlabs/conversational_ai/agents/versions/__init__.py b/src/elevenlabs/conversational_ai/agents/versions/__init__.py
new file mode 100644
index 00000000..5cde0202
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/agents/versions/__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/agents/versions/client.py b/src/elevenlabs/conversational_ai/agents/versions/client.py
new file mode 100644
index 00000000..05619863
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/agents/versions/client.py
@@ -0,0 +1,122 @@
+# 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.agent_version_metadata import AgentVersionMetadata
+from .raw_client import AsyncRawVersionsClient, RawVersionsClient
+
+
+class VersionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawVersionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawVersionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawVersionsClient
+ """
+ return self._raw_client
+
+ def get(
+ self, agent_id: str, version_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AgentVersionMetadata:
+ """
+ Get metadata for a specific agent version
+
+ Parameters
+ ----------
+ agent_id : str
+ The id of an agent. This is returned on agent creation.
+
+ version_id : str
+ Unique identifier for the version.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AgentVersionMetadata
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.conversational_ai.agents.versions.get(
+ agent_id="agent_3701k3ttaq12ewp8b7qv5rfyszkz",
+ version_id="agtvrsn_0901k4aafjxxfxt93gd841r7tv5t",
+ )
+ """
+ _response = self._raw_client.get(agent_id, version_id, request_options=request_options)
+ return _response.data
+
+
+class AsyncVersionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawVersionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawVersionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawVersionsClient
+ """
+ return self._raw_client
+
+ async def get(
+ self, agent_id: str, version_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AgentVersionMetadata:
+ """
+ Get metadata for a specific agent version
+
+ Parameters
+ ----------
+ agent_id : str
+ The id of an agent. This is returned on agent creation.
+
+ version_id : str
+ Unique identifier for the version.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AgentVersionMetadata
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.conversational_ai.agents.versions.get(
+ agent_id="agent_3701k3ttaq12ewp8b7qv5rfyszkz",
+ version_id="agtvrsn_0901k4aafjxxfxt93gd841r7tv5t",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get(agent_id, version_id, request_options=request_options)
+ return _response.data
diff --git a/src/elevenlabs/conversational_ai/agents/versions/raw_client.py b/src/elevenlabs/conversational_ai/agents/versions/raw_client.py
new file mode 100644
index 00000000..c51b4263
--- /dev/null
+++ b/src/elevenlabs/conversational_ai/agents/versions/raw_client.py
@@ -0,0 +1,129 @@
+# 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.agent_version_metadata import AgentVersionMetadata
+
+
+class RawVersionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def get(
+ self, agent_id: str, version_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[AgentVersionMetadata]:
+ """
+ Get metadata for a specific agent version
+
+ Parameters
+ ----------
+ agent_id : str
+ The id of an agent. This is returned on agent creation.
+
+ version_id : str
+ Unique identifier for the version.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[AgentVersionMetadata]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/convai/agents/{jsonable_encoder(agent_id)}/versions/{jsonable_encoder(version_id)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AgentVersionMetadata,
+ construct_type(
+ type_=AgentVersionMetadata, # 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 AsyncRawVersionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def get(
+ self, agent_id: str, version_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[AgentVersionMetadata]:
+ """
+ Get metadata for a specific agent version
+
+ Parameters
+ ----------
+ agent_id : str
+ The id of an agent. This is returned on agent creation.
+
+ version_id : str
+ Unique identifier for the version.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[AgentVersionMetadata]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/convai/agents/{jsonable_encoder(agent_id)}/versions/{jsonable_encoder(version_id)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AgentVersionMetadata,
+ construct_type(
+ type_=AgentVersionMetadata, # 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/client.py b/src/elevenlabs/conversational_ai/conversations/client.py
index 49ecdf58..6faa6f85 100644
--- a/src/elevenlabs/conversational_ai/conversations/client.py
+++ b/src/elevenlabs/conversational_ai/conversations/client.py
@@ -188,6 +188,7 @@ def list(
summary_mode: typing.Optional[ConversationsListRequestSummaryMode] = None,
search: typing.Optional[str] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
exclude_statuses: typing.Optional[
@@ -266,6 +267,8 @@ def list(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -315,6 +318,7 @@ def list(
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
topic_ids=["topic_ids"],
exclude_statuses=["initiated"],
@@ -343,6 +347,7 @@ def list(
summary_mode=summary_mode,
search=search,
conversation_initiation_source=conversation_initiation_source,
+ text_only=text_only,
branch_id=branch_id,
topic_ids=topic_ids,
exclude_statuses=exclude_statuses,
@@ -696,6 +701,7 @@ async def list(
summary_mode: typing.Optional[ConversationsListRequestSummaryMode] = None,
search: typing.Optional[str] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
exclude_statuses: typing.Optional[
@@ -774,6 +780,8 @@ async def list(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -828,6 +836,7 @@ async def main() -> None:
summary_mode="exclude",
search="search",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
topic_ids=["topic_ids"],
exclude_statuses=["initiated"],
@@ -859,6 +868,7 @@ async def main() -> None:
summary_mode=summary_mode,
search=search,
conversation_initiation_source=conversation_initiation_source,
+ text_only=text_only,
branch_id=branch_id,
topic_ids=topic_ids,
exclude_statuses=exclude_statuses,
diff --git a/src/elevenlabs/conversational_ai/conversations/messages/client.py b/src/elevenlabs/conversational_ai/conversations/messages/client.py
index 0f515c93..e0915618 100644
--- a/src/elevenlabs/conversational_ai/conversations/messages/client.py
+++ b/src/elevenlabs/conversational_ai/conversations/messages/client.py
@@ -50,6 +50,7 @@ def text_search(
page_size: typing.Optional[int] = None,
summary_mode: typing.Optional[MessagesTextSearchRequestSummaryMode] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
sort_by: typing.Optional[MessageSearchSortBy] = None,
cursor: typing.Optional[str] = None,
@@ -119,6 +120,8 @@ def text_search(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -164,6 +167,7 @@ def text_search(
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
sort_by="search_score",
cursor="cursor",
@@ -190,6 +194,7 @@ def text_search(
page_size=page_size,
summary_mode=summary_mode,
conversation_initiation_source=conversation_initiation_source,
+ text_only=text_only,
branch_id=branch_id,
sort_by=sort_by,
cursor=cursor,
@@ -293,6 +298,7 @@ async def text_search(
page_size: typing.Optional[int] = None,
summary_mode: typing.Optional[MessagesTextSearchRequestSummaryMode] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
sort_by: typing.Optional[MessageSearchSortBy] = None,
cursor: typing.Optional[str] = None,
@@ -362,6 +368,8 @@ async def text_search(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -412,6 +420,7 @@ async def main() -> None:
page_size=1,
summary_mode="exclude",
conversation_initiation_source="unknown",
+ text_only=True,
branch_id="branch_id",
sort_by="search_score",
cursor="cursor",
@@ -441,6 +450,7 @@ async def main() -> None:
page_size=page_size,
summary_mode=summary_mode,
conversation_initiation_source=conversation_initiation_source,
+ text_only=text_only,
branch_id=branch_id,
sort_by=sort_by,
cursor=cursor,
diff --git a/src/elevenlabs/conversational_ai/conversations/messages/raw_client.py b/src/elevenlabs/conversational_ai/conversations/messages/raw_client.py
index 66ffea2c..cca51e99 100644
--- a/src/elevenlabs/conversational_ai/conversations/messages/raw_client.py
+++ b/src/elevenlabs/conversational_ai/conversations/messages/raw_client.py
@@ -43,6 +43,7 @@ def text_search(
page_size: typing.Optional[int] = None,
summary_mode: typing.Optional[MessagesTextSearchRequestSummaryMode] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
sort_by: typing.Optional[MessageSearchSortBy] = None,
cursor: typing.Optional[str] = None,
@@ -112,6 +113,8 @@ def text_search(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -153,6 +156,7 @@ def text_search(
"page_size": page_size,
"summary_mode": summary_mode,
"conversation_initiation_source": conversation_initiation_source,
+ "text_only": text_only,
"branch_id": branch_id,
"sort_by": sort_by,
"cursor": cursor,
@@ -284,6 +288,7 @@ async def text_search(
page_size: typing.Optional[int] = None,
summary_mode: typing.Optional[MessagesTextSearchRequestSummaryMode] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
sort_by: typing.Optional[MessageSearchSortBy] = None,
cursor: typing.Optional[str] = None,
@@ -353,6 +358,8 @@ async def text_search(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -394,6 +401,7 @@ async def text_search(
"page_size": page_size,
"summary_mode": summary_mode,
"conversation_initiation_source": conversation_initiation_source,
+ "text_only": text_only,
"branch_id": branch_id,
"sort_by": sort_by,
"cursor": cursor,
diff --git a/src/elevenlabs/conversational_ai/conversations/raw_client.py b/src/elevenlabs/conversational_ai/conversations/raw_client.py
index 682d5777..4c48c584 100644
--- a/src/elevenlabs/conversational_ai/conversations/raw_client.py
+++ b/src/elevenlabs/conversational_ai/conversations/raw_client.py
@@ -191,6 +191,7 @@ def list(
summary_mode: typing.Optional[ConversationsListRequestSummaryMode] = None,
search: typing.Optional[str] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
exclude_statuses: typing.Optional[
@@ -269,6 +270,8 @@ def list(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -314,6 +317,7 @@ def list(
"summary_mode": summary_mode,
"search": search,
"conversation_initiation_source": conversation_initiation_source,
+ "text_only": text_only,
"branch_id": branch_id,
"topic_ids": topic_ids,
"exclude_statuses": exclude_statuses,
@@ -684,6 +688,7 @@ async def list(
summary_mode: typing.Optional[ConversationsListRequestSummaryMode] = None,
search: typing.Optional[str] = None,
conversation_initiation_source: typing.Optional[ConversationInitiationSource] = None,
+ text_only: typing.Optional[bool] = None,
branch_id: typing.Optional[str] = None,
topic_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
exclude_statuses: typing.Optional[
@@ -762,6 +767,8 @@ async def list(
conversation_initiation_source : typing.Optional[ConversationInitiationSource]
+ text_only : typing.Optional[bool]
+
branch_id : typing.Optional[str]
Filter conversations by branch ID.
@@ -807,6 +814,7 @@ async def list(
"summary_mode": summary_mode,
"search": search,
"conversation_initiation_source": conversation_initiation_source,
+ "text_only": text_only,
"branch_id": branch_id,
"topic_ids": topic_ids,
"exclude_statuses": exclude_statuses,
diff --git a/src/elevenlabs/core/client_wrapper.py b/src/elevenlabs/core/client_wrapper.py
index 3514556a..b59bd864 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.47.0",
+ "User-Agent": "elevenlabs/2.48.0",
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "elevenlabs",
- "X-Fern-SDK-Version": "2.47.0",
+ "X-Fern-SDK-Version": "2.48.0",
**(self.get_custom_headers() or {}),
}
if self._api_key is not None:
diff --git a/src/elevenlabs/types/__init__.py b/src/elevenlabs/types/__init__.py
index 8bbaf200..ab36392a 100644
--- a/src/elevenlabs/types/__init__.py
+++ b/src/elevenlabs/types/__init__.py
@@ -568,6 +568,7 @@
from .create_audio_native_project_request import CreateAudioNativeProjectRequest
from .create_auth_connection_environment_variable_request import CreateAuthConnectionEnvironmentVariableRequest
from .create_basic_auth_request import CreateBasicAuthRequest
+ from .create_bearer_auth_request import CreateBearerAuthRequest
from .create_client_appointment_params import CreateClientAppointmentParams
from .create_client_interaction_params import CreateClientInteractionParams
from .create_client_params import CreateClientParams
@@ -979,11 +980,13 @@
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials,
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt,
ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt,
+ ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth,
ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth,
)
from .list_calendar_events_params import ListCalendarEventsParams
from .list_client_interactions_params import ListClientInteractionsParams
from .list_clients_params import ListClientsParams
+ from .list_customer_facing_agents_params import ListCustomerFacingAgentsParams
from .list_group_sessions_params import ListGroupSessionsParams
from .list_holidays_params import ListHolidaysParams
from .list_locations_params import ListLocationsParams
@@ -1019,6 +1022,8 @@
from .llm_usage_calculator_response_model import LlmUsageCalculatorResponseModel
from .llm_usage_input import LlmUsageInput
from .llm_usage_output import LlmUsageOutput
+ from .load_procedure_tool_config import LoadProcedureToolConfig
+ from .load_procedure_tool_error_status import LoadProcedureToolErrorStatus
from .manual_source import ManualSource
from .manual_verification_file_response import ManualVerificationFileResponse
from .manual_verification_response import ManualVerificationResponse
@@ -1154,6 +1159,7 @@
from .privacy_config_output import PrivacyConfigOutput
from .private_key_jwt_response import PrivateKeyJwtResponse
from .private_key_jwt_response_algorithm import PrivateKeyJwtResponseAlgorithm
+ from .procedure_at_version import ProcedureAtVersion
from .procedure_compiler_mode import ProcedureCompilerMode
from .procedure_ref_response_model import ProcedureRefResponseModel
from .procedure_settings import ProcedureSettings
@@ -1392,6 +1398,7 @@
from .sip_uri_transfer_destination import SipUriTransferDestination
from .skip_turn_tool_config import SkipTurnToolConfig
from .skip_turn_tool_response_model import SkipTurnToolResponseModel
+ from .slack_bot_auth_response import SlackBotAuthResponse
from .sms_conversation_info import SmsConversationInfo
from .sms_conversation_info_direction import SmsConversationInfoDirection
from .soft_timeout_config import SoftTimeoutConfig
@@ -1449,6 +1456,7 @@
SystemToolConfigInputParams_EndCall,
SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
+ SystemToolConfigInputParams_LoadProcedure,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
SystemToolConfigInputParams_TransferToAgent,
@@ -1461,6 +1469,7 @@
SystemToolConfigOutputParams_EndCall,
SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
+ SystemToolConfigOutputParams_LoadProcedure,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
SystemToolConfigOutputParams_TransferToAgent,
@@ -1604,6 +1613,7 @@
from .update_agent_rule_params import UpdateAgentRuleParams
from .update_asset_params import UpdateAssetParams
from .update_audio_native_project_request import UpdateAudioNativeProjectRequest
+ from .update_basic_auth_request import UpdateBasicAuthRequest
from .update_booking_page_settings_params import UpdateBookingPageSettingsParams
from .update_business_info_params import UpdateBusinessInfoParams
from .update_calendar_event_params import UpdateCalendarEventParams
@@ -1613,6 +1623,10 @@
from .update_group_session_seats_params import UpdateGroupSessionSeatsParams
from .update_holiday_params import UpdateHolidayParams
from .update_location_params import UpdateLocationParams
+ from .update_o_auth_2_client_creds_request import UpdateOAuth2ClientCredsRequest
+ from .update_o_auth_2_jwt_request import UpdateOAuth2JwtRequest
+ from .update_o_auth_2_jwt_request_algorithm import UpdateOAuth2JwtRequestAlgorithm
+ from .update_o_auth_2_jwt_request_token_response_field import UpdateOAuth2JwtRequestTokenResponseField
from .update_product_params import UpdateProductParams
from .update_project_request import UpdateProjectRequest
from .update_pronunciation_dictionaries_request import UpdatePronunciationDictionariesRequest
@@ -2355,6 +2369,7 @@
"CreateAudioNativeProjectRequest": ".create_audio_native_project_request",
"CreateAuthConnectionEnvironmentVariableRequest": ".create_auth_connection_environment_variable_request",
"CreateBasicAuthRequest": ".create_basic_auth_request",
+ "CreateBearerAuthRequest": ".create_bearer_auth_request",
"CreateClientAppointmentParams": ".create_client_appointment_params",
"CreateClientInteractionParams": ".create_client_interaction_params",
"CreateClientParams": ".create_client_params",
@@ -2719,10 +2734,12 @@
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt": ".list_auth_connections_response_auth_connections_item",
+ "ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth": ".list_auth_connections_response_auth_connections_item",
"ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth": ".list_auth_connections_response_auth_connections_item",
"ListCalendarEventsParams": ".list_calendar_events_params",
"ListClientInteractionsParams": ".list_client_interactions_params",
"ListClientsParams": ".list_clients_params",
+ "ListCustomerFacingAgentsParams": ".list_customer_facing_agents_params",
"ListGroupSessionsParams": ".list_group_sessions_params",
"ListHolidaysParams": ".list_holidays_params",
"ListLocationsParams": ".list_locations_params",
@@ -2758,6 +2775,8 @@
"LlmUsageCalculatorResponseModel": ".llm_usage_calculator_response_model",
"LlmUsageInput": ".llm_usage_input",
"LlmUsageOutput": ".llm_usage_output",
+ "LoadProcedureToolConfig": ".load_procedure_tool_config",
+ "LoadProcedureToolErrorStatus": ".load_procedure_tool_error_status",
"ManualSource": ".manual_source",
"ManualVerificationFileResponse": ".manual_verification_file_response",
"ManualVerificationResponse": ".manual_verification_response",
@@ -2881,6 +2900,7 @@
"PrivacyConfigOutput": ".privacy_config_output",
"PrivateKeyJwtResponse": ".private_key_jwt_response",
"PrivateKeyJwtResponseAlgorithm": ".private_key_jwt_response_algorithm",
+ "ProcedureAtVersion": ".procedure_at_version",
"ProcedureCompilerMode": ".procedure_compiler_mode",
"ProcedureRefResponseModel": ".procedure_ref_response_model",
"ProcedureSettings": ".procedure_settings",
@@ -3093,6 +3113,7 @@
"SipUriTransferDestination": ".sip_uri_transfer_destination",
"SkipTurnToolConfig": ".skip_turn_tool_config",
"SkipTurnToolResponseModel": ".skip_turn_tool_response_model",
+ "SlackBotAuthResponse": ".slack_bot_auth_response",
"SmsConversationInfo": ".sms_conversation_info",
"SmsConversationInfoDirection": ".sms_conversation_info_direction",
"SoftTimeoutConfig": ".soft_timeout_config",
@@ -3147,6 +3168,7 @@
"SystemToolConfigInputParams_EndCall": ".system_tool_config_input_params",
"SystemToolConfigInputParams_KnowledgeBaseRag": ".system_tool_config_input_params",
"SystemToolConfigInputParams_LanguageDetection": ".system_tool_config_input_params",
+ "SystemToolConfigInputParams_LoadProcedure": ".system_tool_config_input_params",
"SystemToolConfigInputParams_PlayKeypadTouchTone": ".system_tool_config_input_params",
"SystemToolConfigInputParams_SkipTurn": ".system_tool_config_input_params",
"SystemToolConfigInputParams_TransferToAgent": ".system_tool_config_input_params",
@@ -3157,6 +3179,7 @@
"SystemToolConfigOutputParams_EndCall": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_KnowledgeBaseRag": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_LanguageDetection": ".system_tool_config_output_params",
+ "SystemToolConfigOutputParams_LoadProcedure": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_PlayKeypadTouchTone": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_SkipTurn": ".system_tool_config_output_params",
"SystemToolConfigOutputParams_TransferToAgent": ".system_tool_config_output_params",
@@ -3285,6 +3308,7 @@
"UpdateAgentRuleParams": ".update_agent_rule_params",
"UpdateAssetParams": ".update_asset_params",
"UpdateAudioNativeProjectRequest": ".update_audio_native_project_request",
+ "UpdateBasicAuthRequest": ".update_basic_auth_request",
"UpdateBookingPageSettingsParams": ".update_booking_page_settings_params",
"UpdateBusinessInfoParams": ".update_business_info_params",
"UpdateCalendarEventParams": ".update_calendar_event_params",
@@ -3294,6 +3318,10 @@
"UpdateGroupSessionSeatsParams": ".update_group_session_seats_params",
"UpdateHolidayParams": ".update_holiday_params",
"UpdateLocationParams": ".update_location_params",
+ "UpdateOAuth2ClientCredsRequest": ".update_o_auth_2_client_creds_request",
+ "UpdateOAuth2JwtRequest": ".update_o_auth_2_jwt_request",
+ "UpdateOAuth2JwtRequestAlgorithm": ".update_o_auth_2_jwt_request_algorithm",
+ "UpdateOAuth2JwtRequestTokenResponseField": ".update_o_auth_2_jwt_request_token_response_field",
"UpdateProductParams": ".update_product_params",
"UpdateProjectRequest": ".update_project_request",
"UpdatePronunciationDictionariesRequest": ".update_pronunciation_dictionaries_request",
@@ -4016,6 +4044,7 @@ def __dir__():
"CreateAudioNativeProjectRequest",
"CreateAuthConnectionEnvironmentVariableRequest",
"CreateBasicAuthRequest",
+ "CreateBearerAuthRequest",
"CreateClientAppointmentParams",
"CreateClientInteractionParams",
"CreateClientParams",
@@ -4380,10 +4409,12 @@ def __dir__():
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials",
"ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt",
"ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt",
+ "ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth",
"ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth",
"ListCalendarEventsParams",
"ListClientInteractionsParams",
"ListClientsParams",
+ "ListCustomerFacingAgentsParams",
"ListGroupSessionsParams",
"ListHolidaysParams",
"ListLocationsParams",
@@ -4419,6 +4450,8 @@ def __dir__():
"LlmUsageCalculatorResponseModel",
"LlmUsageInput",
"LlmUsageOutput",
+ "LoadProcedureToolConfig",
+ "LoadProcedureToolErrorStatus",
"ManualSource",
"ManualVerificationFileResponse",
"ManualVerificationResponse",
@@ -4542,6 +4575,7 @@ def __dir__():
"PrivacyConfigOutput",
"PrivateKeyJwtResponse",
"PrivateKeyJwtResponseAlgorithm",
+ "ProcedureAtVersion",
"ProcedureCompilerMode",
"ProcedureRefResponseModel",
"ProcedureSettings",
@@ -4754,6 +4788,7 @@ def __dir__():
"SipUriTransferDestination",
"SkipTurnToolConfig",
"SkipTurnToolResponseModel",
+ "SlackBotAuthResponse",
"SmsConversationInfo",
"SmsConversationInfoDirection",
"SoftTimeoutConfig",
@@ -4808,6 +4843,7 @@ def __dir__():
"SystemToolConfigInputParams_EndCall",
"SystemToolConfigInputParams_KnowledgeBaseRag",
"SystemToolConfigInputParams_LanguageDetection",
+ "SystemToolConfigInputParams_LoadProcedure",
"SystemToolConfigInputParams_PlayKeypadTouchTone",
"SystemToolConfigInputParams_SkipTurn",
"SystemToolConfigInputParams_TransferToAgent",
@@ -4818,6 +4854,7 @@ def __dir__():
"SystemToolConfigOutputParams_EndCall",
"SystemToolConfigOutputParams_KnowledgeBaseRag",
"SystemToolConfigOutputParams_LanguageDetection",
+ "SystemToolConfigOutputParams_LoadProcedure",
"SystemToolConfigOutputParams_PlayKeypadTouchTone",
"SystemToolConfigOutputParams_SkipTurn",
"SystemToolConfigOutputParams_TransferToAgent",
@@ -4946,6 +4983,7 @@ def __dir__():
"UpdateAgentRuleParams",
"UpdateAssetParams",
"UpdateAudioNativeProjectRequest",
+ "UpdateBasicAuthRequest",
"UpdateBookingPageSettingsParams",
"UpdateBusinessInfoParams",
"UpdateCalendarEventParams",
@@ -4955,6 +4993,10 @@ def __dir__():
"UpdateGroupSessionSeatsParams",
"UpdateHolidayParams",
"UpdateLocationParams",
+ "UpdateOAuth2ClientCredsRequest",
+ "UpdateOAuth2JwtRequest",
+ "UpdateOAuth2JwtRequestAlgorithm",
+ "UpdateOAuth2JwtRequestTokenResponseField",
"UpdateProductParams",
"UpdateProjectRequest",
"UpdatePronunciationDictionariesRequest",
diff --git a/src/elevenlabs/types/agent_alerting_monitor_config.py b/src/elevenlabs/types/agent_alerting_monitor_config.py
index 1f53d511..e63e3bc1 100644
--- a/src/elevenlabs/types/agent_alerting_monitor_config.py
+++ b/src/elevenlabs/types/agent_alerting_monitor_config.py
@@ -13,6 +13,11 @@ class AgentAlertingMonitorConfig(UncheckedBaseModel):
Failure rate threshold at which this monitor can notify.
"""
+ auto_resolve_after_inactive_minutes: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ How many minutes an alert can stay inactive before it is auto-resolved.
+ """
+
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/agent_alerting_settings.py b/src/elevenlabs/types/agent_alerting_settings.py
index dd2b0a45..6b6e6635 100644
--- a/src/elevenlabs/types/agent_alerting_settings.py
+++ b/src/elevenlabs/types/agent_alerting_settings.py
@@ -14,6 +14,11 @@ class AgentAlertingSettings(UncheckedBaseModel):
Alerting configuration keyed by monitor.
"""
+ auto_resolve_after_inactive_minutes: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ How many minutes an alert can stay inactive before it is auto-resolved.
+ """
+
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/audio_isolation_history_item_response_model.py b/src/elevenlabs/types/audio_isolation_history_item_response_model.py
index e7c43184..7103633e 100644
--- a/src/elevenlabs/types/audio_isolation_history_item_response_model.py
+++ b/src/elevenlabs/types/audio_isolation_history_item_response_model.py
@@ -20,6 +20,7 @@ class AudioIsolationHistoryItemResponseModel(UncheckedBaseModel):
source_video_url: typing.Optional[str] = None
supports_video: bool
processing: bool
+ video_processing_failed: bool
preview_b_64: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="preview_b64")] = None
if IS_PYDANTIC_V2:
diff --git a/src/elevenlabs/types/conversation_initiation_source.py b/src/elevenlabs/types/conversation_initiation_source.py
index 217d7e11..90c19695 100644
--- a/src/elevenlabs/types/conversation_initiation_source.py
+++ b/src/elevenlabs/types/conversation_initiation_source.py
@@ -22,6 +22,7 @@
"zendesk_integration",
"slack_integration",
"template_preview",
+ "genesys_bot_connector",
],
typing.Any,
]
diff --git a/src/elevenlabs/types/create_bearer_auth_request.py b/src/elevenlabs/types/create_bearer_auth_request.py
new file mode 100644
index 00000000..9a511745
--- /dev/null
+++ b/src/elevenlabs/types/create_bearer_auth_request.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 CreateBearerAuthRequest(UncheckedBaseModel):
+ """
+ Request model for creating Bearer Auth connections - inherits common settings and includes sensitive fields
+ """
+
+ name: str
+ provider: str
+ token: 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/get_phone_number_inbound_sip_trunk_config_response_model.py b/src/elevenlabs/types/get_phone_number_inbound_sip_trunk_config_response_model.py
index 8d9f1dec..841833a6 100644
--- a/src/elevenlabs/types/get_phone_number_inbound_sip_trunk_config_response_model.py
+++ b/src/elevenlabs/types/get_phone_number_inbound_sip_trunk_config_response_model.py
@@ -35,6 +35,11 @@ class GetPhoneNumberInboundSipTrunkConfigResponseModel(UncheckedBaseModel):
Domains of remote SIP servers used to validate TLS certificates.
"""
+ attributes_to_headers: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None)
+ """
+ Map of dynamic variable name to header name for attributes_to_headers
+ """
+
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_phone_number_outbound_sip_trunk_config_response_model.py b/src/elevenlabs/types/get_phone_number_outbound_sip_trunk_config_response_model.py
index 14e00b03..ba0d4281 100644
--- a/src/elevenlabs/types/get_phone_number_outbound_sip_trunk_config_response_model.py
+++ b/src/elevenlabs/types/get_phone_number_outbound_sip_trunk_config_response_model.py
@@ -34,6 +34,11 @@ class GetPhoneNumberOutboundSipTrunkConfigResponseModel(UncheckedBaseModel):
SIP headers for INVITE request
"""
+ attributes_to_headers: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None)
+ """
+ Map of dynamic variable name to header name for attributes_to_headers
+ """
+
has_auth_credentials: bool = pydantic.Field()
"""
Whether authentication credentials are configured
diff --git a/src/elevenlabs/types/inbound_sip_trunk_config_request_model.py b/src/elevenlabs/types/inbound_sip_trunk_config_request_model.py
index acec260e..935b0369 100644
--- a/src/elevenlabs/types/inbound_sip_trunk_config_request_model.py
+++ b/src/elevenlabs/types/inbound_sip_trunk_config_request_model.py
@@ -35,6 +35,11 @@ class InboundSipTrunkConfigRequestModel(UncheckedBaseModel):
Domains of remote SIP servers used to validate TLS certificates.
"""
+ attributes_to_headers: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None)
+ """
+ Map of dynamic variable name to header name for attributes_to_headers
+ """
+
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/list_auth_connections_response_auth_connections_item.py b/src/elevenlabs/types/list_auth_connections_response_auth_connections_item.py
index e81af7c3..0a21ec78 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
@@ -183,6 +183,7 @@ class ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials(Unc
basic_auth_in_header: typing.Optional[bool] = None
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
+ custom_headers: typing.Optional[typing.Dict[str, str]] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -253,6 +254,27 @@ class Config:
extra = pydantic.Extra.allow
+class ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["slack_bot_auth"] = "slack_bot_auth"
+ name: str
+ provider: typing.Optional[typing.Literal["Slack"]] = None
+ 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_WhatsappAuth(UncheckedBaseModel):
"""
The type of auth connection config
@@ -286,6 +308,7 @@ class Config:
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2ClientCredentials,
ListAuthConnectionsResponseAuthConnectionsItem_Oauth2Jwt,
ListAuthConnectionsResponseAuthConnectionsItem_PrivateKeyJwt,
+ ListAuthConnectionsResponseAuthConnectionsItem_SlackBotAuth,
ListAuthConnectionsResponseAuthConnectionsItem_WhatsappAuth,
],
UnionMetadata(discriminant="auth_type"),
diff --git a/src/elevenlabs/types/list_customer_facing_agents_params.py b/src/elevenlabs/types/list_customer_facing_agents_params.py
new file mode 100644
index 00000000..e9c2caae
--- /dev/null
+++ b/src/elevenlabs/types/list_customer_facing_agents_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 ListCustomerFacingAgentsParams(UncheckedBaseModel):
+ """
+ List every customer-facing agent on the workspace.
+
+ The assistant uses this whenever it needs to act on a specific customer-facing
+ agent (rules, config edits, etc.) so it can pick the right ``agent_id`` to pass
+ to mutating tools. Mirrors the ``list_services`` / ``list_clients``
+ pattern: read once, then mutate by id.
+ """
+
+ smb_tool_type: typing.Optional[typing.Literal["list_customer_facing_agents"]] = 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_speech_engines_response.py b/src/elevenlabs/types/list_speech_engines_response.py
index 19345c40..fe8e248e 100644
--- a/src/elevenlabs/types/list_speech_engines_response.py
+++ b/src/elevenlabs/types/list_speech_engines_response.py
@@ -9,7 +9,11 @@
class ListSpeechEnginesResponse(UncheckedBaseModel):
- speech_engines: typing.List[SpeechEngineSummaryResponse]
+ speech_engines: typing.List[SpeechEngineSummaryResponse] = pydantic.Field()
+ """
+ The speech engines matching the query
+ """
+
next_cursor: typing.Optional[str] = pydantic.Field(default=None)
"""
Cursor for fetching the next page
diff --git a/src/elevenlabs/types/llm.py b/src/elevenlabs/types/llm.py
index 02f82d60..e14dba66 100644
--- a/src/elevenlabs/types/llm.py
+++ b/src/elevenlabs/types/llm.py
@@ -32,6 +32,7 @@
"gemini-3-flash-preview",
"gemini-3.1-pro-preview",
"gemini-3.1-flash-lite-preview",
+ "gemini-3.1-flash-lite",
"claude-sonnet-4-5",
"claude-opus-4-7",
"claude-sonnet-4-6",
@@ -46,6 +47,7 @@
"qwen3-4b",
"qwen3-30b-a3b",
"qwen36-35b-a3b",
+ "qwen35-397b-a17b",
"gpt-oss-20b",
"gpt-oss-120b",
"glm-45-air-fp8",
diff --git a/src/elevenlabs/types/load_procedure_tool_config.py b/src/elevenlabs/types/load_procedure_tool_config.py
new file mode 100644
index 00000000..9e81256e
--- /dev/null
+++ b/src/elevenlabs/types/load_procedure_tool_config.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
+from .procedure_at_version import ProcedureAtVersion
+
+
+class LoadProcedureToolConfig(UncheckedBaseModel):
+ procedures: typing.Optional[typing.Dict[str, ProcedureAtVersion]] = 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/load_procedure_tool_error_status.py b/src/elevenlabs/types/load_procedure_tool_error_status.py
new file mode 100644
index 00000000..2fab5326
--- /dev/null
+++ b/src/elevenlabs/types/load_procedure_tool_error_status.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+LoadProcedureToolErrorStatus = typing.Union[typing.Literal["not_found", "invalid_name"], typing.Any]
diff --git a/src/elevenlabs/types/o_auth_2_client_creds_response.py b/src/elevenlabs/types/o_auth_2_client_creds_response.py
index ae948333..2db9c61a 100644
--- a/src/elevenlabs/types/o_auth_2_client_creds_response.py
+++ b/src/elevenlabs/types/o_auth_2_client_creds_response.py
@@ -26,6 +26,10 @@ class OAuth2ClientCredsResponse(UncheckedBaseModel):
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
+ custom_headers: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None)
+ """
+ Custom headers configured for OAuth2 token requests
+ """
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/outbound_sip_trunk_config_request_model.py b/src/elevenlabs/types/outbound_sip_trunk_config_request_model.py
index 9f39b127..20dfebf8 100644
--- a/src/elevenlabs/types/outbound_sip_trunk_config_request_model.py
+++ b/src/elevenlabs/types/outbound_sip_trunk_config_request_model.py
@@ -31,6 +31,11 @@ class OutboundSipTrunkConfigRequestModel(UncheckedBaseModel):
SIP X-* headers for INVITE request. These headers are sent as-is and may help identify this call.
"""
+ attributes_to_headers: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None)
+ """
+ Map of dynamic variable name to header name for attributes_to_headers
+ """
+
credentials: typing.Optional[SipTrunkCredentialsRequestModel] = pydantic.Field(default=None)
"""
Optional digest authentication credentials (username/password). If not provided, ACL authentication is assumed.
diff --git a/src/elevenlabs/types/procedure_at_version.py b/src/elevenlabs/types/procedure_at_version.py
new file mode 100644
index 00000000..db91dea6
--- /dev/null
+++ b/src/elevenlabs/types/procedure_at_version.py
@@ -0,0 +1,43 @@
+# 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 ProcedureAtVersion(UncheckedBaseModel):
+ procedure_id: str = pydantic.Field()
+ """
+ Procedure ID
+ """
+
+ name: str = pydantic.Field()
+ """
+ Procedure name
+ """
+
+ content: str = pydantic.Field()
+ """
+ Procedure content
+ """
+
+ agent_id: str = pydantic.Field()
+ """
+ Agent ID of the procedure
+ """
+
+ version_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Version ID of a version of the procedure. None for a procedure never versioned.
+ """
+
+ 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/procedure_compiler_mode.py b/src/elevenlabs/types/procedure_compiler_mode.py
index 85828a65..a4342da8 100644
--- a/src/elevenlabs/types/procedure_compiler_mode.py
+++ b/src/elevenlabs/types/procedure_compiler_mode.py
@@ -2,4 +2,4 @@
import typing
-ProcedureCompilerMode = typing.Literal["append"]
+ProcedureCompilerMode = typing.Union[typing.Literal["append", "skills"], typing.Any]
diff --git a/src/elevenlabs/types/prompt_agent_api_model_input.py b/src/elevenlabs/types/prompt_agent_api_model_input.py
index 735decc9..359239ed 100644
--- a/src/elevenlabs/types/prompt_agent_api_model_input.py
+++ b/src/elevenlabs/types/prompt_agent_api_model_input.py
@@ -40,7 +40,7 @@ class PromptAgentApiModelInput(UncheckedBaseModel):
temperature: typing.Optional[float] = pydantic.Field(default=None)
"""
- The temperature for the LLM
+ The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).
"""
max_tokens: typing.Optional[int] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/prompt_agent_api_model_output.py b/src/elevenlabs/types/prompt_agent_api_model_output.py
index 820392ff..8d266556 100644
--- a/src/elevenlabs/types/prompt_agent_api_model_output.py
+++ b/src/elevenlabs/types/prompt_agent_api_model_output.py
@@ -40,7 +40,7 @@ class PromptAgentApiModelOutput(UncheckedBaseModel):
temperature: typing.Optional[float] = pydantic.Field(default=None)
"""
- The temperature for the LLM
+ The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).
"""
max_tokens: typing.Optional[int] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/prompt_agent_api_model_workflow_override_input.py b/src/elevenlabs/types/prompt_agent_api_model_workflow_override_input.py
index 74f1dfb8..fb50cc4f 100644
--- a/src/elevenlabs/types/prompt_agent_api_model_workflow_override_input.py
+++ b/src/elevenlabs/types/prompt_agent_api_model_workflow_override_input.py
@@ -42,7 +42,7 @@ class PromptAgentApiModelWorkflowOverrideInput(UncheckedBaseModel):
temperature: typing.Optional[float] = pydantic.Field(default=None)
"""
- The temperature for the LLM
+ The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).
"""
max_tokens: typing.Optional[int] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/prompt_agent_api_model_workflow_override_output.py b/src/elevenlabs/types/prompt_agent_api_model_workflow_override_output.py
index 7f092eca..aca02429 100644
--- a/src/elevenlabs/types/prompt_agent_api_model_workflow_override_output.py
+++ b/src/elevenlabs/types/prompt_agent_api_model_workflow_override_output.py
@@ -44,7 +44,7 @@ class PromptAgentApiModelWorkflowOverrideOutput(UncheckedBaseModel):
temperature: typing.Optional[float] = pydantic.Field(default=None)
"""
- The temperature for the LLM
+ The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).
"""
max_tokens: typing.Optional[int] = pydantic.Field(default=None)
diff --git a/src/elevenlabs/types/slack_bot_auth_response.py b/src/elevenlabs/types/slack_bot_auth_response.py
new file mode 100644
index 00000000..0b5c9cd3
--- /dev/null
+++ b/src/elevenlabs/types/slack_bot_auth_response.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 .auth_connection_dependencies import AuthConnectionDependencies
+
+
+class SlackBotAuthResponse(UncheckedBaseModel):
+ """
+ Response model for the internal Slack BYO bot auth connection.
+ """
+
+ name: str
+ provider: typing.Optional[typing.Literal["Slack"]] = None
+ 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/speech_engine_response.py b/src/elevenlabs/types/speech_engine_response.py
index 05045eca..b3901795 100644
--- a/src/elevenlabs/types/speech_engine_response.py
+++ b/src/elevenlabs/types/speech_engine_response.py
@@ -21,17 +21,60 @@ class SpeechEngineResponse(UncheckedBaseModel):
The speech engine resource ID
"""
- name: str
- speech_engine: SpeechEngineConfig
- asr: AsrConversationalConfig
- tts: TtsConversationalConfigOutput
- turn: BaseTurnConfig
- conversation: ConversationConfigOutput
- privacy: PrivacyConfigOutput
- call_limits: AgentCallLimits
- language: str
- tags: typing.List[str]
- metadata: AgentMetadataDbModel
+ name: str = pydantic.Field()
+ """
+ Human-readable name for the speech engine
+ """
+
+ speech_engine: SpeechEngineConfig = pydantic.Field()
+ """
+ WebSocket connection settings for the upstream transcript server
+ """
+
+ asr: AsrConversationalConfig = pydantic.Field()
+ """
+ Automatic speech recognition configuration
+ """
+
+ tts: TtsConversationalConfigOutput = pydantic.Field()
+ """
+ Text-to-speech output configuration
+ """
+
+ turn: BaseTurnConfig = pydantic.Field()
+ """
+ Turn detection configuration
+ """
+
+ conversation: ConversationConfigOutput = pydantic.Field()
+ """
+ Conversation-level settings including client events and duration limits
+ """
+
+ privacy: PrivacyConfigOutput = pydantic.Field()
+ """
+ Privacy settings controlling recording, retention, and PII handling
+ """
+
+ call_limits: AgentCallLimits = pydantic.Field()
+ """
+ Concurrency and daily conversation limits for this speech engine
+ """
+
+ language: str = pydantic.Field()
+ """
+ ISO language code used by the speech engine (e.g. 'en')
+ """
+
+ tags: typing.List[str] = pydantic.Field()
+ """
+ Arbitrary tags for categorization and filtering
+ """
+
+ metadata: AgentMetadataDbModel = pydantic.Field()
+ """
+ Creation and update timestamps with source information
+ """
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/speech_engine_summary_response.py b/src/elevenlabs/types/speech_engine_summary_response.py
index 7cbfeb4d..0ff7477d 100644
--- a/src/elevenlabs/types/speech_engine_summary_response.py
+++ b/src/elevenlabs/types/speech_engine_summary_response.py
@@ -13,13 +13,20 @@ class SpeechEngineSummaryResponse(UncheckedBaseModel):
The speech engine resource ID
"""
- name: str
+ name: str = pydantic.Field()
+ """
+ Human-readable name for the speech engine
+ """
+
created_at_unix_secs: int = pydantic.Field()
"""
- Creation time in unix seconds
+ Creation time in Unix seconds
"""
- tags: typing.List[str]
+ tags: typing.List[str] = pydantic.Field()
+ """
+ Arbitrary tags for categorization and filtering
+ """
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/system_tool_config_input_params.py b/src/elevenlabs/types/system_tool_config_input_params.py
index 4c074b48..35fc5313 100644
--- a/src/elevenlabs/types/system_tool_config_input_params.py
+++ b/src/elevenlabs/types/system_tool_config_input_params.py
@@ -10,6 +10,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
from .agent_transfer import AgentTransfer
from .phone_number_transfer import PhoneNumberTransfer
+from .procedure_at_version import ProcedureAtVersion
class SystemToolConfigInputParams_EndCall(UncheckedBaseModel):
@@ -51,6 +52,20 @@ class Config:
extra = pydantic.Extra.allow
+class SystemToolConfigInputParams_LoadProcedure(UncheckedBaseModel):
+ system_tool_type: typing.Literal["load_procedure"] = "load_procedure"
+ procedures: typing.Optional[typing.Dict[str, ProcedureAtVersion]] = 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 SystemToolConfigInputParams_PlayKeypadTouchTone(UncheckedBaseModel):
system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone"
use_out_of_band_dtmf: typing.Optional[bool] = None
@@ -127,6 +142,7 @@ class Config:
SystemToolConfigInputParams_EndCall,
SystemToolConfigInputParams_KnowledgeBaseRag,
SystemToolConfigInputParams_LanguageDetection,
+ SystemToolConfigInputParams_LoadProcedure,
SystemToolConfigInputParams_PlayKeypadTouchTone,
SystemToolConfigInputParams_SkipTurn,
SystemToolConfigInputParams_TransferToAgent,
diff --git a/src/elevenlabs/types/system_tool_config_output_params.py b/src/elevenlabs/types/system_tool_config_output_params.py
index 14080047..fb175742 100644
--- a/src/elevenlabs/types/system_tool_config_output_params.py
+++ b/src/elevenlabs/types/system_tool_config_output_params.py
@@ -10,6 +10,7 @@
from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
from .agent_transfer import AgentTransfer
from .phone_number_transfer import PhoneNumberTransfer
+from .procedure_at_version import ProcedureAtVersion
class SystemToolConfigOutputParams_EndCall(UncheckedBaseModel):
@@ -51,6 +52,20 @@ class Config:
extra = pydantic.Extra.allow
+class SystemToolConfigOutputParams_LoadProcedure(UncheckedBaseModel):
+ system_tool_type: typing.Literal["load_procedure"] = "load_procedure"
+ procedures: typing.Optional[typing.Dict[str, ProcedureAtVersion]] = 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 SystemToolConfigOutputParams_PlayKeypadTouchTone(UncheckedBaseModel):
system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone"
use_out_of_band_dtmf: typing.Optional[bool] = None
@@ -127,6 +142,7 @@ class Config:
SystemToolConfigOutputParams_EndCall,
SystemToolConfigOutputParams_KnowledgeBaseRag,
SystemToolConfigOutputParams_LanguageDetection,
+ SystemToolConfigOutputParams_LoadProcedure,
SystemToolConfigOutputParams_PlayKeypadTouchTone,
SystemToolConfigOutputParams_SkipTurn,
SystemToolConfigOutputParams_TransferToAgent,
diff --git a/src/elevenlabs/types/update_basic_auth_request.py b/src/elevenlabs/types/update_basic_auth_request.py
new file mode 100644
index 00000000..813bed1b
--- /dev/null
+++ b/src/elevenlabs/types/update_basic_auth_request.py
@@ -0,0 +1,22 @@
+# 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 UpdateBasicAuthRequest(UncheckedBaseModel):
+ provider: typing.Optional[str] = None
+ username: typing.Optional[str] = None
+ password: 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/update_o_auth_2_client_creds_request.py b/src/elevenlabs/types/update_o_auth_2_client_creds_request.py
new file mode 100644
index 00000000..60ef9b6f
--- /dev/null
+++ b/src/elevenlabs/types/update_o_auth_2_client_creds_request.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 UpdateOAuth2ClientCredsRequest(UncheckedBaseModel):
+ provider: typing.Optional[str] = None
+ client_id: typing.Optional[str] = None
+ scopes: typing.Optional[typing.List[str]] = None
+ extra_params: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
+ basic_auth_in_header: typing.Optional[bool] = None
+ client_secret: typing.Optional[str] = None
+ custom_headers: typing.Optional[typing.Dict[str, 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/update_o_auth_2_jwt_request.py b/src/elevenlabs/types/update_o_auth_2_jwt_request.py
new file mode 100644
index 00000000..c9112082
--- /dev/null
+++ b/src/elevenlabs/types/update_o_auth_2_jwt_request.py
@@ -0,0 +1,32 @@
+# 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 .update_o_auth_2_jwt_request_algorithm import UpdateOAuth2JwtRequestAlgorithm
+from .update_o_auth_2_jwt_request_token_response_field import UpdateOAuth2JwtRequestTokenResponseField
+
+
+class UpdateOAuth2JwtRequest(UncheckedBaseModel):
+ provider: typing.Optional[str] = None
+ algorithm: typing.Optional[UpdateOAuth2JwtRequestAlgorithm] = None
+ key_id: typing.Optional[str] = None
+ issuer: typing.Optional[str] = None
+ audience: typing.Optional[str] = None
+ subject: typing.Optional[str] = None
+ expiration_seconds: typing.Optional[int] = None
+ extra_params: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
+ scopes: typing.Optional[typing.List[str]] = None
+ token_response_field: typing.Optional[UpdateOAuth2JwtRequestTokenResponseField] = None
+ secret_key: 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/update_o_auth_2_jwt_request_algorithm.py b/src/elevenlabs/types/update_o_auth_2_jwt_request_algorithm.py
new file mode 100644
index 00000000..8914f4d1
--- /dev/null
+++ b/src/elevenlabs/types/update_o_auth_2_jwt_request_algorithm.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+UpdateOAuth2JwtRequestAlgorithm = typing.Union[
+ typing.Literal["HS256", "HS384", "HS512", "RS256", "RS384", "RS512"], typing.Any
+]
diff --git a/src/elevenlabs/types/update_o_auth_2_jwt_request_token_response_field.py b/src/elevenlabs/types/update_o_auth_2_jwt_request_token_response_field.py
new file mode 100644
index 00000000..f1034bc3
--- /dev/null
+++ b/src/elevenlabs/types/update_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
+
+UpdateOAuth2JwtRequestTokenResponseField = typing.Union[typing.Literal["access_token", "id_token"], typing.Any]
diff --git a/src/elevenlabs/types/workspace_resource_type.py b/src/elevenlabs/types/workspace_resource_type.py
index 8ded826e..d6c999cf 100644
--- a/src/elevenlabs/types/workspace_resource_type.py
+++ b/src/elevenlabs/types/workspace_resource_type.py
@@ -30,6 +30,7 @@
"convai_agent_versions_deployments",
"convai_memory_entries",
"convai_coaching_proposals",
+ "convai_templates",
"dashboard",
"dashboard_configuration",
"convai_agent_drafts",
@@ -38,6 +39,7 @@
"content_generations",
"content_templates",
"songs",
+ "transcription_tasks",
"avatars",
"avatar_video_generations",
"resource_collection",
diff --git a/src/elevenlabs/workspace/__init__.py b/src/elevenlabs/workspace/__init__.py
index bee4e35e..339173e1 100644
--- a/src/elevenlabs/workspace/__init__.py
+++ b/src/elevenlabs/workspace/__init__.py
@@ -11,6 +11,7 @@
from .auth_connections import (
AuthConnectionsCreateRequestBody,
AuthConnectionsCreateRequestBody_BasicAuth,
+ AuthConnectionsCreateRequestBody_BearerAuth,
AuthConnectionsCreateRequestBody_CustomHeaderAuth,
AuthConnectionsCreateRequestBody_Mtls,
AuthConnectionsCreateRequestBody_Oauth2ClientCredentials,
@@ -26,12 +27,30 @@
AuthConnectionsCreateResponse_Oauth2ClientCredentials,
AuthConnectionsCreateResponse_Oauth2Jwt,
AuthConnectionsCreateResponse_PrivateKeyJwt,
+ AuthConnectionsCreateResponse_SlackBotAuth,
AuthConnectionsCreateResponse_WhatsappAuth,
+ AuthConnectionsUpdateRequestBody,
+ AuthConnectionsUpdateRequestBody_BasicAuth,
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ AuthConnectionsUpdateRequestBody_Oauth2Jwt,
+ AuthConnectionsUpdateResponse,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp,
+ AuthConnectionsUpdateResponse_BasicAuth,
+ AuthConnectionsUpdateResponse_BearerAuth,
+ AuthConnectionsUpdateResponse_CustomHeaderAuth,
+ AuthConnectionsUpdateResponse_Mtls,
+ AuthConnectionsUpdateResponse_Oauth2ClientCredentials,
+ AuthConnectionsUpdateResponse_Oauth2Jwt,
+ AuthConnectionsUpdateResponse_PrivateKeyJwt,
+ AuthConnectionsUpdateResponse_SlackBotAuth,
+ AuthConnectionsUpdateResponse_WhatsappAuth,
)
from .usage import BodyGetWorkspaceUsageV1WorkspaceAnalyticsQueryUsageByProductOverTimePostGroupByItem
_dynamic_imports: typing.Dict[str, str] = {
"AuthConnectionsCreateRequestBody": ".auth_connections",
"AuthConnectionsCreateRequestBody_BasicAuth": ".auth_connections",
+ "AuthConnectionsCreateRequestBody_BearerAuth": ".auth_connections",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth": ".auth_connections",
"AuthConnectionsCreateRequestBody_Mtls": ".auth_connections",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials": ".auth_connections",
@@ -47,7 +66,24 @@
"AuthConnectionsCreateResponse_Oauth2ClientCredentials": ".auth_connections",
"AuthConnectionsCreateResponse_Oauth2Jwt": ".auth_connections",
"AuthConnectionsCreateResponse_PrivateKeyJwt": ".auth_connections",
+ "AuthConnectionsCreateResponse_SlackBotAuth": ".auth_connections",
"AuthConnectionsCreateResponse_WhatsappAuth": ".auth_connections",
+ "AuthConnectionsUpdateRequestBody": ".auth_connections",
+ "AuthConnectionsUpdateRequestBody_BasicAuth": ".auth_connections",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials": ".auth_connections",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt": ".auth_connections",
+ "AuthConnectionsUpdateResponse": ".auth_connections",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode": ".auth_connections",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp": ".auth_connections",
+ "AuthConnectionsUpdateResponse_BasicAuth": ".auth_connections",
+ "AuthConnectionsUpdateResponse_BearerAuth": ".auth_connections",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth": ".auth_connections",
+ "AuthConnectionsUpdateResponse_Mtls": ".auth_connections",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials": ".auth_connections",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt": ".auth_connections",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt": ".auth_connections",
+ "AuthConnectionsUpdateResponse_SlackBotAuth": ".auth_connections",
+ "AuthConnectionsUpdateResponse_WhatsappAuth": ".auth_connections",
"BodyGetWorkspaceUsageV1WorkspaceAnalyticsQueryUsageByProductOverTimePostGroupByItem": ".usage",
"BodyShareWorkspaceResourceV1WorkspaceResourcesResourceIdSharePostRole": ".resources",
"analytics": ".analytics",
@@ -85,6 +121,7 @@ def __dir__():
__all__ = [
"AuthConnectionsCreateRequestBody",
"AuthConnectionsCreateRequestBody_BasicAuth",
+ "AuthConnectionsCreateRequestBody_BearerAuth",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth",
"AuthConnectionsCreateRequestBody_Mtls",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials",
@@ -100,7 +137,24 @@ def __dir__():
"AuthConnectionsCreateResponse_Oauth2ClientCredentials",
"AuthConnectionsCreateResponse_Oauth2Jwt",
"AuthConnectionsCreateResponse_PrivateKeyJwt",
+ "AuthConnectionsCreateResponse_SlackBotAuth",
"AuthConnectionsCreateResponse_WhatsappAuth",
+ "AuthConnectionsUpdateRequestBody",
+ "AuthConnectionsUpdateRequestBody_BasicAuth",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp",
+ "AuthConnectionsUpdateResponse_BasicAuth",
+ "AuthConnectionsUpdateResponse_BearerAuth",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth",
+ "AuthConnectionsUpdateResponse_Mtls",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt",
+ "AuthConnectionsUpdateResponse_SlackBotAuth",
+ "AuthConnectionsUpdateResponse_WhatsappAuth",
"BodyGetWorkspaceUsageV1WorkspaceAnalyticsQueryUsageByProductOverTimePostGroupByItem",
"BodyShareWorkspaceResourceV1WorkspaceResourcesResourceIdSharePostRole",
"analytics",
diff --git a/src/elevenlabs/workspace/auth_connections/__init__.py b/src/elevenlabs/workspace/auth_connections/__init__.py
index 53f6f3fe..d7803026 100644
--- a/src/elevenlabs/workspace/auth_connections/__init__.py
+++ b/src/elevenlabs/workspace/auth_connections/__init__.py
@@ -9,6 +9,7 @@
from .types import (
AuthConnectionsCreateRequestBody,
AuthConnectionsCreateRequestBody_BasicAuth,
+ AuthConnectionsCreateRequestBody_BearerAuth,
AuthConnectionsCreateRequestBody_CustomHeaderAuth,
AuthConnectionsCreateRequestBody_Mtls,
AuthConnectionsCreateRequestBody_Oauth2ClientCredentials,
@@ -24,11 +25,29 @@
AuthConnectionsCreateResponse_Oauth2ClientCredentials,
AuthConnectionsCreateResponse_Oauth2Jwt,
AuthConnectionsCreateResponse_PrivateKeyJwt,
+ AuthConnectionsCreateResponse_SlackBotAuth,
AuthConnectionsCreateResponse_WhatsappAuth,
+ AuthConnectionsUpdateRequestBody,
+ AuthConnectionsUpdateRequestBody_BasicAuth,
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ AuthConnectionsUpdateRequestBody_Oauth2Jwt,
+ AuthConnectionsUpdateResponse,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp,
+ AuthConnectionsUpdateResponse_BasicAuth,
+ AuthConnectionsUpdateResponse_BearerAuth,
+ AuthConnectionsUpdateResponse_CustomHeaderAuth,
+ AuthConnectionsUpdateResponse_Mtls,
+ AuthConnectionsUpdateResponse_Oauth2ClientCredentials,
+ AuthConnectionsUpdateResponse_Oauth2Jwt,
+ AuthConnectionsUpdateResponse_PrivateKeyJwt,
+ AuthConnectionsUpdateResponse_SlackBotAuth,
+ AuthConnectionsUpdateResponse_WhatsappAuth,
)
_dynamic_imports: typing.Dict[str, str] = {
"AuthConnectionsCreateRequestBody": ".types",
"AuthConnectionsCreateRequestBody_BasicAuth": ".types",
+ "AuthConnectionsCreateRequestBody_BearerAuth": ".types",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth": ".types",
"AuthConnectionsCreateRequestBody_Mtls": ".types",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials": ".types",
@@ -44,7 +63,24 @@
"AuthConnectionsCreateResponse_Oauth2ClientCredentials": ".types",
"AuthConnectionsCreateResponse_Oauth2Jwt": ".types",
"AuthConnectionsCreateResponse_PrivateKeyJwt": ".types",
+ "AuthConnectionsCreateResponse_SlackBotAuth": ".types",
"AuthConnectionsCreateResponse_WhatsappAuth": ".types",
+ "AuthConnectionsUpdateRequestBody": ".types",
+ "AuthConnectionsUpdateRequestBody_BasicAuth": ".types",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials": ".types",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt": ".types",
+ "AuthConnectionsUpdateResponse": ".types",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode": ".types",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp": ".types",
+ "AuthConnectionsUpdateResponse_BasicAuth": ".types",
+ "AuthConnectionsUpdateResponse_BearerAuth": ".types",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth": ".types",
+ "AuthConnectionsUpdateResponse_Mtls": ".types",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials": ".types",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt": ".types",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt": ".types",
+ "AuthConnectionsUpdateResponse_SlackBotAuth": ".types",
+ "AuthConnectionsUpdateResponse_WhatsappAuth": ".types",
}
@@ -72,6 +108,7 @@ def __dir__():
__all__ = [
"AuthConnectionsCreateRequestBody",
"AuthConnectionsCreateRequestBody_BasicAuth",
+ "AuthConnectionsCreateRequestBody_BearerAuth",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth",
"AuthConnectionsCreateRequestBody_Mtls",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials",
@@ -87,5 +124,22 @@ def __dir__():
"AuthConnectionsCreateResponse_Oauth2ClientCredentials",
"AuthConnectionsCreateResponse_Oauth2Jwt",
"AuthConnectionsCreateResponse_PrivateKeyJwt",
+ "AuthConnectionsCreateResponse_SlackBotAuth",
"AuthConnectionsCreateResponse_WhatsappAuth",
+ "AuthConnectionsUpdateRequestBody",
+ "AuthConnectionsUpdateRequestBody_BasicAuth",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp",
+ "AuthConnectionsUpdateResponse_BasicAuth",
+ "AuthConnectionsUpdateResponse_BearerAuth",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth",
+ "AuthConnectionsUpdateResponse_Mtls",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt",
+ "AuthConnectionsUpdateResponse_SlackBotAuth",
+ "AuthConnectionsUpdateResponse_WhatsappAuth",
]
diff --git a/src/elevenlabs/workspace/auth_connections/client.py b/src/elevenlabs/workspace/auth_connections/client.py
index d8ae52e4..61a7d58f 100644
--- a/src/elevenlabs/workspace/auth_connections/client.py
+++ b/src/elevenlabs/workspace/auth_connections/client.py
@@ -8,6 +8,8 @@
from .raw_client import AsyncRawAuthConnectionsClient, RawAuthConnectionsClient
from .types.auth_connections_create_request_body import AuthConnectionsCreateRequestBody
from .types.auth_connections_create_response import AuthConnectionsCreateResponse
+from .types.auth_connections_update_request_body import AuthConnectionsUpdateRequestBody
+from .types.auth_connections_update_response import AuthConnectionsUpdateResponse
# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)
@@ -125,6 +127,48 @@ def delete(self, auth_connection_id: str, *, request_options: typing.Optional[Re
_response = self._raw_client.delete(auth_connection_id, request_options=request_options)
return _response.data
+ def update(
+ self,
+ auth_connection_id: str,
+ *,
+ request: AuthConnectionsUpdateRequestBody,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AuthConnectionsUpdateResponse:
+ """
+ Update an auth connection
+
+ Parameters
+ ----------
+ auth_connection_id : str
+
+ request : AuthConnectionsUpdateRequestBody
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AuthConnectionsUpdateResponse
+ Successful Response
+
+ Examples
+ --------
+ from elevenlabs import ElevenLabs
+ from elevenlabs.workspace.auth_connections import (
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ )
+
+ client = ElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+ client.workspace.auth_connections.update(
+ auth_connection_id="auth_connection_id",
+ request=AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials(),
+ )
+ """
+ _response = self._raw_client.update(auth_connection_id, request=request, request_options=request_options)
+ return _response.data
+
class AsyncAuthConnectionsClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -263,3 +307,53 @@ async def main() -> None:
"""
_response = await self._raw_client.delete(auth_connection_id, request_options=request_options)
return _response.data
+
+ async def update(
+ self,
+ auth_connection_id: str,
+ *,
+ request: AuthConnectionsUpdateRequestBody,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AuthConnectionsUpdateResponse:
+ """
+ Update an auth connection
+
+ Parameters
+ ----------
+ auth_connection_id : str
+
+ request : AuthConnectionsUpdateRequestBody
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AuthConnectionsUpdateResponse
+ Successful Response
+
+ Examples
+ --------
+ import asyncio
+
+ from elevenlabs import AsyncElevenLabs
+ from elevenlabs.workspace.auth_connections import (
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ )
+
+ client = AsyncElevenLabs(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workspace.auth_connections.update(
+ auth_connection_id="auth_connection_id",
+ request=AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials(),
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update(auth_connection_id, request=request, request_options=request_options)
+ return _response.data
diff --git a/src/elevenlabs/workspace/auth_connections/raw_client.py b/src/elevenlabs/workspace/auth_connections/raw_client.py
index 6d347a5f..449ae4e3 100644
--- a/src/elevenlabs/workspace/auth_connections/raw_client.py
+++ b/src/elevenlabs/workspace/auth_connections/raw_client.py
@@ -14,6 +14,8 @@
from ...types.list_auth_connections_response import ListAuthConnectionsResponse
from .types.auth_connections_create_request_body import AuthConnectionsCreateRequestBody
from .types.auth_connections_create_response import AuthConnectionsCreateResponse
+from .types.auth_connections_update_request_body import AuthConnectionsUpdateRequestBody
+from .types.auth_connections_update_response import AuthConnectionsUpdateResponse
# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)
@@ -177,6 +179,68 @@ 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 update(
+ self,
+ auth_connection_id: str,
+ *,
+ request: AuthConnectionsUpdateRequestBody,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[AuthConnectionsUpdateResponse]:
+ """
+ Update an auth connection
+
+ Parameters
+ ----------
+ auth_connection_id : str
+
+ request : AuthConnectionsUpdateRequestBody
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[AuthConnectionsUpdateResponse]
+ Successful Response
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workspace/auth-connections/{jsonable_encoder(auth_connection_id)}",
+ method="PATCH",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=AuthConnectionsUpdateRequestBody, direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AuthConnectionsUpdateResponse,
+ construct_type(
+ type_=AuthConnectionsUpdateResponse, # 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 AsyncRawAuthConnectionsClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -335,3 +399,65 @@ 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 update(
+ self,
+ auth_connection_id: str,
+ *,
+ request: AuthConnectionsUpdateRequestBody,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[AuthConnectionsUpdateResponse]:
+ """
+ Update an auth connection
+
+ Parameters
+ ----------
+ auth_connection_id : str
+
+ request : AuthConnectionsUpdateRequestBody
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[AuthConnectionsUpdateResponse]
+ Successful Response
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workspace/auth-connections/{jsonable_encoder(auth_connection_id)}",
+ method="PATCH",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=AuthConnectionsUpdateRequestBody, direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AuthConnectionsUpdateResponse,
+ construct_type(
+ type_=AuthConnectionsUpdateResponse, # 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/types/__init__.py b/src/elevenlabs/workspace/auth_connections/types/__init__.py
index 11c6b694..4405e1ac 100644
--- a/src/elevenlabs/workspace/auth_connections/types/__init__.py
+++ b/src/elevenlabs/workspace/auth_connections/types/__init__.py
@@ -9,6 +9,7 @@
from .auth_connections_create_request_body import (
AuthConnectionsCreateRequestBody,
AuthConnectionsCreateRequestBody_BasicAuth,
+ AuthConnectionsCreateRequestBody_BearerAuth,
AuthConnectionsCreateRequestBody_CustomHeaderAuth,
AuthConnectionsCreateRequestBody_Mtls,
AuthConnectionsCreateRequestBody_Oauth2ClientCredentials,
@@ -26,11 +27,33 @@
AuthConnectionsCreateResponse_Oauth2ClientCredentials,
AuthConnectionsCreateResponse_Oauth2Jwt,
AuthConnectionsCreateResponse_PrivateKeyJwt,
+ AuthConnectionsCreateResponse_SlackBotAuth,
AuthConnectionsCreateResponse_WhatsappAuth,
)
+ from .auth_connections_update_request_body import (
+ AuthConnectionsUpdateRequestBody,
+ AuthConnectionsUpdateRequestBody_BasicAuth,
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ AuthConnectionsUpdateRequestBody_Oauth2Jwt,
+ )
+ from .auth_connections_update_response import (
+ AuthConnectionsUpdateResponse,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp,
+ AuthConnectionsUpdateResponse_BasicAuth,
+ AuthConnectionsUpdateResponse_BearerAuth,
+ AuthConnectionsUpdateResponse_CustomHeaderAuth,
+ AuthConnectionsUpdateResponse_Mtls,
+ AuthConnectionsUpdateResponse_Oauth2ClientCredentials,
+ AuthConnectionsUpdateResponse_Oauth2Jwt,
+ AuthConnectionsUpdateResponse_PrivateKeyJwt,
+ AuthConnectionsUpdateResponse_SlackBotAuth,
+ AuthConnectionsUpdateResponse_WhatsappAuth,
+ )
_dynamic_imports: typing.Dict[str, str] = {
"AuthConnectionsCreateRequestBody": ".auth_connections_create_request_body",
"AuthConnectionsCreateRequestBody_BasicAuth": ".auth_connections_create_request_body",
+ "AuthConnectionsCreateRequestBody_BearerAuth": ".auth_connections_create_request_body",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth": ".auth_connections_create_request_body",
"AuthConnectionsCreateRequestBody_Mtls": ".auth_connections_create_request_body",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials": ".auth_connections_create_request_body",
@@ -46,7 +69,24 @@
"AuthConnectionsCreateResponse_Oauth2ClientCredentials": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_Oauth2Jwt": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_PrivateKeyJwt": ".auth_connections_create_response",
+ "AuthConnectionsCreateResponse_SlackBotAuth": ".auth_connections_create_response",
"AuthConnectionsCreateResponse_WhatsappAuth": ".auth_connections_create_response",
+ "AuthConnectionsUpdateRequestBody": ".auth_connections_update_request_body",
+ "AuthConnectionsUpdateRequestBody_BasicAuth": ".auth_connections_update_request_body",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials": ".auth_connections_update_request_body",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt": ".auth_connections_update_request_body",
+ "AuthConnectionsUpdateResponse": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_BasicAuth": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_BearerAuth": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_Mtls": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_SlackBotAuth": ".auth_connections_update_response",
+ "AuthConnectionsUpdateResponse_WhatsappAuth": ".auth_connections_update_response",
}
@@ -74,6 +114,7 @@ def __dir__():
__all__ = [
"AuthConnectionsCreateRequestBody",
"AuthConnectionsCreateRequestBody_BasicAuth",
+ "AuthConnectionsCreateRequestBody_BearerAuth",
"AuthConnectionsCreateRequestBody_CustomHeaderAuth",
"AuthConnectionsCreateRequestBody_Mtls",
"AuthConnectionsCreateRequestBody_Oauth2ClientCredentials",
@@ -89,5 +130,22 @@ def __dir__():
"AuthConnectionsCreateResponse_Oauth2ClientCredentials",
"AuthConnectionsCreateResponse_Oauth2Jwt",
"AuthConnectionsCreateResponse_PrivateKeyJwt",
+ "AuthConnectionsCreateResponse_SlackBotAuth",
"AuthConnectionsCreateResponse_WhatsappAuth",
+ "AuthConnectionsUpdateRequestBody",
+ "AuthConnectionsUpdateRequestBody_BasicAuth",
+ "AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateRequestBody_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode",
+ "AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp",
+ "AuthConnectionsUpdateResponse_BasicAuth",
+ "AuthConnectionsUpdateResponse_BearerAuth",
+ "AuthConnectionsUpdateResponse_CustomHeaderAuth",
+ "AuthConnectionsUpdateResponse_Mtls",
+ "AuthConnectionsUpdateResponse_Oauth2ClientCredentials",
+ "AuthConnectionsUpdateResponse_Oauth2Jwt",
+ "AuthConnectionsUpdateResponse_PrivateKeyJwt",
+ "AuthConnectionsUpdateResponse_SlackBotAuth",
+ "AuthConnectionsUpdateResponse_WhatsappAuth",
]
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 22e76904..082b883b 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
@@ -81,6 +81,26 @@ class Config:
extra = pydantic.Extra.allow
+class AuthConnectionsCreateRequestBody_BearerAuth(UncheckedBaseModel):
+ """
+ Auth connection to create
+ """
+
+ auth_type: typing.Literal["bearer_auth"] = "bearer_auth"
+ name: str
+ provider: str
+ token: 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
+
+
class AuthConnectionsCreateRequestBody_Oauth2Jwt(UncheckedBaseModel):
"""
Auth connection to create
@@ -166,6 +186,7 @@ class Config:
AuthConnectionsCreateRequestBody_Oauth2ClientCredentials,
AuthConnectionsCreateRequestBody_CustomHeaderAuth,
AuthConnectionsCreateRequestBody_BasicAuth,
+ AuthConnectionsCreateRequestBody_BearerAuth,
AuthConnectionsCreateRequestBody_Oauth2Jwt,
AuthConnectionsCreateRequestBody_PrivateKeyJwt,
AuthConnectionsCreateRequestBody_Mtls,
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 877763ff..abbfdf3d 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
@@ -36,6 +36,7 @@ class AuthConnectionsCreateResponse_Oauth2ClientCredentials(UncheckedBaseModel):
basic_auth_in_header: typing.Optional[bool] = None
id: str
used_by: typing.Optional[AuthConnectionDependencies] = None
+ custom_headers: typing.Optional[typing.Dict[str, str]] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -275,6 +276,27 @@ class Config:
extra = pydantic.Extra.allow
+class AuthConnectionsCreateResponse_SlackBotAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["slack_bot_auth"] = "slack_bot_auth"
+ name: str
+ provider: typing.Optional[typing.Literal["Slack"]] = None
+ 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
+
+
AuthConnectionsCreateResponse = typing_extensions.Annotated[
typing.Union[
AuthConnectionsCreateResponse_Oauth2ClientCredentials,
@@ -287,6 +309,7 @@ class Config:
AuthConnectionsCreateResponse_ApiIntegrationOauth2AuthCode,
AuthConnectionsCreateResponse_ApiIntegrationOauth2CustomApp,
AuthConnectionsCreateResponse_WhatsappAuth,
+ AuthConnectionsCreateResponse_SlackBotAuth,
],
UnionMetadata(discriminant="auth_type"),
]
diff --git a/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_request_body.py b/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_request_body.py
new file mode 100644
index 00000000..b63bbcfc
--- /dev/null
+++ b/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_request_body.py
@@ -0,0 +1,94 @@
+# This file was auto-generated by Fern from our API Definition.
+
+from __future__ import annotations
+
+import typing
+
+import pydantic
+import typing_extensions
+from ....core.pydantic_utilities import IS_PYDANTIC_V2
+from ....core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
+from ....types.update_o_auth_2_jwt_request_algorithm import UpdateOAuth2JwtRequestAlgorithm
+from ....types.update_o_auth_2_jwt_request_token_response_field import UpdateOAuth2JwtRequestTokenResponseField
+
+
+class AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials(UncheckedBaseModel):
+ """
+ Updated auth connection fields
+ """
+
+ auth_type: typing.Literal["oauth2_client_credentials"] = "oauth2_client_credentials"
+ provider: typing.Optional[str] = None
+ client_id: typing.Optional[str] = None
+ scopes: typing.Optional[typing.List[str]] = None
+ extra_params: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
+ basic_auth_in_header: typing.Optional[bool] = None
+ client_secret: typing.Optional[str] = None
+ custom_headers: typing.Optional[typing.Dict[str, 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 AuthConnectionsUpdateRequestBody_BasicAuth(UncheckedBaseModel):
+ """
+ Updated auth connection fields
+ """
+
+ auth_type: typing.Literal["basic_auth"] = "basic_auth"
+ provider: typing.Optional[str] = None
+ username: typing.Optional[str] = None
+ password: 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 AuthConnectionsUpdateRequestBody_Oauth2Jwt(UncheckedBaseModel):
+ """
+ Updated auth connection fields
+ """
+
+ auth_type: typing.Literal["oauth2_jwt"] = "oauth2_jwt"
+ provider: typing.Optional[str] = None
+ algorithm: typing.Optional[UpdateOAuth2JwtRequestAlgorithm] = None
+ key_id: typing.Optional[str] = None
+ issuer: typing.Optional[str] = None
+ audience: typing.Optional[str] = None
+ subject: typing.Optional[str] = None
+ expiration_seconds: typing.Optional[int] = None
+ extra_params: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
+ scopes: typing.Optional[typing.List[str]] = None
+ token_response_field: typing.Optional[UpdateOAuth2JwtRequestTokenResponseField] = None
+ secret_key: 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
+
+
+AuthConnectionsUpdateRequestBody = typing_extensions.Annotated[
+ typing.Union[
+ AuthConnectionsUpdateRequestBody_Oauth2ClientCredentials,
+ AuthConnectionsUpdateRequestBody_BasicAuth,
+ AuthConnectionsUpdateRequestBody_Oauth2Jwt,
+ ],
+ UnionMetadata(discriminant="auth_type"),
+]
diff --git a/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_response.py b/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_response.py
new file mode 100644
index 00000000..ec794544
--- /dev/null
+++ b/src/elevenlabs/workspace/auth_connections/types/auth_connections_update_response.py
@@ -0,0 +1,315 @@
+# This file was auto-generated by Fern from our API Definition.
+
+from __future__ import annotations
+
+import typing
+
+import pydantic
+import typing_extensions
+from ....core.pydantic_utilities import IS_PYDANTIC_V2
+from ....core.unchecked_base_model import UncheckedBaseModel, UnionMetadata
+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
+
+
+class AuthConnectionsUpdateResponse_Oauth2ClientCredentials(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["oauth2_client_credentials"] = "oauth2_client_credentials"
+ name: str
+ provider: str
+ client_id: str
+ token_url: str
+ scopes: typing.Optional[typing.List[str]] = None
+ extra_params: typing.Optional[typing.Dict[str, str]] = None
+ basic_auth_in_header: typing.Optional[bool] = None
+ id: str
+ used_by: typing.Optional[AuthConnectionDependencies] = None
+ custom_headers: typing.Optional[typing.Dict[str, 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 AuthConnectionsUpdateResponse_BasicAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["basic_auth"] = "basic_auth"
+ name: str
+ provider: str
+ username: 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 AuthConnectionsUpdateResponse_BearerAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["bearer_auth"] = "bearer_auth"
+ name: str
+ provider: 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 AuthConnectionsUpdateResponse_Oauth2Jwt(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["oauth2_jwt"] = "oauth2_jwt"
+ name: str
+ provider: str
+ algorithm: typing.Optional[OAuth2JwtResponseAlgorithm] = None
+ key_id: typing.Optional[str] = None
+ issuer: str
+ audience: str
+ subject: str
+ expiration_seconds: typing.Optional[int] = None
+ 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
+
+ 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 AuthConnectionsUpdateResponse_PrivateKeyJwt(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["private_key_jwt"] = "private_key_jwt"
+ name: str
+ provider: str
+ algorithm: typing.Optional[PrivateKeyJwtResponseAlgorithm] = None
+ key_id: typing.Optional[str] = None
+ issuer: str
+ audience: str
+ subject: str
+ expiration_seconds: typing.Optional[int] = None
+ extra_params: typing.Optional[typing.Dict[str, str]] = None
+ 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 AuthConnectionsUpdateResponse_Mtls(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["mtls"] = "mtls"
+ name: str
+ provider: 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 AuthConnectionsUpdateResponse_CustomHeaderAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["custom_header_auth"] = "custom_header_auth"
+ name: str
+ provider: str
+ header_name: 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 AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["api_integration_oauth2_auth_code"] = "api_integration_oauth2_auth_code"
+ name: str
+ provider: str
+ token_url: str
+ scopes: typing.Optional[typing.List[str]] = None
+ scope_separator: typing.Optional[ApiIntegrationOAuth2AuthCodeResponseScopeSeparator] = 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
+ 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 AuthConnectionsUpdateResponse_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 AuthConnectionsUpdateResponse_WhatsappAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["whatsapp_auth"] = "whatsapp_auth"
+ name: str
+ provider: typing.Optional[typing.Literal["whatsapp"]] = None
+ phone_number_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 AuthConnectionsUpdateResponse_SlackBotAuth(UncheckedBaseModel):
+ """
+ The type of auth connection config
+ """
+
+ auth_type: typing.Literal["slack_bot_auth"] = "slack_bot_auth"
+ name: str
+ provider: typing.Optional[typing.Literal["Slack"]] = None
+ 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
+
+
+AuthConnectionsUpdateResponse = typing_extensions.Annotated[
+ typing.Union[
+ AuthConnectionsUpdateResponse_Oauth2ClientCredentials,
+ AuthConnectionsUpdateResponse_BasicAuth,
+ AuthConnectionsUpdateResponse_BearerAuth,
+ AuthConnectionsUpdateResponse_Oauth2Jwt,
+ AuthConnectionsUpdateResponse_PrivateKeyJwt,
+ AuthConnectionsUpdateResponse_Mtls,
+ AuthConnectionsUpdateResponse_CustomHeaderAuth,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2AuthCode,
+ AuthConnectionsUpdateResponse_ApiIntegrationOauth2CustomApp,
+ AuthConnectionsUpdateResponse_WhatsappAuth,
+ AuthConnectionsUpdateResponse_SlackBotAuth,
+ ],
+ UnionMetadata(discriminant="auth_type"),
+]