telnyx 3.7.0a0__py3-none-any.whl → 3.9.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 (215) hide show
  1. telnyx/__init__.py +2 -0
  2. telnyx/_client.py +25 -756
  3. telnyx/_exceptions.py +4 -0
  4. telnyx/_version.py +1 -1
  5. telnyx/resources/__init__.py +3 -1
  6. telnyx/resources/advanced_orders.py +63 -63
  7. telnyx/resources/ai/assistants/assistants.py +15 -17
  8. telnyx/resources/ai/assistants/versions.py +13 -15
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +10 -6
  11. telnyx/resources/calls/calls.py +16 -2
  12. telnyx/resources/documents.py +242 -37
  13. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  14. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  15. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  16. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  17. telnyx/resources/outbound_voice_profiles.py +24 -4
  18. telnyx/resources/sim_cards/actions.py +12 -12
  19. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  20. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  21. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  22. telnyx/resources/verify_profiles.py +9 -10
  23. telnyx/resources/webhooks.py +152 -4
  24. telnyx/types/__init__.py +18 -15
  25. telnyx/types/access_ip_address_list_response.py +3 -12
  26. telnyx/types/access_ip_range_list_response.py +3 -12
  27. telnyx/types/addresses/action_validate_response.py +7 -2
  28. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  29. telnyx/types/ai/__init__.py +1 -3
  30. telnyx/types/ai/assistant_import_params.py +1 -1
  31. telnyx/types/ai/assistants/__init__.py +0 -3
  32. telnyx/types/ai/assistants_list.py +4 -88
  33. telnyx/types/ai/import_metadata.py +1 -1
  34. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  35. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  36. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  37. telnyx/types/ai/voice_settings.py +49 -2
  38. telnyx/types/ai/voice_settings_param.py +49 -2
  39. telnyx/types/brand_create_params.py +2 -1
  40. telnyx/types/brand_update_params.py +2 -1
  41. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  42. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  43. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  44. telnyx/types/call_answered_webhook_event1.py +75 -0
  45. telnyx/types/call_bridged_webhook_event1.py +58 -0
  46. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  47. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  48. telnyx/types/call_dial_params.py +10 -1
  49. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  50. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  51. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  52. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  53. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  54. telnyx/types/call_hangup_webhook_event1.py +150 -0
  55. telnyx/types/call_initiated_webhook_event1.py +96 -0
  56. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  57. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  59. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  60. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  61. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  62. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  63. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  64. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  65. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  66. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  67. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  68. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  69. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  70. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  71. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  72. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  73. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  74. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  75. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  76. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  77. telnyx/types/calls/__init__.py +1 -0
  78. telnyx/types/calls/action_start_streaming_params.py +2 -1
  79. telnyx/types/calls/action_start_transcription_params.py +160 -6
  80. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  81. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  82. telnyx/types/calls/transcription_start_request_param.py +161 -6
  83. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  84. telnyx/types/conference_created_webhook_event1.py +53 -0
  85. telnyx/types/conference_ended_webhook_event1.py +56 -0
  86. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  87. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  88. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  89. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  90. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  91. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  92. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  93. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  94. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  95. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  96. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  97. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  98. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  99. telnyx/types/country_coverage_retrieve_response.py +7 -0
  100. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  101. telnyx/types/delivery_update_webhook_event1.py +40 -0
  102. telnyx/types/document_upload_json_params.py +39 -0
  103. telnyx/types/document_upload_json_response.py +12 -0
  104. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  105. telnyx/types/fax_failed_webhook_event1.py +66 -0
  106. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  107. telnyx/types/fax_queued_webhook_event1.py +63 -0
  108. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  109. telnyx/types/inbound_message_webhook_event1.py +227 -0
  110. telnyx/types/legacy/reporting/__init__.py +2 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  113. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  114. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  118. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  119. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  122. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  123. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  124. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  127. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  128. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  129. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  130. telnyx/types/legacy/reporting/filter.py +31 -0
  131. telnyx/types/legacy/reporting/filter_param.py +30 -0
  132. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  133. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  134. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  135. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  137. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  138. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  139. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  140. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  141. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  142. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  143. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  144. telnyx/types/message_template.py +12 -0
  145. telnyx/types/messaging_profile.py +3 -0
  146. telnyx/types/messaging_profile_create_params.py +3 -0
  147. telnyx/types/messaging_profile_update_params.py +3 -0
  148. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  149. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  150. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  151. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  152. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  153. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  154. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  155. telnyx/types/oauth_client.py +59 -0
  156. telnyx/types/oauth_client_create_response.py +4 -55
  157. telnyx/types/oauth_client_list_response.py +5 -69
  158. telnyx/types/oauth_client_retrieve_response.py +4 -55
  159. telnyx/types/oauth_client_update_response.py +4 -55
  160. telnyx/types/oauth_grant.py +29 -0
  161. telnyx/types/oauth_grant_delete_response.py +4 -25
  162. telnyx/types/oauth_grant_list_response.py +5 -39
  163. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  164. telnyx/types/outbound_voice_profile.py +27 -1
  165. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  166. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  167. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  168. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  169. telnyx/types/pagination_meta_oauth.py +21 -0
  170. telnyx/types/phone_number_blocks/__init__.py +1 -0
  171. telnyx/types/phone_number_blocks/job.py +3 -34
  172. telnyx/types/phone_number_blocks/job_error.py +32 -0
  173. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  174. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  175. telnyx/types/report_list_mdrs_response.py +3 -12
  176. telnyx/types/reports/__init__.py +1 -0
  177. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  178. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  179. telnyx/types/requirement_group.py +2 -2
  180. telnyx/types/requirement_group_list_params.py +1 -1
  181. telnyx/types/shared/__init__.py +1 -0
  182. telnyx/types/{api_error.py → shared/api_error.py} +1 -1
  183. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  184. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  185. telnyx/types/streaming_started_webhook_event1.py +53 -0
  186. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  187. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  188. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  189. telnyx/types/transcription_webhook_event1.py +72 -0
  190. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  191. telnyx/types/verifications/__init__.py +1 -0
  192. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  193. telnyx/types/verifications/verify_meta.py +17 -0
  194. telnyx/types/verified_number_create_params.py +10 -0
  195. telnyx/types/verify_profile.py +18 -3
  196. telnyx/types/verify_profile_list_response.py +4 -13
  197. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  198. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  199. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/METADATA +9 -5
  200. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/RECORD +202 -128
  201. telnyx/types/ai/assistant_create_response.py +0 -92
  202. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  203. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  204. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  205. telnyx/types/ai/assistants/version_update_response.py +0 -92
  206. telnyx/types/client_create_bucket_params.py +0 -13
  207. telnyx/types/client_delete_objects_params.py +0 -20
  208. telnyx/types/client_get_object_params.py +0 -15
  209. telnyx/types/client_list_objects_params.py +0 -13
  210. telnyx/types/client_put_object_params.py +0 -20
  211. telnyx/types/list_buckets_response.py +0 -20
  212. telnyx/types/list_objects_response.py +0 -24
  213. telnyx/types/verify_profile_update_template_response.py +0 -17
  214. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/WHEEL +0 -0
  215. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -23,6 +23,7 @@ from .messaging_settings import MessagingSettings as MessagingSettings
23
23
  from .telephony_settings import TelephonySettings as TelephonySettings
24
24
  from .webhook_tool_param import WebhookToolParam as WebhookToolParam
25
25
  from .cluster_list_params import ClusterListParams as ClusterListParams
26
+ from .inference_embedding import InferenceEmbedding as InferenceEmbedding
26
27
  from .transfer_tool_param import TransferToolParam as TransferToolParam
27
28
  from .assistant_tool_param import AssistantToolParam as AssistantToolParam
28
29
  from .embedding_url_params import EmbeddingURLParams as EmbeddingURLParams
@@ -44,13 +45,11 @@ from .audio_transcribe_params import AudioTranscribeParams as AudioTranscribePar
44
45
  from .cluster_retrieve_params import ClusterRetrieveParams as ClusterRetrieveParams
45
46
  from .embedding_create_params import EmbeddingCreateParams as EmbeddingCreateParams
46
47
  from .embedding_list_response import EmbeddingListResponse as EmbeddingListResponse
47
- from .assistant_clone_response import AssistantCloneResponse as AssistantCloneResponse
48
48
  from .cluster_compute_response import ClusterComputeResponse as ClusterComputeResponse
49
49
  from .conversation_list_params import ConversationListParams as ConversationListParams
50
50
  from .hangup_tool_params_param import HangupToolParamsParam as HangupToolParamsParam
51
51
  from .messaging_settings_param import MessagingSettingsParam as MessagingSettingsParam
52
52
  from .telephony_settings_param import TelephonySettingsParam as TelephonySettingsParam
53
- from .assistant_create_response import AssistantCreateResponse as AssistantCreateResponse
54
53
  from .assistant_delete_response import AssistantDeleteResponse as AssistantDeleteResponse
55
54
  from .assistant_retrieve_params import AssistantRetrieveParams as AssistantRetrieveParams
56
55
  from .audio_transcribe_response import AudioTranscribeResponse as AudioTranscribeResponse
@@ -59,7 +58,6 @@ from .cluster_fetch_graph_params import ClusterFetchGraphParams as ClusterFetchG
59
58
  from .conversation_create_params import ConversationCreateParams as ConversationCreateParams
60
59
  from .conversation_list_response import ConversationListResponse as ConversationListResponse
61
60
  from .conversation_update_params import ConversationUpdateParams as ConversationUpdateParams
62
- from .assistant_retrieve_response import AssistantRetrieveResponse as AssistantRetrieveResponse
63
61
  from .embedding_retrieve_response import EmbeddingRetrieveResponse as EmbeddingRetrieveResponse
64
62
  from .assistant_get_texml_response import AssistantGetTexmlResponse as AssistantGetTexmlResponse
65
63
  from .conversation_update_response import ConversationUpdateResponse as ConversationUpdateResponse
@@ -15,5 +15,5 @@ class AssistantImportParams(TypedDict, total=False):
15
15
  /v2/integration_secrets.
16
16
  """
17
17
 
18
- provider: Required[Literal["elevenlabs", "vapi"]]
18
+ provider: Required[Literal["elevenlabs", "vapi", "retell"]]
19
19
  """The external provider to import assistants from."""
@@ -15,11 +15,8 @@ from .version_config_param import VersionConfigParam as VersionConfigParam
15
15
  from .version_update_params import VersionUpdateParams as VersionUpdateParams
16
16
  from .canary_deploy_response import CanaryDeployResponse as CanaryDeployResponse
17
17
  from .version_retrieve_params import VersionRetrieveParams as VersionRetrieveParams
18
- from .version_update_response import VersionUpdateResponse as VersionUpdateResponse
19
18
  from .scheduled_event_response import ScheduledEventResponse as ScheduledEventResponse
20
- from .version_promote_response import VersionPromoteResponse as VersionPromoteResponse
21
19
  from .conversation_channel_type import ConversationChannelType as ConversationChannelType
22
- from .version_retrieve_response import VersionRetrieveResponse as VersionRetrieveResponse
23
20
  from .canary_deploy_create_params import CanaryDeployCreateParams as CanaryDeployCreateParams
24
21
  from .canary_deploy_update_params import CanaryDeployUpdateParams as CanaryDeployUpdateParams
25
22
  from .scheduled_event_list_params import ScheduledEventListParams as ScheduledEventListParams
@@ -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]
@@ -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
+ """
@@ -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
@@ -0,0 +1,78 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallAIGatherEndedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
12
+
13
+
14
+ class DataPayloadMessageHistory(BaseModel):
15
+ content: Optional[str] = None
16
+ """The content of the message"""
17
+
18
+ role: Optional[Literal["assistant", "user"]] = None
19
+ """The role of the message sender"""
20
+
21
+
22
+ class DataPayload(BaseModel):
23
+ call_control_id: Optional[str] = None
24
+ """Call ID used to issue commands via Call Control API."""
25
+
26
+ call_leg_id: Optional[str] = None
27
+ """ID that is unique to the call and can be used to correlate webhook events."""
28
+
29
+ call_session_id: Optional[str] = None
30
+ """
31
+ ID that is unique to the call session and can be used to correlate webhook
32
+ events. Call session is a group of related call legs that logically belong to
33
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
34
+ """
35
+
36
+ client_state: Optional[str] = None
37
+ """State received from a command."""
38
+
39
+ connection_id: Optional[str] = None
40
+ """Telnyx connection ID used in the call."""
41
+
42
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
43
+ """Number or SIP URI placing the call."""
44
+
45
+ message_history: Optional[List[DataPayloadMessageHistory]] = None
46
+ """The history of the messages exchanged during the AI gather"""
47
+
48
+ result: Optional[object] = None
49
+ """
50
+ The result of the AI gather, its type depends of the `parameters` provided in
51
+ the command
52
+ """
53
+
54
+ status: Optional[Literal["valid", "invalid"]] = None
55
+ """Reflects how command ended."""
56
+
57
+ to: Optional[str] = None
58
+ """Destination number or SIP URI of the call."""
59
+
60
+
61
+ class Data(BaseModel):
62
+ id: Optional[str] = None
63
+ """Identifies the type of resource."""
64
+
65
+ event_type: Optional[Literal["call.ai_gather.ended"]] = None
66
+ """The type of event being delivered."""
67
+
68
+ occurred_at: Optional[datetime] = None
69
+ """ISO 8601 datetime of when the event occurred."""
70
+
71
+ payload: Optional[DataPayload] = None
72
+
73
+ record_type: Optional[Literal["event"]] = None
74
+ """Identifies the type of the resource."""
75
+
76
+
77
+ class CallAIGatherEndedWebhookEvent(BaseModel):
78
+ data: Optional[Data] = None
@@ -0,0 +1,69 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallAIGatherMessageHistoryUpdatedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
12
+
13
+
14
+ class DataPayloadMessageHistory(BaseModel):
15
+ content: Optional[str] = None
16
+ """The content of the message"""
17
+
18
+ role: Optional[Literal["assistant", "user"]] = None
19
+ """The role of the message sender"""
20
+
21
+
22
+ class DataPayload(BaseModel):
23
+ call_control_id: Optional[str] = None
24
+ """Call ID used to issue commands via Call Control API."""
25
+
26
+ call_leg_id: Optional[str] = None
27
+ """ID that is unique to the call and can be used to correlate webhook events."""
28
+
29
+ call_session_id: Optional[str] = None
30
+ """
31
+ ID that is unique to the call session and can be used to correlate webhook
32
+ events. Call session is a group of related call legs that logically belong to
33
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
34
+ """
35
+
36
+ client_state: Optional[str] = None
37
+ """State received from a command."""
38
+
39
+ connection_id: Optional[str] = None
40
+ """Telnyx connection ID used in the call."""
41
+
42
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
43
+ """Number or SIP URI placing the call."""
44
+
45
+ message_history: Optional[List[DataPayloadMessageHistory]] = None
46
+ """The history of the messages exchanged during the AI gather"""
47
+
48
+ to: Optional[str] = None
49
+ """Destination number or SIP URI of the call."""
50
+
51
+
52
+ class Data(BaseModel):
53
+ id: Optional[str] = None
54
+ """Identifies the type of resource."""
55
+
56
+ event_type: Optional[Literal["call.ai_gather.message_history_updated"]] = None
57
+ """The type of event being delivered."""
58
+
59
+ occurred_at: Optional[datetime] = None
60
+ """ISO 8601 datetime of when the event occurred."""
61
+
62
+ payload: Optional[DataPayload] = None
63
+
64
+ record_type: Optional[Literal["event"]] = None
65
+ """Identifies the type of the resource."""
66
+
67
+
68
+ class CallAIGatherMessageHistoryUpdatedWebhookEvent(BaseModel):
69
+ data: Optional[Data] = None
@@ -0,0 +1,75 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallAIGatherPartialResultsWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
12
+
13
+
14
+ class DataPayloadMessageHistory(BaseModel):
15
+ content: Optional[str] = None
16
+ """The content of the message"""
17
+
18
+ role: Optional[Literal["assistant", "user"]] = None
19
+ """The role of the message sender"""
20
+
21
+
22
+ class DataPayload(BaseModel):
23
+ call_control_id: Optional[str] = None
24
+ """Call ID used to issue commands via Call Control API."""
25
+
26
+ call_leg_id: Optional[str] = None
27
+ """ID that is unique to the call and can be used to correlate webhook events."""
28
+
29
+ call_session_id: Optional[str] = None
30
+ """
31
+ ID that is unique to the call session and can be used to correlate webhook
32
+ events. Call session is a group of related call legs that logically belong to
33
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
34
+ """
35
+
36
+ client_state: Optional[str] = None
37
+ """State received from a command."""
38
+
39
+ connection_id: Optional[str] = None
40
+ """Telnyx connection ID used in the call."""
41
+
42
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
43
+ """Number or SIP URI placing the call."""
44
+
45
+ message_history: Optional[List[DataPayloadMessageHistory]] = None
46
+ """The history of the messages exchanged during the AI gather"""
47
+
48
+ partial_results: Optional[object] = None
49
+ """
50
+ The partial result of the AI gather, its type depends of the `parameters`
51
+ provided in the command
52
+ """
53
+
54
+ to: Optional[str] = None
55
+ """Destination number or SIP URI of the call."""
56
+
57
+
58
+ class Data(BaseModel):
59
+ id: Optional[str] = None
60
+ """Identifies the type of resource."""
61
+
62
+ event_type: Optional[Literal["call.ai_gather.partial_results"]] = None
63
+ """The type of event being delivered."""
64
+
65
+ occurred_at: Optional[datetime] = None
66
+ """ISO 8601 datetime of when the event occurred."""
67
+
68
+ payload: Optional[DataPayload] = None
69
+
70
+ record_type: Optional[Literal["event"]] = None
71
+ """Identifies the type of the resource."""
72
+
73
+
74
+ class CallAIGatherPartialResultsWebhookEvent(BaseModel):
75
+ data: Optional[Data] = None
@@ -0,0 +1,75 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+ from .sip_header import SipHeader
11
+ from .custom_sip_header import CustomSipHeader
12
+
13
+ __all__ = ["CallAnsweredWebhookEvent", "Data", "DataPayload"]
14
+
15
+
16
+ class DataPayload(BaseModel):
17
+ call_control_id: Optional[str] = None
18
+ """Call ID used to issue commands via Call Control API."""
19
+
20
+ call_leg_id: Optional[str] = None
21
+ """ID that is unique to the call and can be used to correlate webhook events."""
22
+
23
+ call_session_id: Optional[str] = None
24
+ """
25
+ ID that is unique to the call session and can be used to correlate webhook
26
+ events. Call session is a group of related call legs that logically belong to
27
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
28
+ """
29
+
30
+ client_state: Optional[str] = None
31
+ """State received from a command."""
32
+
33
+ connection_id: Optional[str] = None
34
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
35
+
36
+ custom_headers: Optional[List[CustomSipHeader]] = None
37
+ """Custom headers set on answer command"""
38
+
39
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
40
+ """Number or SIP URI placing the call."""
41
+
42
+ sip_headers: Optional[List[SipHeader]] = None
43
+ """User-to-User and Diversion headers from sip invite."""
44
+
45
+ start_time: Optional[datetime] = None
46
+ """ISO 8601 datetime of when the call started."""
47
+
48
+ state: Optional[Literal["answered"]] = None
49
+ """State received from a command."""
50
+
51
+ tags: Optional[List[str]] = None
52
+ """Array of tags associated to number."""
53
+
54
+ to: Optional[str] = None
55
+ """Destination number or SIP URI of the call."""
56
+
57
+
58
+ class Data(BaseModel):
59
+ id: Optional[str] = None
60
+ """Identifies the type of resource."""
61
+
62
+ event_type: Optional[Literal["call.answered"]] = None
63
+ """The type of event being delivered."""
64
+
65
+ occurred_at: Optional[datetime] = None
66
+ """ISO 8601 datetime of when the event occurred."""
67
+
68
+ payload: Optional[DataPayload] = None
69
+
70
+ record_type: Optional[Literal["event"]] = None
71
+ """Identifies the type of the resource."""
72
+
73
+
74
+ class CallAnsweredWebhookEvent(BaseModel):
75
+ data: Optional[Data] = None