telnyx 5.169.0 → 5.171.0

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.
Files changed (881) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +39 -0
  5. data/lib/telnyx/internal/email_cursor_pagination.rb +2 -2
  6. data/lib/telnyx/internal/type/union.rb +1 -1
  7. data/lib/telnyx/models/ai/assistant_create_params.rb +39 -4
  8. data/lib/telnyx/models/ai/assistant_delete_params.rb +14 -1
  9. data/lib/telnyx/models/ai/assistant_restore_params.rb +22 -0
  10. data/lib/telnyx/models/ai/assistant_tool.rb +31 -1
  11. data/lib/telnyx/models/ai/assistant_update_params.rb +39 -4
  12. data/lib/telnyx/models/ai/assistant_whatsapp_params.rb +83 -0
  13. data/lib/telnyx/models/ai/assistant_whatsapp_response.rb +27 -0
  14. data/lib/telnyx/models/ai/assistants/deleted_assistant.rb +38 -0
  15. data/lib/telnyx/models/ai/assistants/deleted_get_params.rb +24 -0
  16. data/lib/telnyx/models/ai/assistants/deleted_list_params.rb +34 -0
  17. data/lib/telnyx/models/ai/assistants/update_assistant.rb +39 -4
  18. data/lib/telnyx/models/ai/avatar_settings_request.rb +93 -0
  19. data/lib/telnyx/models/ai/chat_completion_request.rb +22 -3
  20. data/lib/telnyx/models/ai/collection.rb +3 -3
  21. data/lib/telnyx/models/ai/collections/collections_source.rb +64 -0
  22. data/lib/telnyx/models/ai/collections/source.rb +25 -29
  23. data/lib/telnyx/models/ai/collections/source_create_response.rb +3 -3
  24. data/lib/telnyx/models/ai/collections/source_list_response.rb +3 -3
  25. data/lib/telnyx/models/ai/collections/source_replace_response.rb +3 -3
  26. data/lib/telnyx/models/ai/conversation_flow_req.rb +5 -2
  27. data/lib/telnyx/models/ai/conversation_list_params.rb +13 -1
  28. data/lib/telnyx/models/ai/delegation_settings.rb +118 -0
  29. data/lib/telnyx/models/ai/flow_edge.rb +35 -13
  30. data/lib/telnyx/models/ai/flow_node.rb +3 -3
  31. data/lib/telnyx/models/ai/flow_node_req.rb +12 -6
  32. data/lib/telnyx/models/ai/inference_embedding.rb +39 -4
  33. data/lib/telnyx/models/ai/inference_embedding_voice_settings.rb +455 -0
  34. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +13 -11
  35. data/lib/telnyx/models/ai/memory/namespace.rb +33 -0
  36. data/lib/telnyx/models/ai/memory/namespace_create_params.rb +26 -0
  37. data/lib/telnyx/models/ai/memory/namespace_create_response.rb +21 -0
  38. data/lib/telnyx/models/ai/memory/namespace_delete_params.rb +26 -0
  39. data/lib/telnyx/models/ai/memory/namespace_list_params.rb +18 -0
  40. data/lib/telnyx/models/ai/memory/namespace_list_response.rb +20 -0
  41. data/lib/telnyx/models/ai/memory/namespace_retrieve_params.rb +30 -0
  42. data/lib/telnyx/models/ai/memory/namespace_retrieve_response.rb +76 -0
  43. data/lib/telnyx/models/ai/memory/namespaces/namespace_settings_response.rb +63 -0
  44. data/lib/telnyx/models/ai/memory/namespaces/page_meta.rb +58 -0
  45. data/lib/telnyx/models/ai/memory/namespaces/profile_delete_params.rb +35 -0
  46. data/lib/telnyx/models/ai/memory/namespaces/profile_delete_response.rb +47 -0
  47. data/lib/telnyx/models/ai/memory/namespaces/profile_ingest_params.rb +94 -0
  48. data/lib/telnyx/models/ai/memory/namespaces/profile_ingest_response.rb +61 -0
  49. data/lib/telnyx/models/ai/memory/namespaces/profile_list_params.rb +48 -0
  50. data/lib/telnyx/models/ai/memory/namespaces/profile_list_response.rb +34 -0
  51. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_params.rb +49 -0
  52. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_response.rb +47 -0
  53. data/lib/telnyx/models/ai/memory/namespaces/profile_recall_params.rb +44 -0
  54. data/lib/telnyx/models/ai/memory/namespaces/profile_recall_response.rb +60 -0
  55. data/lib/telnyx/models/ai/memory/namespaces/profile_remember_params.rb +38 -0
  56. data/lib/telnyx/models/ai/memory/namespaces/profile_remember_response.rb +54 -0
  57. data/lib/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rb +35 -0
  58. data/lib/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rb +64 -0
  59. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rb +76 -0
  60. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rb +53 -0
  61. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rb +50 -0
  62. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rb +74 -0
  63. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rb +52 -0
  64. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rb +60 -0
  65. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rb +67 -0
  66. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rb +52 -0
  67. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rb +123 -0
  68. data/lib/telnyx/models/ai/memory/namespaces/setting_list_params.rb +28 -0
  69. data/lib/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rb +69 -0
  70. data/lib/telnyx/models/ai/pay_tool_params.rb +43 -3
  71. data/lib/telnyx/models/ai/telephony_settings.rb +14 -1
  72. data/lib/telnyx/models/ai/telnyx_avatar_settings.rb +93 -0
  73. data/lib/telnyx/models/ai/tool_node.rb +19 -5
  74. data/lib/telnyx/models/ai/tool_node_req.rb +23 -7
  75. data/lib/telnyx/models/ai/transcription_settings.rb +239 -1
  76. data/lib/telnyx/models/ai/typesafe/v1_systemone_params.rb +29 -1
  77. data/lib/telnyx/models/ai/typesafe/v1_systemone_response.rb +19 -6
  78. data/lib/telnyx/models/ai/voice_settings.rb +4 -4
  79. data/lib/telnyx/models/ai/webhook_tool.rb +16 -1
  80. data/lib/telnyx/models/ai/websocket_settings.rb +48 -0
  81. data/lib/telnyx/models/artifact_completed_webhook_event.rb +17 -1
  82. data/lib/telnyx/models/artifact_failed_webhook_event.rb +4 -0
  83. data/lib/telnyx/models/billing_contact.rb +15 -5
  84. data/lib/telnyx/models/bpo_authorization_input.rb +33 -0
  85. data/lib/telnyx/models/call_assistant_request.rb +21 -5
  86. data/lib/telnyx/models/call_conversation_created_webhook_event.rb +188 -0
  87. data/lib/telnyx/models/call_conversation_ended.rb +152 -1
  88. data/lib/telnyx/models/call_conversation_start_failed_webhook_event.rb +221 -0
  89. data/lib/telnyx/models/call_dial_params.rb +43 -9
  90. data/lib/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rb +175 -0
  91. data/lib/telnyx/models/call_machine_premium_detection_started_webhook_event.rb +149 -0
  92. data/lib/telnyx/models/call_machine_premium_greeting_ended.rb +8 -3
  93. data/lib/telnyx/models/calls/action_answer_params.rb +10 -6
  94. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +15 -7
  95. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +11 -3
  96. data/lib/telnyx/models/calls/action_pay_params.rb +47 -1
  97. data/lib/telnyx/models/calls/action_reject_params.rb +11 -3
  98. data/lib/telnyx/models/calls/action_speak_params.rb +11 -3
  99. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +6 -4
  100. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +22 -11
  101. data/lib/telnyx/models/calls/action_transfer_params.rb +37 -5
  102. data/lib/telnyx/models/calls/conversation_relay_transcription_engine_config.rb +48 -0
  103. data/lib/telnyx/models/calls/soniox_voice_settings.rb +46 -0
  104. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +5 -4
  105. data/lib/telnyx/models/conferences/action_speak_params.rb +11 -3
  106. data/lib/telnyx/models/conversation_relay_embedded_config.rb +22 -11
  107. data/lib/telnyx/models/conversation_relay_language.rb +12 -7
  108. data/lib/telnyx/models/dir/phone_number_list_params.rb +1 -9
  109. data/lib/telnyx/models/dir/phone_number_remove_params.rb +8 -1
  110. data/lib/telnyx/models/dir/reference_update_params.rb +18 -12
  111. data/lib/telnyx/models/dir.rb +23 -1
  112. data/lib/telnyx/models/dir_bpo_loa_params.rb +43 -0
  113. data/lib/telnyx/models/dir_delete_response.rb +51 -0
  114. data/lib/telnyx/models/dir_new_loa_params.rb +7 -33
  115. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_params.rb +40 -0
  116. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_response.rb +121 -0
  117. data/lib/telnyx/models/dir_status.rb +5 -0
  118. data/lib/telnyx/models/dir_update_infringement_params.rb +8 -4
  119. data/lib/telnyx/models/dir_update_params.rb +24 -1
  120. data/lib/telnyx/models/doc_reqs_requirement.rb +3 -0
  121. data/lib/telnyx/models/document.rb +2 -1
  122. data/lib/telnyx/models/email_block.rb +8 -1
  123. data/lib/telnyx/models/email_blocks/email_block_import.rb +7 -2
  124. data/lib/telnyx/models/email_domain_rotate_dkim_params.rb +20 -0
  125. data/lib/telnyx/models/email_domain_rotate_dkim_response.rb +243 -0
  126. data/lib/telnyx/models/email_domains/email_webhook_event.rb +8 -3
  127. data/lib/telnyx/models/email_event_list_params.rb +33 -10
  128. data/lib/telnyx/models/email_event_list_response.rb +300 -73
  129. data/lib/telnyx/models/email_event_type.rb +16 -0
  130. data/lib/telnyx/models/email_inboxes/email_message.rb +56 -4
  131. data/lib/telnyx/models/email_message_batch_params.rb +32 -15
  132. data/lib/telnyx/models/email_message_create_params.rb +44 -12
  133. data/lib/telnyx/models/{email_message_retrieve_response.rb → email_message_detail_response.rb} +5 -5
  134. data/lib/telnyx/models/email_message_list_params.rb +26 -1
  135. data/lib/telnyx/models/email_message_update_schedule_params.rb +29 -0
  136. data/lib/telnyx/models/email_messages/email_recipient.rb +2 -0
  137. data/lib/telnyx/models/email_messages/recipient_list_params.rb +2 -0
  138. data/lib/telnyx/models/email_template.rb +2 -60
  139. data/lib/telnyx/models/email_template_common.rb +157 -0
  140. data/lib/telnyx/models/email_template_create_params.rb +105 -4
  141. data/lib/telnyx/models/email_template_list_params.rb +84 -1
  142. data/lib/telnyx/models/email_template_render_response.rb +13 -6
  143. data/lib/telnyx/models/email_webhook_recipient.rb +39 -0
  144. data/lib/telnyx/models/enterprise_create_params.rb +53 -24
  145. data/lib/telnyx/models/enterprise_list_params.rb +22 -1
  146. data/lib/telnyx/models/enterprise_public.rb +103 -21
  147. data/lib/telnyx/models/enterprise_update_params.rb +54 -15
  148. data/lib/telnyx/models/enterprises/dir_create_params.rb +29 -4
  149. data/lib/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rb +101 -0
  150. data/lib/telnyx/models/enterprises/enterprise_reputation_public.rb +20 -1
  151. data/lib/telnyx/models/enterprises/reputation/agent_input.rb +48 -15
  152. data/lib/telnyx/models/enterprises/reputation/external_verification_create_params.rb +50 -0
  153. data/lib/telnyx/models/enterprises/reputation/external_verification_list_params.rb +24 -0
  154. data/lib/telnyx/models/enterprises/reputation/external_verification_status.rb +22 -0
  155. data/lib/telnyx/models/enterprises/reputation/external_verification_wrapped.rb +84 -0
  156. data/lib/telnyx/models/enterprises/reputation/loa_render_params.rb +82 -3
  157. data/lib/telnyx/models/enterprises/reputation/number_list_params.rb +19 -1
  158. data/lib/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rb +53 -0
  159. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rb +30 -0
  160. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rb +133 -0
  161. data/lib/telnyx/models/enterprises/reputation/remediation_request.rb +4 -3
  162. data/lib/telnyx/models/enterprises/reputation/reputation_number_source.rb +23 -0
  163. data/lib/telnyx/models/enterprises/reputation/reputation_ownership_status.rb +32 -0
  164. data/lib/telnyx/models/enterprises/reputation/reputation_phone_number.rb +93 -3
  165. data/lib/telnyx/models/enterprises/reputation_update_webhook_params.rb +35 -0
  166. data/lib/telnyx/models/enterprises/verify_email_confirm_params.rb +31 -0
  167. data/lib/telnyx/models/enterprises/verify_email_create_params.rb +22 -0
  168. data/lib/telnyx/models/infringement_claim.rb +4 -0
  169. data/lib/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rb +35 -0
  170. data/lib/telnyx/models/llm_token_gateway/budget_duration.rb +18 -0
  171. data/lib/telnyx/models/llm_token_gateway/guardrail_finding.rb +58 -0
  172. data/lib/telnyx/models/llm_token_gateway/spend_group_by.rb +40 -0
  173. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rb +96 -0
  174. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rb +282 -0
  175. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rb +105 -0
  176. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rb +189 -0
  177. data/lib/telnyx/models/llm_token_gateway/token_group.rb +413 -0
  178. data/lib/telnyx/models/llm_token_gateway/token_group_create_params.rb +359 -0
  179. data/lib/telnyx/models/llm_token_gateway/token_group_delete_params.rb +34 -0
  180. data/lib/telnyx/models/llm_token_gateway/token_group_list_params.rb +42 -0
  181. data/lib/telnyx/models/llm_token_gateway/token_group_response.rb +18 -0
  182. data/lib/telnyx/models/llm_token_gateway/token_group_retrieve_params.rb +22 -0
  183. data/lib/telnyx/models/llm_token_gateway/token_group_update_params.rb +373 -0
  184. data/lib/telnyx/models/llm_token_gateway/token_key.rb +208 -0
  185. data/lib/telnyx/models/llm_token_gateway/token_key_create_params.rb +126 -0
  186. data/lib/telnyx/models/llm_token_gateway/token_key_delete_params.rb +34 -0
  187. data/lib/telnyx/models/llm_token_gateway/token_key_list_params.rb +56 -0
  188. data/lib/telnyx/models/llm_token_gateway/token_key_response.rb +18 -0
  189. data/lib/telnyx/models/llm_token_gateway/token_key_retrieve_params.rb +22 -0
  190. data/lib/telnyx/models/llm_token_gateway/token_key_update_params.rb +127 -0
  191. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rb +52 -0
  192. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rb +585 -0
  193. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rb +52 -0
  194. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rb +534 -0
  195. data/lib/telnyx/models/meeting_session.rb +34 -6
  196. data/lib/telnyx/models/meeting_session_create_params.rb +73 -39
  197. data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +4 -4
  198. data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +2 -3
  199. data/lib/telnyx/models/meeting_sessions/artifact_create_params.rb +77 -13
  200. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact.rb +25 -1
  201. data/lib/telnyx/models/message_event.rb +41 -2
  202. data/lib/telnyx/models/model_metadata.rb +9 -3
  203. data/lib/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rb +176 -0
  204. data/lib/telnyx/models/number_reputation_number_flagged_webhook_event.rb +198 -0
  205. data/lib/telnyx/models/number_reputation_number_removed_webhook_event.rb +204 -0
  206. data/lib/telnyx/models/numbers_phone_number_detailed.rb +19 -5
  207. data/lib/telnyx/models/organization_contact.rb +15 -6
  208. data/lib/telnyx/models/phone_numbers/job_list_params.rb +18 -3
  209. data/lib/telnyx/models/physical_address.rb +13 -4
  210. data/lib/telnyx/models/porting_order.rb +2 -0
  211. data/lib/telnyx/models/porting_orders/porting_phone_number_block.rb +2 -0
  212. data/lib/telnyx/models/porting_phone_number.rb +2 -0
  213. data/lib/telnyx/models/private_wireless_gateway.rb +0 -1
  214. data/lib/telnyx/models/private_wireless_gateway_create_params.rb +28 -1
  215. data/lib/telnyx/models/private_wireless_gateway_create_response.rb +3 -3
  216. data/lib/telnyx/models/private_wireless_gateway_delete_response.rb +3 -3
  217. data/lib/telnyx/models/private_wireless_gateway_retrieve_response.rb +3 -3
  218. data/lib/telnyx/models/reputation/number_list_params.rb +19 -1
  219. data/lib/telnyx/models/requirement_list_params.rb +3 -0
  220. data/lib/telnyx/models/signature_payload.rb +28 -0
  221. data/lib/telnyx/models/sip_registration_status_list_params.rb +59 -0
  222. data/lib/telnyx/models/sip_registration_status_list_response.rb +220 -0
  223. data/lib/telnyx/models/spend_limit.rb +289 -0
  224. data/lib/telnyx/models/spend_limit_create_params.rb +144 -0
  225. data/lib/telnyx/models/spend_limit_delete_params.rb +37 -0
  226. data/lib/telnyx/models/spend_limit_list_params.rb +14 -0
  227. data/lib/telnyx/models/spend_limit_list_response.rb +51 -0
  228. data/lib/telnyx/models/spend_limit_period.rb +16 -0
  229. data/lib/telnyx/models/spend_limit_response.rb +17 -0
  230. data/lib/telnyx/models/spend_limit_update_params.rb +127 -0
  231. data/lib/telnyx/models/terms_of_service/tos_agreement.rb +8 -4
  232. data/lib/telnyx/models/terms_of_service_retrieve_info_response.rb +8 -4
  233. data/lib/telnyx/models/terms_of_service_retrieve_status_response.rb +2 -1
  234. data/lib/telnyx/models/texml/accounts/call_retrieve_calls_params.rb +17 -17
  235. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +4 -2
  236. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +134 -6
  237. data/lib/telnyx/models/text_to_speech_list_voices_params.rb +1 -0
  238. data/lib/telnyx/models/text_to_speech_retrieve_speech_params.rb +1 -1
  239. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +17 -1
  240. data/lib/telnyx/models/unwrap_webhook_event.rb +17 -1
  241. data/lib/telnyx/models/update_email_template_request.rb +90 -3
  242. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rb +24 -0
  243. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rb +20 -0
  244. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rb +59 -0
  245. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rb +20 -0
  246. data/lib/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rb +48 -0
  247. data/lib/telnyx/models/whatsapp/signup_list_params.rb +62 -0
  248. data/lib/telnyx/models/whatsapp/signup_list_response.rb +138 -0
  249. data/lib/telnyx/models/whatsapp/signup_retrieve_status_params.rb +22 -0
  250. data/lib/telnyx/models/whatsapp/signup_retrieve_status_response.rb +150 -0
  251. data/lib/telnyx/models/whatsapp_waba_added_webhook_event.rb +148 -0
  252. data/lib/telnyx/models/wireless_private_wireless_gateway.rb +120 -0
  253. data/lib/telnyx/models.rb +57 -0
  254. data/lib/telnyx/resources/ai/assistants/deleted.rb +71 -0
  255. data/lib/telnyx/resources/ai/assistants/versions.rb +8 -2
  256. data/lib/telnyx/resources/ai/assistants.rb +120 -6
  257. data/lib/telnyx/resources/ai/conversations.rb +4 -1
  258. data/lib/telnyx/resources/ai/memory/namespaces/profiles/memories.rb +122 -0
  259. data/lib/telnyx/resources/ai/memory/namespaces/profiles/sources.rb +163 -0
  260. data/lib/telnyx/resources/ai/memory/namespaces/profiles.rb +285 -0
  261. data/lib/telnyx/resources/ai/memory/namespaces/settings.rb +76 -0
  262. data/lib/telnyx/resources/ai/memory/namespaces.rb +116 -0
  263. data/lib/telnyx/resources/ai/memory.rb +20 -0
  264. data/lib/telnyx/resources/ai/openai/chat.rb +1 -1
  265. data/lib/telnyx/resources/ai/tools.rb +2 -2
  266. data/lib/telnyx/resources/ai/typesafe/v1.rb +20 -11
  267. data/lib/telnyx/resources/ai/typesafe.rb +1 -1
  268. data/lib/telnyx/resources/ai.rb +4 -0
  269. data/lib/telnyx/resources/calls/actions.rb +45 -10
  270. data/lib/telnyx/resources/calls.rb +12 -1
  271. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  272. data/lib/telnyx/resources/dir/phone_numbers.rb +9 -8
  273. data/lib/telnyx/resources/dir/references.rb +6 -6
  274. data/lib/telnyx/resources/dir.rb +109 -16
  275. data/lib/telnyx/resources/email_blocks/imports.rb +17 -3
  276. data/lib/telnyx/resources/email_blocks.rb +5 -3
  277. data/lib/telnyx/resources/email_domains.rb +28 -0
  278. data/lib/telnyx/resources/email_events.rb +21 -9
  279. data/lib/telnyx/resources/email_messages.rb +57 -13
  280. data/lib/telnyx/resources/email_templates.rb +62 -9
  281. data/lib/telnyx/resources/enterprises/dir.rb +14 -4
  282. data/lib/telnyx/resources/enterprises/reputation/external_verification.rb +74 -0
  283. data/lib/telnyx/resources/enterprises/reputation/loa.rb +1 -1
  284. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +99 -3
  285. data/lib/telnyx/resources/enterprises/reputation.rb +36 -0
  286. data/lib/telnyx/resources/enterprises/verify_email.rb +75 -0
  287. data/lib/telnyx/resources/enterprises.rb +64 -32
  288. data/lib/telnyx/resources/llm_token_gateway/spend.rb +131 -0
  289. data/lib/telnyx/resources/llm_token_gateway/token_groups.rb +217 -0
  290. data/lib/telnyx/resources/llm_token_gateway/token_keys.rb +217 -0
  291. data/lib/telnyx/resources/llm_token_gateway/usage.rb +104 -0
  292. data/lib/telnyx/resources/llm_token_gateway.rb +34 -0
  293. data/lib/telnyx/resources/meeting_sessions/actions.rb +7 -1
  294. data/lib/telnyx/resources/meeting_sessions/artifacts.rb +18 -9
  295. data/lib/telnyx/resources/meeting_sessions.rb +12 -11
  296. data/lib/telnyx/resources/phone_numbers/jobs.rb +4 -3
  297. data/lib/telnyx/resources/private_wireless_gateways.rb +5 -3
  298. data/lib/telnyx/resources/reputation/numbers.rb +7 -1
  299. data/lib/telnyx/resources/sip_registration_status.rb +59 -0
  300. data/lib/telnyx/resources/spend_limits.rb +154 -0
  301. data/lib/telnyx/resources/texml/accounts/calls.rb +9 -9
  302. data/lib/telnyx/resources/texml.rb +5 -3
  303. data/lib/telnyx/resources/text_to_speech.rb +6 -4
  304. data/lib/telnyx/resources/webhooks.rb +2 -2
  305. data/lib/telnyx/resources/whatsapp/phone_numbers/calling_routing.rb +91 -0
  306. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +5 -0
  307. data/lib/telnyx/resources/whatsapp/signup.rb +79 -0
  308. data/lib/telnyx/resources/whatsapp.rb +4 -0
  309. data/lib/telnyx/version.rb +1 -1
  310. data/lib/telnyx.rb +148 -4
  311. data/rbi/telnyx/client.rbi +36 -0
  312. data/rbi/telnyx/models/ai/assistant_create_params.rbi +75 -4
  313. data/rbi/telnyx/models/ai/assistant_delete_params.rbi +21 -2
  314. data/rbi/telnyx/models/ai/assistant_restore_params.rbi +37 -0
  315. data/rbi/telnyx/models/ai/assistant_tool.rbi +56 -5
  316. data/rbi/telnyx/models/ai/assistant_update_params.rbi +75 -4
  317. data/rbi/telnyx/models/ai/assistant_whatsapp_params.rbi +139 -0
  318. data/rbi/telnyx/models/ai/assistant_whatsapp_response.rbi +44 -0
  319. data/rbi/telnyx/models/ai/assistants/deleted_assistant.rbi +52 -0
  320. data/rbi/telnyx/models/ai/assistants/deleted_get_params.rbi +42 -0
  321. data/rbi/telnyx/models/ai/assistants/deleted_list_params.rbi +64 -0
  322. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +81 -4
  323. data/rbi/telnyx/models/ai/avatar_settings_request.rbi +186 -0
  324. data/rbi/telnyx/models/ai/chat_completion_request.rbi +43 -8
  325. data/rbi/telnyx/models/ai/collection.rbi +10 -4
  326. data/rbi/telnyx/models/ai/collections/collections_source.rbi +110 -0
  327. data/rbi/telnyx/models/ai/collections/source.rbi +36 -62
  328. data/rbi/telnyx/models/ai/collections/source_create_response.rbi +14 -6
  329. data/rbi/telnyx/models/ai/collections/source_list_response.rbi +10 -4
  330. data/rbi/telnyx/models/ai/collections/source_replace_response.rbi +11 -4
  331. data/rbi/telnyx/models/ai/conversation_flow_req.rbi +2 -2
  332. data/rbi/telnyx/models/ai/conversation_list_params.rbi +19 -0
  333. data/rbi/telnyx/models/ai/delegation_settings.rbi +190 -0
  334. data/rbi/telnyx/models/ai/external_llm.rbi +2 -5
  335. data/rbi/telnyx/models/ai/flow_edge.rbi +23 -9
  336. data/rbi/telnyx/models/ai/flow_node.rbi +8 -4
  337. data/rbi/telnyx/models/ai/flow_node_req.rbi +24 -9
  338. data/rbi/telnyx/models/ai/inference_embedding.rbi +74 -4
  339. data/rbi/telnyx/models/ai/inference_embedding_voice_settings.rbi +1073 -0
  340. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +23 -19
  341. data/rbi/telnyx/models/ai/memory/namespace.rbi +38 -0
  342. data/rbi/telnyx/models/ai/memory/namespace_create_params.rbi +47 -0
  343. data/rbi/telnyx/models/ai/memory/namespace_create_response.rbi +41 -0
  344. data/rbi/telnyx/models/ai/memory/namespace_delete_params.rbi +47 -0
  345. data/rbi/telnyx/models/ai/memory/namespace_list_params.rbi +34 -0
  346. data/rbi/telnyx/models/ai/memory/namespace_list_response.rbi +36 -0
  347. data/rbi/telnyx/models/ai/memory/namespace_retrieve_params.rbi +50 -0
  348. data/rbi/telnyx/models/ai/memory/namespace_retrieve_response.rbi +167 -0
  349. data/rbi/telnyx/models/ai/memory/namespaces/namespace_settings_response.rbi +156 -0
  350. data/rbi/telnyx/models/ai/memory/namespaces/page_meta.rbi +81 -0
  351. data/rbi/telnyx/models/ai/memory/namespaces/profile_delete_params.rbi +58 -0
  352. data/rbi/telnyx/models/ai/memory/namespaces/profile_delete_response.rbi +97 -0
  353. data/rbi/telnyx/models/ai/memory/namespaces/profile_ingest_params.rbi +149 -0
  354. data/rbi/telnyx/models/ai/memory/namespaces/profile_ingest_response.rbi +113 -0
  355. data/rbi/telnyx/models/ai/memory/namespaces/profile_list_params.rbi +74 -0
  356. data/rbi/telnyx/models/ai/memory/namespaces/profile_list_response.rbi +48 -0
  357. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_params.rbi +72 -0
  358. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_response.rbi +97 -0
  359. data/rbi/telnyx/models/ai/memory/namespaces/profile_recall_params.rbi +68 -0
  360. data/rbi/telnyx/models/ai/memory/namespaces/profile_recall_response.rbi +109 -0
  361. data/rbi/telnyx/models/ai/memory/namespaces/profile_remember_params.rbi +57 -0
  362. data/rbi/telnyx/models/ai/memory/namespaces/profile_remember_response.rbi +107 -0
  363. data/rbi/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rbi +58 -0
  364. data/rbi/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rbi +119 -0
  365. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rbi +102 -0
  366. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rbi +72 -0
  367. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rbi +70 -0
  368. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rbi +129 -0
  369. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rbi +74 -0
  370. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rbi +117 -0
  371. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rbi +92 -0
  372. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rbi +74 -0
  373. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rbi +209 -0
  374. data/rbi/telnyx/models/ai/memory/namespaces/setting_list_params.rbi +49 -0
  375. data/rbi/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rbi +125 -0
  376. data/rbi/telnyx/models/ai/pay_tool_params.rbi +107 -5
  377. data/rbi/telnyx/models/ai/telephony_settings.rbi +21 -0
  378. data/rbi/telnyx/models/ai/telnyx_avatar_settings.rbi +187 -0
  379. data/rbi/telnyx/models/ai/tool_node.rbi +31 -8
  380. data/rbi/telnyx/models/ai/tool_node_req.rbi +35 -10
  381. data/rbi/telnyx/models/ai/transcription_settings.rbi +564 -0
  382. data/rbi/telnyx/models/ai/typesafe/v1_systemone_params.rbi +62 -0
  383. data/rbi/telnyx/models/ai/typesafe/v1_systemone_response.rbi +49 -9
  384. data/rbi/telnyx/models/ai/voice_settings.rbi +6 -6
  385. data/rbi/telnyx/models/ai/webhook_tool.rbi +23 -3
  386. data/rbi/telnyx/models/ai/websocket_settings.rbi +73 -0
  387. data/rbi/telnyx/models/artifact_completed_webhook_event.rbi +30 -0
  388. data/rbi/telnyx/models/artifact_failed_webhook_event.rbi +20 -0
  389. data/rbi/telnyx/models/billing_contact.rbi +16 -2
  390. data/rbi/telnyx/models/bpo_authorization_input.rbi +46 -0
  391. data/rbi/telnyx/models/call_assistant_request.rbi +30 -3
  392. data/rbi/telnyx/models/call_conversation_created_webhook_event.rbi +415 -0
  393. data/rbi/telnyx/models/call_conversation_ended.rbi +373 -0
  394. data/rbi/telnyx/models/call_conversation_start_failed_webhook_event.rbi +488 -0
  395. data/rbi/telnyx/models/call_dial_params.rbi +68 -12
  396. data/rbi/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbi +399 -0
  397. data/rbi/telnyx/models/call_machine_premium_detection_started_webhook_event.rbi +336 -0
  398. data/rbi/telnyx/models/call_machine_premium_greeting_ended.rbi +14 -3
  399. data/rbi/telnyx/models/calls/action_answer_params.rbi +16 -8
  400. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +30 -13
  401. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +22 -5
  402. data/rbi/telnyx/models/calls/action_pay_params.rbi +74 -0
  403. data/rbi/telnyx/models/calls/action_reject_params.rbi +22 -3
  404. data/rbi/telnyx/models/calls/action_speak_params.rbi +22 -5
  405. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +10 -6
  406. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +51 -19
  407. data/rbi/telnyx/models/calls/action_transfer_params.rbi +58 -6
  408. data/rbi/telnyx/models/calls/conversation_relay_transcription_engine_config.rbi +78 -0
  409. data/rbi/telnyx/models/calls/soniox_voice_settings.rbi +86 -0
  410. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +8 -6
  411. data/rbi/telnyx/models/conferences/action_speak_params.rbi +22 -5
  412. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +51 -19
  413. data/rbi/telnyx/models/conversation_relay_language.rbi +31 -11
  414. data/rbi/telnyx/models/dir/phone_number_list_params.rbi +0 -11
  415. data/rbi/telnyx/models/dir/phone_number_remove_params.rbi +9 -1
  416. data/rbi/telnyx/models/dir/reference_update_params.rbi +18 -12
  417. data/rbi/telnyx/models/dir.rbi +31 -3
  418. data/rbi/telnyx/models/dir_bpo_loa_params.rbi +66 -0
  419. data/rbi/telnyx/models/dir_delete_response.rbi +105 -0
  420. data/rbi/telnyx/models/dir_new_loa_params.rbi +10 -49
  421. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_params.rbi +66 -0
  422. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_response.rbi +235 -0
  423. data/rbi/telnyx/models/dir_status.rbi +6 -0
  424. data/rbi/telnyx/models/dir_update_infringement_params.rbi +10 -3
  425. data/rbi/telnyx/models/dir_update_params.rbi +37 -0
  426. data/rbi/telnyx/models/doc_reqs_requirement.rbi +15 -0
  427. data/rbi/telnyx/models/document.rbi +2 -0
  428. data/rbi/telnyx/models/email_block.rbi +8 -0
  429. data/rbi/telnyx/models/email_blocks/email_block_import.rbi +6 -2
  430. data/rbi/telnyx/models/email_domain_rotate_dkim_params.rbi +35 -0
  431. data/rbi/telnyx/models/email_domain_rotate_dkim_response.rbi +487 -0
  432. data/rbi/telnyx/models/email_domains/email_webhook_event.rbi +20 -3
  433. data/rbi/telnyx/models/email_event_list_params.rbi +46 -11
  434. data/rbi/telnyx/models/email_event_list_response.rbi +599 -97
  435. data/rbi/telnyx/models/email_event_type.rbi +25 -0
  436. data/rbi/telnyx/models/email_inboxes/email_message.rbi +81 -3
  437. data/rbi/telnyx/models/email_message_batch_params.rbi +54 -20
  438. data/rbi/telnyx/models/email_message_create_params.rbi +80 -16
  439. data/rbi/telnyx/models/{email_message_retrieve_response.rbi → email_message_detail_response.rbi} +9 -16
  440. data/rbi/telnyx/models/email_message_list_params.rbi +40 -0
  441. data/rbi/telnyx/models/email_message_update_schedule_params.rbi +52 -0
  442. data/rbi/telnyx/models/email_messages/email_recipient.rbi +10 -0
  443. data/rbi/telnyx/models/email_messages/recipient_list_params.rbi +10 -0
  444. data/rbi/telnyx/models/email_template.rbi +4 -86
  445. data/rbi/telnyx/models/email_template_common.rbi +238 -0
  446. data/rbi/telnyx/models/email_template_create_params.rbi +201 -7
  447. data/rbi/telnyx/models/email_template_list_params.rbi +215 -0
  448. data/rbi/telnyx/models/email_template_render_response.rbi +13 -10
  449. data/rbi/telnyx/models/email_webhook_recipient.rbi +68 -0
  450. data/rbi/telnyx/models/enterprise_create_params.rbi +74 -23
  451. data/rbi/telnyx/models/enterprise_list_params.rbi +55 -0
  452. data/rbi/telnyx/models/enterprise_public.rbi +176 -12
  453. data/rbi/telnyx/models/enterprise_update_params.rbi +74 -4
  454. data/rbi/telnyx/models/enterprises/dir_create_params.rbi +43 -3
  455. data/rbi/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbi +208 -0
  456. data/rbi/telnyx/models/enterprises/enterprise_reputation_public.rbi +33 -3
  457. data/rbi/telnyx/models/enterprises/reputation/agent_input.rbi +39 -2
  458. data/rbi/telnyx/models/enterprises/reputation/external_verification_create_params.rbi +77 -0
  459. data/rbi/telnyx/models/enterprises/reputation/external_verification_list_params.rbi +42 -0
  460. data/rbi/telnyx/models/enterprises/reputation/external_verification_status.rbi +50 -0
  461. data/rbi/telnyx/models/enterprises/reputation/external_verification_wrapped.rbi +158 -0
  462. data/rbi/telnyx/models/enterprises/reputation/loa_render_params.rbi +109 -4
  463. data/rbi/telnyx/models/enterprises/reputation/number_list_params.rbi +52 -0
  464. data/rbi/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbi +75 -0
  465. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbi +50 -0
  466. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbi +279 -0
  467. data/rbi/telnyx/models/enterprises/reputation/remediation_request.rbi +6 -4
  468. data/rbi/telnyx/models/enterprises/reputation/reputation_number_source.rbi +47 -0
  469. data/rbi/telnyx/models/enterprises/reputation/reputation_ownership_status.rbi +64 -0
  470. data/rbi/telnyx/models/enterprises/reputation/reputation_phone_number.rbi +180 -2
  471. data/rbi/telnyx/models/enterprises/reputation_update_webhook_params.rbi +56 -0
  472. data/rbi/telnyx/models/enterprises/verify_email_confirm_params.rbi +54 -0
  473. data/rbi/telnyx/models/enterprises/verify_email_create_params.rbi +40 -0
  474. data/rbi/telnyx/models/infringement_claim.rbi +8 -0
  475. data/rbi/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbi +53 -0
  476. data/rbi/telnyx/models/llm_token_gateway/budget_duration.rbi +32 -0
  477. data/rbi/telnyx/models/llm_token_gateway/guardrail_finding.rbi +131 -0
  478. data/rbi/telnyx/models/llm_token_gateway/spend_group_by.rbi +45 -0
  479. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbi +144 -0
  480. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbi +475 -0
  481. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbi +154 -0
  482. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbi +265 -0
  483. data/rbi/telnyx/models/llm_token_gateway/token_group.rbi +891 -0
  484. data/rbi/telnyx/models/llm_token_gateway/token_group_create_params.rbi +867 -0
  485. data/rbi/telnyx/models/llm_token_gateway/token_group_delete_params.rbi +53 -0
  486. data/rbi/telnyx/models/llm_token_gateway/token_group_list_params.rbi +71 -0
  487. data/rbi/telnyx/models/llm_token_gateway/token_group_response.rbi +35 -0
  488. data/rbi/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbi +40 -0
  489. data/rbi/telnyx/models/llm_token_gateway/token_group_update_params.rbi +885 -0
  490. data/rbi/telnyx/models/llm_token_gateway/token_key.rbi +281 -0
  491. data/rbi/telnyx/models/llm_token_gateway/token_key_create_params.rbi +160 -0
  492. data/rbi/telnyx/models/llm_token_gateway/token_key_delete_params.rbi +53 -0
  493. data/rbi/telnyx/models/llm_token_gateway/token_key_list_params.rbi +89 -0
  494. data/rbi/telnyx/models/llm_token_gateway/token_key_response.rbi +35 -0
  495. data/rbi/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbi +40 -0
  496. data/rbi/telnyx/models/llm_token_gateway/token_key_update_params.rbi +165 -0
  497. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbi +86 -0
  498. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbi +991 -0
  499. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbi +77 -0
  500. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbi +828 -0
  501. data/rbi/telnyx/models/meeting_session.rbi +36 -10
  502. data/rbi/telnyx/models/meeting_session_create_params.rbi +112 -48
  503. data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +1 -1
  504. data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +2 -4
  505. data/rbi/telnyx/models/meeting_sessions/artifact_create_params.rbi +161 -24
  506. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact.rbi +30 -0
  507. data/rbi/telnyx/models/message_event.rbi +48 -1
  508. data/rbi/telnyx/models/model_metadata.rbi +16 -4
  509. data/rbi/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbi +384 -0
  510. data/rbi/telnyx/models/number_reputation_number_flagged_webhook_event.rbi +425 -0
  511. data/rbi/telnyx/models/number_reputation_number_removed_webhook_event.rbi +440 -0
  512. data/rbi/telnyx/models/numbers_phone_number_detailed.rbi +24 -4
  513. data/rbi/telnyx/models/organization_contact.rbi +14 -2
  514. data/rbi/telnyx/models/phone_numbers/job_list_params.rbi +27 -3
  515. data/rbi/telnyx/models/physical_address.rbi +12 -0
  516. data/rbi/telnyx/models/porting_order.rbi +7 -0
  517. data/rbi/telnyx/models/porting_orders/porting_phone_number_block.rbi +10 -0
  518. data/rbi/telnyx/models/porting_phone_number.rbi +10 -0
  519. data/rbi/telnyx/models/private_wireless_gateway_create_params.rbi +71 -0
  520. data/rbi/telnyx/models/private_wireless_gateway_create_response.rbi +4 -4
  521. data/rbi/telnyx/models/private_wireless_gateway_delete_response.rbi +4 -4
  522. data/rbi/telnyx/models/private_wireless_gateway_retrieve_response.rbi +4 -4
  523. data/rbi/telnyx/models/reputation/number_list_params.rbi +52 -0
  524. data/rbi/telnyx/models/requirement_list_params.rbi +15 -0
  525. data/rbi/telnyx/models/signature_payload.rbi +43 -0
  526. data/rbi/telnyx/models/sip_registration_status_list_params.rbi +124 -0
  527. data/rbi/telnyx/models/sip_registration_status_list_response.rbi +429 -0
  528. data/rbi/telnyx/models/spend_limit.rbi +385 -0
  529. data/rbi/telnyx/models/spend_limit_create_params.rbi +301 -0
  530. data/rbi/telnyx/models/spend_limit_delete_params.rbi +63 -0
  531. data/rbi/telnyx/models/spend_limit_list_params.rbi +27 -0
  532. data/rbi/telnyx/models/spend_limit_list_response.rbi +109 -0
  533. data/rbi/telnyx/models/spend_limit_period.rbi +20 -0
  534. data/rbi/telnyx/models/spend_limit_response.rbi +30 -0
  535. data/rbi/telnyx/models/spend_limit_update_params.rbi +280 -0
  536. data/rbi/telnyx/models/terms_of_service/tos_agreement.rbi +8 -0
  537. data/rbi/telnyx/models/terms_of_service_retrieve_info_response.rbi +8 -0
  538. data/rbi/telnyx/models/terms_of_service_retrieve_status_response.rbi +2 -0
  539. data/rbi/telnyx/models/texml/accounts/call_retrieve_calls_params.rbi +22 -22
  540. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +6 -2
  541. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +319 -6
  542. data/rbi/telnyx/models/text_to_speech_list_voices_params.rbi +5 -0
  543. data/rbi/telnyx/models/text_to_speech_retrieve_speech_params.rbi +5 -5
  544. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +9 -1
  545. data/rbi/telnyx/models/unwrap_webhook_event.rbi +9 -1
  546. data/rbi/telnyx/models/update_email_template_request.rbi +168 -6
  547. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbi +42 -0
  548. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbi +51 -0
  549. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbi +94 -0
  550. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbi +51 -0
  551. data/rbi/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbi +96 -0
  552. data/rbi/telnyx/models/whatsapp/signup_list_params.rbi +99 -0
  553. data/rbi/telnyx/models/whatsapp/signup_list_response.rbi +313 -0
  554. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_params.rbi +40 -0
  555. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_response.rbi +363 -0
  556. data/rbi/telnyx/models/whatsapp_waba_added_webhook_event.rbi +324 -0
  557. data/rbi/telnyx/models/wireless_private_wireless_gateway.rbi +211 -0
  558. data/rbi/telnyx/models.rbi +65 -0
  559. data/rbi/telnyx/resources/ai/assistants/deleted.rbi +58 -0
  560. data/rbi/telnyx/resources/ai/assistants/versions.rbi +24 -1
  561. data/rbi/telnyx/resources/ai/assistants.rbi +144 -2
  562. data/rbi/telnyx/resources/ai/conversations.rbi +7 -0
  563. data/rbi/telnyx/resources/ai/memory/namespaces/profiles/memories.rbi +94 -0
  564. data/rbi/telnyx/resources/ai/memory/namespaces/profiles/sources.rbi +117 -0
  565. data/rbi/telnyx/resources/ai/memory/namespaces/profiles.rbi +231 -0
  566. data/rbi/telnyx/resources/ai/memory/namespaces/settings.rbi +67 -0
  567. data/rbi/telnyx/resources/ai/memory/namespaces.rbi +75 -0
  568. data/rbi/telnyx/resources/ai/memory.rbi +17 -0
  569. data/rbi/telnyx/resources/ai/openai/chat.rbi +21 -2
  570. data/rbi/telnyx/resources/ai/tools.rbi +1 -1
  571. data/rbi/telnyx/resources/ai/typesafe/v1.rbi +20 -10
  572. data/rbi/telnyx/resources/ai/typesafe.rbi +1 -1
  573. data/rbi/telnyx/resources/ai.rbi +3 -0
  574. data/rbi/telnyx/resources/calls/actions.rbi +123 -24
  575. data/rbi/telnyx/resources/calls.rbi +28 -5
  576. data/rbi/telnyx/resources/conferences/actions.rbi +8 -1
  577. data/rbi/telnyx/resources/dir/phone_numbers.rbi +6 -7
  578. data/rbi/telnyx/resources/dir/references.rbi +9 -6
  579. data/rbi/telnyx/resources/dir.rbi +103 -14
  580. data/rbi/telnyx/resources/email_blocks/imports.rbi +17 -3
  581. data/rbi/telnyx/resources/email_blocks.rbi +5 -3
  582. data/rbi/telnyx/resources/email_domains.rbi +22 -0
  583. data/rbi/telnyx/resources/email_events.rbi +30 -9
  584. data/rbi/telnyx/resources/email_messages.rbi +100 -16
  585. data/rbi/telnyx/resources/email_templates.rbi +139 -6
  586. data/rbi/telnyx/resources/enterprises/dir.rbi +23 -3
  587. data/rbi/telnyx/resources/enterprises/reputation/external_verification.rbi +65 -0
  588. data/rbi/telnyx/resources/enterprises/reputation/loa.rbi +2 -1
  589. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +78 -2
  590. data/rbi/telnyx/resources/enterprises/reputation.rbi +29 -0
  591. data/rbi/telnyx/resources/enterprises/verify_email.rbi +64 -0
  592. data/rbi/telnyx/resources/enterprises.rbi +105 -19
  593. data/rbi/telnyx/resources/llm_token_gateway/spend.rbi +116 -0
  594. data/rbi/telnyx/resources/llm_token_gateway/token_groups.rbi +278 -0
  595. data/rbi/telnyx/resources/llm_token_gateway/token_keys.rbi +220 -0
  596. data/rbi/telnyx/resources/llm_token_gateway/usage.rbi +90 -0
  597. data/rbi/telnyx/resources/llm_token_gateway.rbi +28 -0
  598. data/rbi/telnyx/resources/meeting_sessions/actions.rbi +7 -1
  599. data/rbi/telnyx/resources/meeting_sessions/artifacts.rbi +19 -8
  600. data/rbi/telnyx/resources/meeting_sessions.rbi +21 -13
  601. data/rbi/telnyx/resources/phone_numbers/jobs.rbi +6 -4
  602. data/rbi/telnyx/resources/private_wireless_gateways.rbi +9 -1
  603. data/rbi/telnyx/resources/reputation/numbers.rbi +10 -0
  604. data/rbi/telnyx/resources/sip_registration_status.rbi +52 -0
  605. data/rbi/telnyx/resources/spend_limits.rbi +126 -0
  606. data/rbi/telnyx/resources/texml/accounts/calls.rbi +6 -6
  607. data/rbi/telnyx/resources/texml.rbi +7 -3
  608. data/rbi/telnyx/resources/text_to_speech.rbi +7 -3
  609. data/rbi/telnyx/resources/webhooks.rbi +18 -2
  610. data/rbi/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbi +82 -0
  611. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +6 -0
  612. data/rbi/telnyx/resources/whatsapp/signup.rbi +61 -0
  613. data/rbi/telnyx/resources/whatsapp.rbi +3 -0
  614. data/sig/telnyx/client.rbs +6 -0
  615. data/sig/telnyx/models/ai/assistant_create_params.rbs +29 -6
  616. data/sig/telnyx/models/ai/assistant_delete_params.rbs +8 -1
  617. data/sig/telnyx/models/ai/assistant_restore_params.rbs +25 -0
  618. data/sig/telnyx/models/ai/assistant_tool.rbs +33 -3
  619. data/sig/telnyx/models/ai/assistant_update_params.rbs +29 -6
  620. data/sig/telnyx/models/ai/assistant_whatsapp_params.rbs +67 -0
  621. data/sig/telnyx/models/ai/assistant_whatsapp_response.rbs +18 -0
  622. data/sig/telnyx/models/ai/assistants/deleted_assistant.rbs +29 -0
  623. data/sig/telnyx/models/ai/assistants/deleted_get_params.rbs +27 -0
  624. data/sig/telnyx/models/ai/assistants/deleted_list_params.rbs +36 -0
  625. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +29 -6
  626. data/sig/telnyx/models/ai/avatar_settings_request.rbs +74 -0
  627. data/sig/telnyx/models/ai/chat_completion_request.rbs +4 -6
  628. data/sig/telnyx/models/ai/collection.rbs +6 -6
  629. data/sig/telnyx/models/ai/collections/collections_source.rbs +65 -0
  630. data/sig/telnyx/models/ai/collections/source.rbs +18 -37
  631. data/sig/telnyx/models/ai/collections/source_create_response.rbs +9 -6
  632. data/sig/telnyx/models/ai/collections/source_list_response.rbs +8 -6
  633. data/sig/telnyx/models/ai/collections/source_replace_response.rbs +6 -6
  634. data/sig/telnyx/models/ai/conversation_list_params.rbs +7 -0
  635. data/sig/telnyx/models/ai/delegation_settings.rbs +79 -0
  636. data/sig/telnyx/models/ai/flow_node.rbs +6 -6
  637. data/sig/telnyx/models/ai/flow_node_req.rbs +6 -6
  638. data/sig/telnyx/models/ai/inference_embedding.rbs +29 -6
  639. data/sig/telnyx/models/ai/inference_embedding_voice_settings.rbs +404 -0
  640. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +13 -13
  641. data/sig/telnyx/models/ai/memory/namespace.rbs +19 -0
  642. data/sig/telnyx/models/ai/memory/namespace_create_params.rbs +27 -0
  643. data/sig/telnyx/models/ai/memory/namespace_create_response.rbs +17 -0
  644. data/sig/telnyx/models/ai/memory/namespace_delete_params.rbs +27 -0
  645. data/sig/telnyx/models/ai/memory/namespace_list_params.rbs +19 -0
  646. data/sig/telnyx/models/ai/memory/namespace_list_response.rbs +18 -0
  647. data/sig/telnyx/models/ai/memory/namespace_retrieve_params.rbs +32 -0
  648. data/sig/telnyx/models/ai/memory/namespace_retrieve_response.rbs +69 -0
  649. data/sig/telnyx/models/ai/memory/namespaces/namespace_settings_response.rbs +59 -0
  650. data/sig/telnyx/models/ai/memory/namespaces/page_meta.rbs +41 -0
  651. data/sig/telnyx/models/ai/memory/namespaces/profile_delete_params.rbs +34 -0
  652. data/sig/telnyx/models/ai/memory/namespaces/profile_delete_response.rbs +41 -0
  653. data/sig/telnyx/models/ai/memory/namespaces/profile_ingest_params.rbs +69 -0
  654. data/sig/telnyx/models/ai/memory/namespaces/profile_ingest_response.rbs +58 -0
  655. data/sig/telnyx/models/ai/memory/namespaces/profile_list_params.rbs +42 -0
  656. data/sig/telnyx/models/ai/memory/namespaces/profile_list_response.rbs +22 -0
  657. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_params.rbs +38 -0
  658. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_response.rbs +38 -0
  659. data/sig/telnyx/models/ai/memory/namespaces/profile_recall_params.rbs +47 -0
  660. data/sig/telnyx/models/ai/memory/namespaces/profile_recall_response.rbs +53 -0
  661. data/sig/telnyx/models/ai/memory/namespaces/profile_remember_params.rbs +38 -0
  662. data/sig/telnyx/models/ai/memory/namespaces/profile_remember_response.rbs +49 -0
  663. data/sig/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rbs +34 -0
  664. data/sig/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rbs +58 -0
  665. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rbs +63 -0
  666. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rbs +43 -0
  667. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rbs +40 -0
  668. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rbs +65 -0
  669. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rbs +40 -0
  670. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rbs +55 -0
  671. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rbs +58 -0
  672. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rbs +40 -0
  673. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rbs +92 -0
  674. data/sig/telnyx/models/ai/memory/namespaces/setting_list_params.rbs +29 -0
  675. data/sig/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rbs +47 -0
  676. data/sig/telnyx/models/ai/pay_tool_params.rbs +46 -3
  677. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  678. data/sig/telnyx/models/ai/telnyx_avatar_settings.rbs +74 -0
  679. data/sig/telnyx/models/ai/tool_node.rbs +7 -0
  680. data/sig/telnyx/models/ai/tool_node_req.rbs +7 -0
  681. data/sig/telnyx/models/ai/transcription_settings.rbs +159 -0
  682. data/sig/telnyx/models/ai/typesafe/v1_systemone_params.rbs +21 -1
  683. data/sig/telnyx/models/ai/typesafe/v1_systemone_response.rbs +15 -4
  684. data/sig/telnyx/models/ai/webhook_tool.rbs +10 -3
  685. data/sig/telnyx/models/ai/websocket_settings.rbs +29 -0
  686. data/sig/telnyx/models/artifact_completed_webhook_event.rbs +16 -1
  687. data/sig/telnyx/models/artifact_failed_webhook_event.rbs +11 -1
  688. data/sig/telnyx/models/bpo_authorization_input.rbs +19 -0
  689. data/sig/telnyx/models/call_assistant_request.rbs +9 -0
  690. data/sig/telnyx/models/call_conversation_created_webhook_event.rbs +190 -0
  691. data/sig/telnyx/models/call_conversation_ended.rbs +137 -0
  692. data/sig/telnyx/models/call_conversation_start_failed_webhook_event.rbs +210 -0
  693. data/sig/telnyx/models/call_dial_params.rbs +9 -0
  694. data/sig/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbs +177 -0
  695. data/sig/telnyx/models/call_machine_premium_detection_started_webhook_event.rbs +156 -0
  696. data/sig/telnyx/models/call_machine_premium_greeting_ended.rbs +2 -1
  697. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -0
  698. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -0
  699. data/sig/telnyx/models/calls/action_pay_params.rbs +24 -0
  700. data/sig/telnyx/models/calls/action_reject_params.rbs +4 -1
  701. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -0
  702. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +7 -6
  703. data/sig/telnyx/models/calls/action_transfer_params.rbs +9 -0
  704. data/sig/telnyx/models/calls/conversation_relay_transcription_engine_config.rbs +38 -0
  705. data/sig/telnyx/models/calls/soniox_voice_settings.rbs +46 -0
  706. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -0
  707. data/sig/telnyx/models/conversation_relay_embedded_config.rbs +7 -6
  708. data/sig/telnyx/models/conversation_relay_language.rbs +7 -6
  709. data/sig/telnyx/models/dir/phone_number_list_params.rbs +1 -14
  710. data/sig/telnyx/models/dir.rbs +13 -3
  711. data/sig/telnyx/models/dir_bpo_loa_params.rbs +38 -0
  712. data/sig/telnyx/models/dir_delete_response.rbs +42 -0
  713. data/sig/telnyx/models/dir_new_loa_params.rbs +5 -19
  714. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_params.rbs +36 -0
  715. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_response.rbs +84 -0
  716. data/sig/telnyx/models/dir_status.rbs +2 -0
  717. data/sig/telnyx/models/dir_update_params.rbs +15 -1
  718. data/sig/telnyx/models/doc_reqs_requirement.rbs +5 -1
  719. data/sig/telnyx/models/email_domain_rotate_dkim_params.rbs +23 -0
  720. data/sig/telnyx/models/email_domain_rotate_dkim_response.rbs +195 -0
  721. data/sig/telnyx/models/email_domains/email_webhook_event.rbs +6 -0
  722. data/sig/telnyx/models/email_event_list_params.rbs +7 -7
  723. data/sig/telnyx/models/email_event_list_response.rbs +235 -59
  724. data/sig/telnyx/models/email_event_type.rbs +20 -0
  725. data/sig/telnyx/models/email_inboxes/email_message.rbs +43 -4
  726. data/sig/telnyx/models/{email_message_retrieve_response.rbs → email_message_detail_response.rbs} +6 -10
  727. data/sig/telnyx/models/email_message_list_params.rbs +18 -1
  728. data/sig/telnyx/models/email_message_update_schedule_params.rbs +28 -0
  729. data/sig/telnyx/models/email_messages/email_recipient.rbs +4 -0
  730. data/sig/telnyx/models/email_messages/recipient_list_params.rbs +4 -0
  731. data/sig/telnyx/models/email_template.rbs +6 -61
  732. data/sig/telnyx/models/email_template_common.rbs +110 -0
  733. data/sig/telnyx/models/email_template_create_params.rbs +56 -5
  734. data/sig/telnyx/models/email_template_list_params.rbs +74 -1
  735. data/sig/telnyx/models/email_template_render_response.rbs +8 -4
  736. data/sig/telnyx/models/email_webhook_recipient.rbs +46 -0
  737. data/sig/telnyx/models/enterprise_list_params.rbs +20 -0
  738. data/sig/telnyx/models/enterprise_public.rbs +40 -5
  739. data/sig/telnyx/models/enterprises/dir_create_params.rbs +15 -1
  740. data/sig/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbs +82 -0
  741. data/sig/telnyx/models/enterprises/enterprise_reputation_public.rbs +13 -3
  742. data/sig/telnyx/models/enterprises/reputation/external_verification_create_params.rbs +42 -0
  743. data/sig/telnyx/models/enterprises/reputation/external_verification_list_params.rbs +27 -0
  744. data/sig/telnyx/models/enterprises/reputation/external_verification_status.rbs +19 -0
  745. data/sig/telnyx/models/enterprises/reputation/external_verification_wrapped.rbs +81 -0
  746. data/sig/telnyx/models/enterprises/reputation/loa_render_params.rbs +78 -6
  747. data/sig/telnyx/models/enterprises/reputation/number_list_params.rbs +18 -0
  748. data/sig/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbs +47 -0
  749. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbs +32 -0
  750. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbs +122 -0
  751. data/sig/telnyx/models/enterprises/reputation/reputation_number_source.rbs +20 -0
  752. data/sig/telnyx/models/enterprises/reputation/reputation_ownership_status.rbs +23 -0
  753. data/sig/telnyx/models/enterprises/reputation/reputation_phone_number.rbs +57 -0
  754. data/sig/telnyx/models/enterprises/reputation_update_webhook_params.rbs +30 -0
  755. data/sig/telnyx/models/enterprises/verify_email_confirm_params.rbs +30 -0
  756. data/sig/telnyx/models/enterprises/verify_email_create_params.rbs +25 -0
  757. data/sig/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbs +37 -0
  758. data/sig/telnyx/models/llm_token_gateway/budget_duration.rbs +17 -0
  759. data/sig/telnyx/models/llm_token_gateway/guardrail_finding.rbs +60 -0
  760. data/sig/telnyx/models/llm_token_gateway/spend_group_by.rbs +19 -0
  761. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbs +93 -0
  762. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbs +226 -0
  763. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbs +94 -0
  764. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbs +153 -0
  765. data/sig/telnyx/models/llm_token_gateway/token_group.rbs +356 -0
  766. data/sig/telnyx/models/llm_token_gateway/token_group_create_params.rbs +326 -0
  767. data/sig/telnyx/models/llm_token_gateway/token_group_delete_params.rbs +34 -0
  768. data/sig/telnyx/models/llm_token_gateway/token_group_list_params.rbs +40 -0
  769. data/sig/telnyx/models/llm_token_gateway/token_group_response.rbs +15 -0
  770. data/sig/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbs +22 -0
  771. data/sig/telnyx/models/llm_token_gateway/token_group_update_params.rbs +340 -0
  772. data/sig/telnyx/models/llm_token_gateway/token_key.rbs +147 -0
  773. data/sig/telnyx/models/llm_token_gateway/token_key_create_params.rbs +92 -0
  774. data/sig/telnyx/models/llm_token_gateway/token_key_delete_params.rbs +34 -0
  775. data/sig/telnyx/models/llm_token_gateway/token_key_list_params.rbs +58 -0
  776. data/sig/telnyx/models/llm_token_gateway/token_key_response.rbs +15 -0
  777. data/sig/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbs +22 -0
  778. data/sig/telnyx/models/llm_token_gateway/token_key_update_params.rbs +94 -0
  779. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbs +46 -0
  780. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbs +463 -0
  781. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbs +45 -0
  782. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbs +433 -0
  783. data/sig/telnyx/models/meeting_session.rbs +20 -5
  784. data/sig/telnyx/models/meeting_session_create_params.rbs +28 -20
  785. data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +4 -4
  786. data/sig/telnyx/models/meeting_sessions/artifact_create_params.rbs +53 -10
  787. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact.rbs +16 -1
  788. data/sig/telnyx/models/message_event.rbs +10 -0
  789. data/sig/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbs +153 -0
  790. data/sig/telnyx/models/number_reputation_number_flagged_webhook_event.rbs +172 -0
  791. data/sig/telnyx/models/number_reputation_number_removed_webhook_event.rbs +178 -0
  792. data/sig/telnyx/models/numbers_phone_number_detailed.rbs +5 -0
  793. data/sig/telnyx/models/phone_numbers/job_list_params.rbs +7 -0
  794. data/sig/telnyx/models/porting_order.rbs +10 -1
  795. data/sig/telnyx/models/porting_orders/porting_phone_number_block.rbs +10 -1
  796. data/sig/telnyx/models/porting_phone_number.rbs +10 -1
  797. data/sig/telnyx/models/private_wireless_gateway_create_params.rbs +25 -1
  798. data/sig/telnyx/models/private_wireless_gateway_create_response.rbs +6 -6
  799. data/sig/telnyx/models/private_wireless_gateway_delete_response.rbs +6 -6
  800. data/sig/telnyx/models/private_wireless_gateway_retrieve_response.rbs +6 -6
  801. data/sig/telnyx/models/reputation/number_list_params.rbs +18 -0
  802. data/sig/telnyx/models/requirement_list_params.rbs +10 -1
  803. data/sig/telnyx/models/signature_payload.rbs +15 -0
  804. data/sig/telnyx/models/sip_registration_status_list_params.rbs +55 -0
  805. data/sig/telnyx/models/sip_registration_status_list_response.rbs +195 -0
  806. data/sig/telnyx/models/spend_limit.rbs +208 -0
  807. data/sig/telnyx/models/spend_limit_create_params.rbs +139 -0
  808. data/sig/telnyx/models/spend_limit_delete_params.rbs +42 -0
  809. data/sig/telnyx/models/spend_limit_list_params.rbs +15 -0
  810. data/sig/telnyx/models/spend_limit_list_response.rbs +69 -0
  811. data/sig/telnyx/models/spend_limit_period.rbs +14 -0
  812. data/sig/telnyx/models/spend_limit_response.rbs +13 -0
  813. data/sig/telnyx/models/spend_limit_update_params.rbs +127 -0
  814. data/sig/telnyx/models/texml/accounts/call_retrieve_calls_params.rbs +14 -14
  815. data/sig/telnyx/models/text_to_speech_generate_speech_params.rbs +114 -0
  816. data/sig/telnyx/models/text_to_speech_list_voices_params.rbs +2 -0
  817. data/sig/telnyx/models/text_to_speech_retrieve_speech_params.rbs +2 -2
  818. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +8 -0
  819. data/sig/telnyx/models/unwrap_webhook_event.rbs +8 -0
  820. data/sig/telnyx/models/update_email_template_request.rbs +56 -5
  821. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbs +27 -0
  822. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbs +22 -0
  823. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbs +43 -0
  824. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbs +22 -0
  825. data/sig/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbs +44 -0
  826. data/sig/telnyx/models/whatsapp/signup_list_params.rbs +65 -0
  827. data/sig/telnyx/models/whatsapp/signup_list_response.rbs +139 -0
  828. data/sig/telnyx/models/whatsapp/signup_retrieve_status_params.rbs +22 -0
  829. data/sig/telnyx/models/whatsapp/signup_retrieve_status_response.rbs +158 -0
  830. data/sig/telnyx/models/whatsapp_waba_added_webhook_event.rbs +140 -0
  831. data/sig/telnyx/models/wireless_private_wireless_gateway.rbs +109 -0
  832. data/sig/telnyx/models.rbs +54 -0
  833. data/sig/telnyx/resources/ai/assistants/deleted.rbs +22 -0
  834. data/sig/telnyx/resources/ai/assistants/versions.rbs +4 -1
  835. data/sig/telnyx/resources/ai/assistants.rbs +26 -2
  836. data/sig/telnyx/resources/ai/conversations.rbs +1 -0
  837. data/sig/telnyx/resources/ai/memory/namespaces/profiles/memories.rbs +32 -0
  838. data/sig/telnyx/resources/ai/memory/namespaces/profiles/sources.rbs +38 -0
  839. data/sig/telnyx/resources/ai/memory/namespaces/profiles.rbs +66 -0
  840. data/sig/telnyx/resources/ai/memory/namespaces/settings.rbs +24 -0
  841. data/sig/telnyx/resources/ai/memory/namespaces.rbs +35 -0
  842. data/sig/telnyx/resources/ai/memory.rbs +11 -0
  843. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -1
  844. data/sig/telnyx/resources/ai/tools.rbs +1 -1
  845. data/sig/telnyx/resources/ai/typesafe/v1.rbs +1 -0
  846. data/sig/telnyx/resources/ai.rbs +2 -0
  847. data/sig/telnyx/resources/calls/actions.rbs +3 -1
  848. data/sig/telnyx/resources/dir/phone_numbers.rbs +0 -1
  849. data/sig/telnyx/resources/dir.rbs +21 -2
  850. data/sig/telnyx/resources/email_domains.rbs +5 -0
  851. data/sig/telnyx/resources/email_events.rbs +2 -2
  852. data/sig/telnyx/resources/email_messages.rbs +9 -1
  853. data/sig/telnyx/resources/email_templates.rbs +19 -3
  854. data/sig/telnyx/resources/enterprises/dir.rbs +2 -0
  855. data/sig/telnyx/resources/enterprises/reputation/external_verification.rbs +23 -0
  856. data/sig/telnyx/resources/enterprises/reputation/loa.rbs +1 -1
  857. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +16 -0
  858. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -0
  859. data/sig/telnyx/resources/enterprises/verify_email.rbs +20 -0
  860. data/sig/telnyx/resources/enterprises.rbs +3 -0
  861. data/sig/telnyx/resources/llm_token_gateway/spend.rbs +38 -0
  862. data/sig/telnyx/resources/llm_token_gateway/token_groups.rbs +66 -0
  863. data/sig/telnyx/resources/llm_token_gateway/token_keys.rbs +64 -0
  864. data/sig/telnyx/resources/llm_token_gateway/usage.rbs +25 -0
  865. data/sig/telnyx/resources/llm_token_gateway.rbs +15 -0
  866. data/sig/telnyx/resources/meeting_sessions/artifacts.rbs +1 -1
  867. data/sig/telnyx/resources/meeting_sessions.rbs +1 -0
  868. data/sig/telnyx/resources/private_wireless_gateways.rbs +2 -1
  869. data/sig/telnyx/resources/reputation/numbers.rbs +2 -0
  870. data/sig/telnyx/resources/sip_registration_status.rbs +14 -0
  871. data/sig/telnyx/resources/spend_limits.rbs +30 -0
  872. data/sig/telnyx/resources/text_to_speech.rbs +1 -0
  873. data/sig/telnyx/resources/webhooks.rbs +18 -2
  874. data/sig/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbs +22 -0
  875. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +2 -0
  876. data/sig/telnyx/resources/whatsapp/signup.rbs +24 -0
  877. data/sig/telnyx/resources/whatsapp.rbs +2 -0
  878. metadata +440 -8
  879. data/lib/telnyx/models/ai/tool_delete_response.rb +0 -10
  880. data/rbi/telnyx/models/ai/tool_delete_response.rbi +0 -9
  881. data/sig/telnyx/models/ai/tool_delete_response.rbs +0 -7
@@ -47,17 +47,21 @@ module Telnyx
47
47
  # Edit a DIR. DIRs in `draft`, `rejected`, `unsuccessful`, or `suspended` can be
48
48
  # edited freely: PATCH is a pure edit, `status` is never changed, and you re-vet
49
49
  # by calling `POST /v2/dir/{dir_id}/submit` explicitly. A `verified` DIR can also
50
- # be edited in place: a PATCH that changes any value returns the DIR to `draft`
51
- # and branded delivery stops until you re-submit and the DIR is approved again,
52
- # while a PATCH that changes nothing (an empty body or values identical to the
53
- # current ones) leaves the DIR `verified`, so idempotent retries are safe. DIRs in
54
- # any other status (`submitted`, `in_review`, `expired`, `infringement_claimed`,
50
+ # be edited in place: a PATCH that changes any value returns the DIR to `draft`;
51
+ # the currently approved identity keeps displaying, and the edited content goes
52
+ # live only after you re-submit and the DIR is approved again. A PATCH that
53
+ # changes nothing (an empty body or values identical to the current ones) leaves
54
+ # the DIR `verified`, so idempotent retries are safe. Changing only
55
+ # `bpo_authorizations` or `webhook_url` is the exception: the DIR stays
56
+ # `verified`. Each BPO authorization is reviewed on its own instead. DIRs in any
57
+ # other status (`submitted`, `in_review`, `expired`, `infringement_claimed`,
55
58
  # `permanently_rejected`) cannot be edited.
56
59
  sig do
57
60
  params(
58
61
  dir_id: String,
59
62
  authorizer_email: String,
60
63
  authorizer_name: String,
64
+ bpo_authorizations: T::Array[Telnyx::BpoAuthorizationInput::OrHash],
61
65
  call_reasons: T::Array[String],
62
66
  certify_brand_is_accurate: T::Boolean,
63
67
  certify_ip_ownership: T::Boolean,
@@ -66,6 +70,7 @@ module Telnyx
66
70
  documents: T::Array[Telnyx::Document::OrHash],
67
71
  logo_url: String,
68
72
  reselling: T::Boolean,
73
+ webhook_url: T.nilable(String),
69
74
  request_options: Telnyx::RequestOptions::OrHash
70
75
  ).returns(Telnyx::DirWrapped)
71
76
  end
@@ -78,6 +83,13 @@ module Telnyx
78
83
  # Name of the person at your enterprise authorizing this DIR. Must be a real
79
84
  # individual.
80
85
  authorizer_name: nil,
86
+ # Optional. Replace this DIR's authorized BPO (Business Process Outsourcer)
87
+ # accounts with these, each with its signed Letter of Authorization. The supplied
88
+ # list replaces the current one: a BPO left out has its authorization removed, and
89
+ # a new BPO (or a changed Letter of Authorization) is created `pending` admin
90
+ # review. Send an empty list to clear all authorizations; omit the field to leave
91
+ # them unchanged. Editing this list does not re-vet the DIR. Maximum 10.
92
+ bpo_authorizations: nil,
81
93
  # 1–10 reasons your business calls customers. Validate phrasing against
82
94
  # `POST /call_reasons/validate`.
83
95
  call_reasons: nil,
@@ -102,6 +114,10 @@ module Telnyx
102
114
  # Set to true if your organization places calls on behalf of other enterprises
103
115
  # (BPO/reseller). Updating this triggers re-vetting on next submit.
104
116
  reselling: nil,
117
+ # Optional `https://` URL that receives webhook notifications when this DIR's
118
+ # compliance review completes. Send `null` to clear. Changing only this field on a
119
+ # `verified` DIR does not re-vet it. Maximum 2048 characters.
120
+ webhook_url: nil,
105
121
  request_options: {}
106
122
  )
107
123
  end
@@ -153,14 +169,18 @@ module Telnyx
153
169
  )
154
170
  end
155
171
 
156
- # Delete a DIR. Failure modes: `400` if a child phone number is in a non-deletable
157
- # status, `409` if the DIR has an unresolved infringement claim, `404` if the DIR
158
- # is not yours.
172
+ # Request deletion of a DIR. This does not remove the DIR on this call: it records
173
+ # the request, moves the DIR to `delete_requested`, and Telnyx completes the
174
+ # removal (de-registration and cleanup) shortly after. A verified DIR keeps
175
+ # serving its branded identity, and keeps billing, until the removal is executed.
176
+ # Failure modes: `400` if a child phone number is still attached or the DIR is
177
+ # `in_review` (wait for the review to finish), `409` if the DIR has an unresolved
178
+ # infringement claim, `404` if the DIR is not yours.
159
179
  sig do
160
180
  params(
161
181
  dir_id: String,
162
182
  request_options: Telnyx::RequestOptions::OrHash
163
- ).void
183
+ ).returns(Telnyx::Models::DirDeleteResponse)
164
184
  end
165
185
  def delete(
166
186
  # The DIR id. Lowercase UUID.
@@ -169,6 +189,40 @@ module Telnyx
169
189
  )
170
190
  end
171
191
 
192
+ # The Letter of Authorization in which a Brand Owner authorizes an approved BPO
193
+ # (Business Process Outsourcer) to place branded calls that display this DIR on
194
+ # the owner's behalf. Both parties are read from the caller's account: the Brand
195
+ # Owner is the enterprise that owns the DIR, and the BPO is `bpo_enterprise_id`.
196
+ # No business identity is accepted in the body.
197
+ #
198
+ # When `signature` is omitted the PDF is returned unsigned so the Brand Owner can
199
+ # sign it externally and the BPO can upload it via the Documents API. When
200
+ # `signature` is present the PDF embeds the supplied image, printed name, and
201
+ # signed-at date.
202
+ #
203
+ # Returns `application/pdf`.
204
+ sig do
205
+ params(
206
+ dir_id: String,
207
+ bpo_enterprise_id: String,
208
+ signature: Telnyx::SignaturePayload::OrHash,
209
+ request_options: Telnyx::RequestOptions::OrHash
210
+ ).returns(StringIO)
211
+ end
212
+ def bpo_loa(
213
+ # The DIR id.
214
+ dir_id,
215
+ # The approved BPO enterprise the Brand Owner is authorizing. Must be a BPO
216
+ # account on the caller's organization that has already been approved.
217
+ bpo_enterprise_id:,
218
+ # Optional. When provided the rendered PDF embeds the signature image, printed
219
+ # name, and signed-at date. When absent the PDF is returned unsigned so the Brand
220
+ # Owner can sign externally and the BPO can upload it via the Documents API.
221
+ signature: nil,
222
+ request_options: {}
223
+ )
224
+ end
225
+
172
226
  # Reference list of `document_type` values accepted by
173
227
  # `DirCreateRequest.documents[].document_type` and the infringement-contest
174
228
  # endpoint. Each entry has a stable `short_name` (used in API calls) and a
@@ -223,7 +277,7 @@ module Telnyx
223
277
  dir_id: String,
224
278
  phone_numbers: T::Array[String],
225
279
  agent: Telnyx::Enterprises::Reputation::AgentInput::OrHash,
226
- signature: Telnyx::DirNewLoaParams::Signature::OrHash,
280
+ signature: Telnyx::SignaturePayload::OrHash,
227
281
  request_options: Telnyx::RequestOptions::OrHash
228
282
  ).returns(StringIO)
229
283
  end
@@ -233,8 +287,9 @@ module Telnyx
233
287
  # Telephone numbers to authorize on the DIR, in `+E164` format (`+` followed by
234
288
  # 10-15 digits). Max 15 per request.
235
289
  phone_numbers:,
236
- # Third-party reseller / partner managing the enterprise's phone numbers. Omit
237
- # when the enterprise works directly with Telnyx.
290
+ # Third-party reseller / partner managing the enterprise's phone numbers on its
291
+ # behalf, such as a call center (BPO) acting for a client. Omit when the
292
+ # enterprise manages its own numbers.
238
293
  agent: nil,
239
294
  # Optional. When provided the rendered PDF embeds the signature image, printed
240
295
  # name, and signed-at date. When absent the PDF is returned unsigned so the
@@ -244,6 +299,37 @@ module Telnyx
244
299
  )
245
300
  end
246
301
 
302
+ # List the BPO (Business Process Outsourcer) accounts a Brand Owner has authorized
303
+ # on this DIR, together with the review state of each authorization.
304
+ #
305
+ # Authorizations are supplied as the `bpo_authorizations` array when creating or
306
+ # updating a DIR, and each one is reviewed on its own. Only an `approved`
307
+ # authorization adds that BPO to this DIR's authorized callers in the branded
308
+ # calling registry; `pending` and `rejected` authorizations do not. Each entry
309
+ # includes the `loa_document_id` you submitted: because `bpo_authorizations`
310
+ # replaces the whole list on every DIR update, send each entry you want to keep
311
+ # back with its `loa_document_id` unchanged, and it keeps its review state. A
312
+ # rejected entry carries a `rejection_reason`. Returns an empty list when the DIR
313
+ # has authorized no BPOs.
314
+ sig do
315
+ params(
316
+ dir_id: String,
317
+ page_number: Integer,
318
+ page_size: Integer,
319
+ request_options: Telnyx::RequestOptions::OrHash
320
+ ).returns(Telnyx::Models::DirRetrieveBpoAuthorizationsResponse)
321
+ end
322
+ def retrieve_bpo_authorizations(
323
+ # The DIR id. Lowercase UUID.
324
+ dir_id,
325
+ # 1-based page number. Out-of-range values return an empty page with correct meta.
326
+ page_number: nil,
327
+ # Items per page. Maximum 250; values above are clamped to 250.
328
+ page_size: nil,
329
+ request_options: {}
330
+ )
331
+ end
332
+
247
333
  # Submit a DIR for vetting. Sends the DIR back through the vetting cycle from any
248
334
  # non-terminal status. When re-submitting from `suspended` or `expired`, the DIR's
249
335
  # previous Branded Calling registration is torn down transactionally and its phone
@@ -252,7 +338,7 @@ module Telnyx
252
338
  #
253
339
  # Returns `400` from `submitted`/`in_review`/`permanently_rejected`. Returns `400`
254
340
  # if the DIR's business and financial references have not been submitted. Returns
255
- # `409` if the DIR has an unresolved infringement claim.
341
+ # `400` if the DIR has an unresolved infringement claim.
256
342
  sig do
257
343
  params(
258
344
  dir_id: String,
@@ -298,13 +384,16 @@ module Telnyx
298
384
  certify_brand_is_accurate:,
299
385
  # Must be `true`.
300
386
  certify_ip_ownership:,
301
- # Must be `true`.
387
+ # Check to certify that the brand no longer infringes anyone else's trademark or
388
+ # intellectual property.
302
389
  certify_no_infringement:,
303
390
  # Must be `true`.
304
391
  certify_no_shaft_content:,
305
392
  # Explanation of how the infringement concern was addressed.
306
393
  infringement_resolution_notes:,
307
394
  call_reasons: nil,
395
+ # The business name shown to call recipients, 1 to 35 characters, no emoji, not
396
+ # blank.
308
397
  display_name: nil,
309
398
  # Append-only supporting documents to attach while resolving the claim (e.g.
310
399
  # authorization or licensing proof).
@@ -13,9 +13,23 @@ module Telnyx
13
13
  # - header-only / all-blank / undetectable provider → `400` Returns `202` with the
14
14
  # import record (status `pending`); an Oban worker (`EmailBlockImportWorker`,
15
15
  # max_attempts 3) transitions `pending → processing → completed | failed`.
16
- # `block_ttl_days` applies only to imported `manual_block` rows; other reasons
17
- # get `expires_at: nil`. Provider is auto-detected from the CSV header
18
- # (`sendgrid` / `mailgun` / `ses` / `generic`).
16
+ #
17
+ # Native Telnyx exports are detected by the stable first-12-column header
18
+ # signature (`id` … `group_id`) and are restored with their original `from`,
19
+ # `domain_id`, `group_id`, `source`, `status`, `expires_at`, plus
20
+ # `bounce_category`, `dsn_code`, and `meta` when present (`scope` is re-derived
21
+ # from `domain_id`/`from`; the exported `scope` cell must be a valid enum value).
22
+ # Lifecycle changes reconcile through the same create path as the API: a row
23
+ # already in the requested state restores its mutable backup fields without a new
24
+ # audit event, and a real transition (e.g. tombstone → active) appends the
25
+ # matching lifecycle event. `block_ttl_days` is not applied to native rows — their
26
+ # exported `expires_at` is preserved verbatim.
27
+ #
28
+ # Competitor and generic imports (SendGrid / Mailgun / SES / generic) remain
29
+ # account-scoped (`from`, `domain_id`, `group_id`, `scope` are not read) and
30
+ # `block_ttl_days` applies only to imported `manual_block` rows; other reasons get
31
+ # `expires_at: nil`. Provider is auto-detected from the CSV header (`sendgrid` /
32
+ # `mailgun` / `ses` / `generic`).
19
33
  sig do
20
34
  params(
21
35
  file: Telnyx::Internal::FileInput,
@@ -158,9 +158,11 @@ module Telnyx
158
158
  # stream `ORDER BY created_at ASC, id ASC` with no pagination.
159
159
  #
160
160
  # CSV columns:
161
- # `id,to,from,reason,source,scope,status,domain_id, created_at,updated_at,expires_at,group_id`.
162
- # The CSV carries the `group_id` column so group-scoped suppressions' group link
163
- # survives the export (empty for account-scope rows).
161
+ # `id,to,from,reason,source,scope,status,domain_id, created_at,updated_at,expires_at,group_id,bounce_category,dsn_code, meta`
162
+ # (15 columns). The first 12 columns are the stable native signature;
163
+ # `bounce_category`, `dsn_code`, and `meta` are optional backup fields (empty when
164
+ # unset). The CSV carries the `group_id` column so group-scoped suppressions'
165
+ # group link survives the export (empty for account-scope rows).
164
166
  sig do
165
167
  params(
166
168
  filter_created_after: Time,
@@ -167,6 +167,28 @@ module Telnyx
167
167
  )
168
168
  end
169
169
 
170
+ # Generates a new DKIM key for the domain, activates it, and retires the previous
171
+ # key. The response includes the updated DKIM DNS records the customer must
172
+ # publish. Selectors are fixed, so rotation replaces the TXT value at the existing
173
+ # `<selector>._domainkey.<domain>` host rather than adding a second record —
174
+ # `old_selector_retained` is false and the new TXT value must be published
175
+ # promptly, since signing switches to the new key immediately and the old TXT
176
+ # value will no longer match. The previous key is retired to a `retiring` state
177
+ # (retained, not revoked) so it can be revoked after the DNS propagation grace
178
+ # period.
179
+ sig do
180
+ params(
181
+ domain_id: String,
182
+ request_options: Telnyx::RequestOptions::OrHash
183
+ ).returns(Telnyx::Models::EmailDomainRotateDkimResponse)
184
+ end
185
+ def rotate_dkim(
186
+ # Email domain UUID
187
+ domain_id,
188
+ request_options: {}
189
+ )
190
+ end
191
+
170
192
  # Checks the published DNS records against the records required for the email
171
193
  # domain and returns the latest verification results.
172
194
  sig do
@@ -5,21 +5,30 @@ module Telnyx
5
5
  # Retrieve account-level email events and event statistics.
6
6
  class EmailEvents
7
7
  # Lists account-level email events sorted oldest first by
8
- # `occurred_at asc, id asc`.
8
+ # `occurred_at asc, id asc`. Each row contains a legacy email.-prefixed event_type
9
+ # and an additive canonical_event_type. Gateway rejection renders email.failed
10
+ # with canonical email.gw_reject; ambiguous injection timeout renders
11
+ # email.injection_timeout in both; MTA expiration renders email.bounced with
12
+ # canonical email.expired. Message-scoped queued, sending, sandbox, cancelled, and
13
+ # daily_limit_exceeded rows fan out per durable recipient with stable derived IDs
14
+ # matching webhook delivery. Scheduled is the cardinality exception: account
15
+ # polling retains one message-scoped scheduled row with its stored event ID, while
16
+ # scheduled webhook publication fans out per recipient with derived IDs; reconcile
17
+ # scheduled events by message ID, event type, and occurrence time rather than
18
+ # event UUID. Recipient-scoped stored rows retain their stored UUIDs across
19
+ # polling and webhook delivery. Legacy names are derived from stored rows; an
20
+ # AdminBounce row stored as failed renders email.failed in polling while its
21
+ # webhook retains email.bounced, both with canonical email.failed.
9
22
  sig do
10
23
  params(
11
24
  email_id: String,
12
25
  event_type: Telnyx::EmailEventListParams::EventType::Variants,
13
26
  from: Time,
14
- page_cursor: String,
15
27
  page_size: Integer,
28
+ page_cursor: String,
16
29
  to: Time,
17
30
  request_options: Telnyx::RequestOptions::OrHash
18
- ).returns(
19
- Telnyx::Internal::EmailCursorPagination[
20
- Telnyx::Models::EmailEventListResponse
21
- ]
22
- )
31
+ ).returns(Telnyx::Models::EmailEventListResponse)
23
32
  end
24
33
  def list(
25
34
  # Filter events for a specific email message UUID. Invalid UUID values are
@@ -28,14 +37,26 @@ module Telnyx
28
37
  # Comma-separated list of event types to include. Also accepts repeated query
29
38
  # parameters (e.g. event_type=delivered&event_type=bounced). Unknown values return
30
39
  # no matches.
40
+ #
41
+ # Dual-name compatibility: values are accepted bare or `email.`-prefixed. A legacy
42
+ # value keeps matching the rows it matched pre-rename — no widening: `failed` also
43
+ # matches the rows that now store the canonical names of the outcomes it covered
44
+ # (`gw_reject`, `injection_timeout`, `expired`); `bounced` matches stored
45
+ # `bounced` rows only (recipient-scoped Expirations stored `failed` pre-rename and
46
+ # never matched `bounced`, so `expired` is deliberately not a `bounced`
47
+ # expansion). A canonical value matches its own rows plus legacy rows whose
48
+ # recorded payload evidence proves that outcome (`expired` also surfaces legacy
49
+ # `bounced` rows with `bounce_category: transient`). The additive
50
+ # `canonical_event_type` field in each response row names the canonical outcome.
31
51
  event_type: nil,
32
52
  # Inclusive ISO 8601 start timestamp. Defaults to 30 days ago when omitted.
33
53
  from: nil,
34
- # Opaque URL-safe Base64 cursor returned by a previous list response.
35
- page_cursor: nil,
36
54
  # Number of results to return. Defaults to 25; maximum is 100. Invalid values are
37
55
  # clamped to the valid range.
38
56
  page_size: nil,
57
+ # Opaque URL-safe Base64 cursor returned by a previous event list response. The
58
+ # legacy `page[after]` and flat `page_cursor` forms are also accepted.
59
+ page_cursor: nil,
39
60
  # Inclusive ISO 8601 end timestamp. When `from` is provided without `to`, defaults
40
61
  # to `from + 30 days`.
41
62
  to: nil,
@@ -102,7 +102,9 @@ module Telnyx
102
102
  in_reply_to_message_id: nil,
103
103
  # Body param
104
104
  inline_css: nil,
105
- # Body param: Custom metadata. Write-only; not returned in responses.
105
+ # Body param: Custom metadata key/value pairs. Stored on the message, returned on
106
+ # message responses, and propagated to Email Detail Records. Usable in
107
+ # `filter[metadata]` when listing messages.
106
108
  metadata: nil,
107
109
  # Body param: Reply-to address. If provided as an object with a name, only the
108
110
  # email is stored; the name is ignored.
@@ -116,12 +118,37 @@ module Telnyx
116
118
  #
117
119
  # Only meaningful alongside `in_reply_to_message_id`.
118
120
  reply_to_all: nil,
119
- # Body param
121
+ # Body param: Validates and accepts the message without injecting it into the MTA
122
+ # or outbound Kafka path. Nothing is delivered: sandbox records are non-billable,
123
+ # consume no daily-send-limit quota, and feed no delivery-reputation signals.
124
+ #
125
+ # The reserved sandbox test-recipient domain is `test.telnyx.com`. In sandbox
126
+ # mode, these addresses produce deterministic recipient-scoped lifecycle events:
127
+ #
128
+ # - `delivered@test.telnyx.com`: queued -> sending -> sent -> delivered
129
+ # - `hard-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
130
+ # (permanent)
131
+ # - `soft-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
132
+ # (transient)
133
+ # - `complaint@test.telnyx.com`: queued -> sending -> sent -> complained
134
+ # - `suppressed@test.telnyx.com`: queued -> suppressed
135
+ # - `invalid@test.telnyx.com`: queued -> sending -> failed (invalid recipient)
136
+ # - `dkim-fail@test.telnyx.com`: queued -> sending -> failed (DKIM unavailable)
137
+ # - `rate-limit@test.telnyx.com`: queued -> sending -> failed (rate limit
138
+ # exceeded)
139
+ #
140
+ # Matching is case-insensitive for both the local part and the domain and requires
141
+ # the exact domain `test.telnyx.com` — subdomains and other domains do not match.
142
+ # Mixed sandbox sends simulate only reserved test recipients; other recipients
143
+ # retain ordinary sandbox behavior (accepted, no delivery attempted). Hard-bounce
144
+ # and complaint outcomes also use the normal automatic-suppression pipeline.
145
+ # Non-sandbox sends to these addresses use the normal delivery path.
120
146
  sandbox_mode: nil,
121
- # Body param: Future ISO 8601 time to schedule sending. Invalid or past timestamps
122
- # are silently ignored and the email is sent immediately. The legacy alias
123
- # `send_at` is still accepted for backward compatibility; when both are provided,
124
- # `scheduled_at` wins.
147
+ # Body param: Future ISO 8601 delivery time. Invalid or non-future timestamps are
148
+ # rejected. Single sends return HTTP 422; in batch sends the invalid item is
149
+ # reported in the 207 per-item errors while other items continue. `send_at`
150
+ # remains a deprecated request alias. A non-null `scheduled_at` takes precedence
151
+ # over `send_at`; when `scheduled_at` is omitted or null, `send_at` is used.
125
152
  scheduled_at: nil,
126
153
  # Body param: Deprecated alias for `scheduled_at`.
127
154
  send_at: nil,
@@ -129,14 +156,18 @@ module Telnyx
129
156
  # the template's subject is rendered; if the template has no subject or renders
130
157
  # empty, the request returns 400.
131
158
  subject: nil,
132
- # Body param: Tags for categorization and reporting. Stored on the message and
133
- # propagated to Email Detail Records. Not returned in API responses.
159
+ # Body param: Tags for categorization and filtering. Stored on the message,
160
+ # returned on message responses, and propagated to Email Detail Records. Usable in
161
+ # `filter[tags]` when listing messages.
134
162
  tags: nil,
135
163
  # Body param
136
164
  template_id: nil,
137
165
  # Body param: Variables for Liquid template rendering. Non-object values may cause
138
166
  # a 422 validation error on message creation, but are silently treated as an empty
139
- # object for template rendering.
167
+ # object for template rendering. When the template enables `strict_variables`, a
168
+ # missing required variable fails the request with 422 (single send) or a per-item
169
+ # `unprocessable_entity` error (batch) naming the variable; no message is
170
+ # persisted for the failed item.
140
171
  template_variables: nil,
141
172
  # Body param: Plain text email body. Returned only by `GET /email_messages/{id}`;
142
173
  # omitted from create and list responses.
@@ -163,7 +194,7 @@ module Telnyx
163
194
  params(
164
195
  id: String,
165
196
  request_options: Telnyx::RequestOptions::OrHash
166
- ).returns(Telnyx::Models::EmailMessageRetrieveResponse)
197
+ ).returns(Telnyx::EmailMessageDetailResponse)
167
198
  end
168
199
  def retrieve(
169
200
  # Email message UUID.
@@ -172,11 +203,13 @@ module Telnyx
172
203
  )
173
204
  end
174
205
 
175
- # Lists messages sorted newest first by `created_at desc, id desc`. No filters
176
- # other than cursor pagination are implemented. The legacy `/v2/emails` GET route
177
- # is a backward-compatible alias for this operation.
206
+ # Lists messages sorted newest first by `created_at desc, id desc`. Tags and
207
+ # metadata filters compose with cursor pagination. The legacy `/v2/emails` GET
208
+ # route is a backward-compatible alias for this operation.
178
209
  sig do
179
210
  params(
211
+ filter_metadata: String,
212
+ filter_tags: String,
180
213
  page_cursor: String,
181
214
  page_size: Integer,
182
215
  request_options: Telnyx::RequestOptions::OrHash
@@ -187,6 +220,19 @@ module Telnyx
187
220
  )
188
221
  end
189
222
  def list(
223
+ # Metadata containment filter, supplied as a JSON object or comma-separated
224
+ # `key=value` pairs. All supplied key/value pairs must be contained in the message
225
+ # metadata. An empty value or empty JSON object omits the filter. Malformed
226
+ # values, valid non-object JSON, pairs without `=`, empty keys, and
227
+ # non-string/nested query shapes return HTTP 400.
228
+ filter_metadata: nil,
229
+ # Comma-separated tags. Each segment is trimmed, and messages having at least one
230
+ # supplied tag are returned; matching is exact and case-sensitive after trimming.
231
+ # Because commas delimit values and surrounding whitespace is removed, this filter
232
+ # cannot represent stored tags containing literal commas or leading/trailing
233
+ # whitespace. An empty value omits the filter. Empty segments and
234
+ # non-string/nested query shapes return HTTP 400.
235
+ filter_tags: nil,
190
236
  # Opaque URL-safe Base64 cursor returned by a previous list response.
191
237
  page_cursor: nil,
192
238
  # Number of results to return. Defaults to 25; maximum is 100. Invalid values are
@@ -214,7 +260,10 @@ module Telnyx
214
260
  # checks run first and can reject the whole batch before message creation. After
215
261
  # those checks pass, each message is validated and sent independently; item-level
216
262
  # failures do not affect other messages, and the processed batch returns 207
217
- # Multi-Status.
263
+ # Multi-Status. Per-message failures include validation errors; when a template
264
+ # has `strict_variables` enabled, a missing required variable produces a per-item
265
+ # `unprocessable_entity` error naming that variable while the other messages
266
+ # continue.
218
267
  sig do
219
268
  params(
220
269
  messages: T::Array[Telnyx::EmailMessageBatchParams::Message::OrHash],
@@ -228,8 +277,13 @@ module Telnyx
228
277
  # request. Each message is validated and sent independently; per-message failures
229
278
  # do not affect other messages in the batch.
230
279
  messages:,
231
- # Body param: Applies sandbox mode to all messages in the batch. Overrides any
232
- # per-message sandbox_mode in the messages array.
280
+ # Body param: Applies sandbox mode to all messages in the batch and overrides any
281
+ # per-message `sandbox_mode` value — each message's effective `sandbox_mode` is
282
+ # exactly this envelope value. Reserved recipients at `test.telnyx.com` produce
283
+ # the deterministic event chains documented on CreateEmailRequest.sandbox_mode; no
284
+ # batch item is injected into the MTA or outbound Kafka path. Sandbox batch items
285
+ # are non-billable, consume no daily-send-limit quota, and feed no
286
+ # delivery-reputation signals.
233
287
  sandbox_mode: nil,
234
288
  # Header param: Optional opaque, unquoted key for safely retrying the same logical
235
289
  # request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
@@ -280,6 +334,15 @@ module Telnyx
280
334
  # Lists events for a single message sorted oldest first by
281
335
  # `occurred_at asc, id asc`. The legacy `/v2/emails/{id}/events` GET route is a
282
336
  # backward-compatible alias.
337
+ #
338
+ # For compatibility, each event carries the legacy customer-visible `event_type`
339
+ # (`email.`-prefixed), the additive `canonical_event_type` (`email.`-prefixed),
340
+ # and the deprecated `type` duplicate — whose value keeps the exact legacy format:
341
+ # the bare stored event name, never `email.`-prefixed. Gateway rejections render
342
+ # `email.failed` + canonical `email.gw_reject`; MTA expirations render
343
+ # `email.bounced` + canonical `email.expired`; every unchanged outcome carries
344
+ # identical `event_type` and `canonical_event_type` values (and `type` keeps the
345
+ # stored name).
283
346
  sig do
284
347
  params(
285
348
  email_id: String,
@@ -300,6 +363,27 @@ module Telnyx
300
363
  )
301
364
  end
302
365
 
366
+ # Moves an existing scheduled email to a new future send time. Only the delivery
367
+ # time (`scheduled_at`) changes; the message ID, content, recipients, tags, and
368
+ # metadata remain unchanged. Returns `409 Conflict` if the message is no longer
369
+ # scheduled or its scheduled-send worker has already started processing it. This
370
+ # route emits no dedicated `rescheduled` event.
371
+ sig do
372
+ params(
373
+ email_id: String,
374
+ scheduled_at: Time,
375
+ request_options: Telnyx::RequestOptions::OrHash
376
+ ).returns(Telnyx::EmailMessageDetailResponse)
377
+ end
378
+ def update_schedule(
379
+ # Email message UUID.
380
+ email_id,
381
+ # New ISO 8601 delivery time. Must be strictly in the future.
382
+ scheduled_at:,
383
+ request_options: {}
384
+ )
385
+ end
386
+
303
387
  # @api private
304
388
  sig { params(client: Telnyx::Client).returns(T.attached_class) }
305
389
  def self.new(client:)