telnyx 5.68.2 → 5.70.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +7 -0
  5. data/lib/telnyx/internal/util.rb +21 -5
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +8 -1
  7. data/lib/telnyx/models/ai/assistant_tool.rb +25 -5
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +8 -1
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +8 -1
  10. data/lib/telnyx/models/ai/audio_transcribe_response.rb +70 -7
  11. data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
  12. data/lib/telnyx/models/ai/inference_embedding.rb +8 -1
  13. data/lib/telnyx/models/ai/observability.rb +46 -0
  14. data/lib/telnyx/models/ai/observability_req.rb +46 -0
  15. data/lib/telnyx/models/ai/telephony_settings.rb +13 -1
  16. data/lib/telnyx/models/call_dial_params.rb +24 -1
  17. data/lib/telnyx/models/calls/action_transfer_params.rb +24 -1
  18. data/lib/telnyx/models/enterprise_create_params.rb +1 -1
  19. data/lib/telnyx/models/enterprise_public.rb +1 -1
  20. data/lib/telnyx/models/enterprise_update_params.rb +1 -1
  21. data/lib/telnyx/models/enterprises/reputation/{number_create_params.rb → number_associate_params.rb} +2 -2
  22. data/lib/telnyx/models/enterprises/reputation/{number_create_response.rb → number_associate_response.rb} +5 -5
  23. data/lib/telnyx/models/enterprises/reputation/{number_delete_params.rb → number_disassociate_params.rb} +2 -2
  24. data/lib/telnyx/models/enterprises/{reputation_list_params.rb → reputation_disable_params.rb} +2 -2
  25. data/lib/telnyx/models/enterprises/{reputation_create_params.rb → reputation_enable_params.rb} +6 -6
  26. data/lib/telnyx/models/enterprises/{reputation_create_response.rb → reputation_enable_response.rb} +2 -2
  27. data/lib/telnyx/models/enterprises/{reputation_delete_all_params.rb → reputation_retrieve_params.rb} +2 -2
  28. data/lib/telnyx/models/enterprises/{reputation_list_response.rb → reputation_retrieve_response.rb} +2 -2
  29. data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +9 -9
  30. data/lib/telnyx/models/pronunciation_dict_create_params.rb +141 -0
  31. data/lib/telnyx/models/pronunciation_dict_create_response.rb +207 -0
  32. data/lib/telnyx/models/pronunciation_dict_delete_params.rb +20 -0
  33. data/lib/telnyx/models/pronunciation_dict_list_params.rb +30 -0
  34. data/lib/telnyx/models/pronunciation_dict_list_response.rb +190 -0
  35. data/lib/telnyx/models/pronunciation_dict_retrieve_params.rb +20 -0
  36. data/lib/telnyx/models/pronunciation_dict_retrieve_response.rb +207 -0
  37. data/lib/telnyx/models/pronunciation_dict_update_params.rb +144 -0
  38. data/lib/telnyx/models/pronunciation_dict_update_response.rb +207 -0
  39. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +1893 -547
  40. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +514 -0
  41. data/lib/telnyx/models/texml_initiate_ai_call_response.rb +34 -0
  42. data/lib/telnyx/models/verification.rb +1 -0
  43. data/lib/telnyx/models/verification_trigger_whatsapp_verification_params.rb +46 -0
  44. data/lib/telnyx/models/verify_profile_create_params.rb +43 -1
  45. data/lib/telnyx/models/verify_profile_update_params.rb +43 -1
  46. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +364 -71
  47. data/lib/telnyx/models/voice_clone_create_params.rb +161 -51
  48. data/lib/telnyx/models/voice_clone_data.rb +51 -4
  49. data/lib/telnyx/models/whatsapp_message_content.rb +196 -1
  50. data/lib/telnyx/models/wireless_blocklist_update_params.rb +8 -21
  51. data/lib/telnyx/models.rb +15 -0
  52. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  53. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  54. data/lib/telnyx/resources/calls/actions.rb +3 -1
  55. data/lib/telnyx/resources/calls.rb +3 -1
  56. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +42 -42
  57. data/lib/telnyx/resources/enterprises/reputation.rb +61 -61
  58. data/lib/telnyx/resources/pronunciation_dicts.rb +156 -0
  59. data/lib/telnyx/resources/texml/accounts/calls.rb +3 -84
  60. data/lib/telnyx/resources/texml.rb +106 -0
  61. data/lib/telnyx/resources/verifications.rb +28 -0
  62. data/lib/telnyx/resources/verify_profiles.rb +5 -2
  63. data/lib/telnyx/resources/voice_clones.rb +7 -27
  64. data/lib/telnyx/resources/wireless_blocklists.rb +5 -5
  65. data/lib/telnyx/version.rb +1 -1
  66. data/lib/telnyx.rb +23 -8
  67. data/rbi/telnyx/client.rbi +6 -0
  68. data/rbi/telnyx/internal/util.rbi +8 -0
  69. data/rbi/telnyx/models/ai/assistant_create_params.rbi +13 -0
  70. data/rbi/telnyx/models/ai/assistant_tool.rbi +56 -5
  71. data/rbi/telnyx/models/ai/assistant_update_params.rbi +13 -0
  72. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +13 -0
  73. data/rbi/telnyx/models/ai/audio_transcribe_response.rbi +123 -10
  74. data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
  75. data/rbi/telnyx/models/ai/inference_embedding.rbi +11 -0
  76. data/rbi/telnyx/models/ai/observability.rbi +90 -0
  77. data/rbi/telnyx/models/ai/observability_req.rbi +92 -0
  78. data/rbi/telnyx/models/ai/telephony_settings.rbi +13 -0
  79. data/rbi/telnyx/models/call_dial_params.rbi +37 -0
  80. data/rbi/telnyx/models/calls/action_transfer_params.rbi +57 -0
  81. data/rbi/telnyx/models/enterprise_create_params.rbi +1 -1
  82. data/rbi/telnyx/models/enterprise_public.rbi +1 -1
  83. data/rbi/telnyx/models/enterprise_update_params.rbi +1 -1
  84. data/rbi/telnyx/models/enterprises/reputation/{number_create_params.rbi → number_associate_params.rbi} +2 -2
  85. data/rbi/telnyx/models/enterprises/reputation/{number_create_response.rbi → number_associate_response.rbi} +7 -7
  86. data/rbi/telnyx/models/enterprises/reputation/{number_delete_params.rbi → number_disassociate_params.rbi} +2 -2
  87. data/rbi/telnyx/models/enterprises/{reputation_list_params.rbi → reputation_disable_params.rbi} +2 -2
  88. data/rbi/telnyx/models/enterprises/{reputation_create_params.rbi → reputation_enable_params.rbi} +14 -14
  89. data/rbi/telnyx/models/enterprises/{reputation_create_response.rbi → reputation_enable_response.rbi} +2 -2
  90. data/rbi/telnyx/models/enterprises/{reputation_delete_all_params.rbi → reputation_retrieve_params.rbi} +2 -2
  91. data/rbi/telnyx/models/enterprises/{reputation_list_response.rbi → reputation_retrieve_response.rbi} +2 -2
  92. data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +34 -34
  93. data/rbi/telnyx/models/pronunciation_dict_create_params.rbi +246 -0
  94. data/rbi/telnyx/models/pronunciation_dict_create_response.rbi +398 -0
  95. data/rbi/telnyx/models/pronunciation_dict_delete_params.rbi +38 -0
  96. data/rbi/telnyx/models/pronunciation_dict_list_params.rbi +57 -0
  97. data/rbi/telnyx/models/pronunciation_dict_list_response.rbi +353 -0
  98. data/rbi/telnyx/models/pronunciation_dict_retrieve_params.rbi +38 -0
  99. data/rbi/telnyx/models/pronunciation_dict_retrieve_response.rbi +398 -0
  100. data/rbi/telnyx/models/pronunciation_dict_update_params.rbi +268 -0
  101. data/rbi/telnyx/models/pronunciation_dict_update_response.rbi +398 -0
  102. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +3719 -1011
  103. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +1010 -0
  104. data/rbi/telnyx/models/texml_initiate_ai_call_response.rbi +58 -0
  105. data/rbi/telnyx/models/verification.rbi +1 -0
  106. data/rbi/telnyx/models/verification_trigger_whatsapp_verification_params.rbi +73 -0
  107. data/rbi/telnyx/models/verify_profile_create_params.rbi +85 -0
  108. data/rbi/telnyx/models/verify_profile_update_params.rbi +85 -0
  109. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +711 -136
  110. data/rbi/telnyx/models/voice_clone_create_params.rbi +345 -79
  111. data/rbi/telnyx/models/voice_clone_data.rbi +77 -4
  112. data/rbi/telnyx/models/whatsapp_message_content.rbi +492 -0
  113. data/rbi/telnyx/models/wireless_blocklist_update_params.rbi +6 -49
  114. data/rbi/telnyx/models.rbi +19 -10
  115. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -0
  116. data/rbi/telnyx/resources/ai/assistants.rbi +4 -0
  117. data/rbi/telnyx/resources/calls/actions.rbi +5 -0
  118. data/rbi/telnyx/resources/calls.rbi +5 -0
  119. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +34 -34
  120. data/rbi/telnyx/resources/enterprises/reputation.rbi +44 -44
  121. data/rbi/telnyx/resources/pronunciation_dicts.rbi +131 -0
  122. data/rbi/telnyx/resources/texml/accounts/calls.rbi +7 -163
  123. data/rbi/telnyx/resources/texml.rbi +164 -0
  124. data/rbi/telnyx/resources/verifications.rbi +23 -0
  125. data/rbi/telnyx/resources/verify_profiles.rbi +4 -0
  126. data/rbi/telnyx/resources/voice_clones.rbi +17 -41
  127. data/rbi/telnyx/resources/wireless_blocklists.rbi +3 -3
  128. data/sig/telnyx/client.rbs +2 -0
  129. data/sig/telnyx/internal/util.rbs +4 -0
  130. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  131. data/sig/telnyx/models/ai/assistant_tool.rbs +17 -4
  132. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  133. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  134. data/sig/telnyx/models/ai/audio_transcribe_response.rbs +53 -3
  135. data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
  136. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  137. data/sig/telnyx/models/ai/observability.rbs +58 -0
  138. data/sig/telnyx/models/ai/observability_req.rbs +58 -0
  139. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  140. data/sig/telnyx/models/call_dial_params.rbs +20 -0
  141. data/sig/telnyx/models/calls/action_transfer_params.rbs +20 -0
  142. data/sig/telnyx/models/enterprise_create_params.rbs +1 -1
  143. data/sig/telnyx/models/enterprise_public.rbs +1 -1
  144. data/sig/telnyx/models/enterprise_update_params.rbs +1 -1
  145. data/sig/telnyx/models/enterprises/reputation/{number_create_params.rbs → number_associate_params.rbs} +2 -2
  146. data/sig/telnyx/models/enterprises/reputation/{number_create_response.rbs → number_associate_response.rbs} +8 -8
  147. data/sig/telnyx/models/enterprises/reputation/{number_delete_params.rbs → number_disassociate_params.rbs} +2 -2
  148. data/sig/telnyx/models/enterprises/{reputation_list_params.rbs → reputation_disable_params.rbs} +2 -2
  149. data/sig/telnyx/models/enterprises/{reputation_create_params.rbs → reputation_enable_params.rbs} +9 -9
  150. data/sig/telnyx/models/enterprises/{reputation_create_response.rbs → reputation_enable_response.rbs} +2 -2
  151. data/sig/telnyx/models/enterprises/{reputation_delete_all_params.rbs → reputation_retrieve_params.rbs} +2 -2
  152. data/sig/telnyx/models/enterprises/{reputation_list_response.rbs → reputation_retrieve_response.rbs} +2 -2
  153. data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +9 -9
  154. data/sig/telnyx/models/pronunciation_dict_create_params.rbs +97 -0
  155. data/sig/telnyx/models/pronunciation_dict_create_response.rbs +167 -0
  156. data/sig/telnyx/models/pronunciation_dict_delete_params.rbs +20 -0
  157. data/sig/telnyx/models/pronunciation_dict_list_params.rbs +32 -0
  158. data/sig/telnyx/models/pronunciation_dict_list_response.rbs +144 -0
  159. data/sig/telnyx/models/pronunciation_dict_retrieve_params.rbs +20 -0
  160. data/sig/telnyx/models/pronunciation_dict_retrieve_response.rbs +167 -0
  161. data/sig/telnyx/models/pronunciation_dict_update_params.rbs +108 -0
  162. data/sig/telnyx/models/pronunciation_dict_update_response.rbs +167 -0
  163. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +1368 -331
  164. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +444 -0
  165. data/sig/telnyx/models/texml_initiate_ai_call_response.rbs +38 -0
  166. data/sig/telnyx/models/verification.rbs +2 -1
  167. data/sig/telnyx/models/verification_trigger_whatsapp_verification_params.rbs +43 -0
  168. data/sig/telnyx/models/verify_profile_create_params.rbs +43 -1
  169. data/sig/telnyx/models/verify_profile_update_params.rbs +43 -1
  170. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +269 -58
  171. data/sig/telnyx/models/voice_clone_create_params.rbs +129 -44
  172. data/sig/telnyx/models/voice_clone_data.rbs +43 -0
  173. data/sig/telnyx/models/whatsapp_message_content.rbs +205 -0
  174. data/sig/telnyx/models/wireless_blocklist_update_params.rbs +5 -25
  175. data/sig/telnyx/models.rbs +14 -0
  176. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  177. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  178. data/sig/telnyx/resources/calls/actions.rbs +1 -0
  179. data/sig/telnyx/resources/calls.rbs +1 -0
  180. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +7 -7
  181. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -8
  182. data/sig/telnyx/resources/pronunciation_dicts.rbs +33 -0
  183. data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -40
  184. data/sig/telnyx/resources/texml.rbs +44 -0
  185. data/sig/telnyx/resources/verifications.rbs +8 -0
  186. data/sig/telnyx/resources/verify_profiles.rbs +2 -0
  187. data/sig/telnyx/resources/voice_clones.rbs +2 -12
  188. data/sig/telnyx/resources/wireless_blocklists.rbs +1 -1
  189. metadata +71 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc15a744f447e7c613e7e755a58535df1b6f45e5f2e224ca7c2ae0b34a047778
4
- data.tar.gz: 647b8a4d529deb94ae909c30c7d1de71b00f5199f8caa7782508dd37550ca6a8
3
+ metadata.gz: 0ac9a07c8a853ece2ee38dc9271bc8aede4cdc909f634b11f547d24a01906726
4
+ data.tar.gz: 6ad873c682fd93b981dbca7a48f83bef3c1b43e29a6722c2e72bf46f6b20b79a
5
5
  SHA512:
6
- metadata.gz: 67a69b663b07bc3507001555c0178d4a4de7c9bc61b656970c25ab236377ee34b91723fb32bc6b821095007582d164bc8c46109d4f870548fa0cd7b38e2c7296
7
- data.tar.gz: 633e6228be91505a6693026b2e64404fcf6f452ad0de12157f7845a0643b2f3131cc08bd13bdbd325d856db865fafc2509891d9fff1671e670b7ddf8f7436f5c
6
+ metadata.gz: 7cd372e02874a4654b037003c200e382104128701fb6e521882853e81a7671d6faa00e51e8dc28f9d58f69a38a2edcbcb1c473642e1ddcf979d6cf9718aaf3c9
7
+ data.tar.gz: 71b0c0af94329048ed0920882d23d0cd41c8e5d231e7004de41196dc05f08c1231ce8ec3a4e6f8f4f4cae7a223a5c93a756acd68bcc4ea406844ac62b7c41f82
data/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.70.0 (2026-04-08)
4
+
5
+ Full Changelog: [v5.69.0...v5.70.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.69.0...v5.70.0)
6
+
7
+ ### Features
8
+
9
+ * TELAPPS-5707: Add privacy parameter to Call Control dial and transfer ([d366c32](https://github.com/team-telnyx/telnyx-ruby/commit/d366c32c5d00373f8bbdfc60eb2100bdd31d63d3))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * multipart encoding for file arrays ([39e2f28](https://github.com/team-telnyx/telnyx-ruby/commit/39e2f28bebb8c82c4baf25eccbc369719bf2db9a))
15
+
16
+
17
+ ### Reverts
18
+
19
+ * revert stainless.yml changes from 9c5e8d8 ([d689c9d](https://github.com/team-telnyx/telnyx-ruby/commit/d689c9dee43bc62106808be66328c1e9d91f5376))
20
+ * revert stainless.yml changes from pronunciation dictionaries commit ([8b34c3b](https://github.com/team-telnyx/telnyx-ruby/commit/8b34c3b821f8a0418c7faa1c7f63ecd1d2565cbf))
21
+
22
+
23
+ ### Documentation
24
+
25
+ * update voice clone schemas to match Ultra/model_id implementation ([cce4793](https://github.com/team-telnyx/telnyx-ruby/commit/cce4793cbdf1990e6ce83d9bcc674bc45a20e0fa))
26
+
27
+ ## 5.69.0 (2026-04-08)
28
+
29
+ Full Changelog: [v5.68.2...v5.69.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.68.2...v5.69.0)
30
+
31
+ ### Features
32
+
33
+ * Add ai_calls endpoint documentation to OpenAPI spec ([c8acb50](https://github.com/team-telnyx/telnyx-ruby/commit/c8acb50e7e89bba2f6314fe1ad3a81547a172f63))
34
+ * add enabled boolean to recording_settings [AI-2178] ([8f21b10](https://github.com/team-telnyx/telnyx-ruby/commit/8f21b10753325c2792b0aabecd97633c51b410a0))
35
+ * Add oneOf constraint for Url/Texml mutual exclusivity in InitiateCallRequest ([5cd6954](https://github.com/team-telnyx/telnyx-ruby/commit/5cd6954637cf297313fb31668c82424e959ecb27))
36
+ * AI-2180: Add message_template to SendMessageTool schema ([6dcb74b](https://github.com/team-telnyx/telnyx-ruby/commit/6dcb74b30bc33245d83809f5f5e05a3a27ca13aa))
37
+ * **api:** manual updates ([4933749](https://github.com/team-telnyx/telnyx-ruby/commit/4933749dbde30b5ad5ec3d3914d49cf071367662))
38
+ * **api:** Merge pull request [#39](https://github.com/team-telnyx/telnyx-ruby/issues/39) from stainless-sdks/revert-a988c49-stainless-changes ([2286831](https://github.com/team-telnyx/telnyx-ruby/commit/2286831469bf7527df9b5caa6d57f788744e66b2))
39
+ * Assistants: add observability ([88c203f](https://github.com/team-telnyx/telnyx-ruby/commit/88c203faad93be1670c56ed331dfc6816b562ed9))
40
+ * CW-3815 fix PATCH /wirelss_blocklists/{id} endpoint ([4cf00e9](https://github.com/team-telnyx/telnyx-ruby/commit/4cf00e94bb333207285db020723792bddf3c6b2d))
41
+ * MSG-6666: Add template and text properties to WhatsApp send message schema ([7dac0d6](https://github.com/team-telnyx/telnyx-ruby/commit/7dac0d6aca0d853ec56309dd3fdca67a204f3446))
42
+ * MSG-6673: Add WhatsApp verification endpoint and profile settings ([00f25ab](https://github.com/team-telnyx/telnyx-ruby/commit/00f25abe49dca4f75852119df52da915567bd459))
43
+ * TELAPPS-5689: Pronunciation dictionaries API docs ([716d0a0](https://github.com/team-telnyx/telnyx-ruby/commit/716d0a0d2d7973b998902932f7b9d0965acc8ee9))
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * add missing VoiceCloneCreateFromDesignParams and VoiceCloneCreateFromDesignResponse constant aliases ([1cef321](https://github.com/team-telnyx/telnyx-ruby/commit/1cef3216c8b5a0ac54db0f919df8ac305f154e86))
49
+ * align path encoding with RFC 3986 section 3.3 ([cb36e56](https://github.com/team-telnyx/telnyx-ruby/commit/cb36e56e938d6fd5498f860d29c788644bb4d753))
50
+ * variable name typo ([49b527d](https://github.com/team-telnyx/telnyx-ruby/commit/49b527df7eed567656f1d149cb4c9af3d9b29693))
51
+
52
+
53
+ ### Reverts
54
+
55
+ * restore stainless.yml SDK generation fixes ([2286831](https://github.com/team-telnyx/telnyx-ruby/commit/2286831469bf7527df9b5caa6d57f788744e66b2))
56
+
57
+
58
+ ### Chores
59
+
60
+ * remove legacy GEM_HOST_API_KEY check (now using OIDC) ([b20bdd2](https://github.com/team-telnyx/telnyx-ruby/commit/b20bdd2ac232901e0e0106575afa8c470b5feb9b))
61
+
3
62
  ## 5.68.2 (2026-03-31)
4
63
 
5
64
  Full Changelog: [v5.68.1...v5.68.2](https://github.com/team-telnyx/telnyx-ruby/compare/v5.68.1...v5.68.2)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.68.2"
27
+ gem "telnyx", "~> 5.70.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
data/lib/telnyx/client.rb CHANGED
@@ -653,6 +653,12 @@ module Telnyx
653
653
  # @return [Telnyx::Resources::TermsOfService]
654
654
  attr_reader :terms_of_service
655
655
 
656
+ # Manage pronunciation dictionaries for text-to-speech synthesis. Dictionaries
657
+ # contain alias items (text replacement) and phoneme items (IPA pronunciation
658
+ # notation) that control how specific words are spoken.
659
+ # @return [Telnyx::Resources::PronunciationDicts]
660
+ attr_reader :pronunciation_dicts
661
+
656
662
  # @api private
657
663
  #
658
664
  # @return [Hash{String=>String}]
@@ -910,6 +916,7 @@ module Telnyx
910
916
  @enterprises = Telnyx::Resources::Enterprises.new(client: self)
911
917
  @reputation = Telnyx::Resources::Reputation.new(client: self)
912
918
  @terms_of_service = Telnyx::Resources::TermsOfService.new(client: self)
919
+ @pronunciation_dicts = Telnyx::Resources::PronunciationDicts.new(client: self)
913
920
  end
914
921
  end
915
922
  end
@@ -157,7 +157,7 @@ module Telnyx
157
157
  in Hash | nil => coerced
158
158
  coerced
159
159
  else
160
- message = "Expected a #{Hash} or #{Telnyx::Internal::Type::BaseModel}, got #{data.inspect}"
160
+ message = "Expected a #{Hash} or #{Telnyx::Internal::Type::BaseModel}, got #{input.inspect}"
161
161
  raise ArgumentError.new(message)
162
162
  end
163
163
  end
@@ -237,6 +237,11 @@ module Telnyx
237
237
  end
238
238
  end
239
239
 
240
+ # @type [Regexp]
241
+ #
242
+ # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
243
+ RFC_3986_NOT_PCHARS = /[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/
244
+
240
245
  class << self
241
246
  # @api private
242
247
  #
@@ -247,6 +252,15 @@ module Telnyx
247
252
  "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
248
253
  end
249
254
 
255
+ # @api private
256
+ #
257
+ # @param path [String, Integer]
258
+ #
259
+ # @return [String]
260
+ def encode_path(path)
261
+ path.to_s.gsub(Telnyx::Internal::Util::RFC_3986_NOT_PCHARS) { ERB::Util.url_encode(_1) }
262
+ end
263
+
250
264
  # @api private
251
265
  #
252
266
  # @param path [String, Array<String>]
@@ -259,7 +273,7 @@ module Telnyx
259
273
  in []
260
274
  ""
261
275
  in [String => p, *interpolations]
262
- encoded = interpolations.map { ERB::Util.url_encode(_1) }
276
+ encoded = interpolations.map { encode_path(_1) }
263
277
  format(p, *encoded)
264
278
  end
265
279
  end
@@ -576,10 +590,10 @@ module Telnyx
576
590
 
577
591
  case val
578
592
  in Telnyx::FilePart unless val.filename.nil?
579
- filename = ERB::Util.url_encode(val.filename)
593
+ filename = encode_path(val.filename)
580
594
  y << "; filename=\"#{filename}\""
581
595
  in Pathname | IO
582
- filename = ERB::Util.url_encode(::File.basename(val.to_path))
596
+ filename = encode_path(::File.basename(val.to_path))
583
597
  y << "; filename=\"#{filename}\""
584
598
  else
585
599
  end
@@ -596,6 +610,7 @@ module Telnyx
596
610
  #
597
611
  # @return [Array(String, Enumerable<String>)]
598
612
  private def encode_multipart_streaming(body)
613
+ # rubocop:disable Style/CaseEquality
599
614
  # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length
600
615
  boundary = SecureRandom.urlsafe_base64(46)
601
616
 
@@ -605,7 +620,7 @@ module Telnyx
605
620
  in Hash
606
621
  body.each do |key, val|
607
622
  case val
608
- in Array if val.all? { primitive?(_1) }
623
+ in Array if val.all? { primitive?(_1) || Telnyx::Internal::Type::FileInput === _1 }
609
624
  val.each do |v|
610
625
  write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing)
611
626
  end
@@ -621,6 +636,7 @@ module Telnyx
621
636
 
622
637
  fused_io = fused_enum(strio) { closing.each(&:call) }
623
638
  [boundary, fused_io]
639
+ # rubocop:enable Style/CaseEquality
624
640
  end
625
641
 
626
642
  # @api private
@@ -84,6 +84,11 @@ module Telnyx
84
84
  # @return [Telnyx::Models::AI::MessagingSettings, nil]
85
85
  optional :messaging_settings, -> { Telnyx::AI::MessagingSettings }
86
86
 
87
+ # @!attribute observability_settings
88
+ #
89
+ # @return [Telnyx::Models::AI::ObservabilityReq, nil]
90
+ optional :observability_settings, -> { Telnyx::AI::ObservabilityReq }
91
+
87
92
  # @!attribute privacy_settings
88
93
  #
89
94
  # @return [Telnyx::Models::AI::PrivacySettings, nil]
@@ -122,7 +127,7 @@ module Telnyx
122
127
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
123
128
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
124
129
 
125
- # @!method initialize(instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
130
+ # @!method initialize(instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, observability_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
126
131
  # Some parameter documentations has been truncated, see
127
132
  # {Telnyx::Models::AI::AssistantCreateParams} for more details.
128
133
  #
@@ -148,6 +153,8 @@ module Telnyx
148
153
  #
149
154
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
150
155
  #
156
+ # @param observability_settings [Telnyx::Models::AI::ObservabilityReq]
157
+ #
151
158
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
152
159
  #
153
160
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
@@ -28,7 +28,7 @@ module Telnyx
28
28
 
29
29
  variant :send_dtmf, -> { Telnyx::AI::AssistantTool::SendDtmf }
30
30
 
31
- # The send_message tool allows the assistant to send SMS or MMS messages to the end user. The 'to' and 'from' addresses are automatically determined from the conversation context, and the message text is generated by the assistant.
31
+ # The send_message tool allows the assistant to send SMS or MMS messages to the end user. The 'to' and 'from' addresses are automatically determined from the conversation context, and the message text is generated by the assistant unless a message_template is provided for runtime variable substitution.
32
32
  variant :send_message, -> { Telnyx::AI::AssistantTool::SendMessage }
33
33
 
34
34
  variant :skip_turn, -> { Telnyx::AI::AssistantTool::SkipTurn }
@@ -792,8 +792,8 @@ module Telnyx
792
792
  class SendMessage < Telnyx::Internal::Type::BaseModel
793
793
  # @!attribute send_message
794
794
  #
795
- # @return [Hash{Symbol=>Object}]
796
- required :send_message, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
795
+ # @return [Telnyx::Models::AI::AssistantTool::SendMessage::SendMessage]
796
+ required :send_message, -> { Telnyx::AI::AssistantTool::SendMessage::SendMessage }
797
797
 
798
798
  # @!attribute type
799
799
  #
@@ -803,10 +803,30 @@ module Telnyx
803
803
  # @!method initialize(send_message:, type: :send_message)
804
804
  # The send_message tool allows the assistant to send SMS or MMS messages to the
805
805
  # end user. The 'to' and 'from' addresses are automatically determined from the
806
- # conversation context, and the message text is generated by the assistant.
806
+ # conversation context, and the message text is generated by the assistant unless
807
+ # a message_template is provided for runtime variable substitution.
807
808
  #
808
- # @param send_message [Hash{Symbol=>Object}]
809
+ # @param send_message [Telnyx::Models::AI::AssistantTool::SendMessage::SendMessage]
809
810
  # @param type [Symbol, :send_message]
811
+
812
+ # @see Telnyx::Models::AI::AssistantTool::SendMessage#send_message
813
+ class SendMessage < Telnyx::Internal::Type::BaseModel
814
+ # @!attribute message_template
815
+ # Optional message template with dynamic variable support using mustache syntax
816
+ # (e.g., {{variable_name}}). When set, the assistant will use this template for
817
+ # the SMS body instead of generating one. Dynamic variables like
818
+ # {{telnyx_end_user_target}}, {{telnyx_agent_target}}, and custom webhook-provided
819
+ # variables will be resolved at runtime.
820
+ #
821
+ # @return [String, nil]
822
+ optional :message_template, String, nil?: true
823
+
824
+ # @!method initialize(message_template: nil)
825
+ # Some parameter documentations has been truncated, see
826
+ # {Telnyx::Models::AI::AssistantTool::SendMessage::SendMessage} for more details.
827
+ #
828
+ # @param message_template [String, nil] Optional message template with dynamic variable support using mustache syntax (e
829
+ end
810
830
  end
811
831
 
812
832
  class SkipTurn < Telnyx::Internal::Type::BaseModel
@@ -89,6 +89,11 @@ module Telnyx
89
89
  # @return [String, nil]
90
90
  optional :name, String
91
91
 
92
+ # @!attribute observability_settings
93
+ #
94
+ # @return [Telnyx::Models::AI::ObservabilityReq, nil]
95
+ optional :observability_settings, -> { Telnyx::AI::ObservabilityReq }
96
+
92
97
  # @!attribute privacy_settings
93
98
  #
94
99
  # @return [Telnyx::Models::AI::PrivacySettings, nil]
@@ -134,7 +139,7 @@ module Telnyx
134
139
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
135
140
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
136
141
 
137
- # @!method initialize(assistant_id:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
142
+ # @!method initialize(assistant_id:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
138
143
  # Some parameter documentations has been truncated, see
139
144
  # {Telnyx::Models::AI::AssistantUpdateParams} for more details.
140
145
  #
@@ -162,6 +167,8 @@ module Telnyx
162
167
  #
163
168
  # @param name [String]
164
169
  #
170
+ # @param observability_settings [Telnyx::Models::AI::ObservabilityReq]
171
+ #
165
172
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
166
173
  #
167
174
  # @param promote_to_main [Boolean] Indicates whether the assistant should be promoted to the main version. Defaults
@@ -81,6 +81,11 @@ module Telnyx
81
81
  # @return [String, nil]
82
82
  optional :name, String
83
83
 
84
+ # @!attribute observability_settings
85
+ #
86
+ # @return [Telnyx::Models::AI::ObservabilityReq, nil]
87
+ optional :observability_settings, -> { Telnyx::AI::ObservabilityReq }
88
+
84
89
  # @!attribute privacy_settings
85
90
  #
86
91
  # @return [Telnyx::Models::AI::PrivacySettings, nil]
@@ -119,7 +124,7 @@ module Telnyx
119
124
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
120
125
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
121
126
 
122
- # @!method initialize(description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
127
+ # @!method initialize(description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
123
128
  # Some parameter documentations has been truncated, see
124
129
  # {Telnyx::Models::AI::Assistants::UpdateAssistant} for more details.
125
130
  #
@@ -145,6 +150,8 @@ module Telnyx
145
150
  #
146
151
  # @param name [String]
147
152
  #
153
+ # @param observability_settings [Telnyx::Models::AI::ObservabilityReq]
154
+ #
148
155
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
149
156
  #
150
157
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
@@ -12,29 +12,46 @@ module Telnyx
12
12
  required :text, String
13
13
 
14
14
  # @!attribute duration
15
- # The duration of the audio file in seconds. This is only included if
16
- # `response_format` is set to `verbose_json`.
15
+ # The duration of the audio file in seconds. Returned by
16
+ # `distil-whisper/distil-large-v2` and `deepgram/nova-3` when `response_format` is
17
+ # `verbose_json`. Not returned by `openai/whisper-large-v3-turbo`.
17
18
  #
18
19
  # @return [Float, nil]
19
20
  optional :duration, Float
20
21
 
21
22
  # @!attribute segments
22
- # Segments of the transcribed text and their corresponding details. This is only
23
- # included if `response_format` is set to `verbose_json`.
23
+ # Segments of the transcribed text and their corresponding details. Returned by
24
+ # `distil-whisper/distil-large-v2` when `response_format` is `verbose_json`. Not
25
+ # returned by `openai/whisper-large-v3-turbo`.
24
26
  #
25
27
  # @return [Array<Telnyx::Models::AI::AudioTranscribeResponse::Segment>, nil]
26
28
  optional :segments,
27
29
  -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::AI::AudioTranscribeResponse::Segment] }
28
30
 
29
- # @!method initialize(text:, duration: nil, segments: nil)
31
+ # @!attribute words
32
+ # Word-level timestamps and optional speaker labels. Only returned by
33
+ # `deepgram/nova-3` when word-level output is enabled via `model_config`.
34
+ #
35
+ # @return [Array<Telnyx::Models::AI::AudioTranscribeResponse::Word>, nil]
36
+ optional :words, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::AI::AudioTranscribeResponse::Word] }
37
+
38
+ # @!method initialize(text:, duration: nil, segments: nil, words: nil)
30
39
  # Some parameter documentations has been truncated, see
31
40
  # {Telnyx::Models::AI::AudioTranscribeResponse} for more details.
32
41
  #
42
+ # Response fields vary by model. `distil-whisper/distil-large-v2` returns `text`,
43
+ # `duration`, and `segments` in `verbose_json` mode.
44
+ # `openai/whisper-large-v3-turbo` returns `text` only. `deepgram/nova-3` returns
45
+ # `text` and, depending on `model_config`, may include `words` with per-word
46
+ # timestamps and speaker labels.
47
+ #
33
48
  # @param text [String] The transcribed text for the audio file.
34
49
  #
35
- # @param duration [Float] The duration of the audio file in seconds. This is only included if `response_fo
50
+ # @param duration [Float] The duration of the audio file in seconds. Returned by `distil-whisper/distil-la
51
+ #
52
+ # @param segments [Array<Telnyx::Models::AI::AudioTranscribeResponse::Segment>] Segments of the transcribed text and their corresponding details. Returned by `d
36
53
  #
37
- # @param segments [Array<Telnyx::Models::AI::AudioTranscribeResponse::Segment>] Segments of the transcribed text and their corresponding details. This is only i
54
+ # @param words [Array<Telnyx::Models::AI::AudioTranscribeResponse::Word>] Word-level timestamps and optional speaker labels. Only returned by `deepgram/no
38
55
 
39
56
  class Segment < Telnyx::Internal::Type::BaseModel
40
57
  # @!attribute id
@@ -70,6 +87,52 @@ module Telnyx
70
87
  #
71
88
  # @param text [String] Text content of the segment.
72
89
  end
90
+
91
+ class Word < Telnyx::Internal::Type::BaseModel
92
+ # @!attribute end_
93
+ # End time of the word in seconds.
94
+ #
95
+ # @return [Float]
96
+ required :end_, Float, api_name: :end
97
+
98
+ # @!attribute start
99
+ # Start time of the word in seconds.
100
+ #
101
+ # @return [Float]
102
+ required :start, Float
103
+
104
+ # @!attribute word
105
+ # The transcribed word.
106
+ #
107
+ # @return [String]
108
+ required :word, String
109
+
110
+ # @!attribute confidence
111
+ # Confidence score for the word (0.0 to 1.0).
112
+ #
113
+ # @return [Float, nil]
114
+ optional :confidence, Float
115
+
116
+ # @!attribute speaker
117
+ # Speaker index. Only present when diarization is enabled via `model_config`.
118
+ #
119
+ # @return [Integer, nil]
120
+ optional :speaker, Integer
121
+
122
+ # @!method initialize(end_:, start:, word:, confidence: nil, speaker: nil)
123
+ # Word-level timing detail. Only present when using `deepgram/nova-3` with
124
+ # `model_config` options that enable word timestamps.
125
+ #
126
+ # @param end_ [Float] End time of the word in seconds.
127
+ #
128
+ # @param start [Float] Start time of the word in seconds.
129
+ #
130
+ # @param word [String] The transcribed word.
131
+ #
132
+ # @param confidence [Float] Confidence score for the word (0.0 to 1.0).
133
+ #
134
+ # @param speaker [Integer] Speaker index. Only present when diarization is enabled via `model_config`.
135
+ end
73
136
  end
74
137
  end
75
138
  end
@@ -86,9 +86,9 @@ module Telnyx
86
86
 
87
87
  variant Telnyx::Internal::Type::Boolean
88
88
 
89
- variant -> { Telnyx::Models::AI::ConversationAddMessageParams::Metadata::UnionMember3Array }
89
+ variant -> { Telnyx::Models::AI::ConversationAddMessageParams::Metadata::MetadataArrayValueArray }
90
90
 
91
- module UnionMember3
91
+ module MetadataArrayValue
92
92
  extend Telnyx::Internal::Type::Union
93
93
 
94
94
  variant String
@@ -105,9 +105,9 @@ module Telnyx
105
105
  # @return [Array(String, Integer, Boolean, Array<String, Integer, Boolean>)]
106
106
 
107
107
  # @type [Telnyx::Internal::Type::Converter]
108
- UnionMember3Array =
108
+ MetadataArrayValueArray =
109
109
  Telnyx::Internal::Type::ArrayOf[union: -> {
110
- Telnyx::AI::ConversationAddMessageParams::Metadata::UnionMember3
110
+ Telnyx::AI::ConversationAddMessageParams::Metadata::MetadataArrayValue
111
111
  }]
112
112
  end
113
113
 
@@ -96,6 +96,11 @@ module Telnyx
96
96
  # @return [Telnyx::Models::AI::MessagingSettings, nil]
97
97
  optional :messaging_settings, -> { Telnyx::AI::MessagingSettings }
98
98
 
99
+ # @!attribute observability_settings
100
+ #
101
+ # @return [Telnyx::Models::AI::Observability, nil]
102
+ optional :observability_settings, -> { Telnyx::AI::Observability }
103
+
99
104
  # @!attribute privacy_settings
100
105
  #
101
106
  # @return [Telnyx::Models::AI::PrivacySettings, nil]
@@ -129,7 +134,7 @@ module Telnyx
129
134
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
130
135
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
131
136
 
132
- # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, import_metadata: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, privacy_settings: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
137
+ # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, import_metadata: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, observability_settings: nil, privacy_settings: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
133
138
  # Some parameter documentations has been truncated, see
134
139
  # {Telnyx::Models::AI::InferenceEmbedding} for more details.
135
140
  #
@@ -161,6 +166,8 @@ module Telnyx
161
166
  #
162
167
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
163
168
  #
169
+ # @param observability_settings [Telnyx::Models::AI::Observability]
170
+ #
164
171
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
165
172
  #
166
173
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class Observability < Telnyx::Internal::Type::BaseModel
7
+ # @!attribute host
8
+ #
9
+ # @return [String, nil]
10
+ optional :host, String
11
+
12
+ # @!attribute public_key_ref
13
+ #
14
+ # @return [String, nil]
15
+ optional :public_key_ref, String
16
+
17
+ # @!attribute secret_key_ref
18
+ #
19
+ # @return [String, nil]
20
+ optional :secret_key_ref, String
21
+
22
+ # @!attribute status
23
+ #
24
+ # @return [Symbol, Telnyx::Models::AI::Observability::Status, nil]
25
+ optional :status, enum: -> { Telnyx::AI::Observability::Status }
26
+
27
+ # @!method initialize(host: nil, public_key_ref: nil, secret_key_ref: nil, status: nil)
28
+ # @param host [String]
29
+ # @param public_key_ref [String]
30
+ # @param secret_key_ref [String]
31
+ # @param status [Symbol, Telnyx::Models::AI::Observability::Status]
32
+
33
+ # @see Telnyx::Models::AI::Observability#status
34
+ module Status
35
+ extend Telnyx::Internal::Type::Enum
36
+
37
+ ENABLED = :enabled
38
+ DISABLED = :disabled
39
+
40
+ # @!method self.values
41
+ # @return [Array<Symbol>]
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class ObservabilityReq < Telnyx::Internal::Type::BaseModel
7
+ # @!attribute host
8
+ #
9
+ # @return [String, nil]
10
+ optional :host, String
11
+
12
+ # @!attribute public_key_ref
13
+ #
14
+ # @return [String, nil]
15
+ optional :public_key_ref, String
16
+
17
+ # @!attribute secret_key_ref
18
+ #
19
+ # @return [String, nil]
20
+ optional :secret_key_ref, String
21
+
22
+ # @!attribute status
23
+ #
24
+ # @return [Symbol, Telnyx::Models::AI::ObservabilityReq::Status, nil]
25
+ optional :status, enum: -> { Telnyx::AI::ObservabilityReq::Status }
26
+
27
+ # @!method initialize(host: nil, public_key_ref: nil, secret_key_ref: nil, status: nil)
28
+ # @param host [String]
29
+ # @param public_key_ref [String]
30
+ # @param secret_key_ref [String]
31
+ # @param status [Symbol, Telnyx::Models::AI::ObservabilityReq::Status]
32
+
33
+ # @see Telnyx::Models::AI::ObservabilityReq#status
34
+ module Status
35
+ extend Telnyx::Internal::Type::Enum
36
+
37
+ ENABLED = :enabled
38
+ DISABLED = :disabled
39
+
40
+ # @!method self.values
41
+ # @return [Array<Symbol>]
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -146,6 +146,13 @@ module Telnyx
146
146
  # @return [Symbol, Telnyx::Models::AI::TelephonySettings::RecordingSettings::Channels, nil]
147
147
  optional :channels, enum: -> { Telnyx::AI::TelephonySettings::RecordingSettings::Channels }
148
148
 
149
+ # @!attribute enabled
150
+ # Whether call recording is enabled. When set to false, calls will not be recorded
151
+ # regardless of other recording configuration.
152
+ #
153
+ # @return [Boolean, nil]
154
+ optional :enabled, Telnyx::Internal::Type::Boolean
155
+
149
156
  # @!attribute file_format
150
157
  # The format of the recording file.
151
158
  #
@@ -154,11 +161,16 @@ module Telnyx
154
161
  enum: -> { Telnyx::AI::TelephonySettings::RecordingSettings::Format },
155
162
  api_name: :format
156
163
 
157
- # @!method initialize(channels: nil, file_format: nil)
164
+ # @!method initialize(channels: nil, enabled: nil, file_format: nil)
165
+ # Some parameter documentations has been truncated, see
166
+ # {Telnyx::Models::AI::TelephonySettings::RecordingSettings} for more details.
167
+ #
158
168
  # Configuration for call recording format and channel settings.
159
169
  #
160
170
  # @param channels [Symbol, Telnyx::Models::AI::TelephonySettings::RecordingSettings::Channels] The number of channels for the recording. 'single' for mono, 'dual' for stereo.
161
171
  #
172
+ # @param enabled [Boolean] Whether call recording is enabled. When set to false, calls will not be recorded
173
+ #
162
174
  # @param file_format [Symbol, Telnyx::Models::AI::TelephonySettings::RecordingSettings::Format] The format of the recording file.
163
175
 
164
176
  # The number of channels for the recording. 'single' for mono, 'dual' for stereo.