telnyx 3.1.0a0__py3-none-any.whl → 3.2.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 (564) 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 +695 -697
  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 +124 -43
  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 +167 -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_transfer_params.py +50 -0
  342. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  343. telnyx/types/campaign_builder_create_params.py +4 -3
  344. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  345. telnyx/types/campaign_submit_appeal_response.py +0 -3
  346. telnyx/types/conference_created_webhook_event.py +53 -0
  347. telnyx/types/conference_ended_webhook_event.py +56 -0
  348. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  349. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  350. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  351. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  352. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  353. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  354. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  355. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  356. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  357. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  358. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  359. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  360. telnyx/types/conferences/action_hold_params.py +3 -2
  361. telnyx/types/conferences/action_join_params.py +3 -2
  362. telnyx/types/conferences/action_mute_params.py +3 -2
  363. telnyx/types/conferences/action_play_params.py +2 -2
  364. telnyx/types/conferences/action_speak_params.py +3 -2
  365. telnyx/types/conferences/action_stop_params.py +3 -2
  366. telnyx/types/conferences/action_unhold_params.py +3 -2
  367. telnyx/types/conferences/action_unmute_params.py +3 -2
  368. telnyx/types/conferences/action_update_params.py +3 -2
  369. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  370. telnyx/types/country_coverage_retrieve_response.py +7 -0
  371. telnyx/types/credential_connection_create_params.py +3 -2
  372. telnyx/types/credential_connection_update_params.py +3 -2
  373. telnyx/types/credential_inbound_param.py +3 -2
  374. telnyx/types/custom_sip_header.py +13 -0
  375. telnyx/types/customer_service_record_list_params.py +2 -1
  376. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  377. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  378. telnyx/types/delivery_update_webhook_event.py +40 -0
  379. telnyx/types/detail_record_list_params.py +4 -2
  380. telnyx/types/document_generate_download_link_response.py +14 -0
  381. telnyx/types/document_list_params.py +2 -1
  382. telnyx/types/external_connection_create_params.py +4 -2
  383. telnyx/types/external_connection_update_params.py +4 -2
  384. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  385. telnyx/types/external_connections/upload_create_params.py +3 -1
  386. telnyx/types/fax_application_create_params.py +3 -2
  387. telnyx/types/fax_application_update_params.py +3 -2
  388. telnyx/types/fax_delivered_webhook_event.py +69 -0
  389. telnyx/types/fax_failed_webhook_event.py +66 -0
  390. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  391. telnyx/types/fax_queued_webhook_event.py +63 -0
  392. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  393. telnyx/types/fqdn_connection_create_params.py +3 -2
  394. telnyx/types/fqdn_connection_update_params.py +3 -2
  395. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  396. telnyx/types/inbound_fqdn_param.py +4 -2
  397. telnyx/types/inbound_ip_param.py +3 -2
  398. telnyx/types/inbound_message_webhook_event.py +227 -0
  399. telnyx/types/ip_connection_create_params.py +4 -3
  400. telnyx/types/ip_connection_update_params.py +3 -2
  401. telnyx/types/legacy/__init__.py +3 -0
  402. telnyx/types/legacy/reporting/__init__.py +12 -0
  403. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  421. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  422. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  423. telnyx/types/legacy/reporting/filter.py +31 -0
  424. telnyx/types/legacy/reporting/filter_param.py +30 -0
  425. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  426. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  427. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  428. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  429. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  430. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  431. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  432. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  433. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  434. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  435. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  436. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  437. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  438. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  439. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  440. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  441. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  442. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  443. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  444. telnyx/types/media_list_params.py +3 -2
  445. telnyx/types/message_schedule_params.py +3 -2
  446. telnyx/types/message_send_group_mms_params.py +3 -3
  447. telnyx/types/message_send_long_code_params.py +2 -2
  448. telnyx/types/message_send_number_pool_params.py +3 -2
  449. telnyx/types/message_send_params.py +3 -2
  450. telnyx/types/message_send_short_code_params.py +2 -2
  451. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  452. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  453. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  454. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  455. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  456. telnyx/types/messaging_profile_create_params.py +3 -2
  457. telnyx/types/messaging_profile_update_params.py +3 -2
  458. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  459. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  460. telnyx/types/messsage_rcs_params.py +2 -2
  461. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  462. telnyx/types/numbers_feature_create_params.py +3 -2
  463. telnyx/types/oauth_client.py +59 -0
  464. telnyx/types/oauth_client_create_params.py +39 -0
  465. telnyx/types/oauth_client_create_response.py +12 -0
  466. telnyx/types/oauth_client_list_params.py +38 -0
  467. telnyx/types/oauth_client_list_response.py +28 -0
  468. telnyx/types/oauth_client_retrieve_response.py +12 -0
  469. telnyx/types/oauth_client_update_params.py +36 -0
  470. telnyx/types/oauth_client_update_response.py +12 -0
  471. telnyx/types/oauth_grant.py +29 -0
  472. telnyx/types/oauth_grant_delete_response.py +12 -0
  473. telnyx/types/oauth_grant_list_params.py +17 -0
  474. telnyx/types/oauth_grant_list_response.py +28 -0
  475. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  476. telnyx/types/oauth_grants_params.py +15 -0
  477. telnyx/types/oauth_grants_response.py +10 -0
  478. telnyx/types/oauth_introspect_params.py +12 -0
  479. telnyx/types/oauth_introspect_response.py +30 -0
  480. telnyx/types/oauth_register_params.py +39 -0
  481. telnyx/types/oauth_register_response.py +45 -0
  482. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  483. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  484. telnyx/types/oauth_retrieve_response.py +47 -0
  485. telnyx/types/oauth_token_params.py +33 -0
  486. telnyx/types/oauth_token_response.py +25 -0
  487. telnyx/types/outbound_call_recording_param.py +3 -2
  488. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  489. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  490. telnyx/types/phone_number_delete_response.py +7 -0
  491. telnyx/types/phone_number_detailed.py +7 -0
  492. telnyx/types/phone_number_list_params.py +9 -2
  493. telnyx/types/phone_number_slim_list_params.py +3 -2
  494. telnyx/types/phone_number_update_params.py +3 -2
  495. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  496. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  497. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  498. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  499. telnyx/types/portability_check_run_params.py +3 -2
  500. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  501. telnyx/types/porting_order.py +3 -0
  502. telnyx/types/porting_order_create_params.py +6 -2
  503. telnyx/types/porting_order_list_params.py +52 -31
  504. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  505. telnyx/types/porting_order_update_params.py +2 -0
  506. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  507. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  508. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  509. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  510. telnyx/types/portout_list_params.py +2 -1
  511. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  512. telnyx/types/recordings/action_delete_params.py +3 -2
  513. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  514. telnyx/types/report_list_wdrs_params.py +3 -2
  515. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  516. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  517. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  518. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  519. telnyx/types/shared/__init__.py +1 -0
  520. telnyx/types/{error.py → shared/api_error.py} +3 -3
  521. telnyx/types/shared/simple_sim_card.py +15 -0
  522. telnyx/types/sim_card.py +12 -0
  523. telnyx/types/sim_card_list_params.py +2 -1
  524. telnyx/types/sim_card_update_params.py +4 -3
  525. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  526. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  527. telnyx/types/sip_header.py +15 -0
  528. telnyx/types/stream_bidirectional_codec.py +1 -1
  529. telnyx/types/stream_codec.py +1 -1
  530. telnyx/types/streaming_failed_webhook_event.py +70 -0
  531. telnyx/types/streaming_started_webhook_event.py +53 -0
  532. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  533. telnyx/types/texml_application_create_params.py +2 -2
  534. telnyx/types/texml_application_update_params.py +2 -2
  535. telnyx/types/transcription_webhook_event.py +72 -0
  536. telnyx/types/unwrap_webhook_event.py +138 -0
  537. telnyx/types/usage_report_list_params.py +5 -4
  538. telnyx/types/verification_trigger_call_params.py +7 -0
  539. telnyx/types/verified_number_create_params.py +10 -0
  540. telnyx/types/verify_profile.py +18 -3
  541. telnyx/types/verify_profile_create_params.py +6 -4
  542. telnyx/types/verify_profile_create_template_params.py +12 -0
  543. telnyx/types/verify_profile_create_template_response.py +12 -0
  544. telnyx/types/verify_profile_message_template_response.py +13 -0
  545. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  546. telnyx/types/verify_profile_update_params.py +6 -4
  547. telnyx/types/verify_profile_update_template_params.py +12 -0
  548. telnyx/types/verify_profile_update_template_response.py +12 -0
  549. telnyx/types/video_region_param.py +4 -2
  550. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  551. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  552. telnyx/types/wireless_blocklist_create_params.py +3 -2
  553. telnyx/types/wireless_blocklist_update_params.py +3 -2
  554. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/METADATA +60 -19
  555. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/RECORD +557 -401
  556. telnyx/types/client_create_bucket_params.py +0 -13
  557. telnyx/types/client_delete_objects_params.py +0 -20
  558. telnyx/types/client_get_object_params.py +0 -15
  559. telnyx/types/client_list_objects_params.py +0 -13
  560. telnyx/types/client_put_object_params.py +0 -20
  561. telnyx/types/list_buckets_response.py +0 -20
  562. telnyx/types/list_objects_response.py +0 -24
  563. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/WHEEL +0 -0
  564. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -5,8 +5,8 @@ from typing_extensions import Literal
5
5
 
6
6
  from pydantic import Field as FieldInfo
7
7
 
8
- from ..error import Error
9
8
  from ..._models import BaseModel
9
+ from ..shared.api_error import APIError
10
10
 
11
11
  __all__ = ["ActionValidateResponse", "Data", "DataSuggested"]
12
12
 
@@ -39,12 +39,17 @@ class DataSuggested(BaseModel):
39
39
  street_address: Optional[str] = None
40
40
  """The primary street address information about the address."""
41
41
 
42
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
43
42
  if TYPE_CHECKING:
43
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
44
+ # value to this field, so for compatibility we avoid doing it at runtime.
45
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
46
+
44
47
  # Stub to indicate that arbitrary properties are accepted.
45
48
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
46
49
  # `getattr(obj, '$type')`
47
50
  def __getattr__(self, attr: str) -> object: ...
51
+ else:
52
+ __pydantic_extra__: Dict[str, object]
48
53
 
49
54
 
50
55
  class Data(BaseModel):
@@ -54,7 +59,7 @@ class Data(BaseModel):
54
59
  suggested: DataSuggested
55
60
  """Provides normalized address when available."""
56
61
 
57
- errors: Optional[List[Error]] = None
62
+ errors: Optional[List[APIError]] = None
58
63
 
59
64
  record_type: Optional[str] = None
60
65
  """Identifies the type of the resource."""
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import List
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
- __all__ = ["AdvancedOrderUpdateParams"]
8
+ __all__ = ["AdvancedOrderUpdateRequirementGroupParams"]
9
9
 
10
10
 
11
- class AdvancedOrderUpdateParams(TypedDict, total=False):
11
+ class AdvancedOrderUpdateRequirementGroupParams(TypedDict, total=False):
12
12
  area_code: str
13
13
 
14
14
  comments: str
@@ -67,6 +67,7 @@ from .transcription_settings_param import TranscriptionSettingsParam as Transcri
67
67
  from .chat_create_completion_params import ChatCreateCompletionParams as ChatCreateCompletionParams
68
68
  from .conversation_retrieve_response import ConversationRetrieveResponse as ConversationRetrieveResponse
69
69
  from .inference_embedding_bucket_ids import InferenceEmbeddingBucketIDs as InferenceEmbeddingBucketIDs
70
+ from .conversation_add_message_params import ConversationAddMessageParams as ConversationAddMessageParams
70
71
  from .embedding_similarity_search_params import EmbeddingSimilaritySearchParams as EmbeddingSimilaritySearchParams
71
72
  from .embedding_similarity_search_response import EmbeddingSimilaritySearchResponse as EmbeddingSimilaritySearchResponse
72
73
  from .inference_embedding_bucket_ids_param import InferenceEmbeddingBucketIDsParam as InferenceEmbeddingBucketIDsParam
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Iterable
5
+ from typing import Dict, Union, Iterable
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
8
9
  from .inference_embedding_bucket_ids_param import InferenceEmbeddingBucketIDsParam
9
10
 
10
11
  __all__ = [
@@ -48,7 +49,7 @@ class ChatCreateCompletionParams(TypedDict, total=False):
48
49
  frequency_penalty: float
49
50
  """Higher values will penalize the model from repeating the same output tokens."""
50
51
 
51
- guided_choice: List[str]
52
+ guided_choice: SequenceNotStr[str]
52
53
  """If specified, the output will be exactly one of the choices."""
53
54
 
54
55
  guided_json: Dict[str, object]
@@ -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 Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["ClusterComputeParams"]
9
10
 
10
11
 
@@ -16,7 +17,7 @@ class ClusterComputeParams(TypedDict, total=False):
16
17
  [embedded](https://developers.telnyx.com/api/inference/inference-embedding/post-embedding).
17
18
  """
18
19
 
19
- files: List[str]
20
+ files: SequenceNotStr[str]
20
21
  """Array of files to filter which are included."""
21
22
 
22
23
  min_cluster_size: int
@@ -2,21 +2,22 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Iterable
5
+ from typing import Dict, Union, Iterable
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
- from ...._utils import PropertyInfo
9
+ from ..._types import SequenceNotStr
10
+ from ..._utils import PropertyInfo
10
11
 
11
- __all__ = ["MessageCreateParams"]
12
+ __all__ = ["ConversationAddMessageParams"]
12
13
 
13
14
 
14
- class MessageCreateParams(TypedDict, total=False):
15
+ class ConversationAddMessageParams(TypedDict, total=False):
15
16
  role: Required[str]
16
17
 
17
18
  content: str
18
19
 
19
- metadata: Dict[str, Union[str, int, bool, List[Union[str, int, bool]]]]
20
+ metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]]
20
21
 
21
22
  name: str
22
23
 
@@ -7,7 +7,6 @@ from .insight_list_params import InsightListParams as InsightListParams
7
7
  from .insight_create_params import InsightCreateParams as InsightCreateParams
8
8
  from .insight_list_response import InsightListResponse as InsightListResponse
9
9
  from .insight_update_params import InsightUpdateParams as InsightUpdateParams
10
- from .message_create_params import MessageCreateParams as MessageCreateParams
11
10
  from .message_list_response import MessageListResponse as MessageListResponse
12
11
  from .insight_template_group import InsightTemplateGroup as InsightTemplateGroup
13
12
  from .insight_template_detail import InsightTemplateDetail as InsightTemplateDetail
@@ -2,12 +2,13 @@
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__ = ["EmbeddingListParams"]
9
10
 
10
11
 
11
12
  class EmbeddingListParams(TypedDict, total=False):
12
- status: List[str]
13
+ status: SequenceNotStr[str]
13
14
  """List of task statuses i.e. `status=queued&status=processing`"""
@@ -2,14 +2,15 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["InferenceEmbeddingBucketIDsParam"]
9
10
 
10
11
 
11
12
  class InferenceEmbeddingBucketIDsParam(TypedDict, total=False):
12
- bucket_ids: Required[List[str]]
13
+ bucket_ids: Required[SequenceNotStr[str]]
13
14
  """
14
15
  List of
15
16
  [embedded storage buckets](https://developers.telnyx.com/api/inference/inference-embedding/post-embedding)
@@ -41,3 +41,9 @@ class InferenceEmbeddingTransferToolParams(BaseModel):
41
41
 
42
42
  custom_headers: Optional[List[CustomHeader]] = None
43
43
  """Custom headers to be added to the SIP INVITE for the transfer command."""
44
+
45
+ warm_transfer_instructions: Optional[str] = None
46
+ """
47
+ Natural language instructions for your agent for how to provide context for the
48
+ transfer recipient.
49
+ """
@@ -48,3 +48,9 @@ class InferenceEmbeddingTransferToolParamsParam(
48
48
 
49
49
  custom_headers: Iterable[CustomHeader]
50
50
  """Custom headers to be added to the SIP INVITE for the transfer command."""
51
+
52
+ warm_transfer_instructions: str
53
+ """
54
+ Natural language instructions for your agent for how to provide context for the
55
+ transfer recipient.
56
+ """
@@ -27,6 +27,8 @@ class Header(BaseModel):
27
27
  Note that we support mustache templating for the value. For example you can use
28
28
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
29
29
  value of the integration secret as the bearer token.
30
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
31
+ will be automatically added to the request.
30
32
  """
31
33
 
32
34
 
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Iterable
5
+ from typing import Dict, Iterable
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
9
+
8
10
  __all__ = ["InferenceEmbeddingWebhookToolParamsParam", "BodyParameters", "Header", "PathParameters", "QueryParameters"]
9
11
 
10
12
 
@@ -12,7 +14,7 @@ class BodyParameters(TypedDict, total=False):
12
14
  properties: Dict[str, object]
13
15
  """The properties of the body parameters."""
14
16
 
15
- required: List[str]
17
+ required: SequenceNotStr[str]
16
18
  """The required properties of the body parameters."""
17
19
 
18
20
  type: Literal["object"]
@@ -27,6 +29,8 @@ class Header(TypedDict, total=False):
27
29
  Note that we support mustache templating for the value. For example you can use
28
30
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
29
31
  value of the integration secret as the bearer token.
32
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
33
+ will be automatically added to the request.
30
34
  """
31
35
 
32
36
 
@@ -34,7 +38,7 @@ class PathParameters(TypedDict, total=False):
34
38
  properties: Dict[str, object]
35
39
  """The properties of the path parameters."""
36
40
 
37
- required: List[str]
41
+ required: SequenceNotStr[str]
38
42
  """The required properties of the path parameters."""
39
43
 
40
44
  type: Literal["object"]
@@ -44,7 +48,7 @@ class QueryParameters(TypedDict, total=False):
44
48
  properties: Dict[str, object]
45
49
  """The properties of the query parameters."""
46
50
 
47
- required: List[str]
51
+ required: SequenceNotStr[str]
48
52
  """The required properties of the query parameters."""
49
53
 
50
54
  type: Literal["object"]
@@ -1,10 +1,50 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Optional
3
+ from typing import Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
4
5
 
5
6
  from ..._models import BaseModel
6
7
 
7
- __all__ = ["VoiceSettings"]
8
+ __all__ = [
9
+ "VoiceSettings",
10
+ "BackgroundAudio",
11
+ "BackgroundAudioUnionMember0",
12
+ "BackgroundAudioUnionMember1",
13
+ "BackgroundAudioUnionMember2",
14
+ ]
15
+
16
+
17
+ class BackgroundAudioUnionMember0(BaseModel):
18
+ type: Literal["predefined_media"]
19
+ """Select from predefined media options."""
20
+
21
+ value: Literal["silence", "office"]
22
+ """The predefined media to use. `silence` disables background audio."""
23
+
24
+
25
+ class BackgroundAudioUnionMember1(BaseModel):
26
+ type: Literal["media_url"]
27
+ """Provide a direct URL to an MP3 file. The audio will loop during the call."""
28
+
29
+ value: str
30
+ """HTTPS URL to an MP3 file."""
31
+
32
+
33
+ class BackgroundAudioUnionMember2(BaseModel):
34
+ type: Literal["media_name"]
35
+ """Reference a previously uploaded media by its name from Telnyx Media Storage."""
36
+
37
+ value: str
38
+ """
39
+ The `name` of a media asset created via
40
+ [Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
41
+ The audio will loop during the call.
42
+ """
43
+
44
+
45
+ BackgroundAudio: TypeAlias = Union[
46
+ BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
47
+ ]
8
48
 
9
49
 
10
50
  class VoiceSettings(BaseModel):
@@ -28,6 +68,13 @@ class VoiceSettings(BaseModel):
28
68
  with this integration.
29
69
  """
30
70
 
71
+ background_audio: Optional[BackgroundAudio] = None
72
+ """Optional background audio to play on the call.
73
+
74
+ Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
75
+ in the portal, customers can preview it before saving.
76
+ """
77
+
31
78
  voice_speed: Optional[float] = None
32
79
  """The speed of the voice in the range [0.25, 2.0].
33
80
 
@@ -2,9 +2,49 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
5
+ from typing import Union
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
6
7
 
7
- __all__ = ["VoiceSettingsParam"]
8
+ __all__ = [
9
+ "VoiceSettingsParam",
10
+ "BackgroundAudio",
11
+ "BackgroundAudioUnionMember0",
12
+ "BackgroundAudioUnionMember1",
13
+ "BackgroundAudioUnionMember2",
14
+ ]
15
+
16
+
17
+ class BackgroundAudioUnionMember0(TypedDict, total=False):
18
+ type: Required[Literal["predefined_media"]]
19
+ """Select from predefined media options."""
20
+
21
+ value: Required[Literal["silence", "office"]]
22
+ """The predefined media to use. `silence` disables background audio."""
23
+
24
+
25
+ class BackgroundAudioUnionMember1(TypedDict, total=False):
26
+ type: Required[Literal["media_url"]]
27
+ """Provide a direct URL to an MP3 file. The audio will loop during the call."""
28
+
29
+ value: Required[str]
30
+ """HTTPS URL to an MP3 file."""
31
+
32
+
33
+ class BackgroundAudioUnionMember2(TypedDict, total=False):
34
+ type: Required[Literal["media_name"]]
35
+ """Reference a previously uploaded media by its name from Telnyx Media Storage."""
36
+
37
+ value: Required[str]
38
+ """
39
+ The `name` of a media asset created via
40
+ [Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
41
+ The audio will loop during the call.
42
+ """
43
+
44
+
45
+ BackgroundAudio: TypeAlias = Union[
46
+ BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
47
+ ]
8
48
 
9
49
 
10
50
  class VoiceSettingsParam(TypedDict, total=False):
@@ -28,6 +68,13 @@ class VoiceSettingsParam(TypedDict, total=False):
28
68
  with this integration.
29
69
  """
30
70
 
71
+ background_audio: BackgroundAudio
72
+ """Optional background audio to play on the call.
73
+
74
+ Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
75
+ in the portal, customers can preview it before saving.
76
+ """
77
+
31
78
  voice_speed: float
32
79
  """The speed of the voice in the range [0.25, 2.0].
33
80
 
@@ -31,7 +31,8 @@ class BrandCreateParams(TypedDict, total=False):
31
31
  business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
32
32
  """Business contact email.
33
33
 
34
- Required if `entityType` is `PUBLIC_PROFIT`.
34
+ Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to
35
+ either omit this field or set it to `null`.
35
36
  """
36
37
 
37
38
  city: str
@@ -39,7 +39,8 @@ class BrandUpdateParams(TypedDict, total=False):
39
39
  business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
40
40
  """Business contact email.
41
41
 
42
- Required if `entityType` will be changed to `PUBLIC_PROFIT`.
42
+ Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is
43
+ recommended to either omit this field or set it to `null`.
43
44
  """
44
45
 
45
46
  city: str
@@ -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."""
@@ -0,0 +1,78 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallAIGatherEndedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
12
+
13
+
14
+ class DataPayloadMessageHistory(BaseModel):
15
+ content: Optional[str] = None
16
+ """The content of the message"""
17
+
18
+ role: Optional[Literal["assistant", "user"]] = None
19
+ """The role of the message sender"""
20
+
21
+
22
+ class DataPayload(BaseModel):
23
+ call_control_id: Optional[str] = None
24
+ """Call ID used to issue commands via Call Control API."""
25
+
26
+ call_leg_id: Optional[str] = None
27
+ """ID that is unique to the call and can be used to correlate webhook events."""
28
+
29
+ call_session_id: Optional[str] = None
30
+ """
31
+ ID that is unique to the call session and can be used to correlate webhook
32
+ events. Call session is a group of related call legs that logically belong to
33
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
34
+ """
35
+
36
+ client_state: Optional[str] = None
37
+ """State received from a command."""
38
+
39
+ connection_id: Optional[str] = None
40
+ """Telnyx connection ID used in the call."""
41
+
42
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
43
+ """Number or SIP URI placing the call."""
44
+
45
+ message_history: Optional[List[DataPayloadMessageHistory]] = None
46
+ """The history of the messages exchanged during the AI gather"""
47
+
48
+ result: Optional[object] = None
49
+ """
50
+ The result of the AI gather, its type depends of the `parameters` provided in
51
+ the command
52
+ """
53
+
54
+ status: Optional[Literal["valid", "invalid"]] = None
55
+ """Reflects how command ended."""
56
+
57
+ to: Optional[str] = None
58
+ """Destination number or SIP URI of the call."""
59
+
60
+
61
+ class Data(BaseModel):
62
+ id: Optional[str] = None
63
+ """Identifies the type of resource."""
64
+
65
+ event_type: Optional[Literal["call.ai_gather.ended"]] = None
66
+ """The type of event being delivered."""
67
+
68
+ occurred_at: Optional[datetime] = None
69
+ """ISO 8601 datetime of when the event occurred."""
70
+
71
+ payload: Optional[DataPayload] = None
72
+
73
+ record_type: Optional[Literal["event"]] = None
74
+ """Identifies the type of the resource."""
75
+
76
+
77
+ class CallAIGatherEndedWebhookEvent(BaseModel):
78
+ data: Optional[Data] = None
@@ -0,0 +1,69 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallAIGatherMessageHistoryUpdatedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
12
+
13
+
14
+ class DataPayloadMessageHistory(BaseModel):
15
+ content: Optional[str] = None
16
+ """The content of the message"""
17
+
18
+ role: Optional[Literal["assistant", "user"]] = None
19
+ """The role of the message sender"""
20
+
21
+
22
+ class DataPayload(BaseModel):
23
+ call_control_id: Optional[str] = None
24
+ """Call ID used to issue commands via Call Control API."""
25
+
26
+ call_leg_id: Optional[str] = None
27
+ """ID that is unique to the call and can be used to correlate webhook events."""
28
+
29
+ call_session_id: Optional[str] = None
30
+ """
31
+ ID that is unique to the call session and can be used to correlate webhook
32
+ events. Call session is a group of related call legs that logically belong to
33
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
34
+ """
35
+
36
+ client_state: Optional[str] = None
37
+ """State received from a command."""
38
+
39
+ connection_id: Optional[str] = None
40
+ """Telnyx connection ID used in the call."""
41
+
42
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
43
+ """Number or SIP URI placing the call."""
44
+
45
+ message_history: Optional[List[DataPayloadMessageHistory]] = None
46
+ """The history of the messages exchanged during the AI gather"""
47
+
48
+ to: Optional[str] = None
49
+ """Destination number or SIP URI of the call."""
50
+
51
+
52
+ class Data(BaseModel):
53
+ id: Optional[str] = None
54
+ """Identifies the type of resource."""
55
+
56
+ event_type: Optional[Literal["call.ai_gather.message_history_updated"]] = None
57
+ """The type of event being delivered."""
58
+
59
+ occurred_at: Optional[datetime] = None
60
+ """ISO 8601 datetime of when the event occurred."""
61
+
62
+ payload: Optional[DataPayload] = None
63
+
64
+ record_type: Optional[Literal["event"]] = None
65
+ """Identifies the type of the resource."""
66
+
67
+
68
+ class CallAIGatherMessageHistoryUpdatedWebhookEvent(BaseModel):
69
+ data: Optional[Data] = None