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
@@ -2,7 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict
5
+ from typing import Dict, Union, Iterable
6
+ from datetime import datetime
6
7
 
7
8
  import httpx
8
9
 
@@ -22,10 +23,15 @@ from .messages import (
22
23
  MessagesResourceWithStreamingResponse,
23
24
  AsyncMessagesResourceWithStreamingResponse,
24
25
  )
25
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
26
+ from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
26
27
  from ...._utils import maybe_transform, async_maybe_transform
27
28
  from ...._compat import cached_property
28
- from ....types.ai import conversation_list_params, conversation_create_params, conversation_update_params
29
+ from ....types.ai import (
30
+ conversation_list_params,
31
+ conversation_create_params,
32
+ conversation_update_params,
33
+ conversation_add_message_params,
34
+ )
29
35
  from ...._resource import SyncAPIResource, AsyncAPIResource
30
36
  from ...._response import (
31
37
  to_raw_response_wrapper,
@@ -88,14 +94,14 @@ class ConversationsResource(SyncAPIResource):
88
94
  def create(
89
95
  self,
90
96
  *,
91
- metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
92
- name: str | NotGiven = NOT_GIVEN,
97
+ metadata: Dict[str, str] | Omit = omit,
98
+ name: str | Omit = omit,
93
99
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
94
100
  # The extra values given here take precedence over values defined on the client or passed to this method.
95
101
  extra_headers: Headers | None = None,
96
102
  extra_query: Query | None = None,
97
103
  extra_body: Body | None = None,
98
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
104
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
99
105
  ) -> Conversation:
100
106
  """
101
107
  Create a new AI Conversation.
@@ -135,7 +141,7 @@ class ConversationsResource(SyncAPIResource):
135
141
  extra_headers: Headers | None = None,
136
142
  extra_query: Query | None = None,
137
143
  extra_body: Body | None = None,
138
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
144
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
139
145
  ) -> ConversationRetrieveResponse:
140
146
  """
141
147
  Retrieve a specific AI conversation by its ID.
@@ -163,13 +169,13 @@ class ConversationsResource(SyncAPIResource):
163
169
  self,
164
170
  conversation_id: str,
165
171
  *,
166
- metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
172
+ metadata: Dict[str, str] | Omit = omit,
167
173
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
168
174
  # The extra values given here take precedence over values defined on the client or passed to this method.
169
175
  extra_headers: Headers | None = None,
170
176
  extra_query: Query | None = None,
171
177
  extra_body: Body | None = None,
172
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
178
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
173
179
  ) -> ConversationUpdateResponse:
174
180
  """
175
181
  Update metadata for a specific conversation.
@@ -199,24 +205,24 @@ class ConversationsResource(SyncAPIResource):
199
205
  def list(
200
206
  self,
201
207
  *,
202
- id: str | NotGiven = NOT_GIVEN,
203
- created_at: str | NotGiven = NOT_GIVEN,
204
- last_message_at: str | NotGiven = NOT_GIVEN,
205
- limit: int | NotGiven = NOT_GIVEN,
206
- metadata_assistant_id: str | NotGiven = NOT_GIVEN,
207
- metadata_call_control_id: str | NotGiven = NOT_GIVEN,
208
- metadata_telnyx_agent_target: str | NotGiven = NOT_GIVEN,
209
- metadata_telnyx_conversation_channel: str | NotGiven = NOT_GIVEN,
210
- metadata_telnyx_end_user_target: str | NotGiven = NOT_GIVEN,
211
- name: str | NotGiven = NOT_GIVEN,
212
- or_: str | NotGiven = NOT_GIVEN,
213
- order: str | NotGiven = NOT_GIVEN,
208
+ id: str | Omit = omit,
209
+ created_at: str | Omit = omit,
210
+ last_message_at: str | Omit = omit,
211
+ limit: int | Omit = omit,
212
+ metadata_assistant_id: str | Omit = omit,
213
+ metadata_call_control_id: str | Omit = omit,
214
+ metadata_telnyx_agent_target: str | Omit = omit,
215
+ metadata_telnyx_conversation_channel: str | Omit = omit,
216
+ metadata_telnyx_end_user_target: str | Omit = omit,
217
+ name: str | Omit = omit,
218
+ or_: str | Omit = omit,
219
+ order: str | Omit = omit,
214
220
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
215
221
  # The extra values given here take precedence over values defined on the client or passed to this method.
216
222
  extra_headers: Headers | None = None,
217
223
  extra_query: Query | None = None,
218
224
  extra_body: Body | None = None,
219
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
225
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
220
226
  ) -> ConversationListResponse:
221
227
  """Retrieve a list of all AI conversations configured by the user.
222
228
 
@@ -301,7 +307,7 @@ class ConversationsResource(SyncAPIResource):
301
307
  extra_headers: Headers | None = None,
302
308
  extra_query: Query | None = None,
303
309
  extra_body: Body | None = None,
304
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
310
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
305
311
  ) -> None:
306
312
  """
307
313
  Delete a specific conversation by its ID.
@@ -326,6 +332,64 @@ class ConversationsResource(SyncAPIResource):
326
332
  cast_to=NoneType,
327
333
  )
328
334
 
335
+ def add_message(
336
+ self,
337
+ conversation_id: str,
338
+ *,
339
+ role: str,
340
+ content: str | Omit = omit,
341
+ metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
342
+ name: str | Omit = omit,
343
+ sent_at: Union[str, datetime] | Omit = omit,
344
+ tool_call_id: str | Omit = omit,
345
+ tool_calls: Iterable[Dict[str, object]] | Omit = omit,
346
+ tool_choice: Union[str, object] | Omit = omit,
347
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
348
+ # The extra values given here take precedence over values defined on the client or passed to this method.
349
+ extra_headers: Headers | None = None,
350
+ extra_query: Query | None = None,
351
+ extra_body: Body | None = None,
352
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
353
+ ) -> object:
354
+ """Add a new message to the conversation.
355
+
356
+ Used to insert a new messages to a
357
+ conversation manually ( without using chat endpoint )
358
+
359
+ Args:
360
+ conversation_id: The ID of the conversation
361
+
362
+ extra_headers: Send extra headers
363
+
364
+ extra_query: Add additional query parameters to the request
365
+
366
+ extra_body: Add additional JSON properties to the request
367
+
368
+ timeout: Override the client-level default timeout for this request, in seconds
369
+ """
370
+ if not conversation_id:
371
+ raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
372
+ return self._post(
373
+ f"/ai/conversations/{conversation_id}/message",
374
+ body=maybe_transform(
375
+ {
376
+ "role": role,
377
+ "content": content,
378
+ "metadata": metadata,
379
+ "name": name,
380
+ "sent_at": sent_at,
381
+ "tool_call_id": tool_call_id,
382
+ "tool_calls": tool_calls,
383
+ "tool_choice": tool_choice,
384
+ },
385
+ conversation_add_message_params.ConversationAddMessageParams,
386
+ ),
387
+ options=make_request_options(
388
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
389
+ ),
390
+ cast_to=object,
391
+ )
392
+
329
393
  def retrieve_conversations_insights(
330
394
  self,
331
395
  conversation_id: str,
@@ -335,7 +399,7 @@ class ConversationsResource(SyncAPIResource):
335
399
  extra_headers: Headers | None = None,
336
400
  extra_query: Query | None = None,
337
401
  extra_body: Body | None = None,
338
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
402
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
339
403
  ) -> ConversationRetrieveConversationsInsightsResponse:
340
404
  """
341
405
  Retrieve insights for a specific conversation
@@ -395,14 +459,14 @@ class AsyncConversationsResource(AsyncAPIResource):
395
459
  async def create(
396
460
  self,
397
461
  *,
398
- metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
399
- name: str | NotGiven = NOT_GIVEN,
462
+ metadata: Dict[str, str] | Omit = omit,
463
+ name: str | Omit = omit,
400
464
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
401
465
  # The extra values given here take precedence over values defined on the client or passed to this method.
402
466
  extra_headers: Headers | None = None,
403
467
  extra_query: Query | None = None,
404
468
  extra_body: Body | None = None,
405
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
469
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
406
470
  ) -> Conversation:
407
471
  """
408
472
  Create a new AI Conversation.
@@ -442,7 +506,7 @@ class AsyncConversationsResource(AsyncAPIResource):
442
506
  extra_headers: Headers | None = None,
443
507
  extra_query: Query | None = None,
444
508
  extra_body: Body | None = None,
445
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
509
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
446
510
  ) -> ConversationRetrieveResponse:
447
511
  """
448
512
  Retrieve a specific AI conversation by its ID.
@@ -470,13 +534,13 @@ class AsyncConversationsResource(AsyncAPIResource):
470
534
  self,
471
535
  conversation_id: str,
472
536
  *,
473
- metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
537
+ metadata: Dict[str, str] | Omit = omit,
474
538
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
475
539
  # The extra values given here take precedence over values defined on the client or passed to this method.
476
540
  extra_headers: Headers | None = None,
477
541
  extra_query: Query | None = None,
478
542
  extra_body: Body | None = None,
479
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
543
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
480
544
  ) -> ConversationUpdateResponse:
481
545
  """
482
546
  Update metadata for a specific conversation.
@@ -508,24 +572,24 @@ class AsyncConversationsResource(AsyncAPIResource):
508
572
  async def list(
509
573
  self,
510
574
  *,
511
- id: str | NotGiven = NOT_GIVEN,
512
- created_at: str | NotGiven = NOT_GIVEN,
513
- last_message_at: str | NotGiven = NOT_GIVEN,
514
- limit: int | NotGiven = NOT_GIVEN,
515
- metadata_assistant_id: str | NotGiven = NOT_GIVEN,
516
- metadata_call_control_id: str | NotGiven = NOT_GIVEN,
517
- metadata_telnyx_agent_target: str | NotGiven = NOT_GIVEN,
518
- metadata_telnyx_conversation_channel: str | NotGiven = NOT_GIVEN,
519
- metadata_telnyx_end_user_target: str | NotGiven = NOT_GIVEN,
520
- name: str | NotGiven = NOT_GIVEN,
521
- or_: str | NotGiven = NOT_GIVEN,
522
- order: str | NotGiven = NOT_GIVEN,
575
+ id: str | Omit = omit,
576
+ created_at: str | Omit = omit,
577
+ last_message_at: str | Omit = omit,
578
+ limit: int | Omit = omit,
579
+ metadata_assistant_id: str | Omit = omit,
580
+ metadata_call_control_id: str | Omit = omit,
581
+ metadata_telnyx_agent_target: str | Omit = omit,
582
+ metadata_telnyx_conversation_channel: str | Omit = omit,
583
+ metadata_telnyx_end_user_target: str | Omit = omit,
584
+ name: str | Omit = omit,
585
+ or_: str | Omit = omit,
586
+ order: str | Omit = omit,
523
587
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
524
588
  # The extra values given here take precedence over values defined on the client or passed to this method.
525
589
  extra_headers: Headers | None = None,
526
590
  extra_query: Query | None = None,
527
591
  extra_body: Body | None = None,
528
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
592
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
529
593
  ) -> ConversationListResponse:
530
594
  """Retrieve a list of all AI conversations configured by the user.
531
595
 
@@ -610,7 +674,7 @@ class AsyncConversationsResource(AsyncAPIResource):
610
674
  extra_headers: Headers | None = None,
611
675
  extra_query: Query | None = None,
612
676
  extra_body: Body | None = None,
613
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
677
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
614
678
  ) -> None:
615
679
  """
616
680
  Delete a specific conversation by its ID.
@@ -635,6 +699,64 @@ class AsyncConversationsResource(AsyncAPIResource):
635
699
  cast_to=NoneType,
636
700
  )
637
701
 
702
+ async def add_message(
703
+ self,
704
+ conversation_id: str,
705
+ *,
706
+ role: str,
707
+ content: str | Omit = omit,
708
+ metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
709
+ name: str | Omit = omit,
710
+ sent_at: Union[str, datetime] | Omit = omit,
711
+ tool_call_id: str | Omit = omit,
712
+ tool_calls: Iterable[Dict[str, object]] | Omit = omit,
713
+ tool_choice: Union[str, object] | Omit = omit,
714
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
715
+ # The extra values given here take precedence over values defined on the client or passed to this method.
716
+ extra_headers: Headers | None = None,
717
+ extra_query: Query | None = None,
718
+ extra_body: Body | None = None,
719
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
720
+ ) -> object:
721
+ """Add a new message to the conversation.
722
+
723
+ Used to insert a new messages to a
724
+ conversation manually ( without using chat endpoint )
725
+
726
+ Args:
727
+ conversation_id: The ID of the conversation
728
+
729
+ extra_headers: Send extra headers
730
+
731
+ extra_query: Add additional query parameters to the request
732
+
733
+ extra_body: Add additional JSON properties to the request
734
+
735
+ timeout: Override the client-level default timeout for this request, in seconds
736
+ """
737
+ if not conversation_id:
738
+ raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
739
+ return await self._post(
740
+ f"/ai/conversations/{conversation_id}/message",
741
+ body=await async_maybe_transform(
742
+ {
743
+ "role": role,
744
+ "content": content,
745
+ "metadata": metadata,
746
+ "name": name,
747
+ "sent_at": sent_at,
748
+ "tool_call_id": tool_call_id,
749
+ "tool_calls": tool_calls,
750
+ "tool_choice": tool_choice,
751
+ },
752
+ conversation_add_message_params.ConversationAddMessageParams,
753
+ ),
754
+ options=make_request_options(
755
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
756
+ ),
757
+ cast_to=object,
758
+ )
759
+
638
760
  async def retrieve_conversations_insights(
639
761
  self,
640
762
  conversation_id: str,
@@ -644,7 +766,7 @@ class AsyncConversationsResource(AsyncAPIResource):
644
766
  extra_headers: Headers | None = None,
645
767
  extra_query: Query | None = None,
646
768
  extra_body: Body | None = None,
647
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
769
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
648
770
  ) -> ConversationRetrieveConversationsInsightsResponse:
649
771
  """
650
772
  Retrieve insights for a specific conversation
@@ -688,6 +810,9 @@ class ConversationsResourceWithRawResponse:
688
810
  self.delete = to_raw_response_wrapper(
689
811
  conversations.delete,
690
812
  )
813
+ self.add_message = to_raw_response_wrapper(
814
+ conversations.add_message,
815
+ )
691
816
  self.retrieve_conversations_insights = to_raw_response_wrapper(
692
817
  conversations.retrieve_conversations_insights,
693
818
  )
@@ -724,6 +849,9 @@ class AsyncConversationsResourceWithRawResponse:
724
849
  self.delete = async_to_raw_response_wrapper(
725
850
  conversations.delete,
726
851
  )
852
+ self.add_message = async_to_raw_response_wrapper(
853
+ conversations.add_message,
854
+ )
727
855
  self.retrieve_conversations_insights = async_to_raw_response_wrapper(
728
856
  conversations.retrieve_conversations_insights,
729
857
  )
@@ -760,6 +888,9 @@ class ConversationsResourceWithStreamingResponse:
760
888
  self.delete = to_streamed_response_wrapper(
761
889
  conversations.delete,
762
890
  )
891
+ self.add_message = to_streamed_response_wrapper(
892
+ conversations.add_message,
893
+ )
763
894
  self.retrieve_conversations_insights = to_streamed_response_wrapper(
764
895
  conversations.retrieve_conversations_insights,
765
896
  )
@@ -796,6 +927,9 @@ class AsyncConversationsResourceWithStreamingResponse:
796
927
  self.delete = async_to_streamed_response_wrapper(
797
928
  conversations.delete,
798
929
  )
930
+ self.add_message = async_to_streamed_response_wrapper(
931
+ conversations.add_message,
932
+ )
799
933
  self.retrieve_conversations_insights = async_to_streamed_response_wrapper(
800
934
  conversations.retrieve_conversations_insights,
801
935
  )
@@ -12,7 +12,7 @@ from .insights import (
12
12
  InsightsResourceWithStreamingResponse,
13
13
  AsyncInsightsResourceWithStreamingResponse,
14
14
  )
15
- from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
15
+ from ....._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
16
16
  from ....._utils import maybe_transform, async_maybe_transform
17
17
  from ....._compat import cached_property
18
18
  from ....._resource import SyncAPIResource, AsyncAPIResource
@@ -69,7 +69,7 @@ class InsightGroupsResource(SyncAPIResource):
69
69
  extra_headers: Headers | None = None,
70
70
  extra_query: Query | None = None,
71
71
  extra_body: Body | None = None,
72
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
72
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
73
73
  ) -> InsightTemplateGroupDetail:
74
74
  """
75
75
  Get insight group by ID
@@ -99,15 +99,15 @@ class InsightGroupsResource(SyncAPIResource):
99
99
  self,
100
100
  group_id: str,
101
101
  *,
102
- description: str | NotGiven = NOT_GIVEN,
103
- name: str | NotGiven = NOT_GIVEN,
104
- webhook: str | NotGiven = NOT_GIVEN,
102
+ description: str | Omit = omit,
103
+ name: str | Omit = omit,
104
+ webhook: str | Omit = omit,
105
105
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
106
106
  # The extra values given here take precedence over values defined on the client or passed to this method.
107
107
  extra_headers: Headers | None = None,
108
108
  extra_query: Query | None = None,
109
109
  extra_body: Body | None = None,
110
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
110
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
111
111
  ) -> InsightTemplateGroupDetail:
112
112
  """
113
113
  Update an insight template group
@@ -150,7 +150,7 @@ class InsightGroupsResource(SyncAPIResource):
150
150
  extra_headers: Headers | None = None,
151
151
  extra_query: Query | None = None,
152
152
  extra_body: Body | None = None,
153
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
153
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
154
154
  ) -> object:
155
155
  """
156
156
  Delete insight group by ID
@@ -180,14 +180,14 @@ class InsightGroupsResource(SyncAPIResource):
180
180
  self,
181
181
  *,
182
182
  name: str,
183
- description: str | NotGiven = NOT_GIVEN,
184
- webhook: str | NotGiven = NOT_GIVEN,
183
+ description: str | Omit = omit,
184
+ webhook: str | Omit = omit,
185
185
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
186
186
  # The extra values given here take precedence over values defined on the client or passed to this method.
187
187
  extra_headers: Headers | None = None,
188
188
  extra_query: Query | None = None,
189
189
  extra_body: Body | None = None,
190
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
190
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
191
191
  ) -> InsightTemplateGroupDetail:
192
192
  """
193
193
  Create a new insight group
@@ -220,13 +220,13 @@ class InsightGroupsResource(SyncAPIResource):
220
220
  def retrieve_insight_groups(
221
221
  self,
222
222
  *,
223
- page: insight_group_retrieve_insight_groups_params.Page | NotGiven = NOT_GIVEN,
223
+ page: insight_group_retrieve_insight_groups_params.Page | Omit = omit,
224
224
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
225
225
  # The extra values given here take precedence over values defined on the client or passed to this method.
226
226
  extra_headers: Headers | None = None,
227
227
  extra_query: Query | None = None,
228
228
  extra_body: Body | None = None,
229
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
229
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
230
230
  ) -> InsightGroupRetrieveInsightGroupsResponse:
231
231
  """
232
232
  Get all insight groups
@@ -291,7 +291,7 @@ class AsyncInsightGroupsResource(AsyncAPIResource):
291
291
  extra_headers: Headers | None = None,
292
292
  extra_query: Query | None = None,
293
293
  extra_body: Body | None = None,
294
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
294
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
295
295
  ) -> InsightTemplateGroupDetail:
296
296
  """
297
297
  Get insight group by ID
@@ -321,15 +321,15 @@ class AsyncInsightGroupsResource(AsyncAPIResource):
321
321
  self,
322
322
  group_id: str,
323
323
  *,
324
- description: str | NotGiven = NOT_GIVEN,
325
- name: str | NotGiven = NOT_GIVEN,
326
- webhook: str | NotGiven = NOT_GIVEN,
324
+ description: str | Omit = omit,
325
+ name: str | Omit = omit,
326
+ webhook: str | Omit = omit,
327
327
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
328
328
  # The extra values given here take precedence over values defined on the client or passed to this method.
329
329
  extra_headers: Headers | None = None,
330
330
  extra_query: Query | None = None,
331
331
  extra_body: Body | None = None,
332
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
332
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
333
333
  ) -> InsightTemplateGroupDetail:
334
334
  """
335
335
  Update an insight template group
@@ -372,7 +372,7 @@ class AsyncInsightGroupsResource(AsyncAPIResource):
372
372
  extra_headers: Headers | None = None,
373
373
  extra_query: Query | None = None,
374
374
  extra_body: Body | None = None,
375
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
375
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
376
376
  ) -> object:
377
377
  """
378
378
  Delete insight group by ID
@@ -402,14 +402,14 @@ class AsyncInsightGroupsResource(AsyncAPIResource):
402
402
  self,
403
403
  *,
404
404
  name: str,
405
- description: str | NotGiven = NOT_GIVEN,
406
- webhook: str | NotGiven = NOT_GIVEN,
405
+ description: str | Omit = omit,
406
+ webhook: str | Omit = omit,
407
407
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
408
408
  # The extra values given here take precedence over values defined on the client or passed to this method.
409
409
  extra_headers: Headers | None = None,
410
410
  extra_query: Query | None = None,
411
411
  extra_body: Body | None = None,
412
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
412
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
413
413
  ) -> InsightTemplateGroupDetail:
414
414
  """
415
415
  Create a new insight group
@@ -442,13 +442,13 @@ class AsyncInsightGroupsResource(AsyncAPIResource):
442
442
  async def retrieve_insight_groups(
443
443
  self,
444
444
  *,
445
- page: insight_group_retrieve_insight_groups_params.Page | NotGiven = NOT_GIVEN,
445
+ page: insight_group_retrieve_insight_groups_params.Page | Omit = omit,
446
446
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
447
447
  # The extra values given here take precedence over values defined on the client or passed to this method.
448
448
  extra_headers: Headers | None = None,
449
449
  extra_query: Query | None = None,
450
450
  extra_body: Body | None = None,
451
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
451
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
452
452
  ) -> InsightGroupRetrieveInsightGroupsResponse:
453
453
  """
454
454
  Get all insight groups
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import httpx
6
6
 
7
- from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
7
+ from ....._types import Body, Query, Headers, NotGiven, not_given
8
8
  from ....._compat import cached_property
9
9
  from ....._resource import SyncAPIResource, AsyncAPIResource
10
10
  from ....._response import (
@@ -48,7 +48,7 @@ class InsightsResource(SyncAPIResource):
48
48
  extra_headers: Headers | None = None,
49
49
  extra_query: Query | None = None,
50
50
  extra_body: Body | None = None,
51
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
51
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
52
52
  ) -> object:
53
53
  """
54
54
  Assign an insight to a group
@@ -88,7 +88,7 @@ class InsightsResource(SyncAPIResource):
88
88
  extra_headers: Headers | None = None,
89
89
  extra_query: Query | None = None,
90
90
  extra_body: Body | None = None,
91
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
91
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
92
92
  ) -> object:
93
93
  """
94
94
  Remove an insight from a group
@@ -149,7 +149,7 @@ class AsyncInsightsResource(AsyncAPIResource):
149
149
  extra_headers: Headers | None = None,
150
150
  extra_query: Query | None = None,
151
151
  extra_body: Body | None = None,
152
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
152
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
153
153
  ) -> object:
154
154
  """
155
155
  Assign an insight to a group
@@ -189,7 +189,7 @@ class AsyncInsightsResource(AsyncAPIResource):
189
189
  extra_headers: Headers | None = None,
190
190
  extra_query: Query | None = None,
191
191
  extra_body: Body | None = None,
192
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
192
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
193
193
  ) -> object:
194
194
  """
195
195
  Remove an insight from a group