telnyx 5.170.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 (604) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +39 -0
  5. data/lib/telnyx/models/ai/assistant_create_params.rb +36 -1
  6. data/lib/telnyx/models/ai/assistant_delete_params.rb +14 -1
  7. data/lib/telnyx/models/ai/assistant_restore_params.rb +22 -0
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +36 -1
  9. data/lib/telnyx/models/ai/assistant_whatsapp_params.rb +83 -0
  10. data/lib/telnyx/models/ai/assistant_whatsapp_response.rb +27 -0
  11. data/lib/telnyx/models/ai/assistants/deleted_assistant.rb +38 -0
  12. data/lib/telnyx/models/ai/assistants/deleted_get_params.rb +24 -0
  13. data/lib/telnyx/models/ai/assistants/deleted_list_params.rb +34 -0
  14. data/lib/telnyx/models/ai/assistants/update_assistant.rb +36 -1
  15. data/lib/telnyx/models/ai/avatar_settings_request.rb +93 -0
  16. data/lib/telnyx/models/ai/chat_completion_request.rb +22 -3
  17. data/lib/telnyx/models/ai/conversation_flow_req.rb +5 -2
  18. data/lib/telnyx/models/ai/conversation_list_params.rb +13 -1
  19. data/lib/telnyx/models/ai/delegation_settings.rb +118 -0
  20. data/lib/telnyx/models/ai/flow_edge.rb +35 -13
  21. data/lib/telnyx/models/ai/flow_node_req.rb +9 -3
  22. data/lib/telnyx/models/ai/inference_embedding.rb +36 -1
  23. data/lib/telnyx/models/ai/inference_embedding_voice_settings.rb +126 -5
  24. data/lib/telnyx/models/ai/memory/namespace.rb +33 -0
  25. data/lib/telnyx/models/ai/memory/namespace_create_params.rb +26 -0
  26. data/lib/telnyx/models/ai/memory/namespace_create_response.rb +21 -0
  27. data/lib/telnyx/models/ai/memory/namespace_delete_params.rb +26 -0
  28. data/lib/telnyx/models/ai/memory/namespace_list_params.rb +18 -0
  29. data/lib/telnyx/models/ai/memory/namespace_list_response.rb +20 -0
  30. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_params.rb +49 -0
  31. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_response.rb +47 -0
  32. data/lib/telnyx/models/ai/pay_tool_params.rb +43 -3
  33. data/lib/telnyx/models/ai/telephony_settings.rb +14 -1
  34. data/lib/telnyx/models/ai/telnyx_avatar_settings.rb +93 -0
  35. data/lib/telnyx/models/ai/tool_node.rb +19 -5
  36. data/lib/telnyx/models/ai/tool_node_req.rb +23 -7
  37. data/lib/telnyx/models/ai/transcription_settings.rb +239 -1
  38. data/lib/telnyx/models/ai/voice_settings.rb +4 -4
  39. data/lib/telnyx/models/ai/websocket_settings.rb +48 -0
  40. data/lib/telnyx/models/billing_contact.rb +15 -5
  41. data/lib/telnyx/models/bpo_authorization_input.rb +33 -0
  42. data/lib/telnyx/models/call_assistant_request.rb +21 -5
  43. data/lib/telnyx/models/call_conversation_created_webhook_event.rb +188 -0
  44. data/lib/telnyx/models/call_conversation_ended.rb +152 -1
  45. data/lib/telnyx/models/call_conversation_start_failed_webhook_event.rb +221 -0
  46. data/lib/telnyx/models/call_dial_params.rb +43 -9
  47. data/lib/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rb +175 -0
  48. data/lib/telnyx/models/call_machine_premium_detection_started_webhook_event.rb +149 -0
  49. data/lib/telnyx/models/call_machine_premium_greeting_ended.rb +8 -3
  50. data/lib/telnyx/models/calls/action_answer_params.rb +10 -6
  51. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -4
  52. data/lib/telnyx/models/calls/action_pay_params.rb +47 -1
  53. data/lib/telnyx/models/calls/action_reject_params.rb +11 -3
  54. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +6 -4
  55. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +11 -8
  56. data/lib/telnyx/models/calls/action_transfer_params.rb +37 -5
  57. data/lib/telnyx/models/calls/conversation_relay_transcription_engine_config.rb +48 -0
  58. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +5 -4
  59. data/lib/telnyx/models/conversation_relay_embedded_config.rb +11 -8
  60. data/lib/telnyx/models/conversation_relay_language.rb +7 -4
  61. data/lib/telnyx/models/dir/phone_number_list_params.rb +1 -9
  62. data/lib/telnyx/models/dir/phone_number_remove_params.rb +8 -1
  63. data/lib/telnyx/models/dir/reference_update_params.rb +18 -12
  64. data/lib/telnyx/models/dir.rb +23 -1
  65. data/lib/telnyx/models/dir_bpo_loa_params.rb +43 -0
  66. data/lib/telnyx/models/dir_delete_response.rb +51 -0
  67. data/lib/telnyx/models/dir_new_loa_params.rb +7 -33
  68. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_params.rb +40 -0
  69. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_response.rb +121 -0
  70. data/lib/telnyx/models/dir_status.rb +5 -0
  71. data/lib/telnyx/models/dir_update_infringement_params.rb +8 -4
  72. data/lib/telnyx/models/dir_update_params.rb +24 -1
  73. data/lib/telnyx/models/doc_reqs_requirement.rb +3 -0
  74. data/lib/telnyx/models/document.rb +2 -1
  75. data/lib/telnyx/models/email_template.rb +2 -126
  76. data/lib/telnyx/models/email_template_common.rb +157 -0
  77. data/lib/telnyx/models/email_template_create_params.rb +35 -4
  78. data/lib/telnyx/models/email_template_list_params.rb +84 -1
  79. data/lib/telnyx/models/email_template_render_response.rb +13 -6
  80. data/lib/telnyx/models/enterprise_create_params.rb +53 -24
  81. data/lib/telnyx/models/enterprise_list_params.rb +22 -1
  82. data/lib/telnyx/models/enterprise_public.rb +103 -21
  83. data/lib/telnyx/models/enterprise_update_params.rb +54 -15
  84. data/lib/telnyx/models/enterprises/dir_create_params.rb +29 -4
  85. data/lib/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rb +101 -0
  86. data/lib/telnyx/models/enterprises/enterprise_reputation_public.rb +20 -1
  87. data/lib/telnyx/models/enterprises/reputation/agent_input.rb +48 -15
  88. data/lib/telnyx/models/enterprises/reputation/external_verification_create_params.rb +50 -0
  89. data/lib/telnyx/models/enterprises/reputation/external_verification_list_params.rb +24 -0
  90. data/lib/telnyx/models/enterprises/reputation/external_verification_status.rb +22 -0
  91. data/lib/telnyx/models/enterprises/reputation/external_verification_wrapped.rb +84 -0
  92. data/lib/telnyx/models/enterprises/reputation/loa_render_params.rb +82 -3
  93. data/lib/telnyx/models/enterprises/reputation/number_list_params.rb +19 -1
  94. data/lib/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rb +53 -0
  95. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rb +30 -0
  96. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rb +133 -0
  97. data/lib/telnyx/models/enterprises/reputation/remediation_request.rb +4 -3
  98. data/lib/telnyx/models/enterprises/reputation/reputation_number_source.rb +23 -0
  99. data/lib/telnyx/models/enterprises/reputation/reputation_ownership_status.rb +32 -0
  100. data/lib/telnyx/models/enterprises/reputation/reputation_phone_number.rb +93 -3
  101. data/lib/telnyx/models/enterprises/reputation_update_webhook_params.rb +35 -0
  102. data/lib/telnyx/models/enterprises/verify_email_confirm_params.rb +31 -0
  103. data/lib/telnyx/models/enterprises/verify_email_create_params.rb +22 -0
  104. data/lib/telnyx/models/infringement_claim.rb +4 -0
  105. data/lib/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rb +35 -0
  106. data/lib/telnyx/models/llm_token_gateway/budget_duration.rb +18 -0
  107. data/lib/telnyx/models/llm_token_gateway/guardrail_finding.rb +58 -0
  108. data/lib/telnyx/models/llm_token_gateway/spend_group_by.rb +40 -0
  109. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rb +96 -0
  110. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rb +282 -0
  111. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rb +105 -0
  112. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rb +189 -0
  113. data/lib/telnyx/models/llm_token_gateway/token_group.rb +413 -0
  114. data/lib/telnyx/models/llm_token_gateway/token_group_create_params.rb +359 -0
  115. data/lib/telnyx/models/llm_token_gateway/token_group_delete_params.rb +34 -0
  116. data/lib/telnyx/models/llm_token_gateway/token_group_list_params.rb +42 -0
  117. data/lib/telnyx/models/llm_token_gateway/token_group_response.rb +18 -0
  118. data/lib/telnyx/models/llm_token_gateway/token_group_retrieve_params.rb +22 -0
  119. data/lib/telnyx/models/llm_token_gateway/token_group_update_params.rb +373 -0
  120. data/lib/telnyx/models/llm_token_gateway/token_key.rb +208 -0
  121. data/lib/telnyx/models/llm_token_gateway/token_key_create_params.rb +126 -0
  122. data/lib/telnyx/models/llm_token_gateway/token_key_delete_params.rb +34 -0
  123. data/lib/telnyx/models/llm_token_gateway/token_key_list_params.rb +56 -0
  124. data/lib/telnyx/models/llm_token_gateway/token_key_response.rb +18 -0
  125. data/lib/telnyx/models/llm_token_gateway/token_key_retrieve_params.rb +22 -0
  126. data/lib/telnyx/models/llm_token_gateway/token_key_update_params.rb +127 -0
  127. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rb +52 -0
  128. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rb +585 -0
  129. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rb +52 -0
  130. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rb +534 -0
  131. data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +4 -4
  132. data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +2 -3
  133. data/lib/telnyx/models/model_metadata.rb +9 -3
  134. data/lib/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rb +176 -0
  135. data/lib/telnyx/models/number_reputation_number_flagged_webhook_event.rb +198 -0
  136. data/lib/telnyx/models/number_reputation_number_removed_webhook_event.rb +204 -0
  137. data/lib/telnyx/models/organization_contact.rb +15 -6
  138. data/lib/telnyx/models/phone_numbers/job_list_params.rb +18 -3
  139. data/lib/telnyx/models/physical_address.rb +13 -4
  140. data/lib/telnyx/models/porting_order.rb +2 -0
  141. data/lib/telnyx/models/porting_orders/porting_phone_number_block.rb +2 -0
  142. data/lib/telnyx/models/porting_phone_number.rb +2 -0
  143. data/lib/telnyx/models/reputation/number_list_params.rb +19 -1
  144. data/lib/telnyx/models/requirement_list_params.rb +3 -0
  145. data/lib/telnyx/models/signature_payload.rb +28 -0
  146. data/lib/telnyx/models/sip_registration_status_list_params.rb +59 -0
  147. data/lib/telnyx/models/sip_registration_status_list_response.rb +220 -0
  148. data/lib/telnyx/models/spend_limit.rb +289 -0
  149. data/lib/telnyx/models/spend_limit_create_params.rb +144 -0
  150. data/lib/telnyx/models/spend_limit_delete_params.rb +37 -0
  151. data/lib/telnyx/models/spend_limit_list_params.rb +14 -0
  152. data/lib/telnyx/models/spend_limit_list_response.rb +51 -0
  153. data/lib/telnyx/models/spend_limit_period.rb +16 -0
  154. data/lib/telnyx/models/spend_limit_response.rb +17 -0
  155. data/lib/telnyx/models/spend_limit_update_params.rb +127 -0
  156. data/lib/telnyx/models/terms_of_service/tos_agreement.rb +8 -4
  157. data/lib/telnyx/models/terms_of_service_retrieve_info_response.rb +8 -4
  158. data/lib/telnyx/models/terms_of_service_retrieve_status_response.rb +2 -1
  159. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +4 -2
  160. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +5 -3
  161. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +17 -1
  162. data/lib/telnyx/models/unwrap_webhook_event.rb +17 -1
  163. data/lib/telnyx/models/update_email_template_request.rb +37 -3
  164. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rb +24 -0
  165. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rb +20 -0
  166. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rb +59 -0
  167. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rb +20 -0
  168. data/lib/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rb +48 -0
  169. data/lib/telnyx/models/whatsapp/signup_list_params.rb +62 -0
  170. data/lib/telnyx/models/whatsapp/signup_list_response.rb +138 -0
  171. data/lib/telnyx/models/whatsapp/signup_retrieve_status_params.rb +22 -0
  172. data/lib/telnyx/models/whatsapp/signup_retrieve_status_response.rb +150 -0
  173. data/lib/telnyx/models/whatsapp_waba_added_webhook_event.rb +148 -0
  174. data/lib/telnyx/models.rb +47 -0
  175. data/lib/telnyx/resources/ai/assistants/deleted.rb +71 -0
  176. data/lib/telnyx/resources/ai/assistants/versions.rb +7 -1
  177. data/lib/telnyx/resources/ai/assistants.rb +118 -4
  178. data/lib/telnyx/resources/ai/conversations.rb +4 -1
  179. data/lib/telnyx/resources/ai/memory/namespaces/profiles.rb +41 -0
  180. data/lib/telnyx/resources/ai/memory/namespaces.rb +62 -1
  181. data/lib/telnyx/resources/ai/memory.rb +0 -1
  182. data/lib/telnyx/resources/ai/openai/chat.rb +1 -1
  183. data/lib/telnyx/resources/ai/tools.rb +2 -2
  184. data/lib/telnyx/resources/calls/actions.rb +41 -6
  185. data/lib/telnyx/resources/calls.rb +12 -1
  186. data/lib/telnyx/resources/dir/phone_numbers.rb +9 -8
  187. data/lib/telnyx/resources/dir/references.rb +6 -6
  188. data/lib/telnyx/resources/dir.rb +109 -16
  189. data/lib/telnyx/resources/email_templates.rb +32 -9
  190. data/lib/telnyx/resources/enterprises/dir.rb +14 -4
  191. data/lib/telnyx/resources/enterprises/reputation/external_verification.rb +74 -0
  192. data/lib/telnyx/resources/enterprises/reputation/loa.rb +1 -1
  193. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +99 -3
  194. data/lib/telnyx/resources/enterprises/reputation.rb +36 -0
  195. data/lib/telnyx/resources/enterprises/verify_email.rb +75 -0
  196. data/lib/telnyx/resources/enterprises.rb +64 -32
  197. data/lib/telnyx/resources/llm_token_gateway/spend.rb +131 -0
  198. data/lib/telnyx/resources/llm_token_gateway/token_groups.rb +217 -0
  199. data/lib/telnyx/resources/llm_token_gateway/token_keys.rb +217 -0
  200. data/lib/telnyx/resources/llm_token_gateway/usage.rb +104 -0
  201. data/lib/telnyx/resources/llm_token_gateway.rb +34 -0
  202. data/lib/telnyx/resources/meeting_sessions.rb +6 -6
  203. data/lib/telnyx/resources/phone_numbers/jobs.rb +4 -3
  204. data/lib/telnyx/resources/reputation/numbers.rb +7 -1
  205. data/lib/telnyx/resources/sip_registration_status.rb +59 -0
  206. data/lib/telnyx/resources/spend_limits.rb +154 -0
  207. data/lib/telnyx/resources/texml.rb +5 -3
  208. data/lib/telnyx/resources/webhooks.rb +2 -2
  209. data/lib/telnyx/resources/whatsapp/phone_numbers/calling_routing.rb +91 -0
  210. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +5 -0
  211. data/lib/telnyx/resources/whatsapp/signup.rb +79 -0
  212. data/lib/telnyx/resources/whatsapp.rb +4 -0
  213. data/lib/telnyx/version.rb +1 -1
  214. data/lib/telnyx.rb +106 -3
  215. data/rbi/telnyx/client.rbi +36 -0
  216. data/rbi/telnyx/models/ai/assistant_create_params.rbi +67 -0
  217. data/rbi/telnyx/models/ai/assistant_delete_params.rbi +21 -2
  218. data/rbi/telnyx/models/ai/assistant_restore_params.rbi +37 -0
  219. data/rbi/telnyx/models/ai/assistant_update_params.rbi +67 -0
  220. data/rbi/telnyx/models/ai/assistant_whatsapp_params.rbi +139 -0
  221. data/rbi/telnyx/models/ai/assistant_whatsapp_response.rbi +44 -0
  222. data/rbi/telnyx/models/ai/assistants/deleted_assistant.rbi +52 -0
  223. data/rbi/telnyx/models/ai/assistants/deleted_get_params.rbi +42 -0
  224. data/rbi/telnyx/models/ai/assistants/deleted_list_params.rbi +64 -0
  225. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +69 -0
  226. data/rbi/telnyx/models/ai/avatar_settings_request.rbi +186 -0
  227. data/rbi/telnyx/models/ai/chat_completion_request.rbi +43 -8
  228. data/rbi/telnyx/models/ai/conversation_flow_req.rbi +2 -2
  229. data/rbi/telnyx/models/ai/conversation_list_params.rbi +19 -0
  230. data/rbi/telnyx/models/ai/delegation_settings.rbi +190 -0
  231. data/rbi/telnyx/models/ai/external_llm.rbi +2 -5
  232. data/rbi/telnyx/models/ai/flow_edge.rbi +23 -9
  233. data/rbi/telnyx/models/ai/flow_node_req.rbi +16 -5
  234. data/rbi/telnyx/models/ai/inference_embedding.rbi +66 -0
  235. data/rbi/telnyx/models/ai/inference_embedding_voice_settings.rbi +276 -6
  236. data/rbi/telnyx/models/ai/memory/namespace.rbi +38 -0
  237. data/rbi/telnyx/models/ai/memory/namespace_create_params.rbi +47 -0
  238. data/rbi/telnyx/models/ai/memory/namespace_create_response.rbi +41 -0
  239. data/rbi/telnyx/models/ai/memory/namespace_delete_params.rbi +47 -0
  240. data/rbi/telnyx/models/ai/memory/namespace_list_params.rbi +34 -0
  241. data/rbi/telnyx/models/ai/memory/namespace_list_response.rbi +36 -0
  242. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_params.rbi +72 -0
  243. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_response.rbi +97 -0
  244. data/rbi/telnyx/models/ai/pay_tool_params.rbi +107 -5
  245. data/rbi/telnyx/models/ai/telephony_settings.rbi +21 -0
  246. data/rbi/telnyx/models/ai/telnyx_avatar_settings.rbi +187 -0
  247. data/rbi/telnyx/models/ai/tool_node.rbi +31 -8
  248. data/rbi/telnyx/models/ai/tool_node_req.rbi +35 -10
  249. data/rbi/telnyx/models/ai/transcription_settings.rbi +564 -0
  250. data/rbi/telnyx/models/ai/voice_settings.rbi +6 -6
  251. data/rbi/telnyx/models/ai/websocket_settings.rbi +73 -0
  252. data/rbi/telnyx/models/billing_contact.rbi +16 -2
  253. data/rbi/telnyx/models/bpo_authorization_input.rbi +46 -0
  254. data/rbi/telnyx/models/call_assistant_request.rbi +30 -3
  255. data/rbi/telnyx/models/call_conversation_created_webhook_event.rbi +415 -0
  256. data/rbi/telnyx/models/call_conversation_ended.rbi +373 -0
  257. data/rbi/telnyx/models/call_conversation_start_failed_webhook_event.rbi +488 -0
  258. data/rbi/telnyx/models/call_dial_params.rbi +68 -12
  259. data/rbi/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbi +399 -0
  260. data/rbi/telnyx/models/call_machine_premium_detection_started_webhook_event.rbi +336 -0
  261. data/rbi/telnyx/models/call_machine_premium_greeting_ended.rbi +14 -3
  262. data/rbi/telnyx/models/calls/action_answer_params.rbi +16 -8
  263. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +8 -8
  264. data/rbi/telnyx/models/calls/action_pay_params.rbi +74 -0
  265. data/rbi/telnyx/models/calls/action_reject_params.rbi +22 -3
  266. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +10 -6
  267. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +29 -14
  268. data/rbi/telnyx/models/calls/action_transfer_params.rbi +58 -6
  269. data/rbi/telnyx/models/calls/conversation_relay_transcription_engine_config.rbi +78 -0
  270. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +8 -6
  271. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +29 -14
  272. data/rbi/telnyx/models/conversation_relay_language.rbi +21 -6
  273. data/rbi/telnyx/models/dir/phone_number_list_params.rbi +0 -11
  274. data/rbi/telnyx/models/dir/phone_number_remove_params.rbi +9 -1
  275. data/rbi/telnyx/models/dir/reference_update_params.rbi +18 -12
  276. data/rbi/telnyx/models/dir.rbi +31 -3
  277. data/rbi/telnyx/models/dir_bpo_loa_params.rbi +66 -0
  278. data/rbi/telnyx/models/dir_delete_response.rbi +105 -0
  279. data/rbi/telnyx/models/dir_new_loa_params.rbi +10 -49
  280. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_params.rbi +66 -0
  281. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_response.rbi +235 -0
  282. data/rbi/telnyx/models/dir_status.rbi +6 -0
  283. data/rbi/telnyx/models/dir_update_infringement_params.rbi +10 -3
  284. data/rbi/telnyx/models/dir_update_params.rbi +37 -0
  285. data/rbi/telnyx/models/doc_reqs_requirement.rbi +15 -0
  286. data/rbi/telnyx/models/document.rbi +2 -0
  287. data/rbi/telnyx/models/email_template.rbi +4 -170
  288. data/rbi/telnyx/models/email_template_common.rbi +238 -0
  289. data/rbi/telnyx/models/email_template_create_params.rbi +77 -7
  290. data/rbi/telnyx/models/email_template_list_params.rbi +215 -0
  291. data/rbi/telnyx/models/email_template_render_response.rbi +13 -10
  292. data/rbi/telnyx/models/enterprise_create_params.rbi +74 -23
  293. data/rbi/telnyx/models/enterprise_list_params.rbi +55 -0
  294. data/rbi/telnyx/models/enterprise_public.rbi +176 -12
  295. data/rbi/telnyx/models/enterprise_update_params.rbi +74 -4
  296. data/rbi/telnyx/models/enterprises/dir_create_params.rbi +43 -3
  297. data/rbi/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbi +208 -0
  298. data/rbi/telnyx/models/enterprises/enterprise_reputation_public.rbi +33 -3
  299. data/rbi/telnyx/models/enterprises/reputation/agent_input.rbi +39 -2
  300. data/rbi/telnyx/models/enterprises/reputation/external_verification_create_params.rbi +77 -0
  301. data/rbi/telnyx/models/enterprises/reputation/external_verification_list_params.rbi +42 -0
  302. data/rbi/telnyx/models/enterprises/reputation/external_verification_status.rbi +50 -0
  303. data/rbi/telnyx/models/enterprises/reputation/external_verification_wrapped.rbi +158 -0
  304. data/rbi/telnyx/models/enterprises/reputation/loa_render_params.rbi +109 -4
  305. data/rbi/telnyx/models/enterprises/reputation/number_list_params.rbi +52 -0
  306. data/rbi/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbi +75 -0
  307. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbi +50 -0
  308. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbi +279 -0
  309. data/rbi/telnyx/models/enterprises/reputation/remediation_request.rbi +6 -4
  310. data/rbi/telnyx/models/enterprises/reputation/reputation_number_source.rbi +47 -0
  311. data/rbi/telnyx/models/enterprises/reputation/reputation_ownership_status.rbi +64 -0
  312. data/rbi/telnyx/models/enterprises/reputation/reputation_phone_number.rbi +180 -2
  313. data/rbi/telnyx/models/enterprises/reputation_update_webhook_params.rbi +56 -0
  314. data/rbi/telnyx/models/enterprises/verify_email_confirm_params.rbi +54 -0
  315. data/rbi/telnyx/models/enterprises/verify_email_create_params.rbi +40 -0
  316. data/rbi/telnyx/models/infringement_claim.rbi +8 -0
  317. data/rbi/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbi +53 -0
  318. data/rbi/telnyx/models/llm_token_gateway/budget_duration.rbi +32 -0
  319. data/rbi/telnyx/models/llm_token_gateway/guardrail_finding.rbi +131 -0
  320. data/rbi/telnyx/models/llm_token_gateway/spend_group_by.rbi +45 -0
  321. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbi +144 -0
  322. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbi +475 -0
  323. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbi +154 -0
  324. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbi +265 -0
  325. data/rbi/telnyx/models/llm_token_gateway/token_group.rbi +891 -0
  326. data/rbi/telnyx/models/llm_token_gateway/token_group_create_params.rbi +867 -0
  327. data/rbi/telnyx/models/llm_token_gateway/token_group_delete_params.rbi +53 -0
  328. data/rbi/telnyx/models/llm_token_gateway/token_group_list_params.rbi +71 -0
  329. data/rbi/telnyx/models/llm_token_gateway/token_group_response.rbi +35 -0
  330. data/rbi/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbi +40 -0
  331. data/rbi/telnyx/models/llm_token_gateway/token_group_update_params.rbi +885 -0
  332. data/rbi/telnyx/models/llm_token_gateway/token_key.rbi +281 -0
  333. data/rbi/telnyx/models/llm_token_gateway/token_key_create_params.rbi +160 -0
  334. data/rbi/telnyx/models/llm_token_gateway/token_key_delete_params.rbi +53 -0
  335. data/rbi/telnyx/models/llm_token_gateway/token_key_list_params.rbi +89 -0
  336. data/rbi/telnyx/models/llm_token_gateway/token_key_response.rbi +35 -0
  337. data/rbi/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbi +40 -0
  338. data/rbi/telnyx/models/llm_token_gateway/token_key_update_params.rbi +165 -0
  339. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbi +86 -0
  340. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbi +991 -0
  341. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbi +77 -0
  342. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbi +828 -0
  343. data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +1 -1
  344. data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +2 -4
  345. data/rbi/telnyx/models/model_metadata.rbi +16 -4
  346. data/rbi/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbi +384 -0
  347. data/rbi/telnyx/models/number_reputation_number_flagged_webhook_event.rbi +425 -0
  348. data/rbi/telnyx/models/number_reputation_number_removed_webhook_event.rbi +440 -0
  349. data/rbi/telnyx/models/organization_contact.rbi +14 -2
  350. data/rbi/telnyx/models/phone_numbers/job_list_params.rbi +27 -3
  351. data/rbi/telnyx/models/physical_address.rbi +12 -0
  352. data/rbi/telnyx/models/porting_order.rbi +7 -0
  353. data/rbi/telnyx/models/porting_orders/porting_phone_number_block.rbi +10 -0
  354. data/rbi/telnyx/models/porting_phone_number.rbi +10 -0
  355. data/rbi/telnyx/models/reputation/number_list_params.rbi +52 -0
  356. data/rbi/telnyx/models/requirement_list_params.rbi +15 -0
  357. data/rbi/telnyx/models/signature_payload.rbi +43 -0
  358. data/rbi/telnyx/models/sip_registration_status_list_params.rbi +124 -0
  359. data/rbi/telnyx/models/sip_registration_status_list_response.rbi +429 -0
  360. data/rbi/telnyx/models/spend_limit.rbi +385 -0
  361. data/rbi/telnyx/models/spend_limit_create_params.rbi +301 -0
  362. data/rbi/telnyx/models/spend_limit_delete_params.rbi +63 -0
  363. data/rbi/telnyx/models/spend_limit_list_params.rbi +27 -0
  364. data/rbi/telnyx/models/spend_limit_list_response.rbi +109 -0
  365. data/rbi/telnyx/models/spend_limit_period.rbi +20 -0
  366. data/rbi/telnyx/models/spend_limit_response.rbi +30 -0
  367. data/rbi/telnyx/models/spend_limit_update_params.rbi +280 -0
  368. data/rbi/telnyx/models/terms_of_service/tos_agreement.rbi +8 -0
  369. data/rbi/telnyx/models/terms_of_service_retrieve_info_response.rbi +8 -0
  370. data/rbi/telnyx/models/terms_of_service_retrieve_status_response.rbi +2 -0
  371. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +6 -2
  372. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +8 -4
  373. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +9 -1
  374. data/rbi/telnyx/models/unwrap_webhook_event.rbi +9 -1
  375. data/rbi/telnyx/models/update_email_template_request.rbi +78 -6
  376. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbi +42 -0
  377. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbi +51 -0
  378. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbi +94 -0
  379. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbi +51 -0
  380. data/rbi/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbi +96 -0
  381. data/rbi/telnyx/models/whatsapp/signup_list_params.rbi +99 -0
  382. data/rbi/telnyx/models/whatsapp/signup_list_response.rbi +313 -0
  383. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_params.rbi +40 -0
  384. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_response.rbi +363 -0
  385. data/rbi/telnyx/models/whatsapp_waba_added_webhook_event.rbi +324 -0
  386. data/rbi/telnyx/models.rbi +53 -0
  387. data/rbi/telnyx/resources/ai/assistants/deleted.rbi +58 -0
  388. data/rbi/telnyx/resources/ai/assistants/versions.rbi +22 -0
  389. data/rbi/telnyx/resources/ai/assistants.rbi +142 -0
  390. data/rbi/telnyx/resources/ai/conversations.rbi +7 -0
  391. data/rbi/telnyx/resources/ai/memory/namespaces/profiles.rbi +35 -0
  392. data/rbi/telnyx/resources/ai/memory/namespaces.rbi +39 -1
  393. data/rbi/telnyx/resources/ai/memory.rbi +0 -1
  394. data/rbi/telnyx/resources/ai/openai/chat.rbi +21 -2
  395. data/rbi/telnyx/resources/ai/tools.rbi +1 -1
  396. data/rbi/telnyx/resources/calls/actions.rbi +91 -20
  397. data/rbi/telnyx/resources/calls.rbi +28 -5
  398. data/rbi/telnyx/resources/dir/phone_numbers.rbi +6 -7
  399. data/rbi/telnyx/resources/dir/references.rbi +9 -6
  400. data/rbi/telnyx/resources/dir.rbi +103 -14
  401. data/rbi/telnyx/resources/email_templates.rbi +68 -6
  402. data/rbi/telnyx/resources/enterprises/dir.rbi +23 -3
  403. data/rbi/telnyx/resources/enterprises/reputation/external_verification.rbi +65 -0
  404. data/rbi/telnyx/resources/enterprises/reputation/loa.rbi +2 -1
  405. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +78 -2
  406. data/rbi/telnyx/resources/enterprises/reputation.rbi +29 -0
  407. data/rbi/telnyx/resources/enterprises/verify_email.rbi +64 -0
  408. data/rbi/telnyx/resources/enterprises.rbi +105 -19
  409. data/rbi/telnyx/resources/llm_token_gateway/spend.rbi +116 -0
  410. data/rbi/telnyx/resources/llm_token_gateway/token_groups.rbi +278 -0
  411. data/rbi/telnyx/resources/llm_token_gateway/token_keys.rbi +220 -0
  412. data/rbi/telnyx/resources/llm_token_gateway/usage.rbi +90 -0
  413. data/rbi/telnyx/resources/llm_token_gateway.rbi +28 -0
  414. data/rbi/telnyx/resources/meeting_sessions.rbi +6 -6
  415. data/rbi/telnyx/resources/phone_numbers/jobs.rbi +6 -4
  416. data/rbi/telnyx/resources/reputation/numbers.rbi +10 -0
  417. data/rbi/telnyx/resources/sip_registration_status.rbi +52 -0
  418. data/rbi/telnyx/resources/spend_limits.rbi +126 -0
  419. data/rbi/telnyx/resources/texml.rbi +7 -3
  420. data/rbi/telnyx/resources/webhooks.rbi +18 -2
  421. data/rbi/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbi +82 -0
  422. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +6 -0
  423. data/rbi/telnyx/resources/whatsapp/signup.rbi +61 -0
  424. data/rbi/telnyx/resources/whatsapp.rbi +3 -0
  425. data/sig/telnyx/client.rbs +6 -0
  426. data/sig/telnyx/models/ai/assistant_create_params.rbs +23 -0
  427. data/sig/telnyx/models/ai/assistant_delete_params.rbs +8 -1
  428. data/sig/telnyx/models/ai/assistant_restore_params.rbs +25 -0
  429. data/sig/telnyx/models/ai/assistant_update_params.rbs +23 -0
  430. data/sig/telnyx/models/ai/assistant_whatsapp_params.rbs +67 -0
  431. data/sig/telnyx/models/ai/assistant_whatsapp_response.rbs +18 -0
  432. data/sig/telnyx/models/ai/assistants/deleted_assistant.rbs +29 -0
  433. data/sig/telnyx/models/ai/assistants/deleted_get_params.rbs +27 -0
  434. data/sig/telnyx/models/ai/assistants/deleted_list_params.rbs +36 -0
  435. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +23 -0
  436. data/sig/telnyx/models/ai/avatar_settings_request.rbs +74 -0
  437. data/sig/telnyx/models/ai/chat_completion_request.rbs +4 -6
  438. data/sig/telnyx/models/ai/conversation_list_params.rbs +7 -0
  439. data/sig/telnyx/models/ai/delegation_settings.rbs +79 -0
  440. data/sig/telnyx/models/ai/inference_embedding.rbs +23 -0
  441. data/sig/telnyx/models/ai/inference_embedding_voice_settings.rbs +96 -0
  442. data/sig/telnyx/models/ai/memory/namespace.rbs +19 -0
  443. data/sig/telnyx/models/ai/memory/namespace_create_params.rbs +27 -0
  444. data/sig/telnyx/models/ai/memory/namespace_create_response.rbs +17 -0
  445. data/sig/telnyx/models/ai/memory/namespace_delete_params.rbs +27 -0
  446. data/sig/telnyx/models/ai/memory/namespace_list_params.rbs +19 -0
  447. data/sig/telnyx/models/ai/memory/namespace_list_response.rbs +18 -0
  448. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_params.rbs +38 -0
  449. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_response.rbs +38 -0
  450. data/sig/telnyx/models/ai/pay_tool_params.rbs +46 -3
  451. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  452. data/sig/telnyx/models/ai/telnyx_avatar_settings.rbs +74 -0
  453. data/sig/telnyx/models/ai/tool_node.rbs +7 -0
  454. data/sig/telnyx/models/ai/tool_node_req.rbs +7 -0
  455. data/sig/telnyx/models/ai/transcription_settings.rbs +159 -0
  456. data/sig/telnyx/models/ai/websocket_settings.rbs +29 -0
  457. data/sig/telnyx/models/bpo_authorization_input.rbs +19 -0
  458. data/sig/telnyx/models/call_assistant_request.rbs +9 -0
  459. data/sig/telnyx/models/call_conversation_created_webhook_event.rbs +190 -0
  460. data/sig/telnyx/models/call_conversation_ended.rbs +137 -0
  461. data/sig/telnyx/models/call_conversation_start_failed_webhook_event.rbs +210 -0
  462. data/sig/telnyx/models/call_dial_params.rbs +9 -0
  463. data/sig/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbs +177 -0
  464. data/sig/telnyx/models/call_machine_premium_detection_started_webhook_event.rbs +156 -0
  465. data/sig/telnyx/models/call_machine_premium_greeting_ended.rbs +2 -1
  466. data/sig/telnyx/models/calls/action_pay_params.rbs +24 -0
  467. data/sig/telnyx/models/calls/action_reject_params.rbs +4 -1
  468. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +6 -6
  469. data/sig/telnyx/models/calls/action_transfer_params.rbs +9 -0
  470. data/sig/telnyx/models/calls/conversation_relay_transcription_engine_config.rbs +38 -0
  471. data/sig/telnyx/models/conversation_relay_embedded_config.rbs +6 -6
  472. data/sig/telnyx/models/conversation_relay_language.rbs +6 -6
  473. data/sig/telnyx/models/dir/phone_number_list_params.rbs +1 -14
  474. data/sig/telnyx/models/dir.rbs +13 -3
  475. data/sig/telnyx/models/dir_bpo_loa_params.rbs +38 -0
  476. data/sig/telnyx/models/dir_delete_response.rbs +42 -0
  477. data/sig/telnyx/models/dir_new_loa_params.rbs +5 -19
  478. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_params.rbs +36 -0
  479. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_response.rbs +84 -0
  480. data/sig/telnyx/models/dir_status.rbs +2 -0
  481. data/sig/telnyx/models/dir_update_params.rbs +15 -1
  482. data/sig/telnyx/models/doc_reqs_requirement.rbs +5 -1
  483. data/sig/telnyx/models/email_template.rbs +6 -90
  484. data/sig/telnyx/models/email_template_common.rbs +110 -0
  485. data/sig/telnyx/models/email_template_create_params.rbs +23 -5
  486. data/sig/telnyx/models/email_template_list_params.rbs +74 -1
  487. data/sig/telnyx/models/email_template_render_response.rbs +8 -4
  488. data/sig/telnyx/models/enterprise_list_params.rbs +20 -0
  489. data/sig/telnyx/models/enterprise_public.rbs +40 -5
  490. data/sig/telnyx/models/enterprises/dir_create_params.rbs +15 -1
  491. data/sig/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbs +82 -0
  492. data/sig/telnyx/models/enterprises/enterprise_reputation_public.rbs +13 -3
  493. data/sig/telnyx/models/enterprises/reputation/external_verification_create_params.rbs +42 -0
  494. data/sig/telnyx/models/enterprises/reputation/external_verification_list_params.rbs +27 -0
  495. data/sig/telnyx/models/enterprises/reputation/external_verification_status.rbs +19 -0
  496. data/sig/telnyx/models/enterprises/reputation/external_verification_wrapped.rbs +81 -0
  497. data/sig/telnyx/models/enterprises/reputation/loa_render_params.rbs +78 -6
  498. data/sig/telnyx/models/enterprises/reputation/number_list_params.rbs +18 -0
  499. data/sig/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbs +47 -0
  500. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbs +32 -0
  501. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbs +122 -0
  502. data/sig/telnyx/models/enterprises/reputation/reputation_number_source.rbs +20 -0
  503. data/sig/telnyx/models/enterprises/reputation/reputation_ownership_status.rbs +23 -0
  504. data/sig/telnyx/models/enterprises/reputation/reputation_phone_number.rbs +57 -0
  505. data/sig/telnyx/models/enterprises/reputation_update_webhook_params.rbs +30 -0
  506. data/sig/telnyx/models/enterprises/verify_email_confirm_params.rbs +30 -0
  507. data/sig/telnyx/models/enterprises/verify_email_create_params.rbs +25 -0
  508. data/sig/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbs +37 -0
  509. data/sig/telnyx/models/llm_token_gateway/budget_duration.rbs +17 -0
  510. data/sig/telnyx/models/llm_token_gateway/guardrail_finding.rbs +60 -0
  511. data/sig/telnyx/models/llm_token_gateway/spend_group_by.rbs +19 -0
  512. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbs +93 -0
  513. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbs +226 -0
  514. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbs +94 -0
  515. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbs +153 -0
  516. data/sig/telnyx/models/llm_token_gateway/token_group.rbs +356 -0
  517. data/sig/telnyx/models/llm_token_gateway/token_group_create_params.rbs +326 -0
  518. data/sig/telnyx/models/llm_token_gateway/token_group_delete_params.rbs +34 -0
  519. data/sig/telnyx/models/llm_token_gateway/token_group_list_params.rbs +40 -0
  520. data/sig/telnyx/models/llm_token_gateway/token_group_response.rbs +15 -0
  521. data/sig/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbs +22 -0
  522. data/sig/telnyx/models/llm_token_gateway/token_group_update_params.rbs +340 -0
  523. data/sig/telnyx/models/llm_token_gateway/token_key.rbs +147 -0
  524. data/sig/telnyx/models/llm_token_gateway/token_key_create_params.rbs +92 -0
  525. data/sig/telnyx/models/llm_token_gateway/token_key_delete_params.rbs +34 -0
  526. data/sig/telnyx/models/llm_token_gateway/token_key_list_params.rbs +58 -0
  527. data/sig/telnyx/models/llm_token_gateway/token_key_response.rbs +15 -0
  528. data/sig/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbs +22 -0
  529. data/sig/telnyx/models/llm_token_gateway/token_key_update_params.rbs +94 -0
  530. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbs +46 -0
  531. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbs +463 -0
  532. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbs +45 -0
  533. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbs +433 -0
  534. data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +4 -4
  535. data/sig/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbs +153 -0
  536. data/sig/telnyx/models/number_reputation_number_flagged_webhook_event.rbs +172 -0
  537. data/sig/telnyx/models/number_reputation_number_removed_webhook_event.rbs +178 -0
  538. data/sig/telnyx/models/phone_numbers/job_list_params.rbs +7 -0
  539. data/sig/telnyx/models/porting_order.rbs +10 -1
  540. data/sig/telnyx/models/porting_orders/porting_phone_number_block.rbs +10 -1
  541. data/sig/telnyx/models/porting_phone_number.rbs +10 -1
  542. data/sig/telnyx/models/reputation/number_list_params.rbs +18 -0
  543. data/sig/telnyx/models/requirement_list_params.rbs +10 -1
  544. data/sig/telnyx/models/signature_payload.rbs +15 -0
  545. data/sig/telnyx/models/sip_registration_status_list_params.rbs +55 -0
  546. data/sig/telnyx/models/sip_registration_status_list_response.rbs +195 -0
  547. data/sig/telnyx/models/spend_limit.rbs +208 -0
  548. data/sig/telnyx/models/spend_limit_create_params.rbs +139 -0
  549. data/sig/telnyx/models/spend_limit_delete_params.rbs +42 -0
  550. data/sig/telnyx/models/spend_limit_list_params.rbs +15 -0
  551. data/sig/telnyx/models/spend_limit_list_response.rbs +69 -0
  552. data/sig/telnyx/models/spend_limit_period.rbs +14 -0
  553. data/sig/telnyx/models/spend_limit_response.rbs +13 -0
  554. data/sig/telnyx/models/spend_limit_update_params.rbs +127 -0
  555. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +8 -0
  556. data/sig/telnyx/models/unwrap_webhook_event.rbs +8 -0
  557. data/sig/telnyx/models/update_email_template_request.rbs +23 -5
  558. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbs +27 -0
  559. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbs +22 -0
  560. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbs +43 -0
  561. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbs +22 -0
  562. data/sig/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbs +44 -0
  563. data/sig/telnyx/models/whatsapp/signup_list_params.rbs +65 -0
  564. data/sig/telnyx/models/whatsapp/signup_list_response.rbs +139 -0
  565. data/sig/telnyx/models/whatsapp/signup_retrieve_status_params.rbs +22 -0
  566. data/sig/telnyx/models/whatsapp/signup_retrieve_status_response.rbs +158 -0
  567. data/sig/telnyx/models/whatsapp_waba_added_webhook_event.rbs +140 -0
  568. data/sig/telnyx/models.rbs +44 -0
  569. data/sig/telnyx/resources/ai/assistants/deleted.rbs +22 -0
  570. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -0
  571. data/sig/telnyx/resources/ai/assistants.rbs +24 -0
  572. data/sig/telnyx/resources/ai/conversations.rbs +1 -0
  573. data/sig/telnyx/resources/ai/memory/namespaces/profiles.rbs +7 -0
  574. data/sig/telnyx/resources/ai/memory/namespaces.rbs +14 -0
  575. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -1
  576. data/sig/telnyx/resources/ai/tools.rbs +1 -1
  577. data/sig/telnyx/resources/calls/actions.rbs +3 -1
  578. data/sig/telnyx/resources/dir/phone_numbers.rbs +0 -1
  579. data/sig/telnyx/resources/dir.rbs +21 -2
  580. data/sig/telnyx/resources/email_templates.rbs +10 -3
  581. data/sig/telnyx/resources/enterprises/dir.rbs +2 -0
  582. data/sig/telnyx/resources/enterprises/reputation/external_verification.rbs +23 -0
  583. data/sig/telnyx/resources/enterprises/reputation/loa.rbs +1 -1
  584. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +16 -0
  585. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -0
  586. data/sig/telnyx/resources/enterprises/verify_email.rbs +20 -0
  587. data/sig/telnyx/resources/enterprises.rbs +3 -0
  588. data/sig/telnyx/resources/llm_token_gateway/spend.rbs +38 -0
  589. data/sig/telnyx/resources/llm_token_gateway/token_groups.rbs +66 -0
  590. data/sig/telnyx/resources/llm_token_gateway/token_keys.rbs +64 -0
  591. data/sig/telnyx/resources/llm_token_gateway/usage.rbs +25 -0
  592. data/sig/telnyx/resources/llm_token_gateway.rbs +15 -0
  593. data/sig/telnyx/resources/reputation/numbers.rbs +2 -0
  594. data/sig/telnyx/resources/sip_registration_status.rbs +14 -0
  595. data/sig/telnyx/resources/spend_limits.rbs +30 -0
  596. data/sig/telnyx/resources/webhooks.rbs +18 -2
  597. data/sig/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbs +22 -0
  598. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +2 -0
  599. data/sig/telnyx/resources/whatsapp/signup.rbs +24 -0
  600. data/sig/telnyx/resources/whatsapp.rbs +2 -0
  601. metadata +314 -5
  602. data/lib/telnyx/models/ai/tool_delete_response.rb +0 -10
  603. data/rbi/telnyx/models/ai/tool_delete_response.rbi +0 -9
  604. data/sig/telnyx/models/ai/tool_delete_response.rbs +0 -7
@@ -11,10 +11,18 @@ module Telnyx
11
11
  # include a `call_leg_id` which can be used to correlate the command with
12
12
  # subsequent webhooks.
13
13
  #
14
+ # To place the call with an AI assistant from the start, include `assistant.id`
15
+ # and any per-call overrides in the `assistant` object; Telnyx attempts to warm up
16
+ # the assistant before placing the call and starts it automatically when the
17
+ # called party answers.
18
+ #
14
19
  # **Expected Webhooks:**
15
20
  #
16
21
  # - `call.initiated`
17
22
  # - `call.answered` or `call.hangup`
23
+ # - `call.conversation.created` when the requested assistant conversation is
24
+ # created, or `call.conversation.start_failed` when it could not be started
25
+ # after the called party answered
18
26
  # - `call.hold` and `call.unhold` if the call is held/unheld
19
27
  # - `call.machine.detection.ended` if `answering_machine_detection` was requested
20
28
  # - `call.machine.greeting.ended` if `answering_machine_detection` was requested
@@ -23,6 +31,9 @@ module Telnyx
23
31
  # `answering_machine_detection=premium` was requested
24
32
  # - `call.machine.premium.greeting.ended` if `answering_machine_detection=premium`
25
33
  # was requested and a beep was detected
34
+ # - `call.machine.premium.call_screening.detected` if
35
+ # `answering_machine_detection=premium_ios_call_screening_detection` was
36
+ # requested and an Apple Call Screening tone was detected
26
37
  # - `call.deepfake_detection.result` if `deepfake_detection` was enabled
27
38
  # - `call.deepfake_detection.error` if `deepfake_detection` was enabled and an
28
39
  # error occurred
@@ -150,16 +161,28 @@ module Telnyx
150
161
  # `greeting_end` or `detect_words` is used and a `machine` is detected, you will
151
162
  # receive another `call.machine.greeting.ended` webhook when the answering machine
152
163
  # greeting ends with a beep or silence. If `detect_beep` is used, you will only
153
- # receive `call.machine.greeting.ended` if a beep is detected.
164
+ # receive `call.machine.greeting.ended` if a beep is detected. If
165
+ # `answering_machine_detection` is set to `premium_ios_call_screening_detection`,
166
+ # Premium AMD runs with iOS Call Screening support: after an initial `machine`
167
+ # result, Telnyx listens for the iOS call-screening prompt to end or for an Apple
168
+ # Call Screening tone, sends `call.machine.premium.greeting.ended` with
169
+ # `result=prompt_ended` or `call.machine.premium.call_screening.detected` with
170
+ # `result=screening` respectively. When the Apple Call Screening tone is detected,
171
+ # Premium AMD is restarted on the screened call and a
172
+ # `call.machine.premium.detection.ended` webhook with the post-screening
173
+ # classification follows.
154
174
  answering_machine_detection: nil,
155
175
  # Optional configuration parameters to modify 'answering_machine_detection'
156
176
  # performance. Only `total_analysis_time_millis` and `greeting_duration_millis`
157
177
  # parameters are applicable when `premium` is selected as
158
- # answering_machine_detection.
178
+ # answering_machine_detection. `prompt_end_timeout_millis` is additionally
179
+ # applicable when `premium_ios_call_screening_detection` is selected.
159
180
  answering_machine_detection_config: nil,
160
- # AI Assistant configuration. All fields except `id` are optional — the
161
- # assistant's stored configuration will be used as fallback for any omitted
162
- # fields.
181
+ # AI Assistant configuration and per-call overrides. All fields except `id` are
182
+ # optional. Omitted assistant fields use the stored configuration. Supplied
183
+ # `voice_settings` and `transcription` objects replace their stored objects rather
184
+ # than merging individual settings; include every setting you want to retain.
185
+ # `dynamic_variables` are merged, with request values taking precedence.
163
186
  assistant: nil,
164
187
  # The URL of a file to be played back to the callee when the call is answered. The
165
188
  # URL can point to either a WAV or MP3 file. media_name and audio_url cannot be
@@ -13,7 +13,6 @@ module Telnyx
13
13
  dir_id: String,
14
14
  page_number: Integer,
15
15
  page_size: Integer,
16
- status: Telnyx::Dir::DirPhoneNumberStatus::OrSymbol,
17
16
  request_options: Telnyx::RequestOptions::OrHash
18
17
  ).returns(
19
18
  Telnyx::Internal::DefaultFlatPagination[Telnyx::Dir::DirPhoneNumber]
@@ -26,18 +25,16 @@ module Telnyx
26
25
  page_number: nil,
27
26
  # Items per page. Maximum 250; values above are clamped to 250.
28
27
  page_size: nil,
29
- # Filter by phone-number status.
30
- status: nil,
31
28
  request_options: {}
32
29
  )
33
30
  end
34
31
 
35
32
  # Register phone numbers under a DIR. The enterprise is resolved server-side from
36
- # the DIR id. Same body, failure modes, and batch semantics whichever path form
37
- # you use.
33
+ # the DIR id.
38
34
  #
39
- # **Pricing:** This is a billable action. See https://telnyx.com/pricing/numbers
40
- # for current pricing.
35
+ # **Pricing:** Adding phone numbers is free. Branded Calling fees are charged per
36
+ # DIR and per branded call. See https://telnyx.com/pricing/branded-calling for
37
+ # current pricing.
41
38
  sig do
42
39
  params(
43
40
  dir_id: String,
@@ -74,6 +71,8 @@ module Telnyx
74
71
  def remove(
75
72
  # The DIR id. Lowercase UUID.
76
73
  dir_id,
74
+ # The phone numbers to remove from this brand, in E.164 format, up to 100 per
75
+ # request. They must currently be attached to this brand.
77
76
  phone_numbers:,
78
77
  request_options: {}
79
78
  )
@@ -96,19 +96,22 @@ module Telnyx
96
96
  dir_id:,
97
97
  # Path param: Reference type to address.
98
98
  ref_type:,
99
- # Body param: Reference contact email address.
99
+ # Body param: The reference's email address. We email them scheduling and dial-in
100
+ # instructions before we call, so use an address they check.
100
101
  email: nil,
101
- # Body param: Full name of the reference contact.
102
+ # Body param: The full name of the person we should contact as your reference.
102
103
  full_name: nil,
103
- # Body param: Job title of the reference contact.
104
+ # Body param: The reference contact's job title, for example CFO or Owner.
104
105
  job_title: nil,
105
- # Body param: Organization the reference contact belongs to.
106
+ # Body param: The name of the organization the reference contact works for.
106
107
  organization: nil,
107
- # Body param: Reference phone number in E.164 format.
108
+ # Body param: The reference's phone number in E.164 format, for example
109
+ # +14155550123. We call this number during their local business hours.
108
110
  phone_e164: nil,
109
111
  # Body param: How the reference contact is related to the registering business.
110
112
  relationship_to_registrant: nil,
111
- # Body param: IANA timezone id for the reference.
113
+ # Body param: The reference's IANA time zone, for example America/New_York. We
114
+ # only call during their local 8am to 9pm hours, which is why we need it.
112
115
  timezone: nil,
113
116
  request_options: {}
114
117
  )
@@ -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).
@@ -20,7 +20,9 @@ module Telnyx
20
20
  Telnyx::EmailTemplateCreateParams::VariableSchema::OrHash
21
21
  ]
22
22
  ),
23
- variables: T::Array[String],
23
+ variables: T.nilable(T::Array[String]),
24
+ variables_mode:
25
+ Telnyx::EmailTemplateCreateParams::VariablesMode::OrSymbol,
24
26
  idempotency_key: String,
25
27
  request_options: Telnyx::RequestOptions::OrHash
26
28
  ).returns(Telnyx::EmailTemplateResponse)
@@ -58,9 +60,17 @@ module Telnyx
58
60
  # while present values such as `false` and `0` pass (they are present, not empty).
59
61
  # Optional variables fall back to their `default` when absent.
60
62
  variable_schema: nil,
61
- # Body param: Template variables. Auto-extracted from subject/body fields when
62
- # absent.
63
+ # Body param: Persisted variable names. In `automatic` mode a non-null array is
64
+ # rejected; in `explicit` mode this is the exact manual array and each item is
65
+ # limited to 255 Unicode code points.
63
66
  variables: nil,
67
+ # Body param: Controls how `variables` is maintained. If both fields are omitted
68
+ # (or `variables` is null), the template uses `automatic` mode and extracts
69
+ # variable names from the effective subject, HTML body, and text body. A non-null
70
+ # `variables` array with no mode selects `explicit`. `automatic` rejects a
71
+ # simultaneous non-null array; `explicit` requires a non-null array, including
72
+ # valid `[]`, and preserves its exact order, duplicates, and string contents.
73
+ variables_mode: nil,
64
74
  # Header param: Optional opaque, unquoted key for safely retrying the same logical
65
75
  # request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
66
76
  # Generate a unique UUID v4 for each operation and reuse it only when retrying
@@ -107,7 +117,9 @@ module Telnyx
107
117
  Telnyx::UpdateEmailTemplateRequest::VariableSchema::OrHash
108
118
  ]
109
119
  ),
110
- variables: T::Array[String],
120
+ variables: T.nilable(T::Array[String]),
121
+ variables_mode:
122
+ Telnyx::UpdateEmailTemplateRequest::VariablesMode::OrSymbol,
111
123
  request_options: Telnyx::RequestOptions::OrHash
112
124
  ).returns(Telnyx::EmailTemplateResponse)
113
125
  end
@@ -128,14 +140,35 @@ module Telnyx
128
140
  # Structured variable requirements. Required variables cannot define defaults;
129
141
  # invalid combinations return 422. Set to `null` to clear the schema.
130
142
  variable_schema: nil,
143
+ # Persisted variable names. In `automatic` mode a non-null array is rejected; in
144
+ # `explicit` mode this is the exact manual array and each item is limited to 255
145
+ # Unicode code points.
131
146
  variables: nil,
147
+ # Controls how `variables` is maintained. Setting `automatic` re-extracts
148
+ # immediately from the effective subject, HTML body, and text body and rejects a
149
+ # simultaneous non-null array. Setting `explicit` requires the exact non-null
150
+ # array, including valid `[]`. With the mode omitted, a non-null array selects
151
+ # explicit mode, null selects automatic mode, and omitting both fields preserves
152
+ # the current mode. Source-content changes re-extract only in automatic mode.
153
+ variables_mode: nil,
132
154
  request_options: {}
133
155
  )
134
156
  end
135
157
 
136
- # Lists templates sorted newest first by `created_at desc, id desc`.
158
+ # Lists templates sorted newest first by `created_at desc, id desc`. Optional
159
+ # filters match a case-insensitive literal name/subject query, stored body
160
+ # presence, and the `strict_variables` and `autoescape` settings. Filters
161
+ # intersect, remain scoped to the authenticated account, and apply before cursor
162
+ # pagination. Invalid filter names or values return 400.
137
163
  sig do
138
164
  params(
165
+ filter_autoescape:
166
+ Telnyx::EmailTemplateListParams::FilterAutoescape::OrSymbol,
167
+ filter_content_type:
168
+ Telnyx::EmailTemplateListParams::FilterContentType::OrSymbol,
169
+ filter_query: String,
170
+ filter_strict_variables:
171
+ Telnyx::EmailTemplateListParams::FilterStrictVariables::OrSymbol,
139
172
  page_cursor: String,
140
173
  page_size: Integer,
141
174
  request_options: Telnyx::RequestOptions::OrHash
@@ -144,6 +177,23 @@ module Telnyx
144
177
  )
145
178
  end
146
179
  def list(
180
+ # Exact match on the template's `autoescape` option. Only the exact query strings
181
+ # `true` and `false` are accepted; other values, including blank, return 400.
182
+ filter_autoescape: nil,
183
+ # Matches templates by stored body presence. `html_and_text` requires both an HTML
184
+ # and text body; `html_only` requires HTML and no text body; `text_only` requires
185
+ # text and no HTML body; `no_body` requires neither. `null` and exactly `""` count
186
+ # as absent; whitespace-only strings count as content. An empty or unsupported
187
+ # value returns a 400 response.
188
+ filter_content_type: nil,
189
+ # Case-insensitive literal substring match over the template `name` or stored
190
+ # `subject` only; bodies are never searched. `%`, `_`, and `\` are literal
191
+ # characters with no wildcard meaning. A blank value is treated as omitted.
192
+ filter_query: nil,
193
+ # Exact match on the template's `strict_variables` option. Only the exact query
194
+ # strings `true` and `false` are accepted; other values, including blank,
195
+ # return 400.
196
+ filter_strict_variables: nil,
147
197
  # Opaque URL-safe Base64 cursor returned by a previous list response.
148
198
  page_cursor: nil,
149
199
  # Number of results to return. Defaults to 25; maximum is 100. Invalid values are
@@ -208,7 +258,9 @@ module Telnyx
208
258
  Telnyx::UpdateEmailTemplateRequest::VariableSchema::OrHash
209
259
  ]
210
260
  ),
211
- variables: T::Array[String],
261
+ variables: T.nilable(T::Array[String]),
262
+ variables_mode:
263
+ Telnyx::UpdateEmailTemplateRequest::VariablesMode::OrSymbol,
212
264
  request_options: Telnyx::RequestOptions::OrHash
213
265
  ).returns(Telnyx::EmailTemplateResponse)
214
266
  end
@@ -229,7 +281,17 @@ module Telnyx
229
281
  # Structured variable requirements. Required variables cannot define defaults;
230
282
  # invalid combinations return 422. Set to `null` to clear the schema.
231
283
  variable_schema: nil,
284
+ # Persisted variable names. In `automatic` mode a non-null array is rejected; in
285
+ # `explicit` mode this is the exact manual array and each item is limited to 255
286
+ # Unicode code points.
232
287
  variables: nil,
288
+ # Controls how `variables` is maintained. Setting `automatic` re-extracts
289
+ # immediately from the effective subject, HTML body, and text body and rejects a
290
+ # simultaneous non-null array. Setting `explicit` requires the exact non-null
291
+ # array, including valid `[]`. With the mode omitted, a non-null array selects
292
+ # explicit mode, null selects automatic mode, and omitting both fields preserves
293
+ # the current mode. Source-content changes re-extract only in automatic mode.
294
+ variables_mode: nil,
233
295
  request_options: {}
234
296
  )
235
297
  end
@@ -27,10 +27,16 @@ module Telnyx
27
27
  #
28
28
  # **Failure modes**
29
29
  #
30
- # - `422` - validation error; `errors[].source.pointer` names the offending field.
31
- # - `403` - Branded Calling not activated on this enterprise (see
30
+ # - `400` - validation error; `errors[].source.pointer` names the offending field.
31
+ # - `400` - a certification field is not `true`.
32
+ # - `400` - Branded Calling not activated on this enterprise (see
32
33
  # `POST /enterprises/{id}/branded_calling`).
34
+ # - `400` - the enterprise is a BPO enterprise (`role_type` `bpo`), which cannot
35
+ # own a DIR.
36
+ # - `400` - a `bpo_authorizations` entry is not an approved BPO enterprise in your
37
+ # account, or its `loa_document_id` could not be validated.
33
38
  # - `404` - enterprise does not exist or does not belong to your account.
39
+ # - `503` - the document check is temporarily unavailable; retry.
34
40
  sig do
35
41
  params(
36
42
  enterprise_id: String,
@@ -44,9 +50,11 @@ module Telnyx
44
50
  certify_no_shaft_content:
45
51
  Telnyx::Enterprises::DirCreateParams::CertifyNoShaftContent::OrBoolean,
46
52
  display_name: String,
53
+ bpo_authorizations: T::Array[Telnyx::BpoAuthorizationInput::OrHash],
47
54
  documents: T::Array[Telnyx::Document::OrHash],
48
55
  logo_url: String,
49
56
  reselling: T::Boolean,
57
+ webhook_url: T.nilable(String),
50
58
  request_options: Telnyx::RequestOptions::OrHash
51
59
  ).returns(Telnyx::DirWrapped)
52
60
  end
@@ -62,7 +70,8 @@ module Telnyx
62
70
  # 1–10 reasons your business calls customers. Validate phrasing against
63
71
  # `POST /call_reasons/validate`.
64
72
  call_reasons:,
65
- # Must be `true`.
73
+ # Certification that the DIR information is accurate. Must be `true` for the DIR
74
+ # to be submitted for vetting.
66
75
  certify_brand_is_accurate:,
67
76
  # Must be `true`. Confirms ownership of any logos/trademarks shown.
68
77
  certify_ip_ownership:,
@@ -71,6 +80,13 @@ module Telnyx
71
80
  certify_no_shaft_content:,
72
81
  # Name shown to call recipients. No emoji; not whitespace-only.
73
82
  display_name:,
83
+ # Optional. Approved BPO (Business Process Outsourcer) accounts on your
84
+ # organization authorized to place branded calls for this DIR, each with the
85
+ # signed Letter of Authorization the Brand Owner granted it. Each authorization
86
+ # starts `pending` and takes effect only after an admin reviews its Letter of
87
+ # Authorization. Omit or send an empty list to authorize no BPO on this DIR.
88
+ # Maximum 10.
89
+ bpo_authorizations: nil,
74
90
  # Supporting documents. Each `document_id` may appear at most once on a DIR.
75
91
  documents: nil,
76
92
  # Publicly accessible HTTPS URL (max 128 chars) to a 256x256 BMP logo (max 1 MB).
@@ -78,6 +94,10 @@ module Telnyx
78
94
  # Set to true if your organization places calls on behalf of other enterprises
79
95
  # (BPO/reseller).
80
96
  reselling: nil,
97
+ # Optional `https://` URL that receives webhook notifications when this DIR's
98
+ # compliance review completes (rejection outcomes include structured rejection
99
+ # reasons). Maximum 2048 characters.
100
+ webhook_url: nil,
81
101
  request_options: {}
82
102
  )
83
103
  end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Enterprises
6
+ class Reputation
7
+ # Phone-number reputation monitoring (spam-score lookup and tracking).
8
+ class ExternalVerification
9
+ # Request permission to add phone numbers that the enterprise owns but that are
10
+ # hosted with another provider. Submit one or more uploaded documents proving
11
+ # ownership, such as a carrier invoice or account statement. The request is
12
+ # reviewed once per enterprise. While it is `pending` or `rejected` you can submit
13
+ # again to replace the documents; once `approved` it cannot be changed.
14
+ sig do
15
+ params(
16
+ enterprise_id: String,
17
+ document_ids: T::Array[String],
18
+ phone_numbers: T::Array[String],
19
+ request_options: Telnyx::RequestOptions::OrHash
20
+ ).returns(
21
+ Telnyx::Enterprises::Reputation::ExternalVerificationWrapped
22
+ )
23
+ end
24
+ def create(
25
+ # The enterprise id. Lowercase UUID.
26
+ enterprise_id,
27
+ # Ids of uploaded documents (Documents API) proving the enterprise owns its phone
28
+ # numbers hosted with another provider, for example a carrier invoice or account
29
+ # statement.
30
+ document_ids:,
31
+ # Optional. The phone numbers hosted with another provider that the documents
32
+ # cover, in E.164 format. Shown to the reviewer to match the documents to your
33
+ # numbers; you can still add numbers that are not listed here, and each is checked
34
+ # on its own.
35
+ phone_numbers: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ # Get the review status of the enterprise's ownership proof for phone numbers
41
+ # hosted with another provider. Returns 404 when no proof has been submitted.
42
+ sig do
43
+ params(
44
+ enterprise_id: String,
45
+ request_options: Telnyx::RequestOptions::OrHash
46
+ ).returns(
47
+ Telnyx::Enterprises::Reputation::ExternalVerificationWrapped
48
+ )
49
+ end
50
+ def list(
51
+ # The enterprise id. Lowercase UUID.
52
+ enterprise_id,
53
+ request_options: {}
54
+ )
55
+ end
56
+
57
+ # @api private
58
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
59
+ def self.new(client:)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -37,7 +37,8 @@ module Telnyx
37
37
  sig do
38
38
  params(
39
39
  enterprise_id: String,
40
- agent: Telnyx::Enterprises::Reputation::AgentInput::OrHash,
40
+ agent:
41
+ Telnyx::Enterprises::Reputation::LoaRenderParams::Agent::OrHash,
41
42
  signature:
42
43
  Telnyx::Enterprises::Reputation::LoaRenderParams::Signature::OrHash,
43
44
  request_options: Telnyx::RequestOptions::OrHash