telnyx 3.3.0a0__py3-none-any.whl → 3.4.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 (501) hide show
  1. telnyx/__init__.py +3 -1
  2. telnyx/_base_client.py +12 -12
  3. telnyx/_client.py +63 -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 +70 -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 +92 -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 +156 -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 +134 -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/well_known.py +198 -0
  271. telnyx/resources/wireguard_interfaces.py +17 -17
  272. telnyx/resources/wireguard_peers.py +21 -21
  273. telnyx/resources/wireless/detail_records_reports.py +17 -17
  274. telnyx/resources/wireless/wireless.py +3 -3
  275. telnyx/resources/wireless_blocklist_values.py +3 -3
  276. telnyx/resources/wireless_blocklists.py +29 -30
  277. telnyx/types/__init__.py +53 -13
  278. telnyx/types/actions/purchase_create_params.py +3 -2
  279. telnyx/types/actions/register_create_params.py +4 -3
  280. telnyx/types/addresses/action_validate_response.py +8 -3
  281. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  282. telnyx/types/ai/__init__.py +1 -0
  283. telnyx/types/ai/chat_create_completion_params.py +3 -2
  284. telnyx/types/ai/cluster_compute_params.py +3 -2
  285. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  286. telnyx/types/ai/conversations/__init__.py +0 -1
  287. telnyx/types/ai/embedding_list_params.py +3 -2
  288. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  289. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  290. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  291. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  292. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  293. telnyx/types/ai/voice_settings.py +49 -2
  294. telnyx/types/ai/voice_settings_param.py +49 -2
  295. telnyx/types/brand_create_params.py +2 -1
  296. telnyx/types/brand_update_params.py +2 -1
  297. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  298. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  299. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  300. telnyx/types/call_control_application_update_params.py +3 -2
  301. telnyx/types/call_dial_params.py +14 -6
  302. telnyx/types/calls/action_answer_params.py +1 -2
  303. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  304. telnyx/types/calls/action_start_streaming_params.py +4 -2
  305. telnyx/types/calls/action_start_transcription_params.py +260 -6
  306. telnyx/types/calls/action_transfer_params.py +50 -0
  307. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  308. telnyx/types/calls/transcription_start_request_param.py +261 -6
  309. telnyx/types/campaign_builder_create_params.py +4 -3
  310. telnyx/types/campaign_submit_appeal_response.py +0 -3
  311. telnyx/types/conferences/action_hold_params.py +3 -2
  312. telnyx/types/conferences/action_join_params.py +3 -2
  313. telnyx/types/conferences/action_mute_params.py +3 -2
  314. telnyx/types/conferences/action_play_params.py +2 -2
  315. telnyx/types/conferences/action_speak_params.py +3 -2
  316. telnyx/types/conferences/action_stop_params.py +3 -2
  317. telnyx/types/conferences/action_unhold_params.py +3 -2
  318. telnyx/types/conferences/action_unmute_params.py +3 -2
  319. telnyx/types/conferences/action_update_params.py +3 -2
  320. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  321. telnyx/types/country_coverage_retrieve_response.py +7 -0
  322. telnyx/types/credential_connection_create_params.py +3 -2
  323. telnyx/types/credential_connection_update_params.py +3 -2
  324. telnyx/types/credential_inbound_param.py +3 -2
  325. telnyx/types/customer_service_record_list_params.py +2 -1
  326. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  327. telnyx/types/detail_record_list_params.py +4 -2
  328. telnyx/types/document_list_params.py +2 -1
  329. telnyx/types/external_connection_create_params.py +4 -2
  330. telnyx/types/external_connection_update_params.py +4 -2
  331. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  332. telnyx/types/external_connections/upload_create_params.py +3 -1
  333. telnyx/types/fax_application_create_params.py +3 -2
  334. telnyx/types/fax_application_update_params.py +3 -2
  335. telnyx/types/fqdn_connection_create_params.py +3 -2
  336. telnyx/types/fqdn_connection_update_params.py +3 -2
  337. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  338. telnyx/types/inbound_fqdn_param.py +4 -2
  339. telnyx/types/inbound_ip_param.py +3 -2
  340. telnyx/types/ip_connection_create_params.py +4 -3
  341. telnyx/types/ip_connection_update_params.py +3 -2
  342. telnyx/types/legacy/__init__.py +3 -0
  343. telnyx/types/legacy/reporting/__init__.py +12 -0
  344. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  345. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  346. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  347. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  348. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  349. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  350. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  351. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  352. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  353. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  354. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  355. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  356. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  357. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  358. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  359. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  360. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  361. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  362. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  363. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  364. telnyx/types/legacy/reporting/filter.py +31 -0
  365. telnyx/types/legacy/reporting/filter_param.py +30 -0
  366. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  367. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  368. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  369. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  370. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  371. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  372. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  373. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  374. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  375. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  376. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  377. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  378. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  379. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  380. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  381. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  382. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  383. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  384. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  385. telnyx/types/media_list_params.py +3 -2
  386. telnyx/types/message_schedule_params.py +3 -2
  387. telnyx/types/message_send_group_mms_params.py +3 -3
  388. telnyx/types/message_send_long_code_params.py +2 -2
  389. telnyx/types/message_send_number_pool_params.py +3 -2
  390. telnyx/types/message_send_params.py +3 -2
  391. telnyx/types/message_send_short_code_params.py +2 -2
  392. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  393. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  394. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  395. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  396. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  397. telnyx/types/messaging_profile.py +3 -0
  398. telnyx/types/messaging_profile_create_params.py +6 -2
  399. telnyx/types/messaging_profile_update_params.py +6 -2
  400. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  401. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  402. telnyx/types/messsage_rcs_params.py +2 -2
  403. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  404. telnyx/types/numbers_feature_create_params.py +3 -2
  405. telnyx/types/oauth_client.py +59 -0
  406. telnyx/types/oauth_client_create_params.py +39 -0
  407. telnyx/types/oauth_client_create_response.py +12 -0
  408. telnyx/types/oauth_client_list_params.py +38 -0
  409. telnyx/types/oauth_client_list_response.py +28 -0
  410. telnyx/types/oauth_client_retrieve_response.py +12 -0
  411. telnyx/types/oauth_client_update_params.py +36 -0
  412. telnyx/types/oauth_client_update_response.py +12 -0
  413. telnyx/types/oauth_grant.py +29 -0
  414. telnyx/types/oauth_grant_delete_response.py +12 -0
  415. telnyx/types/oauth_grant_list_params.py +17 -0
  416. telnyx/types/oauth_grant_list_response.py +28 -0
  417. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  418. telnyx/types/oauth_grants_params.py +15 -0
  419. telnyx/types/oauth_grants_response.py +10 -0
  420. telnyx/types/oauth_introspect_params.py +12 -0
  421. telnyx/types/oauth_introspect_response.py +30 -0
  422. telnyx/types/oauth_register_params.py +39 -0
  423. telnyx/types/oauth_register_response.py +45 -0
  424. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  425. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  426. telnyx/types/oauth_retrieve_response.py +47 -0
  427. telnyx/types/oauth_token_params.py +33 -0
  428. telnyx/types/oauth_token_response.py +25 -0
  429. telnyx/types/outbound_call_recording_param.py +3 -2
  430. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  431. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  432. telnyx/types/phone_number_delete_response.py +7 -0
  433. telnyx/types/phone_number_detailed.py +7 -0
  434. telnyx/types/phone_number_list_params.py +9 -2
  435. telnyx/types/phone_number_slim_list_params.py +3 -2
  436. telnyx/types/phone_number_update_params.py +3 -2
  437. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  438. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  439. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  440. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  441. telnyx/types/portability_check_run_params.py +3 -2
  442. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  443. telnyx/types/porting_order.py +3 -0
  444. telnyx/types/porting_order_create_params.py +6 -2
  445. telnyx/types/porting_order_list_params.py +52 -31
  446. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  447. telnyx/types/porting_order_update_params.py +2 -0
  448. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  449. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  450. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  451. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  452. telnyx/types/portout_list_params.py +2 -1
  453. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  454. telnyx/types/recordings/action_delete_params.py +3 -2
  455. telnyx/types/report_list_wdrs_params.py +3 -2
  456. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  457. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  458. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  459. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  460. telnyx/types/shared/__init__.py +1 -0
  461. telnyx/types/{error.py → shared/api_error.py} +3 -3
  462. telnyx/types/shared/simple_sim_card.py +15 -0
  463. telnyx/types/sim_card.py +12 -0
  464. telnyx/types/sim_card_list_params.py +2 -1
  465. telnyx/types/sim_card_update_params.py +4 -3
  466. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  467. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  468. telnyx/types/stream_bidirectional_codec.py +1 -1
  469. telnyx/types/stream_codec.py +1 -1
  470. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  471. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  472. telnyx/types/texml_application_create_params.py +2 -2
  473. telnyx/types/texml_application_update_params.py +2 -2
  474. telnyx/types/usage_report_list_params.py +5 -4
  475. telnyx/types/verification_trigger_call_params.py +7 -0
  476. telnyx/types/verified_number_create_params.py +10 -0
  477. telnyx/types/verify_profile.py +18 -3
  478. telnyx/types/verify_profile_create_params.py +6 -4
  479. telnyx/types/verify_profile_create_template_params.py +12 -0
  480. telnyx/types/verify_profile_create_template_response.py +12 -0
  481. telnyx/types/verify_profile_message_template_response.py +13 -0
  482. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  483. telnyx/types/verify_profile_update_params.py +6 -4
  484. telnyx/types/verify_profile_update_template_params.py +12 -0
  485. telnyx/types/verify_profile_update_template_response.py +12 -0
  486. telnyx/types/video_region_param.py +4 -2
  487. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  488. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  489. telnyx/types/wireless_blocklist_create_params.py +3 -2
  490. telnyx/types/wireless_blocklist_update_params.py +3 -2
  491. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/METADATA +60 -19
  492. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/RECORD +494 -407
  493. telnyx/types/client_create_bucket_params.py +0 -13
  494. telnyx/types/client_delete_objects_params.py +0 -20
  495. telnyx/types/client_get_object_params.py +0 -15
  496. telnyx/types/client_list_objects_params.py +0 -13
  497. telnyx/types/client_put_object_params.py +0 -20
  498. telnyx/types/list_buckets_response.py +0 -20
  499. telnyx/types/list_objects_response.py +0 -24
  500. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/WHEEL +0 -0
  501. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -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
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["BillingBundleListParams", "Filter", "Page"]
9
10
 
10
11
 
@@ -27,10 +28,10 @@ class BillingBundleListParams(TypedDict, total=False):
27
28
 
28
29
 
29
30
  class Filter(TypedDict, total=False):
30
- country_iso: List[str]
31
+ country_iso: SequenceNotStr[str]
31
32
  """Filter by country code."""
32
33
 
33
- resource: List[str]
34
+ resource: SequenceNotStr[str]
34
35
  """Filter by resource."""
35
36
 
36
37
 
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["UserBundleListParams", "Filter", "Page"]
9
10
 
10
11
 
@@ -27,10 +28,10 @@ class UserBundleListParams(TypedDict, total=False):
27
28
 
28
29
 
29
30
  class Filter(TypedDict, total=False):
30
- country_iso: List[str]
31
+ country_iso: SequenceNotStr[str]
31
32
  """Filter by country code."""
32
33
 
33
- resource: List[str]
34
+ resource: SequenceNotStr[str]
34
35
  """Filter by resource."""
35
36
 
36
37
 
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["UserBundleListUnusedParams", "Filter"]
9
10
 
10
11
 
@@ -21,8 +22,8 @@ class UserBundleListUnusedParams(TypedDict, total=False):
21
22
 
22
23
 
23
24
  class Filter(TypedDict, total=False):
24
- country_iso: List[str]
25
+ country_iso: SequenceNotStr[str]
25
26
  """Filter by country code."""
26
27
 
27
- resource: List[str]
28
+ resource: SequenceNotStr[str]
28
29
  """Filter by resource."""
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .call_control_application_inbound_param import CallControlApplicationInboundParam
9
10
  from .call_control_application_outbound_param import CallControlApplicationOutboundParam
10
11
 
@@ -57,7 +58,7 @@ class CallControlApplicationUpdateParams(TypedDict, total=False):
57
58
  protect PII data entered through IVR interactions.
58
59
  """
59
60
 
60
- tags: List[str]
61
+ tags: SequenceNotStr[str]
61
62
  """Tags assigned to the Call Control Application."""
62
63
 
63
64
  webhook_api_version: Literal["1", "2"]
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union, Iterable
5
+ from typing import Union, Iterable
6
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .._utils import PropertyInfo
9
10
  from .stream_codec import StreamCodec
10
11
  from .sip_header_param import SipHeaderParam
@@ -32,7 +33,7 @@ class CallDialParams(TypedDict, total=False):
32
33
  number). The number should be in +E164 format.
33
34
  """
34
35
 
35
- to: Required[Union[str, List[str]]]
36
+ to: Required[Union[str, SequenceNotStr[str]]]
36
37
  """The DID or SIP URI to dial out to.
37
38
 
38
39
  Multiple DID or SIP URIs can be provided using an array of strings
@@ -138,6 +139,14 @@ class CallDialParams(TypedDict, total=False):
138
139
  WAV or MP3 file.
139
140
  """
140
141
 
142
+ park_after_unbridge: str
143
+ """If supplied with the value `self`, the current leg will be parked after
144
+ unbridge.
145
+
146
+ If not set, the default behavior is to hang up the leg. When park_after_unbridge
147
+ is set, link_to becomes required.
148
+ """
149
+
141
150
  preferred_codecs: str
142
151
  """
143
152
  The list of comma-separated codecs in a preferred order for the forked media to
@@ -224,7 +233,7 @@ class CallDialParams(TypedDict, total=False):
224
233
  stream_bidirectional_mode: StreamBidirectionalMode
225
234
  """Configures method of bidirectional streaming (mp3, rtp)."""
226
235
 
227
- stream_bidirectional_sampling_rate: Literal[8000, 16000, 48000]
236
+ stream_bidirectional_sampling_rate: Literal[8000, 16000, 22050, 24000, 48000]
228
237
  """Audio sampling rate."""
229
238
 
230
239
  stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
@@ -234,8 +243,7 @@ class CallDialParams(TypedDict, total=False):
234
243
  """Specifies the codec to be used for the streamed audio.
235
244
 
236
245
  When set to 'default' or when transcoding is not possible, the codec from the
237
- call will be used. Currently, transcoding is only supported between PCMU and
238
- PCMA codecs.
246
+ call will be used.
239
247
  """
240
248
 
241
249
  stream_establish_before_call_originate: bool
@@ -427,7 +435,7 @@ class ConferenceConfig(TypedDict, total=False):
427
435
  Defaults to "none".
428
436
  """
429
437
 
430
- whisper_call_control_ids: List[str]
438
+ whisper_call_control_ids: SequenceNotStr[str]
431
439
  """Array of unique call_control_ids the joining supervisor can whisper to.
432
440
 
433
441
  If none provided, the supervisor will join the conference as a monitoring
@@ -124,8 +124,7 @@ class ActionAnswerParams(TypedDict, total=False):
124
124
  """Specifies the codec to be used for the streamed audio.
125
125
 
126
126
  When set to 'default' or when transcoding is not possible, the codec from the
127
- call will be used. Currently, transcoding is only supported between PCMU and
128
- PCMA codecs.
127
+ call will be used.
129
128
  """
130
129
 
131
130
  stream_track: Literal["inbound_track", "outbound_track", "both_tracks"]
@@ -67,20 +67,17 @@ class ActionGatherUsingAIParams(TypedDict, total=False):
67
67
  """Default is `false`.
68
68
 
69
69
  If set to `true`, the voice assistant will send updates to the message history
70
- via the `call.ai_gather.message_history_updated`
71
- [callback](https://developers.telnyx.com/api/call-control/call-gather-using-ai#callbacks)
72
- in real time as the message history is updated.
70
+ via the `call.ai_gather.message_history_updated` callback in real time as the
71
+ message history is updated.
73
72
  """
74
73
 
75
74
  send_partial_results: bool
76
75
  """Default is `false`.
77
76
 
78
77
  If set to `true`, the voice assistant will send partial results via the
79
- `call.ai_gather.partial_results`
80
- [callback](https://developers.telnyx.com/api/call-control/call-gather-using-ai#callbacks)
81
- in real time as individual fields are gathered. If set to `false`, the voice
82
- assistant will only send the final result via the `call.ai_gather.ended`
83
- callback.
78
+ `call.ai_gather.partial_results` callback in real time as individual fields are
79
+ gathered. If set to `false`, the voice assistant will only send the final result
80
+ via the `call.ai_gather.ended` callback.
84
81
  """
85
82
 
86
83
  transcription: TranscriptionConfigParam
@@ -41,6 +41,9 @@ class ActionStartStreamingParams(TypedDict, total=False):
41
41
  stream_bidirectional_mode: StreamBidirectionalMode
42
42
  """Configures method of bidirectional streaming (mp3, rtp)."""
43
43
 
44
+ stream_bidirectional_sampling_rate: Literal[8000, 16000, 22050, 24000, 48000]
45
+ """Audio sampling rate."""
46
+
44
47
  stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
45
48
  """Specifies which call legs should receive the bidirectional stream audio."""
46
49
 
@@ -48,8 +51,7 @@ class ActionStartStreamingParams(TypedDict, total=False):
48
51
  """Specifies the codec to be used for the streamed audio.
49
52
 
50
53
  When set to 'default' or when transcoding is not possible, the codec from the
51
- call will be used. Currently, transcoding is only supported between PCMU and
52
- PCMA codecs.
54
+ call will be used.
53
55
  """
54
56
 
55
57
  stream_track: Literal["inbound_track", "outbound_track", "both_tracks"]
@@ -2,13 +2,22 @@
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__ = ["ActionStartTranscriptionParams", "TranscriptionEngineConfig"]
13
+ __all__ = [
14
+ "ActionStartTranscriptionParams",
15
+ "TranscriptionEngineConfig",
16
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfig",
17
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext",
18
+ "TranscriptionEngineConfigTranscriptionEngineTelnyxConfig",
19
+ "TranscriptionEngineConfigTranscriptionEngineDeepgramConfig",
20
+ ]
12
21
 
13
22
 
14
23
  class ActionStartTranscriptionParams(TypedDict, total=False):
@@ -25,8 +34,12 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
25
34
  `call_control_id`.
26
35
  """
27
36
 
28
- transcription_engine: Literal["A", "B"]
29
- """Engine to use for speech recognition. `A` - `Google`, `B` - `Telnyx`."""
37
+ transcription_engine: Literal["Google", "Telnyx", "Deepgram", "A", "B"]
38
+ """Engine to use for speech recognition.
39
+
40
+ Legacy values `A` - `Google`, `B` - `Telnyx` are supported for backward
41
+ compatibility.
42
+ """
30
43
 
31
44
  transcription_engine_config: TranscriptionEngineConfig
32
45
 
@@ -38,4 +51,245 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
38
51
  """
39
52
 
40
53
 
41
- TranscriptionEngineConfig: TypeAlias = Union[TranscriptionEngineAConfigParam, TranscriptionEngineBConfigParam]
54
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext(TypedDict, total=False):
55
+ boost: float
56
+ """Boost factor for the speech context."""
57
+
58
+ phrases: SequenceNotStr[str]
59
+
60
+
61
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfig(TypedDict, total=False):
62
+ enable_speaker_diarization: bool
63
+ """Enables speaker diarization."""
64
+
65
+ hints: SequenceNotStr[str]
66
+ """Hints to improve transcription accuracy."""
67
+
68
+ interim_results: bool
69
+ """Whether to send also interim results.
70
+
71
+ If set to false, only final results will be sent.
72
+ """
73
+
74
+ language: GoogleTranscriptionLanguage
75
+ """Language to use for speech recognition"""
76
+
77
+ max_speaker_count: int
78
+ """Defines maximum number of speakers in the conversation."""
79
+
80
+ min_speaker_count: int
81
+ """Defines minimum number of speakers in the conversation."""
82
+
83
+ model: Literal[
84
+ "latest_long",
85
+ "latest_short",
86
+ "command_and_search",
87
+ "phone_call",
88
+ "video",
89
+ "default",
90
+ "medical_conversation",
91
+ "medical_dictation",
92
+ ]
93
+ """The model to use for transcription."""
94
+
95
+ profanity_filter: bool
96
+ """Enables profanity_filter."""
97
+
98
+ speech_context: Iterable[TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext]
99
+ """Speech context to improve transcription accuracy."""
100
+
101
+ transcription_engine: Literal["Google"]
102
+ """Engine identifier for Google transcription service"""
103
+
104
+ use_enhanced: bool
105
+ """Enables enhanced transcription, this works for models `phone_call` and `video`."""
106
+
107
+
108
+ class TranscriptionEngineConfigTranscriptionEngineTelnyxConfig(TypedDict, total=False):
109
+ language: Literal[
110
+ "en",
111
+ "zh",
112
+ "de",
113
+ "es",
114
+ "ru",
115
+ "ko",
116
+ "fr",
117
+ "ja",
118
+ "pt",
119
+ "tr",
120
+ "pl",
121
+ "ca",
122
+ "nl",
123
+ "ar",
124
+ "sv",
125
+ "it",
126
+ "id",
127
+ "hi",
128
+ "fi",
129
+ "vi",
130
+ "he",
131
+ "uk",
132
+ "el",
133
+ "ms",
134
+ "cs",
135
+ "ro",
136
+ "da",
137
+ "hu",
138
+ "ta",
139
+ "no",
140
+ "th",
141
+ "ur",
142
+ "hr",
143
+ "bg",
144
+ "lt",
145
+ "la",
146
+ "mi",
147
+ "ml",
148
+ "cy",
149
+ "sk",
150
+ "te",
151
+ "fa",
152
+ "lv",
153
+ "bn",
154
+ "sr",
155
+ "az",
156
+ "sl",
157
+ "kn",
158
+ "et",
159
+ "mk",
160
+ "br",
161
+ "eu",
162
+ "is",
163
+ "hy",
164
+ "ne",
165
+ "mn",
166
+ "bs",
167
+ "kk",
168
+ "sq",
169
+ "sw",
170
+ "gl",
171
+ "mr",
172
+ "pa",
173
+ "si",
174
+ "km",
175
+ "sn",
176
+ "yo",
177
+ "so",
178
+ "af",
179
+ "oc",
180
+ "ka",
181
+ "be",
182
+ "tg",
183
+ "sd",
184
+ "gu",
185
+ "am",
186
+ "yi",
187
+ "lo",
188
+ "uz",
189
+ "fo",
190
+ "ht",
191
+ "ps",
192
+ "tk",
193
+ "nn",
194
+ "mt",
195
+ "sa",
196
+ "lb",
197
+ "my",
198
+ "bo",
199
+ "tl",
200
+ "mg",
201
+ "as",
202
+ "tt",
203
+ "haw",
204
+ "ln",
205
+ "ha",
206
+ "ba",
207
+ "jw",
208
+ "su",
209
+ "auto_detect",
210
+ ]
211
+ """Language to use for speech recognition"""
212
+
213
+ transcription_engine: Literal["Telnyx"]
214
+ """Engine identifier for Telnyx transcription service"""
215
+
216
+ transcription_model: Literal["openai/whisper-tiny", "openai/whisper-large-v3-turbo"]
217
+ """The model to use for transcription."""
218
+
219
+
220
+ class TranscriptionEngineConfigTranscriptionEngineDeepgramConfig(TypedDict, total=False):
221
+ transcription_engine: Required[Literal["Deepgram"]]
222
+ """Engine identifier for Deepgram transcription service"""
223
+
224
+ transcription_model: Required[Literal["deepgram/nova-2", "deepgram/nova-3"]]
225
+ """The model to use for transcription."""
226
+
227
+ language: Literal[
228
+ "bg",
229
+ "ca",
230
+ "zh",
231
+ "zh-CN",
232
+ "zh-Hans",
233
+ "zh-TW",
234
+ "zh-Hant",
235
+ "zh-HK",
236
+ "cs",
237
+ "da",
238
+ "da-DK",
239
+ "nl",
240
+ "en",
241
+ "en-US",
242
+ "en-AU",
243
+ "en-GB",
244
+ "en-NZ",
245
+ "en-IN",
246
+ "et",
247
+ "fi",
248
+ "nl-BE",
249
+ "fr",
250
+ "fr-CA",
251
+ "de",
252
+ "de-CH",
253
+ "el",
254
+ "hi",
255
+ "hu",
256
+ "id",
257
+ "it",
258
+ "ja",
259
+ "ko",
260
+ "ko-KR",
261
+ "lv",
262
+ "lt",
263
+ "ms",
264
+ "no",
265
+ "pl",
266
+ "pt",
267
+ "pt-BR",
268
+ "pt-PT",
269
+ "ro",
270
+ "ru",
271
+ "sk",
272
+ "es",
273
+ "es-419",
274
+ "sv",
275
+ "sv-SE",
276
+ "th",
277
+ "th-TH",
278
+ "tr",
279
+ "uk",
280
+ "vi",
281
+ "auto_detect",
282
+ ]
283
+ """Language to use for speech recognition.
284
+
285
+ Available languages depend on the selected model.
286
+ """
287
+
288
+
289
+ TranscriptionEngineConfig: TypeAlias = Union[
290
+ TranscriptionEngineConfigTranscriptionEngineGoogleConfig,
291
+ TranscriptionEngineConfigTranscriptionEngineTelnyxConfig,
292
+ TranscriptionEngineConfigTranscriptionEngineDeepgramConfig,
293
+ TranscriptionEngineAConfigParam,
294
+ TranscriptionEngineBConfigParam,
295
+ ]
@@ -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