telnyx 3.5.0a0__py3-none-any.whl → 3.6.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 (224) hide show
  1. telnyx/_client.py +56 -756
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/__init__.py +70 -0
  4. telnyx/resources/advanced_orders.py +63 -63
  5. telnyx/resources/ai/assistants/assistants.py +15 -17
  6. telnyx/resources/ai/assistants/versions.py +13 -15
  7. telnyx/resources/ai/conversations/conversations.py +137 -3
  8. telnyx/resources/ai/conversations/messages.py +1 -134
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +154 -150
  11. telnyx/resources/calls/calls.py +18 -10
  12. telnyx/resources/conferences/actions.py +8 -24
  13. telnyx/resources/conferences/conferences.py +2 -6
  14. telnyx/resources/documents.py +242 -37
  15. telnyx/resources/legacy/__init__.py +33 -0
  16. telnyx/resources/legacy/legacy.py +102 -0
  17. telnyx/resources/legacy/reporting/__init__.py +47 -0
  18. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  19. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  20. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  21. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  22. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  23. telnyx/resources/legacy/reporting/reporting.py +134 -0
  24. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  25. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  26. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  27. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  28. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  29. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  30. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  31. telnyx/resources/oauth.py +855 -0
  32. telnyx/resources/oauth_clients.py +711 -0
  33. telnyx/resources/oauth_grants.py +349 -0
  34. telnyx/resources/outbound_voice_profiles.py +24 -4
  35. telnyx/resources/phone_numbers/jobs.py +12 -0
  36. telnyx/resources/porting_orders/porting_orders.py +20 -8
  37. telnyx/resources/sim_cards/actions.py +12 -12
  38. telnyx/resources/sim_cards/sim_cards.py +3 -2
  39. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  40. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  41. telnyx/resources/verifications/verifications.py +10 -0
  42. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  43. telnyx/resources/verify_profiles.py +182 -1
  44. telnyx/resources/well_known.py +198 -0
  45. telnyx/types/__init__.py +51 -9
  46. telnyx/types/access_ip_address_list_response.py +3 -12
  47. telnyx/types/access_ip_range_list_response.py +3 -12
  48. telnyx/types/addresses/action_validate_response.py +8 -3
  49. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  50. telnyx/types/ai/__init__.py +2 -3
  51. telnyx/types/ai/assistant_import_params.py +1 -1
  52. telnyx/types/ai/assistants/__init__.py +0 -3
  53. telnyx/types/ai/assistants_list.py +4 -88
  54. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +4 -4
  55. telnyx/types/ai/conversations/__init__.py +0 -1
  56. telnyx/types/ai/import_metadata.py +1 -1
  57. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  58. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  59. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  60. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  61. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +2 -0
  62. telnyx/types/ai/voice_settings.py +49 -2
  63. telnyx/types/ai/voice_settings_param.py +49 -2
  64. telnyx/types/brand_create_params.py +2 -1
  65. telnyx/types/brand_update_params.py +2 -1
  66. telnyx/types/call_dial_params.py +11 -3
  67. telnyx/types/calls/__init__.py +1 -0
  68. telnyx/types/calls/action_answer_params.py +1 -2
  69. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  70. telnyx/types/calls/action_start_streaming_params.py +5 -2
  71. telnyx/types/calls/action_start_transcription_params.py +160 -6
  72. telnyx/types/calls/action_transfer_params.py +50 -0
  73. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  74. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  75. telnyx/types/calls/transcription_start_request_param.py +161 -6
  76. telnyx/types/campaign_submit_appeal_response.py +0 -3
  77. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  78. telnyx/types/country_coverage_retrieve_response.py +7 -0
  79. telnyx/types/document_upload_json_params.py +39 -0
  80. telnyx/types/document_upload_json_response.py +12 -0
  81. telnyx/types/legacy/__init__.py +3 -0
  82. telnyx/types/legacy/reporting/__init__.py +12 -0
  83. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +24 -0
  84. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  85. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  86. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  87. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  88. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  89. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  90. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +15 -0
  91. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  92. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  93. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  94. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  95. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  96. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  97. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  98. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  99. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  100. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  101. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +15 -0
  102. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  103. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  104. telnyx/types/legacy/reporting/filter.py +31 -0
  105. telnyx/types/legacy/reporting/filter_param.py +30 -0
  106. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  107. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  108. telnyx/types/legacy/reporting/usage_reports/__init__.py +21 -0
  109. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  110. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  111. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  112. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  113. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  114. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  115. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +15 -0
  116. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  117. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  118. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  119. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  120. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  121. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  122. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  123. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  124. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +15 -0
  125. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  126. telnyx/types/message_template.py +12 -0
  127. telnyx/types/messaging_profile.py +3 -0
  128. telnyx/types/messaging_profile_create_params.py +3 -0
  129. telnyx/types/messaging_profile_update_params.py +3 -0
  130. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  131. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  132. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  133. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  134. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  135. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  136. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  137. telnyx/types/oauth_client.py +59 -0
  138. telnyx/types/oauth_client_create_params.py +39 -0
  139. telnyx/types/oauth_client_create_response.py +12 -0
  140. telnyx/types/oauth_client_list_params.py +38 -0
  141. telnyx/types/oauth_client_list_response.py +15 -0
  142. telnyx/types/oauth_client_retrieve_response.py +12 -0
  143. telnyx/types/oauth_client_update_params.py +36 -0
  144. telnyx/types/oauth_client_update_response.py +12 -0
  145. telnyx/types/oauth_grant.py +29 -0
  146. telnyx/types/oauth_grant_delete_response.py +12 -0
  147. telnyx/types/oauth_grant_list_params.py +17 -0
  148. telnyx/types/oauth_grant_list_response.py +15 -0
  149. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  150. telnyx/types/oauth_grants_params.py +15 -0
  151. telnyx/types/oauth_grants_response.py +10 -0
  152. telnyx/types/oauth_introspect_params.py +12 -0
  153. telnyx/types/oauth_introspect_response.py +30 -0
  154. telnyx/types/oauth_register_params.py +39 -0
  155. telnyx/types/oauth_register_response.py +45 -0
  156. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  157. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  158. telnyx/types/oauth_retrieve_response.py +47 -0
  159. telnyx/types/oauth_token_params.py +33 -0
  160. telnyx/types/oauth_token_response.py +25 -0
  161. telnyx/types/outbound_voice_profile.py +27 -1
  162. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  163. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  164. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  165. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  166. telnyx/types/pagination_meta_oauth.py +21 -0
  167. telnyx/types/phone_number_blocks/__init__.py +1 -0
  168. telnyx/types/phone_number_blocks/job.py +3 -34
  169. telnyx/types/phone_number_blocks/job_error.py +32 -0
  170. telnyx/types/phone_number_delete_response.py +7 -0
  171. telnyx/types/phone_number_detailed.py +7 -0
  172. telnyx/types/phone_number_list_params.py +6 -0
  173. telnyx/types/phone_numbers/job_update_batch_params.py +7 -0
  174. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  175. telnyx/types/porting_order.py +3 -0
  176. telnyx/types/porting_order_create_params.py +3 -0
  177. telnyx/types/porting_order_list_params.py +52 -31
  178. telnyx/types/porting_order_update_params.py +2 -0
  179. telnyx/types/porting_orders/phone_number_configuration_list_params.py +19 -19
  180. telnyx/types/report_list_mdrs_response.py +3 -12
  181. telnyx/types/reports/__init__.py +1 -0
  182. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  183. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  184. telnyx/types/requirement_group.py +2 -2
  185. telnyx/types/requirement_group_list_params.py +1 -1
  186. telnyx/types/shared/__init__.py +1 -0
  187. telnyx/types/{error.py → shared/api_error.py} +3 -3
  188. telnyx/types/shared/simple_sim_card.py +15 -0
  189. telnyx/types/sim_card.py +12 -0
  190. telnyx/types/sim_card_update_params.py +2 -1
  191. telnyx/types/stream_bidirectional_codec.py +1 -1
  192. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  193. telnyx/types/stream_codec.py +1 -1
  194. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  195. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  196. telnyx/types/verification_trigger_call_params.py +7 -0
  197. telnyx/types/verifications/__init__.py +1 -0
  198. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  199. telnyx/types/verifications/verify_meta.py +17 -0
  200. telnyx/types/verified_number_create_params.py +10 -0
  201. telnyx/types/verify_profile.py +18 -3
  202. telnyx/types/verify_profile_create_template_params.py +12 -0
  203. telnyx/types/verify_profile_list_response.py +4 -13
  204. telnyx/types/verify_profile_message_template_response.py +13 -0
  205. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  206. telnyx/types/verify_profile_update_template_params.py +12 -0
  207. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  208. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  209. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/METADATA +4 -4
  210. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/RECORD +212 -121
  211. telnyx/types/ai/assistant_create_response.py +0 -92
  212. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  213. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  214. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  215. telnyx/types/ai/assistants/version_update_response.py +0 -92
  216. telnyx/types/client_create_bucket_params.py +0 -13
  217. telnyx/types/client_delete_objects_params.py +0 -20
  218. telnyx/types/client_get_object_params.py +0 -15
  219. telnyx/types/client_list_objects_params.py +0 -13
  220. telnyx/types/client_put_object_params.py +0 -20
  221. telnyx/types/list_buckets_response.py +0 -20
  222. telnyx/types/list_objects_response.py +0 -24
  223. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/WHEEL +0 -0
  224. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,96 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Dict, List, Optional
4
- from datetime import datetime
3
+ from typing import List
5
4
 
6
5
  from ..._models import BaseModel
7
- from .assistant_tool import AssistantTool
8
- from .voice_settings import VoiceSettings
9
- from .import_metadata import ImportMetadata
10
- from .enabled_features import EnabledFeatures
11
- from .insight_settings import InsightSettings
12
- from .privacy_settings import PrivacySettings
13
- from .messaging_settings import MessagingSettings
14
- from .telephony_settings import TelephonySettings
15
- from .transcription_settings import TranscriptionSettings
6
+ from .inference_embedding import InferenceEmbedding
16
7
 
17
- __all__ = ["AssistantsList", "Data"]
18
-
19
-
20
- class Data(BaseModel):
21
- id: str
22
-
23
- created_at: datetime
24
-
25
- instructions: str
26
- """System instructions for the assistant.
27
-
28
- These may be templated with
29
- [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
30
- """
31
-
32
- model: str
33
- """ID of the model to use.
34
-
35
- You can use the
36
- [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
37
- to see all of your available models,
38
- """
39
-
40
- name: str
41
-
42
- description: Optional[str] = None
43
-
44
- dynamic_variables: Optional[Dict[str, object]] = None
45
- """Map of dynamic variables and their values"""
46
-
47
- dynamic_variables_webhook_url: Optional[str] = None
48
- """
49
- If the dynamic_variables_webhook_url is set for the assistant, we will send a
50
- request at the start of the conversation. See our
51
- [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
52
- for more information.
53
- """
54
-
55
- enabled_features: Optional[List[EnabledFeatures]] = None
56
-
57
- greeting: Optional[str] = None
58
- """Text that the assistant will use to start the conversation.
59
-
60
- This may be templated with
61
- [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
62
- """
63
-
64
- import_metadata: Optional[ImportMetadata] = None
65
-
66
- insight_settings: Optional[InsightSettings] = None
67
-
68
- llm_api_key_ref: Optional[str] = None
69
- """This is only needed when using third-party inference providers.
70
-
71
- The `identifier` for an integration secret
72
- [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
73
- that refers to your LLM provider's API key. Warning: Free plans are unlikely to
74
- work with this integration.
75
- """
76
-
77
- messaging_settings: Optional[MessagingSettings] = None
78
-
79
- privacy_settings: Optional[PrivacySettings] = None
80
-
81
- telephony_settings: Optional[TelephonySettings] = None
82
-
83
- tools: Optional[List[AssistantTool]] = None
84
- """The tools that the assistant can use.
85
-
86
- These may be templated with
87
- [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
88
- """
89
-
90
- transcription: Optional[TranscriptionSettings] = None
91
-
92
- voice_settings: Optional[VoiceSettings] = None
8
+ __all__ = ["AssistantsList"]
93
9
 
94
10
 
95
11
  class AssistantsList(BaseModel):
96
- data: List[Data]
12
+ data: List[InferenceEmbedding]
@@ -6,13 +6,13 @@ from typing import Dict, Union, Iterable
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
- from ...._types import SequenceNotStr
10
- from ...._utils import PropertyInfo
9
+ from ..._types import SequenceNotStr
10
+ from ..._utils import PropertyInfo
11
11
 
12
- __all__ = ["MessageCreateParams"]
12
+ __all__ = ["ConversationAddMessageParams"]
13
13
 
14
14
 
15
- class MessageCreateParams(TypedDict, total=False):
15
+ class ConversationAddMessageParams(TypedDict, total=False):
16
16
  role: Required[str]
17
17
 
18
18
  content: str
@@ -7,7 +7,6 @@ from .insight_list_params import InsightListParams as InsightListParams
7
7
  from .insight_create_params import InsightCreateParams as InsightCreateParams
8
8
  from .insight_list_response import InsightListResponse as InsightListResponse
9
9
  from .insight_update_params import InsightUpdateParams as InsightUpdateParams
10
- from .message_create_params import MessageCreateParams as MessageCreateParams
11
10
  from .message_list_response import MessageListResponse as MessageListResponse
12
11
  from .insight_template_group import InsightTemplateGroup as InsightTemplateGroup
13
12
  from .insight_template_detail import InsightTemplateDetail as InsightTemplateDetail
@@ -12,5 +12,5 @@ class ImportMetadata(BaseModel):
12
12
  import_id: Optional[str] = None
13
13
  """ID of the assistant in the provider's system."""
14
14
 
15
- import_provider: Optional[Literal["elevenlabs", "vapi"]] = None
15
+ import_provider: Optional[Literal["elevenlabs", "vapi", "retell"]] = None
16
16
  """Provider the assistant was imported from."""
@@ -14,10 +14,10 @@ from .messaging_settings import MessagingSettings
14
14
  from .telephony_settings import TelephonySettings
15
15
  from .transcription_settings import TranscriptionSettings
16
16
 
17
- __all__ = ["AssistantCloneResponse"]
17
+ __all__ = ["InferenceEmbedding"]
18
18
 
19
19
 
20
- class AssistantCloneResponse(BaseModel):
20
+ class InferenceEmbedding(BaseModel):
21
21
  id: str
22
22
 
23
23
  created_at: datetime
@@ -41,3 +41,9 @@ class InferenceEmbeddingTransferToolParams(BaseModel):
41
41
 
42
42
  custom_headers: Optional[List[CustomHeader]] = None
43
43
  """Custom headers to be added to the SIP INVITE for the transfer command."""
44
+
45
+ warm_transfer_instructions: Optional[str] = None
46
+ """
47
+ Natural language instructions for your agent for how to provide context for the
48
+ transfer recipient.
49
+ """
@@ -48,3 +48,9 @@ class InferenceEmbeddingTransferToolParamsParam(
48
48
 
49
49
  custom_headers: Iterable[CustomHeader]
50
50
  """Custom headers to be added to the SIP INVITE for the transfer command."""
51
+
52
+ warm_transfer_instructions: str
53
+ """
54
+ Natural language instructions for your agent for how to provide context for the
55
+ transfer recipient.
56
+ """
@@ -27,6 +27,8 @@ class Header(BaseModel):
27
27
  Note that we support mustache templating for the value. For example you can use
28
28
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
29
29
  value of the integration secret as the bearer token.
30
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
31
+ will be automatically added to the request.
30
32
  """
31
33
 
32
34
 
@@ -29,6 +29,8 @@ class Header(TypedDict, total=False):
29
29
  Note that we support mustache templating for the value. For example you can use
30
30
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
31
31
  value of the integration secret as the bearer token.
32
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
33
+ will be automatically added to the request.
32
34
  """
33
35
 
34
36
 
@@ -1,10 +1,50 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Optional
3
+ from typing import Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
4
5
 
5
6
  from ..._models import BaseModel
6
7
 
7
- __all__ = ["VoiceSettings"]
8
+ __all__ = [
9
+ "VoiceSettings",
10
+ "BackgroundAudio",
11
+ "BackgroundAudioUnionMember0",
12
+ "BackgroundAudioUnionMember1",
13
+ "BackgroundAudioUnionMember2",
14
+ ]
15
+
16
+
17
+ class BackgroundAudioUnionMember0(BaseModel):
18
+ type: Literal["predefined_media"]
19
+ """Select from predefined media options."""
20
+
21
+ value: Literal["silence", "office"]
22
+ """The predefined media to use. `silence` disables background audio."""
23
+
24
+
25
+ class BackgroundAudioUnionMember1(BaseModel):
26
+ type: Literal["media_url"]
27
+ """Provide a direct URL to an MP3 file. The audio will loop during the call."""
28
+
29
+ value: str
30
+ """HTTPS URL to an MP3 file."""
31
+
32
+
33
+ class BackgroundAudioUnionMember2(BaseModel):
34
+ type: Literal["media_name"]
35
+ """Reference a previously uploaded media by its name from Telnyx Media Storage."""
36
+
37
+ value: str
38
+ """
39
+ The `name` of a media asset created via
40
+ [Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
41
+ The audio will loop during the call.
42
+ """
43
+
44
+
45
+ BackgroundAudio: TypeAlias = Union[
46
+ BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
47
+ ]
8
48
 
9
49
 
10
50
  class VoiceSettings(BaseModel):
@@ -28,6 +68,13 @@ class VoiceSettings(BaseModel):
28
68
  with this integration.
29
69
  """
30
70
 
71
+ background_audio: Optional[BackgroundAudio] = None
72
+ """Optional background audio to play on the call.
73
+
74
+ Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
75
+ in the portal, customers can preview it before saving.
76
+ """
77
+
31
78
  voice_speed: Optional[float] = None
32
79
  """The speed of the voice in the range [0.25, 2.0].
33
80
 
@@ -2,9 +2,49 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
5
+ from typing import Union
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
6
7
 
7
- __all__ = ["VoiceSettingsParam"]
8
+ __all__ = [
9
+ "VoiceSettingsParam",
10
+ "BackgroundAudio",
11
+ "BackgroundAudioUnionMember0",
12
+ "BackgroundAudioUnionMember1",
13
+ "BackgroundAudioUnionMember2",
14
+ ]
15
+
16
+
17
+ class BackgroundAudioUnionMember0(TypedDict, total=False):
18
+ type: Required[Literal["predefined_media"]]
19
+ """Select from predefined media options."""
20
+
21
+ value: Required[Literal["silence", "office"]]
22
+ """The predefined media to use. `silence` disables background audio."""
23
+
24
+
25
+ class BackgroundAudioUnionMember1(TypedDict, total=False):
26
+ type: Required[Literal["media_url"]]
27
+ """Provide a direct URL to an MP3 file. The audio will loop during the call."""
28
+
29
+ value: Required[str]
30
+ """HTTPS URL to an MP3 file."""
31
+
32
+
33
+ class BackgroundAudioUnionMember2(TypedDict, total=False):
34
+ type: Required[Literal["media_name"]]
35
+ """Reference a previously uploaded media by its name from Telnyx Media Storage."""
36
+
37
+ value: Required[str]
38
+ """
39
+ The `name` of a media asset created via
40
+ [Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
41
+ The audio will loop during the call.
42
+ """
43
+
44
+
45
+ BackgroundAudio: TypeAlias = Union[
46
+ BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
47
+ ]
8
48
 
9
49
 
10
50
  class VoiceSettingsParam(TypedDict, total=False):
@@ -28,6 +68,13 @@ class VoiceSettingsParam(TypedDict, total=False):
28
68
  with this integration.
29
69
  """
30
70
 
71
+ background_audio: BackgroundAudio
72
+ """Optional background audio to play on the call.
73
+
74
+ Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
75
+ in the portal, customers can preview it before saving.
76
+ """
77
+
31
78
  voice_speed: float
32
79
  """The speed of the voice in the range [0.25, 2.0].
33
80
 
@@ -31,7 +31,8 @@ class BrandCreateParams(TypedDict, total=False):
31
31
  business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
32
32
  """Business contact email.
33
33
 
34
- Required if `entityType` is `PUBLIC_PROFIT`.
34
+ Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to
35
+ either omit this field or set it to `null`.
35
36
  """
36
37
 
37
38
  city: str
@@ -39,7 +39,8 @@ class BrandUpdateParams(TypedDict, total=False):
39
39
  business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
40
40
  """Business contact email.
41
41
 
42
- Required if `entityType` will be changed to `PUBLIC_PROFIT`.
42
+ Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is
43
+ recommended to either omit this field or set it to `null`.
43
44
  """
44
45
 
45
46
  city: str
@@ -15,6 +15,7 @@ from .sound_modifications_param import SoundModificationsParam
15
15
  from .stream_bidirectional_mode import StreamBidirectionalMode
16
16
  from .stream_bidirectional_codec import StreamBidirectionalCodec
17
17
  from .stream_bidirectional_target_legs import StreamBidirectionalTargetLegs
18
+ from .stream_bidirectional_sampling_rate import StreamBidirectionalSamplingRate
18
19
  from .calls.transcription_start_request_param import TranscriptionStartRequestParam
19
20
 
20
21
  __all__ = ["CallDialParams", "AnsweringMachineDetectionConfig", "ConferenceConfig"]
@@ -139,6 +140,14 @@ class CallDialParams(TypedDict, total=False):
139
140
  WAV or MP3 file.
140
141
  """
141
142
 
143
+ park_after_unbridge: str
144
+ """If supplied with the value `self`, the current leg will be parked after
145
+ unbridge.
146
+
147
+ If not set, the default behavior is to hang up the leg. When park_after_unbridge
148
+ is set, link_to becomes required.
149
+ """
150
+
142
151
  preferred_codecs: str
143
152
  """
144
153
  The list of comma-separated codecs in a preferred order for the forked media to
@@ -225,7 +234,7 @@ class CallDialParams(TypedDict, total=False):
225
234
  stream_bidirectional_mode: StreamBidirectionalMode
226
235
  """Configures method of bidirectional streaming (mp3, rtp)."""
227
236
 
228
- stream_bidirectional_sampling_rate: Literal[8000, 16000, 48000]
237
+ stream_bidirectional_sampling_rate: StreamBidirectionalSamplingRate
229
238
  """Audio sampling rate."""
230
239
 
231
240
  stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
@@ -235,8 +244,7 @@ class CallDialParams(TypedDict, total=False):
235
244
  """Specifies the codec to be used for the streamed audio.
236
245
 
237
246
  When set to 'default' or when transcoding is not possible, the codec from the
238
- call will be used. Currently, transcoding is only supported between PCMU and
239
- PCMA codecs.
247
+ call will be used.
240
248
  """
241
249
 
242
250
  stream_establish_before_call_originate: bool
@@ -52,6 +52,7 @@ from .action_start_recording_params import ActionStartRecordingParams as ActionS
52
52
  from .action_start_streaming_params import ActionStartStreamingParams as ActionStartStreamingParams
53
53
  from .action_stop_playback_response import ActionStopPlaybackResponse as ActionStopPlaybackResponse
54
54
  from .google_transcription_language import GoogleTranscriptionLanguage as GoogleTranscriptionLanguage
55
+ from .telnyx_transcription_language import TelnyxTranscriptionLanguage as TelnyxTranscriptionLanguage
55
56
  from .action_resume_recording_params import ActionResumeRecordingParams as ActionResumeRecordingParams
56
57
  from .action_start_playback_response import ActionStartPlaybackResponse as ActionStartPlaybackResponse
57
58
  from .action_stop_recording_response import ActionStopRecordingResponse as ActionStopRecordingResponse
@@ -124,8 +124,7 @@ class ActionAnswerParams(TypedDict, total=False):
124
124
  """Specifies the codec to be used for the streamed audio.
125
125
 
126
126
  When set to 'default' or when transcoding is not possible, the codec from the
127
- call will be used. Currently, transcoding is only supported between PCMU and
128
- PCMA codecs.
127
+ call will be used.
129
128
  """
130
129
 
131
130
  stream_track: Literal["inbound_track", "outbound_track", "both_tracks"]
@@ -67,20 +67,17 @@ class ActionGatherUsingAIParams(TypedDict, total=False):
67
67
  """Default is `false`.
68
68
 
69
69
  If set to `true`, the voice assistant will send updates to the message history
70
- via the `call.ai_gather.message_history_updated`
71
- [callback](https://developers.telnyx.com/api/call-control/call-gather-using-ai#callbacks)
72
- in real time as the message history is updated.
70
+ via the `call.ai_gather.message_history_updated` callback in real time as the
71
+ message history is updated.
73
72
  """
74
73
 
75
74
  send_partial_results: bool
76
75
  """Default is `false`.
77
76
 
78
77
  If set to `true`, the voice assistant will send partial results via the
79
- `call.ai_gather.partial_results`
80
- [callback](https://developers.telnyx.com/api/call-control/call-gather-using-ai#callbacks)
81
- in real time as individual fields are gathered. If set to `false`, the voice
82
- assistant will only send the final result via the `call.ai_gather.ended`
83
- callback.
78
+ `call.ai_gather.partial_results` callback in real time as individual fields are
79
+ gathered. If set to `false`, the voice assistant will only send the final result
80
+ via the `call.ai_gather.ended` callback.
84
81
  """
85
82
 
86
83
  transcription: TranscriptionConfigParam
@@ -9,6 +9,7 @@ from ..dialogflow_config_param import DialogflowConfigParam
9
9
  from ..stream_bidirectional_mode import StreamBidirectionalMode
10
10
  from ..stream_bidirectional_codec import StreamBidirectionalCodec
11
11
  from ..stream_bidirectional_target_legs import StreamBidirectionalTargetLegs
12
+ from ..stream_bidirectional_sampling_rate import StreamBidirectionalSamplingRate
12
13
 
13
14
  __all__ = ["ActionStartStreamingParams"]
14
15
 
@@ -41,6 +42,9 @@ class ActionStartStreamingParams(TypedDict, total=False):
41
42
  stream_bidirectional_mode: StreamBidirectionalMode
42
43
  """Configures method of bidirectional streaming (mp3, rtp)."""
43
44
 
45
+ stream_bidirectional_sampling_rate: StreamBidirectionalSamplingRate
46
+ """Audio sampling rate."""
47
+
44
48
  stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
45
49
  """Specifies which call legs should receive the bidirectional stream audio."""
46
50
 
@@ -48,8 +52,7 @@ class ActionStartStreamingParams(TypedDict, total=False):
48
52
  """Specifies the codec to be used for the streamed audio.
49
53
 
50
54
  When set to 'default' or when transcoding is not possible, the codec from the
51
- call will be used. Currently, transcoding is only supported between PCMU and
52
- PCMA codecs.
55
+ call will be used.
53
56
  """
54
57
 
55
58
  stream_track: Literal["inbound_track", "outbound_track", "both_tracks"]
@@ -2,13 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union
6
- from typing_extensions import Literal, TypeAlias, TypedDict
5
+ from typing import Union, Iterable
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
9
+ from .google_transcription_language import GoogleTranscriptionLanguage
10
+ from .telnyx_transcription_language import TelnyxTranscriptionLanguage
8
11
  from .transcription_engine_a_config_param import TranscriptionEngineAConfigParam
9
12
  from .transcription_engine_b_config_param import TranscriptionEngineBConfigParam
10
13
 
11
- __all__ = ["ActionStartTranscriptionParams", "TranscriptionEngineConfig"]
14
+ __all__ = [
15
+ "ActionStartTranscriptionParams",
16
+ "TranscriptionEngineConfig",
17
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfig",
18
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext",
19
+ "TranscriptionEngineConfigTranscriptionEngineTelnyxConfig",
20
+ "TranscriptionEngineConfigTranscriptionEngineDeepgramConfig",
21
+ ]
12
22
 
13
23
 
14
24
  class ActionStartTranscriptionParams(TypedDict, total=False):
@@ -25,8 +35,12 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
25
35
  `call_control_id`.
26
36
  """
27
37
 
28
- transcription_engine: Literal["A", "B"]
29
- """Engine to use for speech recognition. `A` - `Google`, `B` - `Telnyx`."""
38
+ transcription_engine: Literal["Google", "Telnyx", "Deepgram", "A", "B"]
39
+ """Engine to use for speech recognition.
40
+
41
+ Legacy values `A` - `Google`, `B` - `Telnyx` are supported for backward
42
+ compatibility.
43
+ """
30
44
 
31
45
  transcription_engine_config: TranscriptionEngineConfig
32
46
 
@@ -38,4 +52,144 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
38
52
  """
39
53
 
40
54
 
41
- TranscriptionEngineConfig: TypeAlias = Union[TranscriptionEngineAConfigParam, TranscriptionEngineBConfigParam]
55
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext(TypedDict, total=False):
56
+ boost: float
57
+ """Boost factor for the speech context."""
58
+
59
+ phrases: SequenceNotStr[str]
60
+
61
+
62
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfig(TypedDict, total=False):
63
+ enable_speaker_diarization: bool
64
+ """Enables speaker diarization."""
65
+
66
+ hints: SequenceNotStr[str]
67
+ """Hints to improve transcription accuracy."""
68
+
69
+ interim_results: bool
70
+ """Whether to send also interim results.
71
+
72
+ If set to false, only final results will be sent.
73
+ """
74
+
75
+ language: GoogleTranscriptionLanguage
76
+ """Language to use for speech recognition"""
77
+
78
+ max_speaker_count: int
79
+ """Defines maximum number of speakers in the conversation."""
80
+
81
+ min_speaker_count: int
82
+ """Defines minimum number of speakers in the conversation."""
83
+
84
+ model: Literal[
85
+ "latest_long",
86
+ "latest_short",
87
+ "command_and_search",
88
+ "phone_call",
89
+ "video",
90
+ "default",
91
+ "medical_conversation",
92
+ "medical_dictation",
93
+ ]
94
+ """The model to use for transcription."""
95
+
96
+ profanity_filter: bool
97
+ """Enables profanity_filter."""
98
+
99
+ speech_context: Iterable[TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext]
100
+ """Speech context to improve transcription accuracy."""
101
+
102
+ transcription_engine: Literal["Google"]
103
+ """Engine identifier for Google transcription service"""
104
+
105
+ use_enhanced: bool
106
+ """Enables enhanced transcription, this works for models `phone_call` and `video`."""
107
+
108
+
109
+ class TranscriptionEngineConfigTranscriptionEngineTelnyxConfig(TypedDict, total=False):
110
+ language: TelnyxTranscriptionLanguage
111
+ """Language to use for speech recognition"""
112
+
113
+ transcription_engine: Literal["Telnyx"]
114
+ """Engine identifier for Telnyx transcription service"""
115
+
116
+ transcription_model: Literal["openai/whisper-tiny", "openai/whisper-large-v3-turbo"]
117
+ """The model to use for transcription."""
118
+
119
+
120
+ class TranscriptionEngineConfigTranscriptionEngineDeepgramConfig(TypedDict, total=False):
121
+ transcription_engine: Required[Literal["Deepgram"]]
122
+ """Engine identifier for Deepgram transcription service"""
123
+
124
+ transcription_model: Required[Literal["deepgram/nova-2", "deepgram/nova-3"]]
125
+ """The model to use for transcription."""
126
+
127
+ language: Literal[
128
+ "bg",
129
+ "ca",
130
+ "zh",
131
+ "zh-CN",
132
+ "zh-Hans",
133
+ "zh-TW",
134
+ "zh-Hant",
135
+ "zh-HK",
136
+ "cs",
137
+ "da",
138
+ "da-DK",
139
+ "nl",
140
+ "en",
141
+ "en-US",
142
+ "en-AU",
143
+ "en-GB",
144
+ "en-NZ",
145
+ "en-IN",
146
+ "et",
147
+ "fi",
148
+ "nl-BE",
149
+ "fr",
150
+ "fr-CA",
151
+ "de",
152
+ "de-CH",
153
+ "el",
154
+ "hi",
155
+ "hu",
156
+ "id",
157
+ "it",
158
+ "ja",
159
+ "ko",
160
+ "ko-KR",
161
+ "lv",
162
+ "lt",
163
+ "ms",
164
+ "no",
165
+ "pl",
166
+ "pt",
167
+ "pt-BR",
168
+ "pt-PT",
169
+ "ro",
170
+ "ru",
171
+ "sk",
172
+ "es",
173
+ "es-419",
174
+ "sv",
175
+ "sv-SE",
176
+ "th",
177
+ "th-TH",
178
+ "tr",
179
+ "uk",
180
+ "vi",
181
+ "auto_detect",
182
+ ]
183
+ """Language to use for speech recognition.
184
+
185
+ Available languages depend on the selected model.
186
+ """
187
+
188
+
189
+ TranscriptionEngineConfig: TypeAlias = Union[
190
+ TranscriptionEngineConfigTranscriptionEngineGoogleConfig,
191
+ TranscriptionEngineConfigTranscriptionEngineTelnyxConfig,
192
+ TranscriptionEngineConfigTranscriptionEngineDeepgramConfig,
193
+ TranscriptionEngineAConfigParam,
194
+ TranscriptionEngineBConfigParam,
195
+ ]