telnyx 3.2.0a0__py3-none-any.whl → 3.4.0a0__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 (226) hide show
  1. telnyx/_base_client.py +3 -3
  2. telnyx/_client.py +5 -0
  3. telnyx/_compat.py +48 -48
  4. telnyx/_models.py +40 -40
  5. telnyx/_types.py +35 -1
  6. telnyx/_utils/__init__.py +9 -2
  7. telnyx/_utils/_compat.py +45 -0
  8. telnyx/_utils/_datetime_parse.py +136 -0
  9. telnyx/_utils/_transform.py +11 -1
  10. telnyx/_utils/_typing.py +6 -1
  11. telnyx/_utils/_utils.py +0 -1
  12. telnyx/_version.py +1 -1
  13. telnyx/resources/__init__.py +3 -0
  14. telnyx/resources/actions/purchase.py +3 -4
  15. telnyx/resources/actions/register.py +5 -6
  16. telnyx/resources/ai/chat.py +4 -4
  17. telnyx/resources/ai/clusters.py +3 -5
  18. telnyx/resources/ai/conversations/messages.py +4 -4
  19. telnyx/resources/ai/embeddings/embeddings.py +3 -4
  20. telnyx/resources/call_control_applications.py +4 -4
  21. telnyx/resources/calls/calls.py +4 -4
  22. telnyx/resources/campaign_builder/campaign_builder.py +6 -6
  23. telnyx/resources/conferences/actions.py +19 -20
  24. telnyx/resources/credential_connections/credential_connections.py +6 -6
  25. telnyx/resources/customer_service_records.py +3 -5
  26. telnyx/resources/detail_records.py +3 -5
  27. telnyx/resources/external_connections/external_connections.py +6 -6
  28. telnyx/resources/external_connections/uploads.py +3 -3
  29. telnyx/resources/fax_applications.py +6 -6
  30. telnyx/resources/fqdn_connections.py +6 -6
  31. telnyx/resources/ip_connections.py +6 -6
  32. telnyx/resources/messages/messages.py +16 -16
  33. telnyx/resources/messaging/rcs/rcs.py +3 -5
  34. telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +8 -8
  35. telnyx/resources/messaging_numbers_bulk_updates.py +3 -5
  36. telnyx/resources/messaging_profiles/autoresp_configs.py +5 -6
  37. telnyx/resources/messaging_profiles/messaging_profiles.py +6 -6
  38. telnyx/resources/numbers_features.py +3 -5
  39. telnyx/resources/outbound_voice_profiles.py +10 -10
  40. telnyx/resources/phone_numbers/actions.py +3 -5
  41. telnyx/resources/phone_numbers/jobs.py +10 -10
  42. telnyx/resources/phone_numbers/phone_numbers.py +3 -4
  43. telnyx/resources/portability_checks.py +3 -5
  44. telnyx/resources/porting_orders/porting_orders.py +4 -4
  45. telnyx/resources/porting_orders/verification_codes.py +4 -4
  46. telnyx/resources/recordings/actions.py +3 -5
  47. telnyx/resources/reports/mdr_usage_reports.py +4 -4
  48. telnyx/resources/reports/reports.py +3 -4
  49. telnyx/resources/rooms/sessions/actions.py +14 -14
  50. telnyx/resources/sim_cards/actions.py +5 -7
  51. telnyx/resources/sim_cards/sim_cards.py +5 -6
  52. telnyx/resources/texml_applications.py +5 -6
  53. telnyx/resources/usage_reports.py +7 -8
  54. telnyx/resources/webhooks.py +34 -0
  55. telnyx/resources/wireless_blocklists.py +5 -6
  56. telnyx/types/__init__.py +115 -4
  57. telnyx/types/actions/purchase_create_params.py +3 -2
  58. telnyx/types/actions/register_create_params.py +4 -3
  59. telnyx/types/ai/chat_create_completion_params.py +3 -2
  60. telnyx/types/ai/cluster_compute_params.py +3 -2
  61. telnyx/types/ai/conversations/message_create_params.py +3 -2
  62. telnyx/types/ai/embedding_list_params.py +3 -2
  63. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  64. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +6 -4
  65. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  66. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  67. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  68. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  69. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  70. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  71. telnyx/types/call_answered_webhook_event.py +75 -0
  72. telnyx/types/call_bridged_webhook_event.py +58 -0
  73. telnyx/types/call_control_application_update_params.py +3 -2
  74. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  75. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  76. telnyx/types/call_dial_params.py +4 -3
  77. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  78. telnyx/types/call_enqueued_webhook_event.py +59 -0
  79. telnyx/types/call_fork_started_webhook_event.py +53 -0
  80. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  81. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  82. telnyx/types/call_hangup_webhook_event.py +150 -0
  83. telnyx/types/call_initiated_webhook_event.py +96 -0
  84. telnyx/types/call_left_queue_webhook_event.py +62 -0
  85. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  86. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  87. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  88. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  89. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  90. telnyx/types/call_playback_started_webhook_event.py +62 -0
  91. telnyx/types/call_recording_error_webhook_event.py +60 -0
  92. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  93. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  94. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  95. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  96. telnyx/types/call_refer_started_webhook_event.py +61 -0
  97. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  98. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  99. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  100. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  101. telnyx/types/call_speak_started_webhook_event.py +50 -0
  102. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  103. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  104. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  105. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  106. telnyx/types/campaign_builder_create_params.py +4 -3
  107. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  108. telnyx/types/conference_created_webhook_event.py +53 -0
  109. telnyx/types/conference_ended_webhook_event.py +56 -0
  110. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  111. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  112. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  113. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  114. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  115. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  116. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  117. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  118. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  119. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  120. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  121. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  122. telnyx/types/conferences/action_hold_params.py +3 -2
  123. telnyx/types/conferences/action_join_params.py +3 -2
  124. telnyx/types/conferences/action_mute_params.py +3 -2
  125. telnyx/types/conferences/action_play_params.py +2 -2
  126. telnyx/types/conferences/action_speak_params.py +3 -2
  127. telnyx/types/conferences/action_stop_params.py +3 -2
  128. telnyx/types/conferences/action_unhold_params.py +3 -2
  129. telnyx/types/conferences/action_unmute_params.py +3 -2
  130. telnyx/types/conferences/action_update_params.py +3 -2
  131. telnyx/types/credential_connection_create_params.py +3 -2
  132. telnyx/types/credential_connection_update_params.py +3 -2
  133. telnyx/types/credential_inbound_param.py +3 -2
  134. telnyx/types/custom_sip_header.py +13 -0
  135. telnyx/types/customer_service_record_list_params.py +2 -1
  136. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  137. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  138. telnyx/types/delivery_update_webhook_event.py +40 -0
  139. telnyx/types/detail_record_list_params.py +4 -2
  140. telnyx/types/document_list_params.py +2 -1
  141. telnyx/types/external_connection_create_params.py +4 -2
  142. telnyx/types/external_connection_update_params.py +4 -2
  143. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  144. telnyx/types/external_connections/upload_create_params.py +3 -1
  145. telnyx/types/fax_application_create_params.py +3 -2
  146. telnyx/types/fax_application_update_params.py +3 -2
  147. telnyx/types/fax_delivered_webhook_event.py +69 -0
  148. telnyx/types/fax_failed_webhook_event.py +66 -0
  149. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  150. telnyx/types/fax_queued_webhook_event.py +63 -0
  151. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  152. telnyx/types/fqdn_connection_create_params.py +3 -2
  153. telnyx/types/fqdn_connection_update_params.py +3 -2
  154. telnyx/types/inbound_fqdn_param.py +4 -2
  155. telnyx/types/inbound_ip_param.py +3 -2
  156. telnyx/types/inbound_message_webhook_event.py +227 -0
  157. telnyx/types/ip_connection_create_params.py +4 -3
  158. telnyx/types/ip_connection_update_params.py +3 -2
  159. telnyx/types/media_list_params.py +3 -2
  160. telnyx/types/message_schedule_params.py +3 -2
  161. telnyx/types/message_send_group_mms_params.py +3 -3
  162. telnyx/types/message_send_long_code_params.py +2 -2
  163. telnyx/types/message_send_number_pool_params.py +3 -2
  164. telnyx/types/message_send_params.py +3 -2
  165. telnyx/types/message_send_short_code_params.py +2 -2
  166. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  167. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  168. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  169. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  170. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  171. telnyx/types/messaging_profile_create_params.py +3 -2
  172. telnyx/types/messaging_profile_update_params.py +3 -2
  173. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  174. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  175. telnyx/types/messsage_rcs_params.py +2 -2
  176. telnyx/types/number_order_status_update_webhook_event.py +12 -0
  177. telnyx/types/numbers_feature_create_params.py +3 -2
  178. telnyx/types/outbound_call_recording_param.py +3 -2
  179. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  180. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  181. telnyx/types/phone_number_list_params.py +3 -2
  182. telnyx/types/phone_number_slim_list_params.py +3 -2
  183. telnyx/types/phone_number_update_params.py +3 -2
  184. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  185. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  186. telnyx/types/phone_numbers/job_update_batch_params.py +3 -3
  187. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  188. telnyx/types/portability_check_run_params.py +3 -2
  189. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  190. telnyx/types/porting_order_create_params.py +3 -2
  191. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  192. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  193. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  194. telnyx/types/porting_orders/phone_number_configuration_list_params.py +3 -2
  195. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  196. telnyx/types/portout_list_params.py +2 -1
  197. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  198. telnyx/types/recordings/action_delete_params.py +3 -2
  199. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  200. telnyx/types/report_list_wdrs_params.py +3 -2
  201. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  202. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  203. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  204. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  205. telnyx/types/sim_card_list_params.py +2 -1
  206. telnyx/types/sim_card_update_params.py +3 -3
  207. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  208. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  209. telnyx/types/sip_header.py +15 -0
  210. telnyx/types/streaming_failed_webhook_event.py +70 -0
  211. telnyx/types/streaming_started_webhook_event.py +53 -0
  212. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  213. telnyx/types/texml_application_create_params.py +2 -2
  214. telnyx/types/texml_application_update_params.py +2 -2
  215. telnyx/types/transcription_webhook_event.py +72 -0
  216. telnyx/types/unwrap_webhook_event.py +138 -0
  217. telnyx/types/usage_report_list_params.py +5 -4
  218. telnyx/types/verify_profile_create_params.py +6 -4
  219. telnyx/types/verify_profile_update_params.py +6 -4
  220. telnyx/types/video_region_param.py +4 -2
  221. telnyx/types/wireless_blocklist_create_params.py +3 -2
  222. telnyx/types/wireless_blocklist_update_params.py +3 -2
  223. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/METADATA +1 -1
  224. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/RECORD +226 -156
  225. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/WHEEL +0 -0
  226. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallSiprecStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+
33
+ class Data(BaseModel):
34
+ id: Optional[str] = None
35
+ """Identifies the type of resource."""
36
+
37
+ event_type: Optional[Literal["siprec.started"]] = None
38
+ """The type of event being delivered."""
39
+
40
+ occurred_at: Optional[datetime] = None
41
+ """ISO 8601 datetime of when the event occurred."""
42
+
43
+ payload: Optional[DataPayload] = None
44
+
45
+ record_type: Optional[Literal["event"]] = None
46
+ """Identifies the type of the resource."""
47
+
48
+
49
+ class CallSiprecStartedWebhookEvent(BaseModel):
50
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallSiprecStoppedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ hangup_cause: Optional[str] = None
33
+ """Q850 reason why the SIPREC session was stopped."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["siprec.stopped"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallSiprecStoppedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallSpeakEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ status: Optional[Literal["completed", "call_hangup", "cancelled_amd"]] = None
33
+ """Reflects how the command ended."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["call.speak.ended"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallSpeakEndedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallSpeakStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+
33
+ class Data(BaseModel):
34
+ id: Optional[str] = None
35
+ """Identifies the type of resource."""
36
+
37
+ event_type: Optional[Literal["call.speak.started"]] = None
38
+ """The type of event being delivered."""
39
+
40
+ occurred_at: Optional[datetime] = None
41
+ """ISO 8601 datetime of when the event occurred."""
42
+
43
+ payload: Optional[DataPayload] = None
44
+
45
+ record_type: Optional[Literal["event"]] = None
46
+ """Identifies the type of the resource."""
47
+
48
+
49
+ class CallSpeakStartedWebhookEvent(BaseModel):
50
+ data: Optional[Data] = None
@@ -0,0 +1,70 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallStreamingFailedWebhookEvent", "Data", "DataPayload", "DataPayloadStreamParams"]
10
+
11
+
12
+ class DataPayloadStreamParams(BaseModel):
13
+ stream_url: Optional[str] = None
14
+ """The destination WebSocket address where the stream is going to be delivered."""
15
+
16
+ track: Optional[Literal["inbound_track", "outbound_track", "both_tracks"]] = None
17
+ """Specifies which track should be streamed."""
18
+
19
+
20
+ class DataPayload(BaseModel):
21
+ call_control_id: Optional[str] = None
22
+ """Call ID used to issue commands via Call Control API."""
23
+
24
+ call_leg_id: Optional[str] = None
25
+ """ID that is unique to the call and can be used to correlate webhook events."""
26
+
27
+ call_session_id: Optional[str] = None
28
+ """
29
+ ID that is unique to the call session and can be used to correlate webhook
30
+ events. Call session is a group of related call legs that logically belong to
31
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
32
+ """
33
+
34
+ client_state: Optional[str] = None
35
+ """State received from a command."""
36
+
37
+ connection_id: Optional[str] = None
38
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
39
+
40
+ failure_reason: Optional[str] = None
41
+ """A short description explaning why the media streaming failed."""
42
+
43
+ stream_id: Optional[str] = None
44
+ """Identifies the streaming."""
45
+
46
+ stream_params: Optional[DataPayloadStreamParams] = None
47
+ """Streaming parameters as they were originally given to the Call Control API."""
48
+
49
+ stream_type: Optional[Literal["websocket", "dialogflow"]] = None
50
+ """The type of stream connection the stream is performing."""
51
+
52
+
53
+ class Data(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["streaming.failed"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ occurred_at: Optional[datetime] = None
61
+ """ISO 8601 datetime of when the event occurred."""
62
+
63
+ payload: Optional[DataPayload] = None
64
+
65
+ record_type: Optional[Literal["event"]] = None
66
+ """Identifies the resource."""
67
+
68
+
69
+ class CallStreamingFailedWebhookEvent(BaseModel):
70
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallStreamingStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.started"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallStreamingStartedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallStreamingStoppedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.stopped"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallStreamingStoppedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable
5
+ from typing import Iterable
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
8
9
  from .google_transcription_language import GoogleTranscriptionLanguage
9
10
 
10
11
  __all__ = ["TranscriptionEngineAConfigParam", "SpeechContext"]
@@ -14,14 +15,14 @@ class SpeechContext(TypedDict, total=False):
14
15
  boost: float
15
16
  """Boost factor for the speech context."""
16
17
 
17
- phrases: List[str]
18
+ phrases: SequenceNotStr[str]
18
19
 
19
20
 
20
21
  class TranscriptionEngineAConfigParam(TypedDict, total=False):
21
22
  enable_speaker_diarization: bool
22
23
  """Enables speaker diarization."""
23
24
 
24
- hints: List[str]
25
+ hints: SequenceNotStr[str]
25
26
  """Hints to improve transcription accuracy."""
26
27
 
27
28
  interim_results: bool
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable
5
+ from typing import Iterable
6
6
  from typing_extensions import Required, Annotated, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .._utils import PropertyInfo
9
10
 
10
11
  __all__ = ["CampaignBuilderCreateParams"]
@@ -122,14 +123,14 @@ class CampaignBuilderCreateParams(TypedDict, total=False):
122
123
  subscriber_optout: Annotated[bool, PropertyInfo(alias="subscriberOptout")]
123
124
  """Does campaign support subscriber opt-out keyword(s)?"""
124
125
 
125
- sub_usecases: Annotated[List[str], PropertyInfo(alias="subUsecases")]
126
+ sub_usecases: Annotated[SequenceNotStr[str], PropertyInfo(alias="subUsecases")]
126
127
  """Campaign sub-usecases.
127
128
 
128
129
  Must be of defined valid sub-usecase types. Use `/registry/enum/usecase`
129
130
  operation to retrieve list of valid sub-usecases
130
131
  """
131
132
 
132
- tag: List[str]
133
+ tag: SequenceNotStr[str]
133
134
  """Tags to be set on the Campaign."""
134
135
 
135
136
  terms_and_conditions: Annotated[bool, PropertyInfo(alias="termsAndConditions")]
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CampaignStatusUpdateWebhookEvent"]
10
+
11
+
12
+ class CampaignStatusUpdateWebhookEvent(BaseModel):
13
+ brand_id: Optional[str] = FieldInfo(alias="brandId", default=None)
14
+ """Brand ID associated with the campaign."""
15
+
16
+ campaign_id: Optional[str] = FieldInfo(alias="campaignId", default=None)
17
+ """The ID of the campaign."""
18
+
19
+ create_date: Optional[str] = FieldInfo(alias="createDate", default=None)
20
+ """Unix timestamp when campaign was created."""
21
+
22
+ csp_id: Optional[str] = FieldInfo(alias="cspId", default=None)
23
+ """Alphanumeric identifier of the CSP associated with this campaign."""
24
+
25
+ is_t_mobile_registered: Optional[bool] = FieldInfo(alias="isTMobileRegistered", default=None)
26
+ """Indicates whether the campaign is registered with T-Mobile."""
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["ConferenceCreatedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ conference_id: Optional[str] = None
30
+ """Conference ID that the participant joined."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ occurred_at: Optional[datetime] = None
36
+ """ISO 8601 datetime of when the event occurred."""
37
+
38
+
39
+ class Data(BaseModel):
40
+ id: Optional[str] = None
41
+ """Identifies the type of resource."""
42
+
43
+ event_type: Optional[Literal["conference.created"]] = None
44
+ """The type of event being delivered."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class ConferenceCreatedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,56 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["ConferenceEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ conference_id: Optional[str] = None
30
+ """Conference ID that the participant joined."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ occurred_at: Optional[datetime] = None
36
+ """ISO 8601 datetime of when the event occurred."""
37
+
38
+ reason: Optional[Literal["all_left", "host_left", "time_exceeded"]] = None
39
+ """Reason the conference ended."""
40
+
41
+
42
+ class Data(BaseModel):
43
+ id: Optional[str] = None
44
+ """Identifies the type of resource."""
45
+
46
+ event_type: Optional[Literal["conference.ended"]] = None
47
+ """The type of event being delivered."""
48
+
49
+ payload: Optional[DataPayload] = None
50
+
51
+ record_type: Optional[Literal["event"]] = None
52
+ """Identifies the type of the resource."""
53
+
54
+
55
+ class ConferenceEndedWebhookEvent(BaseModel):
56
+ data: Optional[Data] = None
@@ -0,0 +1,45 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["ConferenceFloorChangedWebhookEvent", "Payload"]
10
+
11
+
12
+ class Payload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call Control ID of the new speaker."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """Call Leg ID of the new speaker."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """Call Session ID of the new speaker."""
21
+
22
+ client_state: Optional[str] = None
23
+ """State received from a command."""
24
+
25
+ conference_id: Optional[str] = None
26
+ """Conference ID that had a speaker change event."""
27
+
28
+ connection_id: Optional[str] = None
29
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
30
+
31
+ occurred_at: Optional[datetime] = None
32
+ """ISO 8601 datetime of when the event occurred."""
33
+
34
+
35
+ class ConferenceFloorChangedWebhookEvent(BaseModel):
36
+ id: Optional[str] = None
37
+ """Identifies the type of resource."""
38
+
39
+ event_type: Optional[Literal["conference.floor.changed"]] = None
40
+ """The type of event being delivered."""
41
+
42
+ payload: Optional[Payload] = None
43
+
44
+ record_type: Optional[Literal["event"]] = None
45
+ """Identifies the type of the resource."""