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
@@ -243,6 +243,16 @@ module Telnyx
243
243
  :cancelled,
244
244
  Telnyx::EmailMessages::EmailRecipient::Status::TaggedSymbol
245
245
  )
246
+ INJECTION_TIMEOUT =
247
+ T.let(
248
+ :injection_timeout,
249
+ Telnyx::EmailMessages::EmailRecipient::Status::TaggedSymbol
250
+ )
251
+ EXPIRED =
252
+ T.let(
253
+ :expired,
254
+ Telnyx::EmailMessages::EmailRecipient::Status::TaggedSymbol
255
+ )
246
256
 
247
257
  sig do
248
258
  override.returns(
@@ -201,6 +201,16 @@ module Telnyx
201
201
  :cancelled,
202
202
  Telnyx::EmailMessages::RecipientListParams::Status::TaggedSymbol
203
203
  )
204
+ INJECTION_TIMEOUT =
205
+ T.let(
206
+ :injection_timeout,
207
+ Telnyx::EmailMessages::RecipientListParams::Status::TaggedSymbol
208
+ )
209
+ EXPIRED =
210
+ T.let(
211
+ :expired,
212
+ Telnyx::EmailMessages::RecipientListParams::Status::TaggedSymbol
213
+ )
204
214
 
205
215
  sig do
206
216
  override.returns(
@@ -2,102 +2,20 @@
2
2
 
3
3
  module Telnyx
4
4
  module Models
5
- class EmailTemplate < Telnyx::Internal::Type::BaseModel
5
+ class EmailTemplate < Telnyx::Models::EmailTemplateCommon
6
6
  OrHash =
7
7
  T.type_alias { T.any(Telnyx::EmailTemplate, Telnyx::Internal::AnyHash) }
8
8
 
9
- sig { returns(String) }
10
- attr_accessor :id
11
-
12
- sig { returns(Time) }
13
- attr_accessor :created_at
14
-
15
- sig { returns(T.nilable(String)) }
16
- attr_accessor :html_body
17
-
18
- sig { returns(String) }
19
- attr_accessor :name
20
-
21
- sig { returns(Telnyx::EmailTemplate::RecordType::TaggedSymbol) }
22
- attr_accessor :record_type
23
-
24
9
  sig { returns(T.nilable(String)) }
25
10
  attr_accessor :subject
26
11
 
27
- sig { returns(T.nilable(String)) }
28
- attr_accessor :text_body
29
-
30
- sig { returns(Time) }
31
- attr_accessor :updated_at
32
-
33
- sig { returns(T::Array[String]) }
34
- attr_accessor :variables
35
-
36
- sig do
37
- params(
38
- id: String,
39
- created_at: Time,
40
- html_body: T.nilable(String),
41
- name: String,
42
- record_type: Telnyx::EmailTemplate::RecordType::OrSymbol,
43
- subject: T.nilable(String),
44
- text_body: T.nilable(String),
45
- updated_at: Time,
46
- variables: T::Array[String]
47
- ).returns(T.attached_class)
48
- end
49
- def self.new(
50
- id:,
51
- created_at:,
52
- html_body:,
53
- name:,
54
- record_type:,
55
- subject:,
56
- text_body:,
57
- updated_at:,
58
- variables:
59
- )
12
+ sig { params(subject: T.nilable(String)).returns(T.attached_class) }
13
+ def self.new(subject:)
60
14
  end
61
15
 
62
- sig do
63
- override.returns(
64
- {
65
- id: String,
66
- created_at: Time,
67
- html_body: T.nilable(String),
68
- name: String,
69
- record_type: Telnyx::EmailTemplate::RecordType::TaggedSymbol,
70
- subject: T.nilable(String),
71
- text_body: T.nilable(String),
72
- updated_at: Time,
73
- variables: T::Array[String]
74
- }
75
- )
76
- end
16
+ sig { override.returns({ subject: T.nilable(String) }) }
77
17
  def to_hash
78
18
  end
79
-
80
- module RecordType
81
- extend Telnyx::Internal::Type::Enum
82
-
83
- TaggedSymbol =
84
- T.type_alias { T.all(Symbol, Telnyx::EmailTemplate::RecordType) }
85
- OrSymbol = T.type_alias { T.any(Symbol, String) }
86
-
87
- EMAIL_TEMPLATE =
88
- T.let(
89
- :email_template,
90
- Telnyx::EmailTemplate::RecordType::TaggedSymbol
91
- )
92
-
93
- sig do
94
- override.returns(
95
- T::Array[Telnyx::EmailTemplate::RecordType::TaggedSymbol]
96
- )
97
- end
98
- def self.values
99
- end
100
- end
101
19
  end
102
20
  end
103
21
  end
@@ -0,0 +1,238 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class EmailTemplateCommon < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Telnyx::EmailTemplateCommon, Telnyx::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ # Whether HTML autoescaping is enabled for this template. When `true`, only
15
+ # rendered `html_body` expression output is HTML-escaped at the output boundary;
16
+ # `subject` and `text_body` are never autoescaped.
17
+ sig { returns(T::Boolean) }
18
+ attr_accessor :autoescape
19
+
20
+ sig { returns(Time) }
21
+ attr_accessor :created_at
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :html_body
25
+
26
+ sig { returns(String) }
27
+ attr_accessor :name
28
+
29
+ sig { returns(Telnyx::EmailTemplateCommon::RecordType::TaggedSymbol) }
30
+ attr_accessor :record_type
31
+
32
+ # Whether strict variable validation is enabled for this template. When `true`,
33
+ # sends and renders that are missing a variable marked `required: true` in
34
+ # `variable_schema` fail with 422 naming the variable.
35
+ sig { returns(T::Boolean) }
36
+ attr_accessor :strict_variables
37
+
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :text_body
40
+
41
+ sig { returns(Time) }
42
+ attr_accessor :updated_at
43
+
44
+ # Structured variable requirements, or `null` when the template uses only the
45
+ # legacy `variables` array.
46
+ sig do
47
+ returns(
48
+ T.nilable(
49
+ T::Hash[Symbol, Telnyx::EmailTemplateCommon::VariableSchema]
50
+ )
51
+ )
52
+ end
53
+ attr_accessor :variable_schema
54
+
55
+ # Persisted variable names. In `explicit` mode this array preserves the exact
56
+ # provided order, duplicates, and string contents; in `automatic` mode it is
57
+ # derived from the stored subject and bodies.
58
+ sig { returns(T::Array[String]) }
59
+ attr_accessor :variables
60
+
61
+ # `automatic` when variable names are derived from template content; `explicit`
62
+ # when `variables` is the exact manually managed array.
63
+ sig { returns(Telnyx::EmailTemplateCommon::VariablesMode::TaggedSymbol) }
64
+ attr_accessor :variables_mode
65
+
66
+ sig do
67
+ params(
68
+ id: String,
69
+ autoescape: T::Boolean,
70
+ created_at: Time,
71
+ html_body: T.nilable(String),
72
+ name: String,
73
+ record_type: Telnyx::EmailTemplateCommon::RecordType::OrSymbol,
74
+ strict_variables: T::Boolean,
75
+ text_body: T.nilable(String),
76
+ updated_at: Time,
77
+ variable_schema:
78
+ T.nilable(
79
+ T::Hash[
80
+ Symbol,
81
+ Telnyx::EmailTemplateCommon::VariableSchema::OrHash
82
+ ]
83
+ ),
84
+ variables: T::Array[String],
85
+ variables_mode: Telnyx::EmailTemplateCommon::VariablesMode::OrSymbol
86
+ ).returns(T.attached_class)
87
+ end
88
+ def self.new(
89
+ id:,
90
+ # Whether HTML autoescaping is enabled for this template. When `true`, only
91
+ # rendered `html_body` expression output is HTML-escaped at the output boundary;
92
+ # `subject` and `text_body` are never autoescaped.
93
+ autoescape:,
94
+ created_at:,
95
+ html_body:,
96
+ name:,
97
+ record_type:,
98
+ # Whether strict variable validation is enabled for this template. When `true`,
99
+ # sends and renders that are missing a variable marked `required: true` in
100
+ # `variable_schema` fail with 422 naming the variable.
101
+ strict_variables:,
102
+ text_body:,
103
+ updated_at:,
104
+ # Structured variable requirements, or `null` when the template uses only the
105
+ # legacy `variables` array.
106
+ variable_schema:,
107
+ # Persisted variable names. In `explicit` mode this array preserves the exact
108
+ # provided order, duplicates, and string contents; in `automatic` mode it is
109
+ # derived from the stored subject and bodies.
110
+ variables:,
111
+ # `automatic` when variable names are derived from template content; `explicit`
112
+ # when `variables` is the exact manually managed array.
113
+ variables_mode:
114
+ )
115
+ end
116
+
117
+ sig do
118
+ override.returns(
119
+ {
120
+ id: String,
121
+ autoescape: T::Boolean,
122
+ created_at: Time,
123
+ html_body: T.nilable(String),
124
+ name: String,
125
+ record_type: Telnyx::EmailTemplateCommon::RecordType::TaggedSymbol,
126
+ strict_variables: T::Boolean,
127
+ text_body: T.nilable(String),
128
+ updated_at: Time,
129
+ variable_schema:
130
+ T.nilable(
131
+ T::Hash[Symbol, Telnyx::EmailTemplateCommon::VariableSchema]
132
+ ),
133
+ variables: T::Array[String],
134
+ variables_mode:
135
+ Telnyx::EmailTemplateCommon::VariablesMode::TaggedSymbol
136
+ }
137
+ )
138
+ end
139
+ def to_hash
140
+ end
141
+
142
+ module RecordType
143
+ extend Telnyx::Internal::Type::Enum
144
+
145
+ TaggedSymbol =
146
+ T.type_alias do
147
+ T.all(Symbol, Telnyx::EmailTemplateCommon::RecordType)
148
+ end
149
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
150
+
151
+ EMAIL_TEMPLATE =
152
+ T.let(
153
+ :email_template,
154
+ Telnyx::EmailTemplateCommon::RecordType::TaggedSymbol
155
+ )
156
+
157
+ sig do
158
+ override.returns(
159
+ T::Array[Telnyx::EmailTemplateCommon::RecordType::TaggedSymbol]
160
+ )
161
+ end
162
+ def self.values
163
+ end
164
+ end
165
+
166
+ class VariableSchema < Telnyx::Internal::Type::BaseModel
167
+ OrHash =
168
+ T.type_alias do
169
+ T.any(
170
+ Telnyx::EmailTemplateCommon::VariableSchema,
171
+ Telnyx::Internal::AnyHash
172
+ )
173
+ end
174
+
175
+ # Whether the variable must be supplied when strict variable validation is
176
+ # enabled.
177
+ sig { returns(T::Boolean) }
178
+ attr_accessor :required
179
+
180
+ # Default value for an optional variable. Rejected when `required` is `true`.
181
+ sig { returns(T.nilable(String)) }
182
+ attr_reader :default
183
+
184
+ sig { params(default: String).void }
185
+ attr_writer :default
186
+
187
+ sig do
188
+ params(required: T::Boolean, default: String).returns(
189
+ T.attached_class
190
+ )
191
+ end
192
+ def self.new(
193
+ # Whether the variable must be supplied when strict variable validation is
194
+ # enabled.
195
+ required:,
196
+ # Default value for an optional variable. Rejected when `required` is `true`.
197
+ default: nil
198
+ )
199
+ end
200
+
201
+ sig { override.returns({ required: T::Boolean, default: String }) }
202
+ def to_hash
203
+ end
204
+ end
205
+
206
+ # `automatic` when variable names are derived from template content; `explicit`
207
+ # when `variables` is the exact manually managed array.
208
+ module VariablesMode
209
+ extend Telnyx::Internal::Type::Enum
210
+
211
+ TaggedSymbol =
212
+ T.type_alias do
213
+ T.all(Symbol, Telnyx::EmailTemplateCommon::VariablesMode)
214
+ end
215
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
216
+
217
+ AUTOMATIC =
218
+ T.let(
219
+ :automatic,
220
+ Telnyx::EmailTemplateCommon::VariablesMode::TaggedSymbol
221
+ )
222
+ EXPLICIT =
223
+ T.let(
224
+ :explicit,
225
+ Telnyx::EmailTemplateCommon::VariablesMode::TaggedSymbol
226
+ )
227
+
228
+ sig do
229
+ override.returns(
230
+ T::Array[Telnyx::EmailTemplateCommon::VariablesMode::TaggedSymbol]
231
+ )
232
+ end
233
+ def self.values
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
@@ -15,10 +15,36 @@ module Telnyx
15
15
  sig { returns(String) }
16
16
  attr_accessor :name
17
17
 
18
+ # Per-template HTML autoescaping setting. Defaults to `false` for backward
19
+ # compatibility. When `true`, the rendered `html_body` HTML-escapes each Liquid
20
+ # expression's output at the output boundary (after its filters run, before
21
+ # concatenation with literal template markup). Input values are never mutated and
22
+ # `subject`/`text_body` are never autoescaped. The boundary escape is idempotent:
23
+ # HTML entities already present in the output (e.g. from an explicit `escape`
24
+ # filter) are preserved, so an explicit `escape`/`escape_once` is never
25
+ # double-escaped, and markup introduced by any later filter in the chain is still
26
+ # escaped.
27
+ sig { returns(T.nilable(T::Boolean)) }
28
+ attr_reader :autoescape
29
+
30
+ sig { params(autoescape: T::Boolean).void }
31
+ attr_writer :autoescape
32
+
18
33
  # Liquid template HTML body.
19
34
  sig { returns(T.nilable(String)) }
20
35
  attr_accessor :html_body
21
36
 
37
+ # Per-template strict variable-validation setting. Defaults to `false` for
38
+ # backward compatibility. When `true`, a send or render that is missing a variable
39
+ # marked `required: true` in `variable_schema` fails with 422 naming the variable.
40
+ # Missing optional variables never fail; their schema `default` (when set) is
41
+ # applied to the render.
42
+ sig { returns(T.nilable(T::Boolean)) }
43
+ attr_reader :strict_variables
44
+
45
+ sig { params(strict_variables: T::Boolean).void }
46
+ attr_writer :strict_variables
47
+
22
48
  # Liquid template subject.
23
49
  sig { returns(T.nilable(String)) }
24
50
  attr_accessor :subject
@@ -27,12 +53,48 @@ module Telnyx
27
53
  sig { returns(T.nilable(String)) }
28
54
  attr_accessor :text_body
29
55
 
30
- # Template variables. Auto-extracted from subject/body fields when absent.
56
+ # Structured variable requirements. Required variables cannot define defaults;
57
+ # invalid combinations return 422. This is independent of the legacy `variables`
58
+ # array. On render with `strict_variables` enabled: `required` variables must be
59
+ # supplied as non-empty values — absent, `null`, empty string, empty object `{}`,
60
+ # and empty array `[]` all fail with 422 naming the variable, while present values
61
+ # such as `false` and `0` pass (they are present, not empty). Optional variables
62
+ # fall back to their `default` when absent.
63
+ sig do
64
+ returns(
65
+ T.nilable(
66
+ T::Hash[Symbol, Telnyx::EmailTemplateCreateParams::VariableSchema]
67
+ )
68
+ )
69
+ end
70
+ attr_accessor :variable_schema
71
+
72
+ # Persisted variable names. In `automatic` mode a non-null array is rejected; in
73
+ # `explicit` mode this is the exact manual array and each item is limited to 255
74
+ # Unicode code points.
31
75
  sig { returns(T.nilable(T::Array[String])) }
32
- attr_reader :variables
76
+ attr_accessor :variables
33
77
 
34
- sig { params(variables: T::Array[String]).void }
35
- attr_writer :variables
78
+ # Controls how `variables` is maintained. If both fields are omitted (or
79
+ # `variables` is null), the template uses `automatic` mode and extracts variable
80
+ # names from the effective subject, HTML body, and text body. A non-null
81
+ # `variables` array with no mode selects `explicit`. `automatic` rejects a
82
+ # simultaneous non-null array; `explicit` requires a non-null array, including
83
+ # valid `[]`, and preserves its exact order, duplicates, and string contents.
84
+ sig do
85
+ returns(
86
+ T.nilable(Telnyx::EmailTemplateCreateParams::VariablesMode::OrSymbol)
87
+ )
88
+ end
89
+ attr_reader :variables_mode
90
+
91
+ sig do
92
+ params(
93
+ variables_mode:
94
+ Telnyx::EmailTemplateCreateParams::VariablesMode::OrSymbol
95
+ ).void
96
+ end
97
+ attr_writer :variables_mode
36
98
 
37
99
  sig { returns(T.nilable(String)) }
38
100
  attr_reader :idempotency_key
@@ -43,10 +105,21 @@ module Telnyx
43
105
  sig do
44
106
  params(
45
107
  name: String,
108
+ autoescape: T::Boolean,
46
109
  html_body: T.nilable(String),
110
+ strict_variables: T::Boolean,
47
111
  subject: T.nilable(String),
48
112
  text_body: T.nilable(String),
49
- variables: T::Array[String],
113
+ variable_schema:
114
+ T.nilable(
115
+ T::Hash[
116
+ Symbol,
117
+ Telnyx::EmailTemplateCreateParams::VariableSchema::OrHash
118
+ ]
119
+ ),
120
+ variables: T.nilable(T::Array[String]),
121
+ variables_mode:
122
+ Telnyx::EmailTemplateCreateParams::VariablesMode::OrSymbol,
50
123
  idempotency_key: String,
51
124
  request_options: Telnyx::RequestOptions::OrHash
52
125
  ).returns(T.attached_class)
@@ -54,14 +127,47 @@ module Telnyx
54
127
  def self.new(
55
128
  # Letters, numbers, spaces, hyphens, and underscores only.
56
129
  name:,
130
+ # Per-template HTML autoescaping setting. Defaults to `false` for backward
131
+ # compatibility. When `true`, the rendered `html_body` HTML-escapes each Liquid
132
+ # expression's output at the output boundary (after its filters run, before
133
+ # concatenation with literal template markup). Input values are never mutated and
134
+ # `subject`/`text_body` are never autoescaped. The boundary escape is idempotent:
135
+ # HTML entities already present in the output (e.g. from an explicit `escape`
136
+ # filter) are preserved, so an explicit `escape`/`escape_once` is never
137
+ # double-escaped, and markup introduced by any later filter in the chain is still
138
+ # escaped.
139
+ autoescape: nil,
57
140
  # Liquid template HTML body.
58
141
  html_body: nil,
142
+ # Per-template strict variable-validation setting. Defaults to `false` for
143
+ # backward compatibility. When `true`, a send or render that is missing a variable
144
+ # marked `required: true` in `variable_schema` fails with 422 naming the variable.
145
+ # Missing optional variables never fail; their schema `default` (when set) is
146
+ # applied to the render.
147
+ strict_variables: nil,
59
148
  # Liquid template subject.
60
149
  subject: nil,
61
150
  # Liquid template text body.
62
151
  text_body: nil,
63
- # Template variables. Auto-extracted from subject/body fields when absent.
152
+ # Structured variable requirements. Required variables cannot define defaults;
153
+ # invalid combinations return 422. This is independent of the legacy `variables`
154
+ # array. On render with `strict_variables` enabled: `required` variables must be
155
+ # supplied as non-empty values — absent, `null`, empty string, empty object `{}`,
156
+ # and empty array `[]` all fail with 422 naming the variable, while present values
157
+ # such as `false` and `0` pass (they are present, not empty). Optional variables
158
+ # fall back to their `default` when absent.
159
+ variable_schema: nil,
160
+ # Persisted variable names. In `automatic` mode a non-null array is rejected; in
161
+ # `explicit` mode this is the exact manual array and each item is limited to 255
162
+ # Unicode code points.
64
163
  variables: nil,
164
+ # Controls how `variables` is maintained. If both fields are omitted (or
165
+ # `variables` is null), the template uses `automatic` mode and extracts variable
166
+ # names from the effective subject, HTML body, and text body. A non-null
167
+ # `variables` array with no mode selects `explicit`. `automatic` rejects a
168
+ # simultaneous non-null array; `explicit` requires a non-null array, including
169
+ # valid `[]`, and preserves its exact order, duplicates, and string contents.
170
+ variables_mode: nil,
65
171
  idempotency_key: nil,
66
172
  request_options: {}
67
173
  )
@@ -71,10 +177,21 @@ module Telnyx
71
177
  override.returns(
72
178
  {
73
179
  name: String,
180
+ autoescape: T::Boolean,
74
181
  html_body: T.nilable(String),
182
+ strict_variables: T::Boolean,
75
183
  subject: T.nilable(String),
76
184
  text_body: T.nilable(String),
77
- variables: T::Array[String],
185
+ variable_schema:
186
+ T.nilable(
187
+ T::Hash[
188
+ Symbol,
189
+ Telnyx::EmailTemplateCreateParams::VariableSchema
190
+ ]
191
+ ),
192
+ variables: T.nilable(T::Array[String]),
193
+ variables_mode:
194
+ Telnyx::EmailTemplateCreateParams::VariablesMode::OrSymbol,
78
195
  idempotency_key: String,
79
196
  request_options: Telnyx::RequestOptions
80
197
  }
@@ -82,6 +199,83 @@ module Telnyx
82
199
  end
83
200
  def to_hash
84
201
  end
202
+
203
+ class VariableSchema < Telnyx::Internal::Type::BaseModel
204
+ OrHash =
205
+ T.type_alias do
206
+ T.any(
207
+ Telnyx::EmailTemplateCreateParams::VariableSchema,
208
+ Telnyx::Internal::AnyHash
209
+ )
210
+ end
211
+
212
+ # Whether the variable must be supplied when strict variable validation is
213
+ # enabled.
214
+ sig { returns(T::Boolean) }
215
+ attr_accessor :required
216
+
217
+ # Default value for an optional variable. Rejected when `required` is `true`.
218
+ sig { returns(T.nilable(String)) }
219
+ attr_reader :default
220
+
221
+ sig { params(default: String).void }
222
+ attr_writer :default
223
+
224
+ sig do
225
+ params(required: T::Boolean, default: String).returns(
226
+ T.attached_class
227
+ )
228
+ end
229
+ def self.new(
230
+ # Whether the variable must be supplied when strict variable validation is
231
+ # enabled.
232
+ required:,
233
+ # Default value for an optional variable. Rejected when `required` is `true`.
234
+ default: nil
235
+ )
236
+ end
237
+
238
+ sig { override.returns({ required: T::Boolean, default: String }) }
239
+ def to_hash
240
+ end
241
+ end
242
+
243
+ # Controls how `variables` is maintained. If both fields are omitted (or
244
+ # `variables` is null), the template uses `automatic` mode and extracts variable
245
+ # names from the effective subject, HTML body, and text body. A non-null
246
+ # `variables` array with no mode selects `explicit`. `automatic` rejects a
247
+ # simultaneous non-null array; `explicit` requires a non-null array, including
248
+ # valid `[]`, and preserves its exact order, duplicates, and string contents.
249
+ module VariablesMode
250
+ extend Telnyx::Internal::Type::Enum
251
+
252
+ TaggedSymbol =
253
+ T.type_alias do
254
+ T.all(Symbol, Telnyx::EmailTemplateCreateParams::VariablesMode)
255
+ end
256
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
257
+
258
+ AUTOMATIC =
259
+ T.let(
260
+ :automatic,
261
+ Telnyx::EmailTemplateCreateParams::VariablesMode::TaggedSymbol
262
+ )
263
+ EXPLICIT =
264
+ T.let(
265
+ :explicit,
266
+ Telnyx::EmailTemplateCreateParams::VariablesMode::TaggedSymbol
267
+ )
268
+
269
+ sig do
270
+ override.returns(
271
+ T::Array[
272
+ Telnyx::EmailTemplateCreateParams::VariablesMode::TaggedSymbol
273
+ ]
274
+ )
275
+ end
276
+ def self.values
277
+ end
278
+ end
85
279
  end
86
280
  end
87
281
  end