telnyx 3.9.0__py3-none-any.whl → 3.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

Files changed (56) hide show
  1. telnyx/_streaming.py +4 -6
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/__init__.py +1 -2
  4. telnyx/resources/ai/__init__.py +28 -0
  5. telnyx/resources/ai/ai.py +64 -0
  6. telnyx/resources/ai/integrations/__init__.py +33 -0
  7. telnyx/resources/ai/integrations/connections.py +294 -0
  8. telnyx/resources/ai/integrations/integrations.py +246 -0
  9. telnyx/resources/ai/mcp_servers.py +571 -0
  10. telnyx/resources/calls/actions.py +8 -0
  11. telnyx/resources/calls/calls.py +8 -0
  12. telnyx/resources/conferences/actions.py +180 -8
  13. telnyx/resources/conferences/conferences.py +50 -3
  14. telnyx/resources/recordings/recordings.py +2 -2
  15. telnyx/resources/texml/accounts/calls/calls.py +8 -0
  16. telnyx/resources/webhooks.py +82 -94
  17. telnyx/types/__init__.py +1 -0
  18. telnyx/types/ai/__init__.py +9 -0
  19. telnyx/types/ai/integration_list_response.py +28 -0
  20. telnyx/types/ai/integration_retrieve_response.py +24 -0
  21. telnyx/types/ai/integrations/__init__.py +6 -0
  22. telnyx/types/ai/integrations/connection_list_response.py +19 -0
  23. telnyx/types/ai/integrations/connection_retrieve_response.py +19 -0
  24. telnyx/types/ai/mcp_server_create_params.py +22 -0
  25. telnyx/types/ai/mcp_server_create_response.py +24 -0
  26. telnyx/types/ai/mcp_server_list_params.py +19 -0
  27. telnyx/types/ai/mcp_server_list_response.py +28 -0
  28. telnyx/types/ai/mcp_server_retrieve_response.py +24 -0
  29. telnyx/types/ai/mcp_server_update_params.py +28 -0
  30. telnyx/types/ai/mcp_server_update_response.py +24 -0
  31. telnyx/types/call_dial_params.py +3 -0
  32. telnyx/types/calls/action_transfer_params.py +3 -0
  33. telnyx/types/conference_create_params.py +6 -0
  34. telnyx/types/conference_list_params.py +3 -0
  35. telnyx/types/conference_list_participants_params.py +4 -1
  36. telnyx/types/conference_retrieve_params.py +12 -0
  37. telnyx/types/conferences/action_hold_params.py +7 -1
  38. telnyx/types/conferences/action_join_params.py +6 -0
  39. telnyx/types/conferences/action_leave_params.py +6 -0
  40. telnyx/types/conferences/action_mute_params.py +7 -1
  41. telnyx/types/conferences/action_play_params.py +7 -1
  42. telnyx/types/conferences/action_record_pause_params.py +7 -1
  43. telnyx/types/conferences/action_record_resume_params.py +7 -1
  44. telnyx/types/conferences/action_record_start_params.py +6 -0
  45. telnyx/types/conferences/action_record_stop_params.py +7 -1
  46. telnyx/types/conferences/action_speak_params.py +6 -0
  47. telnyx/types/conferences/action_stop_params.py +7 -1
  48. telnyx/types/conferences/action_unhold_params.py +7 -1
  49. telnyx/types/conferences/action_unmute_params.py +7 -1
  50. telnyx/types/conferences/action_update_params.py +6 -0
  51. telnyx/types/recording_list_params.py +7 -1
  52. telnyx/types/texml/accounts/call_calls_params.py +5 -0
  53. {telnyx-3.9.0.dist-info → telnyx-3.11.0.dist-info}/METADATA +1 -1
  54. {telnyx-3.9.0.dist-info → telnyx-3.11.0.dist-info}/RECORD +56 -39
  55. {telnyx-3.9.0.dist-info → telnyx-3.11.0.dist-info}/WHEEL +0 -0
  56. {telnyx-3.9.0.dist-info → telnyx-3.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,571 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from datetime import datetime
7
+
8
+ import httpx
9
+
10
+ from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
11
+ from ..._utils import maybe_transform, async_maybe_transform
12
+ from ..._compat import cached_property
13
+ from ...types.ai import mcp_server_list_params, mcp_server_create_params, mcp_server_update_params
14
+ from ..._resource import SyncAPIResource, AsyncAPIResource
15
+ from ..._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
20
+ )
21
+ from ..._base_client import make_request_options
22
+ from ...types.ai.mcp_server_list_response import McpServerListResponse
23
+ from ...types.ai.mcp_server_create_response import McpServerCreateResponse
24
+ from ...types.ai.mcp_server_update_response import McpServerUpdateResponse
25
+ from ...types.ai.mcp_server_retrieve_response import McpServerRetrieveResponse
26
+
27
+ __all__ = ["McpServersResource", "AsyncMcpServersResource"]
28
+
29
+
30
+ class McpServersResource(SyncAPIResource):
31
+ @cached_property
32
+ def with_raw_response(self) -> McpServersResourceWithRawResponse:
33
+ """
34
+ This property can be used as a prefix for any HTTP method call to return
35
+ the raw response object instead of the parsed content.
36
+
37
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
38
+ """
39
+ return McpServersResourceWithRawResponse(self)
40
+
41
+ @cached_property
42
+ def with_streaming_response(self) -> McpServersResourceWithStreamingResponse:
43
+ """
44
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
45
+
46
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
47
+ """
48
+ return McpServersResourceWithStreamingResponse(self)
49
+
50
+ def create(
51
+ self,
52
+ *,
53
+ name: str,
54
+ type: str,
55
+ url: str,
56
+ allowed_tools: Optional[SequenceNotStr[str]] | Omit = omit,
57
+ api_key_ref: Optional[str] | Omit = omit,
58
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
59
+ # The extra values given here take precedence over values defined on the client or passed to this method.
60
+ extra_headers: Headers | None = None,
61
+ extra_query: Query | None = None,
62
+ extra_body: Body | None = None,
63
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
64
+ ) -> McpServerCreateResponse:
65
+ """
66
+ Create a new MCP server.
67
+
68
+ Args:
69
+ extra_headers: Send extra headers
70
+
71
+ extra_query: Add additional query parameters to the request
72
+
73
+ extra_body: Add additional JSON properties to the request
74
+
75
+ timeout: Override the client-level default timeout for this request, in seconds
76
+ """
77
+ return self._post(
78
+ "/ai/mcp_servers",
79
+ body=maybe_transform(
80
+ {
81
+ "name": name,
82
+ "type": type,
83
+ "url": url,
84
+ "allowed_tools": allowed_tools,
85
+ "api_key_ref": api_key_ref,
86
+ },
87
+ mcp_server_create_params.McpServerCreateParams,
88
+ ),
89
+ options=make_request_options(
90
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
91
+ ),
92
+ cast_to=McpServerCreateResponse,
93
+ )
94
+
95
+ def retrieve(
96
+ self,
97
+ mcp_server_id: str,
98
+ *,
99
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
100
+ # The extra values given here take precedence over values defined on the client or passed to this method.
101
+ extra_headers: Headers | None = None,
102
+ extra_query: Query | None = None,
103
+ extra_body: Body | None = None,
104
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
105
+ ) -> McpServerRetrieveResponse:
106
+ """
107
+ Retrieve details for a specific MCP server.
108
+
109
+ Args:
110
+ extra_headers: Send extra headers
111
+
112
+ extra_query: Add additional query parameters to the request
113
+
114
+ extra_body: Add additional JSON properties to the request
115
+
116
+ timeout: Override the client-level default timeout for this request, in seconds
117
+ """
118
+ if not mcp_server_id:
119
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
120
+ return self._get(
121
+ f"/ai/mcp_servers/{mcp_server_id}",
122
+ options=make_request_options(
123
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
124
+ ),
125
+ cast_to=McpServerRetrieveResponse,
126
+ )
127
+
128
+ def update(
129
+ self,
130
+ mcp_server_id: str,
131
+ *,
132
+ id: str | Omit = omit,
133
+ allowed_tools: Optional[SequenceNotStr[str]] | Omit = omit,
134
+ api_key_ref: Optional[str] | Omit = omit,
135
+ created_at: Union[str, datetime] | Omit = omit,
136
+ name: str | Omit = omit,
137
+ type: str | Omit = omit,
138
+ url: str | Omit = omit,
139
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
140
+ # The extra values given here take precedence over values defined on the client or passed to this method.
141
+ extra_headers: Headers | None = None,
142
+ extra_query: Query | None = None,
143
+ extra_body: Body | None = None,
144
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
145
+ ) -> McpServerUpdateResponse:
146
+ """
147
+ Update an existing MCP server.
148
+
149
+ Args:
150
+ extra_headers: Send extra headers
151
+
152
+ extra_query: Add additional query parameters to the request
153
+
154
+ extra_body: Add additional JSON properties to the request
155
+
156
+ timeout: Override the client-level default timeout for this request, in seconds
157
+ """
158
+ if not mcp_server_id:
159
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
160
+ return self._put(
161
+ f"/ai/mcp_servers/{mcp_server_id}",
162
+ body=maybe_transform(
163
+ {
164
+ "id": id,
165
+ "allowed_tools": allowed_tools,
166
+ "api_key_ref": api_key_ref,
167
+ "created_at": created_at,
168
+ "name": name,
169
+ "type": type,
170
+ "url": url,
171
+ },
172
+ mcp_server_update_params.McpServerUpdateParams,
173
+ ),
174
+ options=make_request_options(
175
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
176
+ ),
177
+ cast_to=McpServerUpdateResponse,
178
+ )
179
+
180
+ def list(
181
+ self,
182
+ *,
183
+ page_number: int | Omit = omit,
184
+ page_size: int | Omit = omit,
185
+ type: str | Omit = omit,
186
+ url: str | Omit = omit,
187
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
188
+ # The extra values given here take precedence over values defined on the client or passed to this method.
189
+ extra_headers: Headers | None = None,
190
+ extra_query: Query | None = None,
191
+ extra_body: Body | None = None,
192
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
193
+ ) -> McpServerListResponse:
194
+ """
195
+ Retrieve a list of MCP servers.
196
+
197
+ Args:
198
+ extra_headers: Send extra headers
199
+
200
+ extra_query: Add additional query parameters to the request
201
+
202
+ extra_body: Add additional JSON properties to the request
203
+
204
+ timeout: Override the client-level default timeout for this request, in seconds
205
+ """
206
+ return self._get(
207
+ "/ai/mcp_servers",
208
+ options=make_request_options(
209
+ extra_headers=extra_headers,
210
+ extra_query=extra_query,
211
+ extra_body=extra_body,
212
+ timeout=timeout,
213
+ query=maybe_transform(
214
+ {
215
+ "page_number": page_number,
216
+ "page_size": page_size,
217
+ "type": type,
218
+ "url": url,
219
+ },
220
+ mcp_server_list_params.McpServerListParams,
221
+ ),
222
+ ),
223
+ cast_to=McpServerListResponse,
224
+ )
225
+
226
+ def delete(
227
+ self,
228
+ mcp_server_id: str,
229
+ *,
230
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
231
+ # The extra values given here take precedence over values defined on the client or passed to this method.
232
+ extra_headers: Headers | None = None,
233
+ extra_query: Query | None = None,
234
+ extra_body: Body | None = None,
235
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
236
+ ) -> object:
237
+ """
238
+ Delete a specific MCP server.
239
+
240
+ Args:
241
+ extra_headers: Send extra headers
242
+
243
+ extra_query: Add additional query parameters to the request
244
+
245
+ extra_body: Add additional JSON properties to the request
246
+
247
+ timeout: Override the client-level default timeout for this request, in seconds
248
+ """
249
+ if not mcp_server_id:
250
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
251
+ return self._delete(
252
+ f"/ai/mcp_servers/{mcp_server_id}",
253
+ options=make_request_options(
254
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
255
+ ),
256
+ cast_to=object,
257
+ )
258
+
259
+
260
+ class AsyncMcpServersResource(AsyncAPIResource):
261
+ @cached_property
262
+ def with_raw_response(self) -> AsyncMcpServersResourceWithRawResponse:
263
+ """
264
+ This property can be used as a prefix for any HTTP method call to return
265
+ the raw response object instead of the parsed content.
266
+
267
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
268
+ """
269
+ return AsyncMcpServersResourceWithRawResponse(self)
270
+
271
+ @cached_property
272
+ def with_streaming_response(self) -> AsyncMcpServersResourceWithStreamingResponse:
273
+ """
274
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
275
+
276
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
277
+ """
278
+ return AsyncMcpServersResourceWithStreamingResponse(self)
279
+
280
+ async def create(
281
+ self,
282
+ *,
283
+ name: str,
284
+ type: str,
285
+ url: str,
286
+ allowed_tools: Optional[SequenceNotStr[str]] | Omit = omit,
287
+ api_key_ref: Optional[str] | Omit = omit,
288
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
289
+ # The extra values given here take precedence over values defined on the client or passed to this method.
290
+ extra_headers: Headers | None = None,
291
+ extra_query: Query | None = None,
292
+ extra_body: Body | None = None,
293
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
294
+ ) -> McpServerCreateResponse:
295
+ """
296
+ Create a new MCP server.
297
+
298
+ Args:
299
+ extra_headers: Send extra headers
300
+
301
+ extra_query: Add additional query parameters to the request
302
+
303
+ extra_body: Add additional JSON properties to the request
304
+
305
+ timeout: Override the client-level default timeout for this request, in seconds
306
+ """
307
+ return await self._post(
308
+ "/ai/mcp_servers",
309
+ body=await async_maybe_transform(
310
+ {
311
+ "name": name,
312
+ "type": type,
313
+ "url": url,
314
+ "allowed_tools": allowed_tools,
315
+ "api_key_ref": api_key_ref,
316
+ },
317
+ mcp_server_create_params.McpServerCreateParams,
318
+ ),
319
+ options=make_request_options(
320
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
321
+ ),
322
+ cast_to=McpServerCreateResponse,
323
+ )
324
+
325
+ async def retrieve(
326
+ self,
327
+ mcp_server_id: str,
328
+ *,
329
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
330
+ # The extra values given here take precedence over values defined on the client or passed to this method.
331
+ extra_headers: Headers | None = None,
332
+ extra_query: Query | None = None,
333
+ extra_body: Body | None = None,
334
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
335
+ ) -> McpServerRetrieveResponse:
336
+ """
337
+ Retrieve details for a specific MCP server.
338
+
339
+ Args:
340
+ extra_headers: Send extra headers
341
+
342
+ extra_query: Add additional query parameters to the request
343
+
344
+ extra_body: Add additional JSON properties to the request
345
+
346
+ timeout: Override the client-level default timeout for this request, in seconds
347
+ """
348
+ if not mcp_server_id:
349
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
350
+ return await self._get(
351
+ f"/ai/mcp_servers/{mcp_server_id}",
352
+ options=make_request_options(
353
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
354
+ ),
355
+ cast_to=McpServerRetrieveResponse,
356
+ )
357
+
358
+ async def update(
359
+ self,
360
+ mcp_server_id: str,
361
+ *,
362
+ id: str | Omit = omit,
363
+ allowed_tools: Optional[SequenceNotStr[str]] | Omit = omit,
364
+ api_key_ref: Optional[str] | Omit = omit,
365
+ created_at: Union[str, datetime] | Omit = omit,
366
+ name: str | Omit = omit,
367
+ type: str | Omit = omit,
368
+ url: str | Omit = omit,
369
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
370
+ # The extra values given here take precedence over values defined on the client or passed to this method.
371
+ extra_headers: Headers | None = None,
372
+ extra_query: Query | None = None,
373
+ extra_body: Body | None = None,
374
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
375
+ ) -> McpServerUpdateResponse:
376
+ """
377
+ Update an existing MCP server.
378
+
379
+ Args:
380
+ extra_headers: Send extra headers
381
+
382
+ extra_query: Add additional query parameters to the request
383
+
384
+ extra_body: Add additional JSON properties to the request
385
+
386
+ timeout: Override the client-level default timeout for this request, in seconds
387
+ """
388
+ if not mcp_server_id:
389
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
390
+ return await self._put(
391
+ f"/ai/mcp_servers/{mcp_server_id}",
392
+ body=await async_maybe_transform(
393
+ {
394
+ "id": id,
395
+ "allowed_tools": allowed_tools,
396
+ "api_key_ref": api_key_ref,
397
+ "created_at": created_at,
398
+ "name": name,
399
+ "type": type,
400
+ "url": url,
401
+ },
402
+ mcp_server_update_params.McpServerUpdateParams,
403
+ ),
404
+ options=make_request_options(
405
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
406
+ ),
407
+ cast_to=McpServerUpdateResponse,
408
+ )
409
+
410
+ async def list(
411
+ self,
412
+ *,
413
+ page_number: int | Omit = omit,
414
+ page_size: int | Omit = omit,
415
+ type: str | Omit = omit,
416
+ url: str | Omit = omit,
417
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
418
+ # The extra values given here take precedence over values defined on the client or passed to this method.
419
+ extra_headers: Headers | None = None,
420
+ extra_query: Query | None = None,
421
+ extra_body: Body | None = None,
422
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
423
+ ) -> McpServerListResponse:
424
+ """
425
+ Retrieve a list of MCP servers.
426
+
427
+ Args:
428
+ extra_headers: Send extra headers
429
+
430
+ extra_query: Add additional query parameters to the request
431
+
432
+ extra_body: Add additional JSON properties to the request
433
+
434
+ timeout: Override the client-level default timeout for this request, in seconds
435
+ """
436
+ return await self._get(
437
+ "/ai/mcp_servers",
438
+ options=make_request_options(
439
+ extra_headers=extra_headers,
440
+ extra_query=extra_query,
441
+ extra_body=extra_body,
442
+ timeout=timeout,
443
+ query=await async_maybe_transform(
444
+ {
445
+ "page_number": page_number,
446
+ "page_size": page_size,
447
+ "type": type,
448
+ "url": url,
449
+ },
450
+ mcp_server_list_params.McpServerListParams,
451
+ ),
452
+ ),
453
+ cast_to=McpServerListResponse,
454
+ )
455
+
456
+ async def delete(
457
+ self,
458
+ mcp_server_id: str,
459
+ *,
460
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
461
+ # The extra values given here take precedence over values defined on the client or passed to this method.
462
+ extra_headers: Headers | None = None,
463
+ extra_query: Query | None = None,
464
+ extra_body: Body | None = None,
465
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
466
+ ) -> object:
467
+ """
468
+ Delete a specific MCP server.
469
+
470
+ Args:
471
+ extra_headers: Send extra headers
472
+
473
+ extra_query: Add additional query parameters to the request
474
+
475
+ extra_body: Add additional JSON properties to the request
476
+
477
+ timeout: Override the client-level default timeout for this request, in seconds
478
+ """
479
+ if not mcp_server_id:
480
+ raise ValueError(f"Expected a non-empty value for `mcp_server_id` but received {mcp_server_id!r}")
481
+ return await self._delete(
482
+ f"/ai/mcp_servers/{mcp_server_id}",
483
+ options=make_request_options(
484
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
485
+ ),
486
+ cast_to=object,
487
+ )
488
+
489
+
490
+ class McpServersResourceWithRawResponse:
491
+ def __init__(self, mcp_servers: McpServersResource) -> None:
492
+ self._mcp_servers = mcp_servers
493
+
494
+ self.create = to_raw_response_wrapper(
495
+ mcp_servers.create,
496
+ )
497
+ self.retrieve = to_raw_response_wrapper(
498
+ mcp_servers.retrieve,
499
+ )
500
+ self.update = to_raw_response_wrapper(
501
+ mcp_servers.update,
502
+ )
503
+ self.list = to_raw_response_wrapper(
504
+ mcp_servers.list,
505
+ )
506
+ self.delete = to_raw_response_wrapper(
507
+ mcp_servers.delete,
508
+ )
509
+
510
+
511
+ class AsyncMcpServersResourceWithRawResponse:
512
+ def __init__(self, mcp_servers: AsyncMcpServersResource) -> None:
513
+ self._mcp_servers = mcp_servers
514
+
515
+ self.create = async_to_raw_response_wrapper(
516
+ mcp_servers.create,
517
+ )
518
+ self.retrieve = async_to_raw_response_wrapper(
519
+ mcp_servers.retrieve,
520
+ )
521
+ self.update = async_to_raw_response_wrapper(
522
+ mcp_servers.update,
523
+ )
524
+ self.list = async_to_raw_response_wrapper(
525
+ mcp_servers.list,
526
+ )
527
+ self.delete = async_to_raw_response_wrapper(
528
+ mcp_servers.delete,
529
+ )
530
+
531
+
532
+ class McpServersResourceWithStreamingResponse:
533
+ def __init__(self, mcp_servers: McpServersResource) -> None:
534
+ self._mcp_servers = mcp_servers
535
+
536
+ self.create = to_streamed_response_wrapper(
537
+ mcp_servers.create,
538
+ )
539
+ self.retrieve = to_streamed_response_wrapper(
540
+ mcp_servers.retrieve,
541
+ )
542
+ self.update = to_streamed_response_wrapper(
543
+ mcp_servers.update,
544
+ )
545
+ self.list = to_streamed_response_wrapper(
546
+ mcp_servers.list,
547
+ )
548
+ self.delete = to_streamed_response_wrapper(
549
+ mcp_servers.delete,
550
+ )
551
+
552
+
553
+ class AsyncMcpServersResourceWithStreamingResponse:
554
+ def __init__(self, mcp_servers: AsyncMcpServersResource) -> None:
555
+ self._mcp_servers = mcp_servers
556
+
557
+ self.create = async_to_streamed_response_wrapper(
558
+ mcp_servers.create,
559
+ )
560
+ self.retrieve = async_to_streamed_response_wrapper(
561
+ mcp_servers.retrieve,
562
+ )
563
+ self.update = async_to_streamed_response_wrapper(
564
+ mcp_servers.update,
565
+ )
566
+ self.list = async_to_streamed_response_wrapper(
567
+ mcp_servers.list,
568
+ )
569
+ self.delete = async_to_streamed_response_wrapper(
570
+ mcp_servers.delete,
571
+ )
@@ -3120,6 +3120,7 @@ class ActionsResource(SyncAPIResource):
3120
3120
  sip_auth_password: str | Omit = omit,
3121
3121
  sip_auth_username: str | Omit = omit,
3122
3122
  sip_headers: Iterable[SipHeaderParam] | Omit = omit,
3123
+ sip_region: Literal["US", "Europe", "Canada", "Australia", "Middle East"] | Omit = omit,
3123
3124
  sip_transport_protocol: Literal["UDP", "TCP", "TLS"] | Omit = omit,
3124
3125
  sound_modifications: SoundModificationsParam | Omit = omit,
3125
3126
  target_leg_client_state: str | Omit = omit,
@@ -3241,6 +3242,8 @@ class ActionsResource(SyncAPIResource):
3241
3242
  sip_headers: SIP headers to be added to the SIP INVITE. Currently only User-to-User header is
3242
3243
  supported.
3243
3244
 
3245
+ sip_region: Defines the SIP region to be used for the call.
3246
+
3244
3247
  sip_transport_protocol: Defines SIP transport protocol to be used on the call.
3245
3248
 
3246
3249
  sound_modifications: Use this field to modify sound effects, for example adjust the pitch.
@@ -3305,6 +3308,7 @@ class ActionsResource(SyncAPIResource):
3305
3308
  "sip_auth_password": sip_auth_password,
3306
3309
  "sip_auth_username": sip_auth_username,
3307
3310
  "sip_headers": sip_headers,
3311
+ "sip_region": sip_region,
3308
3312
  "sip_transport_protocol": sip_transport_protocol,
3309
3313
  "sound_modifications": sound_modifications,
3310
3314
  "target_leg_client_state": target_leg_client_state,
@@ -6365,6 +6369,7 @@ class AsyncActionsResource(AsyncAPIResource):
6365
6369
  sip_auth_password: str | Omit = omit,
6366
6370
  sip_auth_username: str | Omit = omit,
6367
6371
  sip_headers: Iterable[SipHeaderParam] | Omit = omit,
6372
+ sip_region: Literal["US", "Europe", "Canada", "Australia", "Middle East"] | Omit = omit,
6368
6373
  sip_transport_protocol: Literal["UDP", "TCP", "TLS"] | Omit = omit,
6369
6374
  sound_modifications: SoundModificationsParam | Omit = omit,
6370
6375
  target_leg_client_state: str | Omit = omit,
@@ -6486,6 +6491,8 @@ class AsyncActionsResource(AsyncAPIResource):
6486
6491
  sip_headers: SIP headers to be added to the SIP INVITE. Currently only User-to-User header is
6487
6492
  supported.
6488
6493
 
6494
+ sip_region: Defines the SIP region to be used for the call.
6495
+
6489
6496
  sip_transport_protocol: Defines SIP transport protocol to be used on the call.
6490
6497
 
6491
6498
  sound_modifications: Use this field to modify sound effects, for example adjust the pitch.
@@ -6550,6 +6557,7 @@ class AsyncActionsResource(AsyncAPIResource):
6550
6557
  "sip_auth_password": sip_auth_password,
6551
6558
  "sip_auth_username": sip_auth_username,
6552
6559
  "sip_headers": sip_headers,
6560
+ "sip_region": sip_region,
6553
6561
  "sip_transport_protocol": sip_transport_protocol,
6554
6562
  "sound_modifications": sound_modifications,
6555
6563
  "target_leg_client_state": target_leg_client_state,
@@ -113,6 +113,7 @@ class CallsResource(SyncAPIResource):
113
113
  sip_auth_password: str | Omit = omit,
114
114
  sip_auth_username: str | Omit = omit,
115
115
  sip_headers: Iterable[SipHeaderParam] | Omit = omit,
116
+ sip_region: Literal["US", "Europe", "Canada", "Australia", "Middle East"] | Omit = omit,
116
117
  sip_transport_protocol: Literal["UDP", "TCP", "TLS"] | Omit = omit,
117
118
  sound_modifications: SoundModificationsParam | Omit = omit,
118
119
  stream_bidirectional_codec: StreamBidirectionalCodec | Omit = omit,
@@ -276,6 +277,8 @@ class CallsResource(SyncAPIResource):
276
277
  sip_headers: SIP headers to be added to the SIP INVITE request. Currently only User-to-User
277
278
  header is supported.
278
279
 
280
+ sip_region: Defines the SIP region to be used for the call.
281
+
279
282
  sip_transport_protocol: Defines SIP transport protocol to be used on the call.
280
283
 
281
284
  sound_modifications: Use this field to modify sound effects, for example adjust the pitch.
@@ -372,6 +375,7 @@ class CallsResource(SyncAPIResource):
372
375
  "sip_auth_password": sip_auth_password,
373
376
  "sip_auth_username": sip_auth_username,
374
377
  "sip_headers": sip_headers,
378
+ "sip_region": sip_region,
375
379
  "sip_transport_protocol": sip_transport_protocol,
376
380
  "sound_modifications": sound_modifications,
377
381
  "stream_bidirectional_codec": stream_bidirectional_codec,
@@ -496,6 +500,7 @@ class AsyncCallsResource(AsyncAPIResource):
496
500
  sip_auth_password: str | Omit = omit,
497
501
  sip_auth_username: str | Omit = omit,
498
502
  sip_headers: Iterable[SipHeaderParam] | Omit = omit,
503
+ sip_region: Literal["US", "Europe", "Canada", "Australia", "Middle East"] | Omit = omit,
499
504
  sip_transport_protocol: Literal["UDP", "TCP", "TLS"] | Omit = omit,
500
505
  sound_modifications: SoundModificationsParam | Omit = omit,
501
506
  stream_bidirectional_codec: StreamBidirectionalCodec | Omit = omit,
@@ -659,6 +664,8 @@ class AsyncCallsResource(AsyncAPIResource):
659
664
  sip_headers: SIP headers to be added to the SIP INVITE request. Currently only User-to-User
660
665
  header is supported.
661
666
 
667
+ sip_region: Defines the SIP region to be used for the call.
668
+
662
669
  sip_transport_protocol: Defines SIP transport protocol to be used on the call.
663
670
 
664
671
  sound_modifications: Use this field to modify sound effects, for example adjust the pitch.
@@ -755,6 +762,7 @@ class AsyncCallsResource(AsyncAPIResource):
755
762
  "sip_auth_password": sip_auth_password,
756
763
  "sip_auth_username": sip_auth_username,
757
764
  "sip_headers": sip_headers,
765
+ "sip_region": sip_region,
758
766
  "sip_transport_protocol": sip_transport_protocol,
759
767
  "sound_modifications": sound_modifications,
760
768
  "stream_bidirectional_codec": stream_bidirectional_codec,