telnyx 3.2.0a0__py3-none-any.whl → 3.3.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 (565) hide show
  1. telnyx/__init__.py +3 -1
  2. telnyx/_base_client.py +12 -12
  3. telnyx/_client.py +68 -762
  4. telnyx/_compat.py +48 -48
  5. telnyx/_models.py +50 -44
  6. telnyx/_qs.py +7 -7
  7. telnyx/_types.py +53 -12
  8. telnyx/_utils/__init__.py +9 -2
  9. telnyx/_utils/_compat.py +45 -0
  10. telnyx/_utils/_datetime_parse.py +136 -0
  11. telnyx/_utils/_transform.py +13 -3
  12. telnyx/_utils/_typing.py +6 -1
  13. telnyx/_utils/_utils.py +4 -5
  14. telnyx/_version.py +1 -1
  15. telnyx/resources/__init__.py +73 -0
  16. telnyx/resources/access_ip_address.py +15 -15
  17. telnyx/resources/access_ip_ranges.py +13 -13
  18. telnyx/resources/actions/purchase.py +13 -14
  19. telnyx/resources/actions/register.py +11 -12
  20. telnyx/resources/addresses/actions.py +13 -13
  21. telnyx/resources/addresses/addresses.py +33 -35
  22. telnyx/resources/advanced_orders.py +102 -106
  23. telnyx/resources/ai/ai.py +7 -7
  24. telnyx/resources/ai/assistants/assistants.py +89 -89
  25. telnyx/resources/ai/assistants/canary_deploys.py +9 -9
  26. telnyx/resources/ai/assistants/scheduled_events.py +21 -21
  27. telnyx/resources/ai/assistants/tests/runs.py +13 -13
  28. telnyx/resources/ai/assistants/tests/test_suites/runs.py +13 -13
  29. telnyx/resources/ai/assistants/tests/test_suites/test_suites.py +3 -3
  30. telnyx/resources/ai/assistants/tests/tests.py +43 -43
  31. telnyx/resources/ai/assistants/tools.py +7 -7
  32. telnyx/resources/ai/assistants/versions.py +45 -45
  33. telnyx/resources/ai/audio.py +11 -11
  34. telnyx/resources/ai/chat.py +48 -48
  35. telnyx/resources/ai/clusters.py +27 -29
  36. telnyx/resources/ai/conversations/conversations.py +179 -45
  37. telnyx/resources/ai/conversations/insight_groups/insight_groups.py +23 -23
  38. telnyx/resources/ai/conversations/insight_groups/insights.py +5 -5
  39. telnyx/resources/ai/conversations/insights.py +25 -25
  40. telnyx/resources/ai/conversations/messages.py +3 -136
  41. telnyx/resources/ai/embeddings/buckets.py +7 -7
  42. telnyx/resources/ai/embeddings/embeddings.py +23 -24
  43. telnyx/resources/ai/fine_tuning/jobs.py +13 -13
  44. telnyx/resources/audit_events.py +9 -9
  45. telnyx/resources/authentication_providers.py +29 -29
  46. telnyx/resources/available_phone_number_blocks.py +5 -5
  47. telnyx/resources/available_phone_numbers.py +5 -5
  48. telnyx/resources/balance.py +3 -3
  49. telnyx/resources/billing_groups.py +17 -17
  50. telnyx/resources/brand/brand.py +121 -117
  51. telnyx/resources/brand/external_vetting.py +9 -9
  52. telnyx/resources/bulk_sim_card_actions.py +11 -11
  53. telnyx/resources/bundle_pricing/billing_bundles.py +13 -13
  54. telnyx/resources/bundle_pricing/user_bundles.py +35 -35
  55. telnyx/resources/call_control_applications.py +64 -68
  56. telnyx/resources/call_events.py +7 -7
  57. telnyx/resources/calls/actions.py +699 -699
  58. telnyx/resources/calls/calls.py +116 -110
  59. telnyx/resources/campaign/campaign.py +47 -47
  60. telnyx/resources/campaign/osr.py +3 -3
  61. telnyx/resources/campaign/usecase.py +3 -3
  62. telnyx/resources/campaign_builder/brand.py +3 -3
  63. telnyx/resources/campaign_builder/campaign_builder.py +68 -68
  64. telnyx/resources/channel_zones.py +7 -7
  65. telnyx/resources/charges_breakdown.py +7 -7
  66. telnyx/resources/charges_summary.py +3 -3
  67. telnyx/resources/comments.py +17 -17
  68. telnyx/resources/conferences/actions.py +123 -140
  69. telnyx/resources/conferences/conferences.py +37 -41
  70. telnyx/resources/connections.py +15 -15
  71. telnyx/resources/country_coverage.py +5 -5
  72. telnyx/resources/credential_connections/actions.py +3 -3
  73. telnyx/resources/credential_connections/credential_connections.py +96 -96
  74. telnyx/resources/custom_storage_credentials.py +9 -9
  75. telnyx/resources/customer_service_records.py +21 -23
  76. telnyx/resources/detail_records.py +9 -11
  77. telnyx/resources/dialogflow_connections.py +25 -25
  78. telnyx/resources/document_links.py +7 -7
  79. telnyx/resources/documents.py +45 -45
  80. telnyx/resources/dynamic_emergency_addresses.py +23 -23
  81. telnyx/resources/dynamic_emergency_endpoints.py +13 -13
  82. telnyx/resources/enum.py +3 -3
  83. telnyx/resources/external_connections/civic_addresses.py +7 -7
  84. telnyx/resources/external_connections/external_connections.py +42 -42
  85. telnyx/resources/external_connections/log_messages.py +11 -11
  86. telnyx/resources/external_connections/phone_numbers.py +13 -13
  87. telnyx/resources/external_connections/releases.py +9 -9
  88. telnyx/resources/external_connections/uploads.py +27 -29
  89. telnyx/resources/fax_applications.py +48 -48
  90. telnyx/resources/faxes/actions.py +5 -5
  91. telnyx/resources/faxes/faxes.py +35 -35
  92. telnyx/resources/fqdn_connections.py +94 -94
  93. telnyx/resources/fqdns.py +25 -25
  94. telnyx/resources/global_ip_allowed_ports.py +3 -3
  95. telnyx/resources/global_ip_assignment_health.py +5 -5
  96. telnyx/resources/global_ip_assignments.py +19 -19
  97. telnyx/resources/global_ip_assignments_usage.py +5 -5
  98. telnyx/resources/global_ip_health_check_types.py +3 -3
  99. telnyx/resources/global_ip_health_checks.py +17 -17
  100. telnyx/resources/global_ip_latency.py +5 -5
  101. telnyx/resources/global_ip_protocols.py +3 -3
  102. telnyx/resources/global_ip_usage.py +5 -5
  103. telnyx/resources/global_ips.py +17 -17
  104. telnyx/resources/inbound_channels.py +5 -5
  105. telnyx/resources/integration_secrets.py +17 -17
  106. telnyx/resources/inventory_coverage.py +5 -5
  107. telnyx/resources/invoices.py +11 -11
  108. telnyx/resources/ip_connections.py +94 -94
  109. telnyx/resources/ips.py +23 -23
  110. telnyx/resources/ledger_billing_group_reports.py +9 -9
  111. telnyx/resources/legacy/__init__.py +33 -0
  112. telnyx/resources/legacy/legacy.py +102 -0
  113. telnyx/resources/legacy/reporting/__init__.py +47 -0
  114. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  115. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  116. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  117. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  118. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  119. telnyx/resources/legacy/reporting/reporting.py +134 -0
  120. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  121. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  122. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  123. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  124. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  125. telnyx/resources/list.py +5 -5
  126. telnyx/resources/managed_accounts/actions.py +7 -7
  127. telnyx/resources/managed_accounts/managed_accounts.py +33 -33
  128. telnyx/resources/media.py +23 -23
  129. telnyx/resources/messages/messages.py +124 -124
  130. telnyx/resources/messages/rcs.py +7 -7
  131. telnyx/resources/messaging/rcs/agents.py +15 -15
  132. telnyx/resources/messaging/rcs/rcs.py +9 -11
  133. telnyx/resources/messaging_hosted_number_orders/actions.py +7 -7
  134. telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +26 -26
  135. telnyx/resources/messaging_hosted_numbers.py +3 -3
  136. telnyx/resources/messaging_numbers_bulk_updates.py +7 -9
  137. telnyx/resources/messaging_optouts.py +11 -11
  138. telnyx/resources/messaging_profiles/autoresp_configs.py +25 -26
  139. telnyx/resources/messaging_profiles/messaging_profiles.py +76 -76
  140. telnyx/resources/messaging_tollfree/verification/requests.py +27 -27
  141. telnyx/resources/messaging_url_domains.py +5 -5
  142. telnyx/resources/messsages.py +11 -11
  143. telnyx/resources/mobile_network_operators.py +7 -7
  144. telnyx/resources/mobile_push_credentials.py +23 -23
  145. telnyx/resources/network_coverage.py +9 -9
  146. telnyx/resources/networks/default_gateway.py +9 -9
  147. telnyx/resources/networks/networks.py +21 -21
  148. telnyx/resources/notification_channels.py +27 -27
  149. telnyx/resources/notification_event_conditions.py +7 -7
  150. telnyx/resources/notification_events.py +5 -5
  151. telnyx/resources/notification_profiles.py +17 -17
  152. telnyx/resources/notification_settings.py +21 -21
  153. telnyx/resources/number_block_orders.py +17 -17
  154. telnyx/resources/number_lookup.py +5 -5
  155. telnyx/resources/number_order_phone_numbers.py +13 -13
  156. telnyx/resources/number_orders.py +27 -27
  157. telnyx/resources/number_reservations/actions.py +3 -3
  158. telnyx/resources/number_reservations/number_reservations.py +15 -15
  159. telnyx/resources/numbers_features.py +5 -7
  160. telnyx/resources/oauth.py +855 -0
  161. telnyx/resources/oauth_clients.py +711 -0
  162. telnyx/resources/oauth_grants.py +349 -0
  163. telnyx/resources/operator_connect/actions.py +3 -3
  164. telnyx/resources/ota_updates.py +9 -9
  165. telnyx/resources/outbound_voice_profiles.py +66 -66
  166. telnyx/resources/partner_campaigns.py +25 -25
  167. telnyx/resources/payment/auto_recharge_prefs.py +15 -15
  168. telnyx/resources/phone_number_assignment_by_profile.py +15 -15
  169. telnyx/resources/phone_number_blocks/jobs.py +13 -13
  170. telnyx/resources/phone_number_campaigns.py +19 -19
  171. telnyx/resources/phone_numbers/actions.py +9 -11
  172. telnyx/resources/phone_numbers/csv_downloads.py +13 -13
  173. telnyx/resources/phone_numbers/jobs.py +54 -42
  174. telnyx/resources/phone_numbers/messaging.py +13 -13
  175. telnyx/resources/phone_numbers/phone_numbers.py +39 -40
  176. telnyx/resources/phone_numbers/voice.py +31 -31
  177. telnyx/resources/phone_numbers/voicemail.py +15 -15
  178. telnyx/resources/phone_numbers_regulatory_requirements.py +5 -5
  179. telnyx/resources/portability_checks.py +5 -7
  180. telnyx/resources/porting/events.py +11 -11
  181. telnyx/resources/porting/loa_configurations.py +17 -17
  182. telnyx/resources/porting/porting.py +3 -3
  183. telnyx/resources/porting/reports.py +11 -11
  184. telnyx/resources/porting_orders/action_requirements.py +11 -11
  185. telnyx/resources/porting_orders/actions.py +13 -13
  186. telnyx/resources/porting_orders/activation_jobs.py +11 -11
  187. telnyx/resources/porting_orders/additional_documents.py +15 -15
  188. telnyx/resources/porting_orders/associated_phone_numbers.py +13 -13
  189. telnyx/resources/porting_orders/comments.py +9 -9
  190. telnyx/resources/porting_orders/phone_number_blocks.py +13 -13
  191. telnyx/resources/porting_orders/phone_number_configurations.py +13 -13
  192. telnyx/resources/porting_orders/phone_number_extensions.py +13 -13
  193. telnyx/resources/porting_orders/porting_orders.py +82 -70
  194. telnyx/resources/porting_orders/verification_codes.py +20 -20
  195. telnyx/resources/porting_phone_numbers.py +7 -7
  196. telnyx/resources/portouts/comments.py +7 -7
  197. telnyx/resources/portouts/events.py +11 -11
  198. telnyx/resources/portouts/portouts.py +17 -17
  199. telnyx/resources/portouts/reports.py +11 -11
  200. telnyx/resources/portouts/supporting_documents.py +7 -7
  201. telnyx/resources/private_wireless_gateways.py +25 -25
  202. telnyx/resources/public_internet_gateways.py +19 -19
  203. telnyx/resources/queues/calls.py +7 -7
  204. telnyx/resources/queues/queues.py +3 -3
  205. telnyx/resources/recording_transcriptions.py +7 -7
  206. telnyx/resources/recordings/actions.py +5 -7
  207. telnyx/resources/recordings/recordings.py +11 -11
  208. telnyx/resources/regions.py +3 -3
  209. telnyx/resources/regulatory_requirements.py +5 -5
  210. telnyx/resources/reports/cdr_usage_reports.py +9 -9
  211. telnyx/resources/reports/mdr_usage_reports.py +22 -22
  212. telnyx/resources/reports/reports.py +47 -48
  213. telnyx/resources/requirement_groups.py +23 -23
  214. telnyx/resources/requirement_types.py +9 -11
  215. telnyx/resources/requirements.py +11 -11
  216. telnyx/resources/room_compositions.py +27 -27
  217. telnyx/resources/room_participants.py +9 -9
  218. telnyx/resources/room_recordings.py +17 -17
  219. telnyx/resources/rooms/actions.py +11 -11
  220. telnyx/resources/rooms/rooms.py +43 -43
  221. telnyx/resources/rooms/sessions/actions.py +22 -22
  222. telnyx/resources/rooms/sessions/sessions.py +27 -27
  223. telnyx/resources/seti.py +5 -5
  224. telnyx/resources/short_codes.py +11 -11
  225. telnyx/resources/sim_card_data_usage_notifications.py +21 -21
  226. telnyx/resources/sim_card_groups/actions.py +23 -23
  227. telnyx/resources/sim_card_groups/sim_card_groups.py +29 -29
  228. telnyx/resources/sim_card_order_preview.py +3 -3
  229. telnyx/resources/sim_card_orders.py +11 -11
  230. telnyx/resources/sim_cards/actions.py +29 -31
  231. telnyx/resources/sim_cards/sim_cards.py +48 -48
  232. telnyx/resources/siprec_connectors.py +13 -13
  233. telnyx/resources/storage/buckets/buckets.py +5 -5
  234. telnyx/resources/storage/buckets/ssl_certificate.py +11 -11
  235. telnyx/resources/storage/buckets/usage.py +5 -5
  236. telnyx/resources/storage/migration_sources.py +11 -11
  237. telnyx/resources/storage/migrations/actions.py +3 -3
  238. telnyx/resources/storage/migrations/migrations.py +9 -9
  239. telnyx/resources/storage/storage.py +3 -3
  240. telnyx/resources/sub_number_orders.py +17 -17
  241. telnyx/resources/sub_number_orders_report.py +19 -19
  242. telnyx/resources/telephony_credentials.py +31 -31
  243. telnyx/resources/texml/accounts/accounts.py +15 -15
  244. telnyx/resources/texml/accounts/calls/calls.py +145 -145
  245. telnyx/resources/texml/accounts/calls/recordings.py +5 -5
  246. telnyx/resources/texml/accounts/calls/recordings_json.py +19 -19
  247. telnyx/resources/texml/accounts/calls/siprec.py +5 -5
  248. telnyx/resources/texml/accounts/calls/streams.py +5 -5
  249. telnyx/resources/texml/accounts/conferences/conferences.py +31 -31
  250. telnyx/resources/texml/accounts/conferences/participants.py +123 -123
  251. telnyx/resources/texml/accounts/recordings/json.py +5 -5
  252. telnyx/resources/texml/accounts/transcriptions/json.py +5 -5
  253. telnyx/resources/texml/calls.py +79 -79
  254. telnyx/resources/texml/texml.py +3 -3
  255. telnyx/resources/texml_applications.py +65 -66
  256. telnyx/resources/text_to_speech.py +9 -9
  257. telnyx/resources/usage_reports.py +31 -32
  258. telnyx/resources/user_addresses.py +29 -31
  259. telnyx/resources/user_tags.py +5 -5
  260. telnyx/resources/verifications/actions.py +7 -7
  261. telnyx/resources/verifications/by_phone_number/actions.py +3 -3
  262. telnyx/resources/verifications/by_phone_number/by_phone_number.py +3 -3
  263. telnyx/resources/verifications/verifications.py +29 -19
  264. telnyx/resources/verified_numbers/actions.py +3 -3
  265. telnyx/resources/verified_numbers/verified_numbers.py +36 -15
  266. telnyx/resources/verify_profiles.py +226 -44
  267. telnyx/resources/virtual_cross_connects.py +45 -45
  268. telnyx/resources/virtual_cross_connects_coverage.py +9 -9
  269. telnyx/resources/webhook_deliveries.py +9 -9
  270. telnyx/resources/webhooks.py +34 -0
  271. telnyx/resources/well_known.py +198 -0
  272. telnyx/resources/wireguard_interfaces.py +17 -17
  273. telnyx/resources/wireguard_peers.py +21 -21
  274. telnyx/resources/wireless/detail_records_reports.py +17 -17
  275. telnyx/resources/wireless/wireless.py +3 -3
  276. telnyx/resources/wireless_blocklist_values.py +3 -3
  277. telnyx/resources/wireless_blocklists.py +29 -30
  278. telnyx/types/__init__.py +164 -13
  279. telnyx/types/actions/purchase_create_params.py +3 -2
  280. telnyx/types/actions/register_create_params.py +4 -3
  281. telnyx/types/addresses/action_validate_response.py +8 -3
  282. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  283. telnyx/types/ai/__init__.py +1 -0
  284. telnyx/types/ai/chat_create_completion_params.py +3 -2
  285. telnyx/types/ai/cluster_compute_params.py +3 -2
  286. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  287. telnyx/types/ai/conversations/__init__.py +0 -1
  288. telnyx/types/ai/embedding_list_params.py +3 -2
  289. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  290. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  291. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  292. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  293. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  294. telnyx/types/ai/voice_settings.py +49 -2
  295. telnyx/types/ai/voice_settings_param.py +49 -2
  296. telnyx/types/brand_create_params.py +2 -1
  297. telnyx/types/brand_update_params.py +2 -1
  298. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  299. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  300. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  301. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  302. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  303. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  304. telnyx/types/call_answered_webhook_event.py +75 -0
  305. telnyx/types/call_bridged_webhook_event.py +58 -0
  306. telnyx/types/call_control_application_update_params.py +3 -2
  307. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  308. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  309. telnyx/types/call_dial_params.py +14 -6
  310. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  311. telnyx/types/call_enqueued_webhook_event.py +59 -0
  312. telnyx/types/call_fork_started_webhook_event.py +53 -0
  313. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  314. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  315. telnyx/types/call_hangup_webhook_event.py +150 -0
  316. telnyx/types/call_initiated_webhook_event.py +96 -0
  317. telnyx/types/call_left_queue_webhook_event.py +62 -0
  318. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  319. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  320. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  321. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  322. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  323. telnyx/types/call_playback_started_webhook_event.py +62 -0
  324. telnyx/types/call_recording_error_webhook_event.py +60 -0
  325. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  326. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  327. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  328. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  329. telnyx/types/call_refer_started_webhook_event.py +61 -0
  330. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  331. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  332. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  333. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  334. telnyx/types/call_speak_started_webhook_event.py +50 -0
  335. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  336. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  337. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  338. telnyx/types/calls/action_answer_params.py +1 -2
  339. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  340. telnyx/types/calls/action_start_streaming_params.py +4 -2
  341. telnyx/types/calls/action_start_transcription_params.py +260 -6
  342. telnyx/types/calls/action_transfer_params.py +50 -0
  343. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  344. telnyx/types/calls/transcription_start_request_param.py +261 -6
  345. telnyx/types/campaign_builder_create_params.py +4 -3
  346. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  347. telnyx/types/campaign_submit_appeal_response.py +0 -3
  348. telnyx/types/conference_created_webhook_event.py +53 -0
  349. telnyx/types/conference_ended_webhook_event.py +56 -0
  350. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  351. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  352. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  353. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  354. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  355. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  356. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  357. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  358. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  359. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  360. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  361. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  362. telnyx/types/conferences/action_hold_params.py +3 -2
  363. telnyx/types/conferences/action_join_params.py +3 -2
  364. telnyx/types/conferences/action_mute_params.py +3 -2
  365. telnyx/types/conferences/action_play_params.py +2 -2
  366. telnyx/types/conferences/action_speak_params.py +3 -2
  367. telnyx/types/conferences/action_stop_params.py +3 -2
  368. telnyx/types/conferences/action_unhold_params.py +3 -2
  369. telnyx/types/conferences/action_unmute_params.py +3 -2
  370. telnyx/types/conferences/action_update_params.py +3 -2
  371. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  372. telnyx/types/country_coverage_retrieve_response.py +7 -0
  373. telnyx/types/credential_connection_create_params.py +3 -2
  374. telnyx/types/credential_connection_update_params.py +3 -2
  375. telnyx/types/credential_inbound_param.py +3 -2
  376. telnyx/types/custom_sip_header.py +13 -0
  377. telnyx/types/customer_service_record_list_params.py +2 -1
  378. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  379. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  380. telnyx/types/delivery_update_webhook_event.py +40 -0
  381. telnyx/types/detail_record_list_params.py +4 -2
  382. telnyx/types/document_list_params.py +2 -1
  383. telnyx/types/external_connection_create_params.py +4 -2
  384. telnyx/types/external_connection_update_params.py +4 -2
  385. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  386. telnyx/types/external_connections/upload_create_params.py +3 -1
  387. telnyx/types/fax_application_create_params.py +3 -2
  388. telnyx/types/fax_application_update_params.py +3 -2
  389. telnyx/types/fax_delivered_webhook_event.py +69 -0
  390. telnyx/types/fax_failed_webhook_event.py +66 -0
  391. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  392. telnyx/types/fax_queued_webhook_event.py +63 -0
  393. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  394. telnyx/types/fqdn_connection_create_params.py +3 -2
  395. telnyx/types/fqdn_connection_update_params.py +3 -2
  396. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  397. telnyx/types/inbound_fqdn_param.py +4 -2
  398. telnyx/types/inbound_ip_param.py +3 -2
  399. telnyx/types/inbound_message_webhook_event.py +227 -0
  400. telnyx/types/ip_connection_create_params.py +4 -3
  401. telnyx/types/ip_connection_update_params.py +3 -2
  402. telnyx/types/legacy/__init__.py +3 -0
  403. telnyx/types/legacy/reporting/__init__.py +12 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  421. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  422. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  423. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  424. telnyx/types/legacy/reporting/filter.py +31 -0
  425. telnyx/types/legacy/reporting/filter_param.py +30 -0
  426. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  427. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  428. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  429. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  430. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  431. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  432. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  433. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  434. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  435. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  436. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  437. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  438. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  439. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  440. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  441. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  442. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  443. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  444. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  445. telnyx/types/media_list_params.py +3 -2
  446. telnyx/types/message_schedule_params.py +3 -2
  447. telnyx/types/message_send_group_mms_params.py +3 -3
  448. telnyx/types/message_send_long_code_params.py +2 -2
  449. telnyx/types/message_send_number_pool_params.py +3 -2
  450. telnyx/types/message_send_params.py +3 -2
  451. telnyx/types/message_send_short_code_params.py +2 -2
  452. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  453. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  454. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  455. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  456. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  457. telnyx/types/messaging_profile_create_params.py +3 -2
  458. telnyx/types/messaging_profile_update_params.py +3 -2
  459. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  460. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  461. telnyx/types/messsage_rcs_params.py +2 -2
  462. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  463. telnyx/types/numbers_feature_create_params.py +3 -2
  464. telnyx/types/oauth_client.py +59 -0
  465. telnyx/types/oauth_client_create_params.py +39 -0
  466. telnyx/types/oauth_client_create_response.py +12 -0
  467. telnyx/types/oauth_client_list_params.py +38 -0
  468. telnyx/types/oauth_client_list_response.py +28 -0
  469. telnyx/types/oauth_client_retrieve_response.py +12 -0
  470. telnyx/types/oauth_client_update_params.py +36 -0
  471. telnyx/types/oauth_client_update_response.py +12 -0
  472. telnyx/types/oauth_grant.py +29 -0
  473. telnyx/types/oauth_grant_delete_response.py +12 -0
  474. telnyx/types/oauth_grant_list_params.py +17 -0
  475. telnyx/types/oauth_grant_list_response.py +28 -0
  476. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  477. telnyx/types/oauth_grants_params.py +15 -0
  478. telnyx/types/oauth_grants_response.py +10 -0
  479. telnyx/types/oauth_introspect_params.py +12 -0
  480. telnyx/types/oauth_introspect_response.py +30 -0
  481. telnyx/types/oauth_register_params.py +39 -0
  482. telnyx/types/oauth_register_response.py +45 -0
  483. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  484. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  485. telnyx/types/oauth_retrieve_response.py +47 -0
  486. telnyx/types/oauth_token_params.py +33 -0
  487. telnyx/types/oauth_token_response.py +25 -0
  488. telnyx/types/outbound_call_recording_param.py +3 -2
  489. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  490. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  491. telnyx/types/phone_number_delete_response.py +7 -0
  492. telnyx/types/phone_number_detailed.py +7 -0
  493. telnyx/types/phone_number_list_params.py +9 -2
  494. telnyx/types/phone_number_slim_list_params.py +3 -2
  495. telnyx/types/phone_number_update_params.py +3 -2
  496. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  497. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  498. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  499. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  500. telnyx/types/portability_check_run_params.py +3 -2
  501. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  502. telnyx/types/porting_order.py +3 -0
  503. telnyx/types/porting_order_create_params.py +6 -2
  504. telnyx/types/porting_order_list_params.py +52 -31
  505. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  506. telnyx/types/porting_order_update_params.py +2 -0
  507. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  508. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  509. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  510. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  511. telnyx/types/portout_list_params.py +2 -1
  512. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  513. telnyx/types/recordings/action_delete_params.py +3 -2
  514. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  515. telnyx/types/report_list_wdrs_params.py +3 -2
  516. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  517. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  518. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  519. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  520. telnyx/types/shared/__init__.py +1 -0
  521. telnyx/types/{error.py → shared/api_error.py} +3 -3
  522. telnyx/types/shared/simple_sim_card.py +15 -0
  523. telnyx/types/sim_card.py +12 -0
  524. telnyx/types/sim_card_list_params.py +2 -1
  525. telnyx/types/sim_card_update_params.py +4 -3
  526. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  527. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  528. telnyx/types/sip_header.py +15 -0
  529. telnyx/types/stream_bidirectional_codec.py +1 -1
  530. telnyx/types/stream_codec.py +1 -1
  531. telnyx/types/streaming_failed_webhook_event.py +70 -0
  532. telnyx/types/streaming_started_webhook_event.py +53 -0
  533. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  534. telnyx/types/texml_application_create_params.py +2 -2
  535. telnyx/types/texml_application_update_params.py +2 -2
  536. telnyx/types/transcription_webhook_event.py +72 -0
  537. telnyx/types/unwrap_webhook_event.py +138 -0
  538. telnyx/types/usage_report_list_params.py +5 -4
  539. telnyx/types/verification_trigger_call_params.py +7 -0
  540. telnyx/types/verified_number_create_params.py +10 -0
  541. telnyx/types/verify_profile.py +18 -3
  542. telnyx/types/verify_profile_create_params.py +6 -4
  543. telnyx/types/verify_profile_create_template_params.py +12 -0
  544. telnyx/types/verify_profile_create_template_response.py +12 -0
  545. telnyx/types/verify_profile_message_template_response.py +13 -0
  546. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  547. telnyx/types/verify_profile_update_params.py +6 -4
  548. telnyx/types/verify_profile_update_template_params.py +12 -0
  549. telnyx/types/verify_profile_update_template_response.py +12 -0
  550. telnyx/types/video_region_param.py +4 -2
  551. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  552. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  553. telnyx/types/wireless_blocklist_create_params.py +3 -2
  554. telnyx/types/wireless_blocklist_update_params.py +3 -2
  555. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/METADATA +60 -19
  556. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/RECORD +558 -403
  557. telnyx/types/client_create_bucket_params.py +0 -13
  558. telnyx/types/client_delete_objects_params.py +0 -20
  559. telnyx/types/client_get_object_params.py +0 -15
  560. telnyx/types/client_list_objects_params.py +0 -13
  561. telnyx/types/client_put_object_params.py +0 -20
  562. telnyx/types/list_buckets_response.py +0 -20
  563. telnyx/types/list_objects_response.py +0 -24
  564. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/WHEEL +0 -0
  565. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -102,6 +102,56 @@ class ActionTransferParams(TypedDict, total=False):
102
102
  behavior is to hang up the leg.
103
103
  """
104
104
 
105
+ record: Literal["record-from-answer"]
106
+ """Start recording automatically after an event. Disabled by default."""
107
+
108
+ record_channels: Literal["single", "dual"]
109
+ """
110
+ Defines which channel should be recorded ('single' or 'dual') when `record` is
111
+ specified.
112
+ """
113
+
114
+ record_custom_file_name: str
115
+ """The custom recording file name to be used instead of the default `call_leg_id`.
116
+
117
+ Telnyx will still add a Unix timestamp suffix.
118
+ """
119
+
120
+ record_format: Literal["wav", "mp3"]
121
+ """
122
+ Defines the format of the recording ('wav' or 'mp3') when `record` is specified.
123
+ """
124
+
125
+ record_max_length: int
126
+ """
127
+ Defines the maximum length for the recording in seconds when `record` is
128
+ specified. The minimum value is 0. The maximum value is 43200. The default value
129
+ is 0 (infinite).
130
+ """
131
+
132
+ record_timeout_secs: int
133
+ """
134
+ The number of seconds that Telnyx will wait for the recording to be stopped if
135
+ silence is detected when `record` is specified. The timer only starts when the
136
+ speech is detected. Please note that call transcription is used to detect
137
+ silence and the related charge will be applied. The minimum value is 0. The
138
+ default value is 0 (infinite).
139
+ """
140
+
141
+ record_track: Literal["both", "inbound", "outbound"]
142
+ """The audio track to be recorded.
143
+
144
+ Can be either `both`, `inbound` or `outbound`. If only single track is specified
145
+ (`inbound`, `outbound`), `channels` configuration is ignored and it will be
146
+ recorded as mono (single channel).
147
+ """
148
+
149
+ record_trim: Literal["trim-silence"]
150
+ """
151
+ When set to `trim-silence`, silence will be removed from the beginning and end
152
+ of the recording.
153
+ """
154
+
105
155
  sip_auth_password: str
106
156
  """SIP Authentication password used for SIP challenges."""
107
157
 
@@ -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,15 +2,266 @@
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
8
10
  from .transcription_engine_a_config_param import TranscriptionEngineAConfigParam
9
11
  from .transcription_engine_b_config_param import TranscriptionEngineBConfigParam
10
12
 
11
- __all__ = ["TranscriptionStartRequestParam", "TranscriptionEngineConfig"]
13
+ __all__ = [
14
+ "TranscriptionStartRequestParam",
15
+ "TranscriptionEngineConfig",
16
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfig",
17
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext",
18
+ "TranscriptionEngineConfigTranscriptionEngineTelnyxConfig",
19
+ "TranscriptionEngineConfigTranscriptionEngineDeepgramConfig",
20
+ ]
12
21
 
13
- TranscriptionEngineConfig: TypeAlias = Union[TranscriptionEngineAConfigParam, TranscriptionEngineBConfigParam]
22
+
23
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext(TypedDict, total=False):
24
+ boost: float
25
+ """Boost factor for the speech context."""
26
+
27
+ phrases: SequenceNotStr[str]
28
+
29
+
30
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfig(TypedDict, total=False):
31
+ enable_speaker_diarization: bool
32
+ """Enables speaker diarization."""
33
+
34
+ hints: SequenceNotStr[str]
35
+ """Hints to improve transcription accuracy."""
36
+
37
+ interim_results: bool
38
+ """Whether to send also interim results.
39
+
40
+ If set to false, only final results will be sent.
41
+ """
42
+
43
+ language: GoogleTranscriptionLanguage
44
+ """Language to use for speech recognition"""
45
+
46
+ max_speaker_count: int
47
+ """Defines maximum number of speakers in the conversation."""
48
+
49
+ min_speaker_count: int
50
+ """Defines minimum number of speakers in the conversation."""
51
+
52
+ model: Literal[
53
+ "latest_long",
54
+ "latest_short",
55
+ "command_and_search",
56
+ "phone_call",
57
+ "video",
58
+ "default",
59
+ "medical_conversation",
60
+ "medical_dictation",
61
+ ]
62
+ """The model to use for transcription."""
63
+
64
+ profanity_filter: bool
65
+ """Enables profanity_filter."""
66
+
67
+ speech_context: Iterable[TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext]
68
+ """Speech context to improve transcription accuracy."""
69
+
70
+ transcription_engine: Literal["Google"]
71
+ """Engine identifier for Google transcription service"""
72
+
73
+ use_enhanced: bool
74
+ """Enables enhanced transcription, this works for models `phone_call` and `video`."""
75
+
76
+
77
+ class TranscriptionEngineConfigTranscriptionEngineTelnyxConfig(TypedDict, total=False):
78
+ language: Literal[
79
+ "en",
80
+ "zh",
81
+ "de",
82
+ "es",
83
+ "ru",
84
+ "ko",
85
+ "fr",
86
+ "ja",
87
+ "pt",
88
+ "tr",
89
+ "pl",
90
+ "ca",
91
+ "nl",
92
+ "ar",
93
+ "sv",
94
+ "it",
95
+ "id",
96
+ "hi",
97
+ "fi",
98
+ "vi",
99
+ "he",
100
+ "uk",
101
+ "el",
102
+ "ms",
103
+ "cs",
104
+ "ro",
105
+ "da",
106
+ "hu",
107
+ "ta",
108
+ "no",
109
+ "th",
110
+ "ur",
111
+ "hr",
112
+ "bg",
113
+ "lt",
114
+ "la",
115
+ "mi",
116
+ "ml",
117
+ "cy",
118
+ "sk",
119
+ "te",
120
+ "fa",
121
+ "lv",
122
+ "bn",
123
+ "sr",
124
+ "az",
125
+ "sl",
126
+ "kn",
127
+ "et",
128
+ "mk",
129
+ "br",
130
+ "eu",
131
+ "is",
132
+ "hy",
133
+ "ne",
134
+ "mn",
135
+ "bs",
136
+ "kk",
137
+ "sq",
138
+ "sw",
139
+ "gl",
140
+ "mr",
141
+ "pa",
142
+ "si",
143
+ "km",
144
+ "sn",
145
+ "yo",
146
+ "so",
147
+ "af",
148
+ "oc",
149
+ "ka",
150
+ "be",
151
+ "tg",
152
+ "sd",
153
+ "gu",
154
+ "am",
155
+ "yi",
156
+ "lo",
157
+ "uz",
158
+ "fo",
159
+ "ht",
160
+ "ps",
161
+ "tk",
162
+ "nn",
163
+ "mt",
164
+ "sa",
165
+ "lb",
166
+ "my",
167
+ "bo",
168
+ "tl",
169
+ "mg",
170
+ "as",
171
+ "tt",
172
+ "haw",
173
+ "ln",
174
+ "ha",
175
+ "ba",
176
+ "jw",
177
+ "su",
178
+ "auto_detect",
179
+ ]
180
+ """Language to use for speech recognition"""
181
+
182
+ transcription_engine: Literal["Telnyx"]
183
+ """Engine identifier for Telnyx transcription service"""
184
+
185
+ transcription_model: Literal["openai/whisper-tiny", "openai/whisper-large-v3-turbo"]
186
+ """The model to use for transcription."""
187
+
188
+
189
+ class TranscriptionEngineConfigTranscriptionEngineDeepgramConfig(TypedDict, total=False):
190
+ transcription_engine: Required[Literal["Deepgram"]]
191
+ """Engine identifier for Deepgram transcription service"""
192
+
193
+ transcription_model: Required[Literal["deepgram/nova-2", "deepgram/nova-3"]]
194
+ """The model to use for transcription."""
195
+
196
+ language: Literal[
197
+ "bg",
198
+ "ca",
199
+ "zh",
200
+ "zh-CN",
201
+ "zh-Hans",
202
+ "zh-TW",
203
+ "zh-Hant",
204
+ "zh-HK",
205
+ "cs",
206
+ "da",
207
+ "da-DK",
208
+ "nl",
209
+ "en",
210
+ "en-US",
211
+ "en-AU",
212
+ "en-GB",
213
+ "en-NZ",
214
+ "en-IN",
215
+ "et",
216
+ "fi",
217
+ "nl-BE",
218
+ "fr",
219
+ "fr-CA",
220
+ "de",
221
+ "de-CH",
222
+ "el",
223
+ "hi",
224
+ "hu",
225
+ "id",
226
+ "it",
227
+ "ja",
228
+ "ko",
229
+ "ko-KR",
230
+ "lv",
231
+ "lt",
232
+ "ms",
233
+ "no",
234
+ "pl",
235
+ "pt",
236
+ "pt-BR",
237
+ "pt-PT",
238
+ "ro",
239
+ "ru",
240
+ "sk",
241
+ "es",
242
+ "es-419",
243
+ "sv",
244
+ "sv-SE",
245
+ "th",
246
+ "th-TH",
247
+ "tr",
248
+ "uk",
249
+ "vi",
250
+ "auto_detect",
251
+ ]
252
+ """Language to use for speech recognition.
253
+
254
+ Available languages depend on the selected model.
255
+ """
256
+
257
+
258
+ TranscriptionEngineConfig: TypeAlias = Union[
259
+ TranscriptionEngineConfigTranscriptionEngineGoogleConfig,
260
+ TranscriptionEngineConfigTranscriptionEngineTelnyxConfig,
261
+ TranscriptionEngineConfigTranscriptionEngineDeepgramConfig,
262
+ TranscriptionEngineAConfigParam,
263
+ TranscriptionEngineBConfigParam,
264
+ ]
14
265
 
15
266
 
16
267
  class TranscriptionStartRequestParam(TypedDict, total=False):
@@ -27,8 +278,12 @@ class TranscriptionStartRequestParam(TypedDict, total=False):
27
278
  `call_control_id`.
28
279
  """
29
280
 
30
- transcription_engine: Literal["A", "B"]
31
- """Engine to use for speech recognition. `A` - `Google`, `B` - `Telnyx`."""
281
+ transcription_engine: Literal["Google", "Telnyx", "Deepgram", "A", "B"]
282
+ """Engine to use for speech recognition.
283
+
284
+ Legacy values `A` - `Google`, `B` - `Telnyx` are supported for backward
285
+ compatibility.
286
+ """
32
287
 
33
288
  transcription_engine_config: TranscriptionEngineConfig
34
289
 
@@ -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."""
@@ -11,6 +11,3 @@ __all__ = ["CampaignSubmitAppealResponse"]
11
11
  class CampaignSubmitAppealResponse(BaseModel):
12
12
  appealed_at: Optional[datetime] = None
13
13
  """Timestamp when the appeal was submitted"""
14
-
15
- previous_status: Optional[str] = None
16
- """Previous campaign status (currently always null)"""
@@ -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."""
@@ -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__ = ["ConferenceParticipantJoinedWebhookEvent", "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
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["conference.participant.joined"]] = 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 ConferenceParticipantJoinedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None