Skip to content

Commit 49d57e9

Browse files
release: 4.134.0 (#293)
* feat: Update Conversation Relay start parameters * release: 4.134.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 44d9deb commit 49d57e9

8 files changed

Lines changed: 145 additions & 111 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "4.133.0"
2+
".": "4.134.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 1041
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx/telnyx-ff159b9e54ca29c5478c9bc8440982b1696c406a8bbd9f5c2c878f02813f0893.yml
3-
openapi_spec_hash: 1de37e76890671561f15039353ca8142
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx/telnyx-84a5516e4e8dfd1f41476bef7aa5c9d18c4ed62574d3d0cc14c12b7ea894e455.yml
3+
openapi_spec_hash: 8388036da41d48e5e261d909785c6e6d
44
config_hash: 6b6686945572dbb277d4884e51cb07e7

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 4.134.0 (2026-05-15)
4+
5+
Full Changelog: [v4.133.0...v4.134.0](https://github.com/team-telnyx/telnyx-python/compare/v4.133.0...v4.134.0)
6+
7+
### Features
8+
9+
* Update Conversation Relay start parameters ([2121536](https://github.com/team-telnyx/telnyx-python/commit/21215362636bf962851b75e80ff38d594812aa2e))
10+
311
## 4.133.0 (2026-05-14)
412

513
Full Changelog: [v4.132.0...v4.133.0](https://github.com/team-telnyx/telnyx-python/compare/v4.132.0...v4.133.0)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "telnyx"
3-
version = "4.133.0"
3+
version = "4.134.0"
44
description = "The official Python library for the telnyx API"
55
dynamic = ["readme"]
66
license = "MIT"

src/telnyx/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "telnyx"
4-
__version__ = "4.133.0" # x-release-please-version
4+
__version__ = "4.134.0" # x-release-please-version

src/telnyx/resources/calls/actions.py

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2067,21 +2067,19 @@ def start_conversation_relay(
20672067
self,
20682068
call_control_id: str,
20692069
*,
2070-
conversation_relay_url: str,
20712070
assistant: action_start_conversation_relay_params.Assistant | Omit = omit,
20722071
client_state: str | Omit = omit,
20732072
command_id: str | Omit = omit,
20742073
conversation_relay_dtmf_detection: bool | Omit = omit,
2074+
conversation_relay_settings: action_start_conversation_relay_params.ConversationRelaySettings | Omit = omit,
2075+
conversation_relay_url: str | Omit = omit,
20752076
greeting: str | Omit = omit,
20762077
interruption_settings: action_start_conversation_relay_params.InterruptionSettings | Omit = omit,
20772078
language: str | Omit = omit,
20782079
languages: Iterable[action_start_conversation_relay_params.Language] | Omit = omit,
2079-
participants: Iterable[action_start_conversation_relay_params.Participant] | Omit = omit,
2080-
send_message_history_updates: bool | Omit = omit,
20812080
transcription: action_start_conversation_relay_params.Transcription | Omit = omit,
20822081
transcription_language: str | Omit = omit,
20832082
tts_language: str | Omit = omit,
2084-
user_response_timeout_ms: int | Omit = omit,
20852083
voice: str | Omit = omit,
20862084
voice_settings: action_start_conversation_relay_params.VoiceSettings | Omit = omit,
20872085
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2106,9 +2104,6 @@ def start_conversation_relay(
21062104
`customer_disconnect`.
21072105
21082106
Args:
2109-
conversation_relay_url: WebSocket URL for your Conversation Relay server. Must start with `ws://` or
2110-
`wss://`.
2111-
21122107
assistant: Custom parameters for the Conversation Relay session. Pass key-value data as
21132108
`assistant.dynamic_variables` to make it available to the relay session.
21142109
@@ -2120,6 +2115,16 @@ def start_conversation_relay(
21202115
21212116
conversation_relay_dtmf_detection: Enable DTMF detection for the relay session.
21222117
2118+
conversation_relay_settings: Conversation Relay connection settings. This object is used by TeXML Call
2119+
Scripting's `<ConversationRelay>` verb. The `interruptible` and
2120+
`interruptible_greeting` fields are shorthand for
2121+
`interruption_settings.interruptible` and
2122+
`interruption_settings.interruptible_greeting`; use top-level
2123+
`interruption_settings` for the full interruption settings shape.
2124+
2125+
conversation_relay_url: WebSocket URL for your Conversation Relay server. Must start with `ws://` or
2126+
`wss://`.
2127+
21232128
greeting: Text played when the relay session starts.
21242129
21252130
interruption_settings: Settings for handling caller interruptions during Conversation Relay speech.
@@ -2131,19 +2136,13 @@ def start_conversation_relay(
21312136
languages: Language-specific TTS and transcription settings. Use this when the relay
21322137
session needs per-language provider, voice, or speech model configuration.
21332138
2134-
participants: Participants to add to the conversation.
2135-
2136-
send_message_history_updates: When true, sends message history update webhooks.
2137-
21382139
transcription: Speech-to-text settings for Conversation Relay.
21392140
21402141
transcription_language: Language to use for speech recognition. Overrides `language` for transcription
21412142
when provided.
21422143
21432144
tts_language: Language to use for text-to-speech. Overrides `language` for TTS when provided.
21442145
2145-
user_response_timeout_ms: Time in milliseconds to wait for caller input before timing out.
2146-
21472146
voice: The voice to be used by the voice assistant. Currently we support ElevenLabs,
21482147
Telnyx and AWS voices.
21492148
@@ -2187,21 +2186,19 @@ def start_conversation_relay(
21872186
path_template("/calls/{call_control_id}/actions/conversation_relay_start", call_control_id=call_control_id),
21882187
body=maybe_transform(
21892188
{
2190-
"conversation_relay_url": conversation_relay_url,
21912189
"assistant": assistant,
21922190
"client_state": client_state,
21932191
"command_id": command_id,
21942192
"conversation_relay_dtmf_detection": conversation_relay_dtmf_detection,
2193+
"conversation_relay_settings": conversation_relay_settings,
2194+
"conversation_relay_url": conversation_relay_url,
21952195
"greeting": greeting,
21962196
"interruption_settings": interruption_settings,
21972197
"language": language,
21982198
"languages": languages,
2199-
"participants": participants,
2200-
"send_message_history_updates": send_message_history_updates,
22012199
"transcription": transcription,
22022200
"transcription_language": transcription_language,
22032201
"tts_language": tts_language,
2204-
"user_response_timeout_ms": user_response_timeout_ms,
22052202
"voice": voice,
22062203
"voice_settings": voice_settings,
22072204
},
@@ -5909,21 +5906,19 @@ async def start_conversation_relay(
59095906
self,
59105907
call_control_id: str,
59115908
*,
5912-
conversation_relay_url: str,
59135909
assistant: action_start_conversation_relay_params.Assistant | Omit = omit,
59145910
client_state: str | Omit = omit,
59155911
command_id: str | Omit = omit,
59165912
conversation_relay_dtmf_detection: bool | Omit = omit,
5913+
conversation_relay_settings: action_start_conversation_relay_params.ConversationRelaySettings | Omit = omit,
5914+
conversation_relay_url: str | Omit = omit,
59175915
greeting: str | Omit = omit,
59185916
interruption_settings: action_start_conversation_relay_params.InterruptionSettings | Omit = omit,
59195917
language: str | Omit = omit,
59205918
languages: Iterable[action_start_conversation_relay_params.Language] | Omit = omit,
5921-
participants: Iterable[action_start_conversation_relay_params.Participant] | Omit = omit,
5922-
send_message_history_updates: bool | Omit = omit,
59235919
transcription: action_start_conversation_relay_params.Transcription | Omit = omit,
59245920
transcription_language: str | Omit = omit,
59255921
tts_language: str | Omit = omit,
5926-
user_response_timeout_ms: int | Omit = omit,
59275922
voice: str | Omit = omit,
59285923
voice_settings: action_start_conversation_relay_params.VoiceSettings | Omit = omit,
59295924
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -5948,9 +5943,6 @@ async def start_conversation_relay(
59485943
`customer_disconnect`.
59495944
59505945
Args:
5951-
conversation_relay_url: WebSocket URL for your Conversation Relay server. Must start with `ws://` or
5952-
`wss://`.
5953-
59545946
assistant: Custom parameters for the Conversation Relay session. Pass key-value data as
59555947
`assistant.dynamic_variables` to make it available to the relay session.
59565948
@@ -5962,6 +5954,16 @@ async def start_conversation_relay(
59625954
59635955
conversation_relay_dtmf_detection: Enable DTMF detection for the relay session.
59645956
5957+
conversation_relay_settings: Conversation Relay connection settings. This object is used by TeXML Call
5958+
Scripting's `<ConversationRelay>` verb. The `interruptible` and
5959+
`interruptible_greeting` fields are shorthand for
5960+
`interruption_settings.interruptible` and
5961+
`interruption_settings.interruptible_greeting`; use top-level
5962+
`interruption_settings` for the full interruption settings shape.
5963+
5964+
conversation_relay_url: WebSocket URL for your Conversation Relay server. Must start with `ws://` or
5965+
`wss://`.
5966+
59655967
greeting: Text played when the relay session starts.
59665968
59675969
interruption_settings: Settings for handling caller interruptions during Conversation Relay speech.
@@ -5973,19 +5975,13 @@ async def start_conversation_relay(
59735975
languages: Language-specific TTS and transcription settings. Use this when the relay
59745976
session needs per-language provider, voice, or speech model configuration.
59755977
5976-
participants: Participants to add to the conversation.
5977-
5978-
send_message_history_updates: When true, sends message history update webhooks.
5979-
59805978
transcription: Speech-to-text settings for Conversation Relay.
59815979
59825980
transcription_language: Language to use for speech recognition. Overrides `language` for transcription
59835981
when provided.
59845982
59855983
tts_language: Language to use for text-to-speech. Overrides `language` for TTS when provided.
59865984
5987-
user_response_timeout_ms: Time in milliseconds to wait for caller input before timing out.
5988-
59895985
voice: The voice to be used by the voice assistant. Currently we support ElevenLabs,
59905986
Telnyx and AWS voices.
59915987
@@ -6029,21 +6025,19 @@ async def start_conversation_relay(
60296025
path_template("/calls/{call_control_id}/actions/conversation_relay_start", call_control_id=call_control_id),
60306026
body=await async_maybe_transform(
60316027
{
6032-
"conversation_relay_url": conversation_relay_url,
60336028
"assistant": assistant,
60346029
"client_state": client_state,
60356030
"command_id": command_id,
60366031
"conversation_relay_dtmf_detection": conversation_relay_dtmf_detection,
6032+
"conversation_relay_settings": conversation_relay_settings,
6033+
"conversation_relay_url": conversation_relay_url,
60376034
"greeting": greeting,
60386035
"interruption_settings": interruption_settings,
60396036
"language": language,
60406037
"languages": languages,
6041-
"participants": participants,
6042-
"send_message_history_updates": send_message_history_updates,
60436038
"transcription": transcription,
60446039
"transcription_language": transcription_language,
60456040
"tts_language": tts_language,
6046-
"user_response_timeout_ms": user_response_timeout_ms,
60476041
"voice": voice,
60486042
"voice_settings": voice_settings,
60496043
},

src/telnyx/types/calls/action_start_conversation_relay_params.py

Lines changed: 70 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,16 @@
1616
__all__ = [
1717
"ActionStartConversationRelayParams",
1818
"Assistant",
19+
"ConversationRelaySettings",
20+
"ConversationRelaySettingsLanguage",
1921
"InterruptionSettings",
2022
"Language",
21-
"Participant",
2223
"Transcription",
2324
"VoiceSettings",
2425
]
2526

2627

2728
class ActionStartConversationRelayParams(TypedDict, total=False):
28-
conversation_relay_url: Required[str]
29-
"""WebSocket URL for your Conversation Relay server.
30-
31-
Must start with `ws://` or `wss://`.
32-
"""
33-
3429
assistant: Assistant
3530
"""Custom parameters for the Conversation Relay session.
3631
@@ -54,6 +49,22 @@ class ActionStartConversationRelayParams(TypedDict, total=False):
5449
conversation_relay_dtmf_detection: bool
5550
"""Enable DTMF detection for the relay session."""
5651

52+
conversation_relay_settings: ConversationRelaySettings
53+
"""Conversation Relay connection settings.
54+
55+
This object is used by TeXML Call Scripting's `<ConversationRelay>` verb. The
56+
`interruptible` and `interruptible_greeting` fields are shorthand for
57+
`interruption_settings.interruptible` and
58+
`interruption_settings.interruptible_greeting`; use top-level
59+
`interruption_settings` for the full interruption settings shape.
60+
"""
61+
62+
conversation_relay_url: str
63+
"""WebSocket URL for your Conversation Relay server.
64+
65+
Must start with `ws://` or `wss://`.
66+
"""
67+
5768
greeting: str
5869
"""Text played when the relay session starts."""
5970

@@ -74,12 +85,6 @@ class ActionStartConversationRelayParams(TypedDict, total=False):
7485
model configuration.
7586
"""
7687

77-
participants: Iterable[Participant]
78-
"""Participants to add to the conversation."""
79-
80-
send_message_history_updates: bool
81-
"""When true, sends message history update webhooks."""
82-
8388
transcription: Transcription
8489
"""Speech-to-text settings for Conversation Relay."""
8590

@@ -92,9 +97,6 @@ class ActionStartConversationRelayParams(TypedDict, total=False):
9297
tts_language: str
9398
"""Language to use for text-to-speech. Overrides `language` for TTS when provided."""
9499

95-
user_response_timeout_ms: int
96-
"""Time in milliseconds to wait for caller input before timing out."""
97-
98100
voice: str
99101
"""The voice to be used by the voice assistant.
100102
@@ -139,6 +141,58 @@ class Assistant(TypedDict, total=False, extra_items=object): # type: ignore[cal
139141
"""Custom key-value parameters forwarded to the Conversation Relay session."""
140142

141143

144+
class ConversationRelaySettingsLanguage(TypedDict, total=False):
145+
"""Language-specific speech and transcription settings for Conversation Relay."""
146+
147+
code: str
148+
"""BCP 47 language code."""
149+
150+
speech_model: str
151+
"""Speech recognition model for this language."""
152+
153+
transcription_provider: str
154+
"""Speech-to-text provider for this language."""
155+
156+
tts_provider: str
157+
"""Text-to-speech provider for this language."""
158+
159+
voice: str
160+
"""Voice identifier for this language."""
161+
162+
163+
class ConversationRelaySettings(TypedDict, total=False):
164+
"""Conversation Relay connection settings.
165+
166+
This object is used by TeXML Call Scripting's `<ConversationRelay>` verb. The `interruptible` and `interruptible_greeting` fields are shorthand for `interruption_settings.interruptible` and `interruption_settings.interruptible_greeting`; use top-level `interruption_settings` for the full interruption settings shape.
167+
"""
168+
169+
url: Required[str]
170+
"""WebSocket URL for your Conversation Relay server.
171+
172+
Must start with `ws://` or `wss://`.
173+
"""
174+
175+
dtmf_detection: bool
176+
"""Whether to enable DTMF detection during the relay session."""
177+
178+
interruptible: Literal["none", "any", "speech", "dtmf"]
179+
"""Controls when caller input can interrupt assistant speech.
180+
181+
`any` allows speech or DTMF interruptions; `none` disables interruptions;
182+
`speech` allows speech only; `dtmf` allows DTMF only.
183+
"""
184+
185+
interruptible_greeting: Literal["none", "any", "speech", "dtmf"]
186+
"""Controls when caller input can interrupt assistant speech.
187+
188+
`any` allows speech or DTMF interruptions; `none` disables interruptions;
189+
`speech` allows speech only; `dtmf` allows DTMF only.
190+
"""
191+
192+
languages: Iterable[ConversationRelaySettingsLanguage]
193+
"""Language-specific TTS and transcription settings."""
194+
195+
142196
class InterruptionSettings(TypedDict, total=False):
143197
"""Settings for handling caller interruptions during Conversation Relay speech."""
144198

@@ -190,20 +244,6 @@ class Language(TypedDict, total=False):
190244
"""Voice identifier for this language."""
191245

192246

193-
class Participant(TypedDict, total=False):
194-
id: Required[str]
195-
"""The call_control_id of the participant to add to the conversation."""
196-
197-
role: Required[Literal["user"]]
198-
"""The role of the participant in the conversation."""
199-
200-
name: str
201-
"""Display name for the participant."""
202-
203-
on_hangup: Literal["continue_conversation", "end_conversation"]
204-
"""Determines what happens to the conversation when this participant hangs up."""
205-
206-
207247
class Transcription(TypedDict, total=False):
208248
"""Speech-to-text settings for Conversation Relay."""
209249

0 commit comments

Comments
 (0)