telnyx 5.160.0 → 5.161.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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +8 -0
  5. data/lib/telnyx/models/artifact_completed_webhook_event.rb +152 -0
  6. data/lib/telnyx/models/artifact_failed_webhook_event.rb +103 -0
  7. data/lib/telnyx/models/call_dial_params.rb +7 -7
  8. data/lib/telnyx/models/calls/action_answer_params.rb +7 -6
  9. data/lib/telnyx/models/calls/action_transfer_params.rb +7 -6
  10. data/lib/telnyx/models/meeting_session.rb +380 -0
  11. data/lib/telnyx/models/meeting_session_create_params.rb +309 -0
  12. data/lib/telnyx/models/meeting_session_delete_params.rb +20 -0
  13. data/lib/telnyx/models/meeting_session_delete_recording_media_params.rb +20 -0
  14. data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +61 -0
  15. data/lib/telnyx/models/meeting_session_list_params.rb +39 -0
  16. data/lib/telnyx/models/meeting_session_list_response.rb +16 -0
  17. data/lib/telnyx/models/meeting_session_response.rb +22 -0
  18. data/lib/telnyx/models/meeting_session_retrieve_events_params.rb +37 -0
  19. data/lib/telnyx/models/meeting_session_retrieve_events_response.rb +45 -0
  20. data/lib/telnyx/models/meeting_session_retrieve_params.rb +20 -0
  21. data/lib/telnyx/models/meeting_session_retrieve_recordings_params.rb +20 -0
  22. data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +49 -0
  23. data/lib/telnyx/models/meeting_session_retrieve_transcript_params.rb +50 -0
  24. data/lib/telnyx/models/meeting_session_retrieve_transcript_response.rb +80 -0
  25. data/lib/telnyx/models/meeting_session_update_params.rb +37 -0
  26. data/lib/telnyx/models/meeting_sessions/action_accepted_response.rb +29 -0
  27. data/lib/telnyx/models/meeting_sessions/action_send_chat_params.rb +31 -0
  28. data/lib/telnyx/models/meeting_sessions/action_speak_params.rb +52 -0
  29. data/lib/telnyx/models/meeting_sessions/action_stop_speaking_params.rb +22 -0
  30. data/lib/telnyx/models/meeting_sessions/artifact_create_params.rb +42 -0
  31. data/lib/telnyx/models/meeting_sessions/artifact_list_params.rb +22 -0
  32. data/lib/telnyx/models/meeting_sessions/artifact_list_response.rb +18 -0
  33. data/lib/telnyx/models/meeting_sessions/artifact_retrieve_params.rb +28 -0
  34. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact.rb +120 -0
  35. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact_response.rb +20 -0
  36. data/lib/telnyx/models/phone_numbers/voicemail_pref_response.rb +64 -1
  37. data/lib/telnyx/models/phone_numbers/voicemail_request.rb +63 -1
  38. data/lib/telnyx/models/private_wireless_gateway_status.rb +2 -2
  39. data/lib/telnyx/models/recording_available_webhook_event.rb +82 -0
  40. data/lib/telnyx/models/session_status_changed_webhook_event.rb +102 -0
  41. data/lib/telnyx/models/sim_cards/action_bulk_enable_voice_params.rb +16 -1
  42. data/lib/telnyx/models/sim_cards/action_disable_voice_params.rb +22 -0
  43. data/lib/telnyx/models/sim_cards/action_disable_voice_response.rb +23 -0
  44. data/lib/telnyx/models/sim_cards/action_enable_voice_params.rb +37 -0
  45. data/lib/telnyx/models/sim_cards/action_enable_voice_response.rb +23 -0
  46. data/lib/telnyx/models/sim_cards/action_list_params.rb +2 -0
  47. data/lib/telnyx/models/sim_cards/wireless_sim_card_action.rb +6 -0
  48. data/lib/telnyx/models/storage/edge_compute_pagination_meta.rb +35 -0
  49. data/lib/telnyx/models/storage/sql_database.rb +75 -0
  50. data/lib/telnyx/models/storage/sql_database_response_wrapper.rb +18 -0
  51. data/lib/telnyx/models/storage/sqldb_create_params.rb +28 -0
  52. data/lib/telnyx/models/storage/sqldb_delete_params.rb +35 -0
  53. data/lib/telnyx/models/storage/sqldb_list_params.rb +85 -0
  54. data/lib/telnyx/models/storage/sqldb_retrieve_params.rb +22 -0
  55. data/lib/telnyx/models/storage/sqldbs/action_query_params.rb +66 -0
  56. data/lib/telnyx/models/storage/sqldbs/action_query_response.rb +109 -0
  57. data/lib/telnyx/models/transcript_completed_webhook_event.rb +98 -0
  58. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +11 -1
  59. data/lib/telnyx/models/unwrap_webhook_event.rb +11 -1
  60. data/lib/telnyx/models/web_search/research_citation.rb +34 -0
  61. data/lib/telnyx/models/web_search/research_create_params.rb +65 -0
  62. data/lib/telnyx/models/web_search/research_create_response.rb +93 -0
  63. data/lib/telnyx/models/web_search/research_retrieve_params.rb +22 -0
  64. data/lib/telnyx/models/web_search/research_retrieve_response.rb +77 -0
  65. data/lib/telnyx/models/web_search_contents_params.rb +63 -0
  66. data/lib/telnyx/models/web_search_contents_response.rb +97 -0
  67. data/lib/telnyx/models/web_search_create_params.rb +95 -0
  68. data/lib/telnyx/models/web_search_create_response.rb +47 -0
  69. data/lib/telnyx/models/web_search_result.rb +56 -0
  70. data/lib/telnyx/models.rb +42 -0
  71. data/lib/telnyx/resources/calls/actions.rb +2 -2
  72. data/lib/telnyx/resources/calls.rb +1 -1
  73. data/lib/telnyx/resources/meeting_sessions/actions.rb +92 -0
  74. data/lib/telnyx/resources/meeting_sessions/artifacts.rb +92 -0
  75. data/lib/telnyx/resources/meeting_sessions.rb +290 -0
  76. data/lib/telnyx/resources/phone_numbers/voicemail.rb +20 -4
  77. data/lib/telnyx/resources/sim_cards/actions.rb +66 -1
  78. data/lib/telnyx/resources/storage/sqldbs/actions.rb +50 -0
  79. data/lib/telnyx/resources/storage/sqldbs.rb +140 -0
  80. data/lib/telnyx/resources/storage.rb +5 -0
  81. data/lib/telnyx/resources/web_search/research.rb +86 -0
  82. data/lib/telnyx/resources/web_search.rb +96 -0
  83. data/lib/telnyx/resources/webhooks.rb +2 -2
  84. data/lib/telnyx/version.rb +1 -1
  85. data/lib/telnyx.rb +61 -0
  86. data/rbi/telnyx/client.rbi +6 -0
  87. data/rbi/telnyx/models/artifact_completed_webhook_event.rbi +283 -0
  88. data/rbi/telnyx/models/artifact_failed_webhook_event.rbi +185 -0
  89. data/rbi/telnyx/models/call_dial_params.rbi +12 -12
  90. data/rbi/telnyx/models/calls/action_answer_params.rbi +12 -10
  91. data/rbi/telnyx/models/calls/action_transfer_params.rbi +12 -10
  92. data/rbi/telnyx/models/meeting_session.rbi +544 -0
  93. data/rbi/telnyx/models/meeting_session_create_params.rbi +526 -0
  94. data/rbi/telnyx/models/meeting_session_delete_params.rbi +35 -0
  95. data/rbi/telnyx/models/meeting_session_delete_recording_media_params.rbi +38 -0
  96. data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +143 -0
  97. data/rbi/telnyx/models/meeting_session_list_params.rbi +101 -0
  98. data/rbi/telnyx/models/meeting_session_list_response.rbi +30 -0
  99. data/rbi/telnyx/models/meeting_session_response.rbi +36 -0
  100. data/rbi/telnyx/models/meeting_session_retrieve_events_params.rbi +66 -0
  101. data/rbi/telnyx/models/meeting_session_retrieve_events_response.rbi +92 -0
  102. data/rbi/telnyx/models/meeting_session_retrieve_params.rbi +35 -0
  103. data/rbi/telnyx/models/meeting_session_retrieve_recordings_params.rbi +38 -0
  104. data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +97 -0
  105. data/rbi/telnyx/models/meeting_session_retrieve_transcript_params.rbi +81 -0
  106. data/rbi/telnyx/models/meeting_session_retrieve_transcript_response.rbi +154 -0
  107. data/rbi/telnyx/models/meeting_session_update_params.rbi +63 -0
  108. data/rbi/telnyx/models/meeting_sessions/action_accepted_response.rbi +64 -0
  109. data/rbi/telnyx/models/meeting_sessions/action_send_chat_params.rbi +54 -0
  110. data/rbi/telnyx/models/meeting_sessions/action_speak_params.rbi +80 -0
  111. data/rbi/telnyx/models/meeting_sessions/action_stop_speaking_params.rbi +40 -0
  112. data/rbi/telnyx/models/meeting_sessions/artifact_create_params.rbi +89 -0
  113. data/rbi/telnyx/models/meeting_sessions/artifact_list_params.rbi +40 -0
  114. data/rbi/telnyx/models/meeting_sessions/artifact_list_response.rbi +39 -0
  115. data/rbi/telnyx/models/meeting_sessions/artifact_retrieve_params.rbi +48 -0
  116. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact.rbi +264 -0
  117. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbi +46 -0
  118. data/rbi/telnyx/models/phone_numbers/voicemail_pref_response.rbi +149 -2
  119. data/rbi/telnyx/models/phone_numbers/voicemail_request.rbi +145 -2
  120. data/rbi/telnyx/models/private_wireless_gateway_status.rbi +2 -2
  121. data/rbi/telnyx/models/recording_available_webhook_event.rbi +146 -0
  122. data/rbi/telnyx/models/session_status_changed_webhook_event.rbi +171 -0
  123. data/rbi/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbi +21 -1
  124. data/rbi/telnyx/models/sim_cards/action_disable_voice_params.rbi +40 -0
  125. data/rbi/telnyx/models/sim_cards/action_disable_voice_response.rbi +45 -0
  126. data/rbi/telnyx/models/sim_cards/action_enable_voice_params.rbi +63 -0
  127. data/rbi/telnyx/models/sim_cards/action_enable_voice_response.rbi +45 -0
  128. data/rbi/telnyx/models/sim_cards/action_list_params.rbi +10 -0
  129. data/rbi/telnyx/models/sim_cards/wireless_sim_card_action.rbi +16 -0
  130. data/rbi/telnyx/models/storage/edge_compute_pagination_meta.rbi +70 -0
  131. data/rbi/telnyx/models/storage/sql_database.rbi +131 -0
  132. data/rbi/telnyx/models/storage/sql_database_response_wrapper.rbi +35 -0
  133. data/rbi/telnyx/models/storage/sqldb_create_params.rbi +44 -0
  134. data/rbi/telnyx/models/storage/sqldb_delete_params.rbi +56 -0
  135. data/rbi/telnyx/models/storage/sqldb_list_params.rbi +198 -0
  136. data/rbi/telnyx/models/storage/sqldb_retrieve_params.rbi +40 -0
  137. data/rbi/telnyx/models/storage/sqldbs/action_query_params.rbi +125 -0
  138. data/rbi/telnyx/models/storage/sqldbs/action_query_response.rbi +226 -0
  139. data/rbi/telnyx/models/transcript_completed_webhook_event.rbi +166 -0
  140. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +5 -0
  141. data/rbi/telnyx/models/unwrap_webhook_event.rbi +5 -0
  142. data/rbi/telnyx/models/web_search/research_citation.rbi +53 -0
  143. data/rbi/telnyx/models/web_search/research_create_params.rbi +138 -0
  144. data/rbi/telnyx/models/web_search/research_create_response.rbi +235 -0
  145. data/rbi/telnyx/models/web_search/research_retrieve_params.rbi +40 -0
  146. data/rbi/telnyx/models/web_search/research_retrieve_response.rbi +179 -0
  147. data/rbi/telnyx/models/web_search_contents_params.rbi +119 -0
  148. data/rbi/telnyx/models/web_search_contents_response.rbi +232 -0
  149. data/rbi/telnyx/models/web_search_create_params.rbi +162 -0
  150. data/rbi/telnyx/models/web_search_create_response.rbi +127 -0
  151. data/rbi/telnyx/models/web_search_result.rbi +83 -0
  152. data/rbi/telnyx/models.rbi +49 -0
  153. data/rbi/telnyx/resources/calls/actions.rbi +10 -8
  154. data/rbi/telnyx/resources/calls.rbi +5 -5
  155. data/rbi/telnyx/resources/meeting_sessions/actions.rbi +71 -0
  156. data/rbi/telnyx/resources/meeting_sessions/artifacts.rbi +67 -0
  157. data/rbi/telnyx/resources/meeting_sessions.rbi +256 -0
  158. data/rbi/telnyx/resources/phone_numbers/voicemail.rbi +22 -2
  159. data/rbi/telnyx/resources/sim_cards/actions.rbi +56 -1
  160. data/rbi/telnyx/resources/storage/sqldbs/actions.rbi +50 -0
  161. data/rbi/telnyx/resources/storage/sqldbs.rbi +105 -0
  162. data/rbi/telnyx/resources/storage.rbi +4 -0
  163. data/rbi/telnyx/resources/web_search/research.rbi +71 -0
  164. data/rbi/telnyx/resources/web_search.rbi +86 -0
  165. data/rbi/telnyx/resources/webhooks.rbi +10 -0
  166. data/sig/telnyx/client.rbs +4 -0
  167. data/sig/telnyx/models/artifact_completed_webhook_event.rbs +120 -0
  168. data/sig/telnyx/models/artifact_failed_webhook_event.rbs +88 -0
  169. data/sig/telnyx/models/call_dial_params.rbs +7 -5
  170. data/sig/telnyx/models/calls/action_answer_params.rbs +7 -5
  171. data/sig/telnyx/models/calls/action_transfer_params.rbs +7 -5
  172. data/sig/telnyx/models/meeting_session.rbs +277 -0
  173. data/sig/telnyx/models/meeting_session_create_params.rbs +222 -0
  174. data/sig/telnyx/models/meeting_session_delete_params.rbs +20 -0
  175. data/sig/telnyx/models/meeting_session_delete_recording_media_params.rbs +20 -0
  176. data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +61 -0
  177. data/sig/telnyx/models/meeting_session_list_params.rbs +53 -0
  178. data/sig/telnyx/models/meeting_session_list_response.rbs +14 -0
  179. data/sig/telnyx/models/meeting_session_response.rbs +13 -0
  180. data/sig/telnyx/models/meeting_session_retrieve_events_params.rbs +36 -0
  181. data/sig/telnyx/models/meeting_session_retrieve_events_response.rbs +52 -0
  182. data/sig/telnyx/models/meeting_session_retrieve_params.rbs +20 -0
  183. data/sig/telnyx/models/meeting_session_retrieve_recordings_params.rbs +20 -0
  184. data/sig/telnyx/models/meeting_session_retrieve_recordings_response.rbs +34 -0
  185. data/sig/telnyx/models/meeting_session_retrieve_transcript_params.rbs +42 -0
  186. data/sig/telnyx/models/meeting_session_retrieve_transcript_response.rbs +77 -0
  187. data/sig/telnyx/models/meeting_session_update_params.rbs +36 -0
  188. data/sig/telnyx/models/meeting_sessions/action_accepted_response.rbs +30 -0
  189. data/sig/telnyx/models/meeting_sessions/action_send_chat_params.rbs +30 -0
  190. data/sig/telnyx/models/meeting_sessions/action_speak_params.rbs +42 -0
  191. data/sig/telnyx/models/meeting_sessions/action_stop_speaking_params.rbs +22 -0
  192. data/sig/telnyx/models/meeting_sessions/artifact_create_params.rbs +44 -0
  193. data/sig/telnyx/models/meeting_sessions/artifact_list_params.rbs +22 -0
  194. data/sig/telnyx/models/meeting_sessions/artifact_list_response.rbs +20 -0
  195. data/sig/telnyx/models/meeting_sessions/artifact_retrieve_params.rbs +30 -0
  196. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact.rbs +109 -0
  197. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbs +22 -0
  198. data/sig/telnyx/models/phone_numbers/voicemail_pref_response.rbs +59 -3
  199. data/sig/telnyx/models/phone_numbers/voicemail_request.rbs +59 -3
  200. data/sig/telnyx/models/recording_available_webhook_event.rbs +65 -0
  201. data/sig/telnyx/models/session_status_changed_webhook_event.rbs +82 -0
  202. data/sig/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbs +7 -1
  203. data/sig/telnyx/models/sim_cards/action_disable_voice_params.rbs +22 -0
  204. data/sig/telnyx/models/sim_cards/action_disable_voice_response.rbs +20 -0
  205. data/sig/telnyx/models/sim_cards/action_enable_voice_params.rbs +32 -0
  206. data/sig/telnyx/models/sim_cards/action_enable_voice_response.rbs +20 -0
  207. data/sig/telnyx/models/sim_cards/action_list_params.rbs +4 -0
  208. data/sig/telnyx/models/sim_cards/wireless_sim_card_action.rbs +8 -1
  209. data/sig/telnyx/models/storage/edge_compute_pagination_meta.rbs +45 -0
  210. data/sig/telnyx/models/storage/sql_database.rbs +80 -0
  211. data/sig/telnyx/models/storage/sql_database_response_wrapper.rbs +20 -0
  212. data/sig/telnyx/models/storage/sqldb_create_params.rbs +25 -0
  213. data/sig/telnyx/models/storage/sqldb_delete_params.rbs +31 -0
  214. data/sig/telnyx/models/storage/sqldb_list_params.rbs +97 -0
  215. data/sig/telnyx/models/storage/sqldb_retrieve_params.rbs +22 -0
  216. data/sig/telnyx/models/storage/sqldbs/action_query_params.rbs +52 -0
  217. data/sig/telnyx/models/storage/sqldbs/action_query_response.rbs +124 -0
  218. data/sig/telnyx/models/transcript_completed_webhook_event.rbs +82 -0
  219. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +5 -0
  220. data/sig/telnyx/models/unwrap_webhook_event.rbs +5 -0
  221. data/sig/telnyx/models/web_search/research_citation.rbs +21 -0
  222. data/sig/telnyx/models/web_search/research_create_params.rbs +63 -0
  223. data/sig/telnyx/models/web_search/research_create_response.rbs +95 -0
  224. data/sig/telnyx/models/web_search/research_retrieve_params.rbs +25 -0
  225. data/sig/telnyx/models/web_search/research_retrieve_response.rbs +80 -0
  226. data/sig/telnyx/models/web_search_contents_params.rbs +59 -0
  227. data/sig/telnyx/models/web_search_contents_response.rbs +104 -0
  228. data/sig/telnyx/models/web_search_create_params.rbs +89 -0
  229. data/sig/telnyx/models/web_search_create_response.rbs +65 -0
  230. data/sig/telnyx/models/web_search_result.rbs +49 -0
  231. data/sig/telnyx/models.rbs +42 -0
  232. data/sig/telnyx/resources/calls/actions.rbs +2 -2
  233. data/sig/telnyx/resources/calls.rbs +1 -1
  234. data/sig/telnyx/resources/meeting_sessions/actions.rbs +28 -0
  235. data/sig/telnyx/resources/meeting_sessions/artifacts.rbs +26 -0
  236. data/sig/telnyx/resources/meeting_sessions.rbs +75 -0
  237. data/sig/telnyx/resources/phone_numbers/voicemail.rbs +2 -0
  238. data/sig/telnyx/resources/sim_cards/actions.rbs +12 -0
  239. data/sig/telnyx/resources/storage/sqldbs/actions.rbs +18 -0
  240. data/sig/telnyx/resources/storage/sqldbs.rbs +36 -0
  241. data/sig/telnyx/resources/storage.rbs +2 -0
  242. data/sig/telnyx/resources/web_search/research.rbs +22 -0
  243. data/sig/telnyx/resources/web_search.rbs +29 -0
  244. data/sig/telnyx/resources/webhooks.rbs +10 -0
  245. metadata +185 -2
@@ -109,7 +109,7 @@ module Telnyx
109
109
  webhook_url: String,
110
110
  webhook_url_method:
111
111
  Telnyx::Calls::ActionAnswerParams::WebhookURLMethod::OrSymbol,
112
- webhook_urls: T::Hash[Symbol, String],
112
+ webhook_urls: T::Hash[Symbol, T::Array[String]],
113
113
  webhook_urls_method:
114
114
  Telnyx::Calls::ActionAnswerParams::WebhookURLsMethod::OrSymbol,
115
115
  request_options: Telnyx::RequestOptions::OrHash
@@ -208,9 +208,10 @@ module Telnyx
208
208
  webhook_url: nil,
209
209
  # HTTP request type used for `webhook_url`.
210
210
  webhook_url_method: nil,
211
- # A map of event types to webhook URLs. When an event of the specified type
212
- # occurs, the webhook URL associated with that event type will be called instead
213
- # of `webhook_url`. Events not mapped here will use the default `webhook_url`.
211
+ # A map of event types to arrays of webhook URLs. When an event of the specified
212
+ # type occurs, the webhook URLs associated with that event type will be called
213
+ # instead of `webhook_url`. Events not mapped here will use the default
214
+ # `webhook_url`.
214
215
  webhook_urls: nil,
215
216
  # HTTP request method to invoke `webhook_urls`.
216
217
  webhook_urls_method: nil,
@@ -2321,7 +2322,7 @@ module Telnyx
2321
2322
  webhook_url: String,
2322
2323
  webhook_url_method:
2323
2324
  Telnyx::Calls::ActionTransferParams::WebhookURLMethod::OrSymbol,
2324
- webhook_urls: T::Hash[Symbol, String],
2325
+ webhook_urls: T::Hash[Symbol, T::Array[String]],
2325
2326
  webhook_urls_method:
2326
2327
  Telnyx::Calls::ActionTransferParams::WebhookURLsMethod::OrSymbol,
2327
2328
  request_options: Telnyx::RequestOptions::OrHash
@@ -2483,9 +2484,10 @@ module Telnyx
2483
2484
  webhook_url: nil,
2484
2485
  # HTTP request type used for `webhook_url`.
2485
2486
  webhook_url_method: nil,
2486
- # A map of event types to webhook URLs. When an event of the specified type
2487
- # occurs, the webhook URL associated with that event type will be called instead
2488
- # of `webhook_url`. Events not mapped here will use the default `webhook_url`.
2487
+ # A map of event types to arrays of webhook URLs. When an event of the specified
2488
+ # type occurs, the webhook URLs associated with that event type will be called
2489
+ # instead of `webhook_url`. Events not mapped here will use the default
2490
+ # `webhook_url`.
2489
2491
  webhook_urls: nil,
2490
2492
  # HTTP request method to invoke `webhook_urls`.
2491
2493
  webhook_urls_method: nil,
@@ -108,7 +108,7 @@ module Telnyx
108
108
  webhook_url: String,
109
109
  webhook_url_method:
110
110
  Telnyx::CallDialParams::WebhookURLMethod::OrSymbol,
111
- webhook_urls: T::Hash[Symbol, String],
111
+ webhook_urls: T::Hash[Symbol, T::Array[String]],
112
112
  webhook_urls_method:
113
113
  Telnyx::CallDialParams::WebhookURLsMethod::OrSymbol,
114
114
  request_options: Telnyx::RequestOptions::OrHash
@@ -350,10 +350,10 @@ module Telnyx
350
350
  webhook_url: nil,
351
351
  # HTTP request type used for `webhook_url`.
352
352
  webhook_url_method: nil,
353
- # A map of event types to webhook URLs. When an event of the specified type
354
- # occurs, the webhook URL associated with that event type will be called instead
355
- # of the default webhook URL. Events not mapped here will use the default webhook
356
- # URL.
353
+ # A map of event types to arrays of webhook URLs. When an event of the specified
354
+ # type occurs, the webhook URLs associated with that event type will be called
355
+ # instead of the default webhook URL. Events not mapped here will use the default
356
+ # webhook URL.
357
357
  webhook_urls: nil,
358
358
  # HTTP request method to invoke `webhook_urls`.
359
359
  webhook_urls_method: nil,
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class MeetingSessions
6
+ # Send real-time speech and chat actions to an active meeting session.
7
+ class Actions
8
+ # Sends a chat message into a meeting session.
9
+ sig do
10
+ params(
11
+ id: String,
12
+ text: String,
13
+ request_options: Telnyx::RequestOptions::OrHash
14
+ ).returns(Telnyx::MeetingSessions::ActionAcceptedResponse)
15
+ end
16
+ def send_chat(
17
+ # Unique identifier for the meeting session.
18
+ id,
19
+ # Chat message text to send in the meeting.
20
+ text:,
21
+ request_options: {}
22
+ )
23
+ end
24
+
25
+ # Sends audio / text-to-speech into a meeting session.
26
+ sig do
27
+ params(
28
+ id: String,
29
+ text: String,
30
+ interrupt: T::Boolean,
31
+ voice: String,
32
+ request_options: Telnyx::RequestOptions::OrHash
33
+ ).returns(Telnyx::MeetingSessions::ActionAcceptedResponse)
34
+ end
35
+ def speak(
36
+ # Unique identifier for the meeting session.
37
+ id,
38
+ # Text for the bot to speak.
39
+ text:,
40
+ # If true, interrupt any currently playing audio to speak this text immediately.
41
+ interrupt: nil,
42
+ # Voice identifier to use for this utterance. When supplied, it overrides the
43
+ # session-default voice configured at creation; otherwise the speak action uses
44
+ # that session default.
45
+ voice: nil,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ # Stops any active text-to-speech playback in a meeting session.
51
+ sig do
52
+ params(
53
+ id: String,
54
+ request_options: Telnyx::RequestOptions::OrHash
55
+ ).returns(Telnyx::MeetingSessions::ActionAcceptedResponse)
56
+ end
57
+ def stop_speaking(
58
+ # Unique identifier for the meeting session.
59
+ id,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ # @api private
65
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
66
+ def self.new(client:)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class MeetingSessions
6
+ # Create and retrieve asynchronous summaries and action-item artifacts.
7
+ class Artifacts
8
+ # Requests asynchronous generation of one `summary` or `action_items` artifact.
9
+ # Each type requires its own request. Generation requires transcript content and
10
+ # configured inference and currently reads at most the first 10,000 segments, so
11
+ # exceptionally long transcripts may produce incomplete artifacts or fail model
12
+ # limits.
13
+ sig do
14
+ params(
15
+ id: String,
16
+ type: Telnyx::MeetingSessions::ArtifactCreateParams::Type::OrSymbol,
17
+ request_options: Telnyx::RequestOptions::OrHash
18
+ ).returns(Telnyx::MeetingSessions::MeetingSessionArtifactResponse)
19
+ end
20
+ def create(
21
+ # Unique identifier for the meeting session.
22
+ id,
23
+ # Type of artifact to generate from the session.
24
+ type:,
25
+ request_options: {}
26
+ )
27
+ end
28
+
29
+ # Retrieves a single meeting session artifact by ID.
30
+ sig do
31
+ params(
32
+ artifact_id: String,
33
+ id: String,
34
+ request_options: Telnyx::RequestOptions::OrHash
35
+ ).returns(Telnyx::MeetingSessions::MeetingSessionArtifactResponse)
36
+ end
37
+ def retrieve(
38
+ # Unique identifier for a meeting session artifact.
39
+ artifact_id,
40
+ # Unique identifier for the meeting session.
41
+ id:,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ # Returns a list of artifacts for a meeting session.
47
+ sig do
48
+ params(
49
+ id: String,
50
+ request_options: Telnyx::RequestOptions::OrHash
51
+ ).returns(Telnyx::Models::MeetingSessions::ArtifactListResponse)
52
+ end
53
+ def list(
54
+ # Unique identifier for the meeting session.
55
+ id,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ # @api private
61
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
62
+ def self.new(client:)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,256 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class MeetingSessions
6
+ # Send real-time speech and chat actions to an active meeting session.
7
+ sig { returns(Telnyx::Resources::MeetingSessions::Actions) }
8
+ attr_reader :actions
9
+
10
+ # Create and retrieve asynchronous summaries and action-item artifacts.
11
+ sig { returns(Telnyx::Resources::MeetingSessions::Artifacts) }
12
+ attr_reader :artifacts
13
+
14
+ # Creates a new meeting session. When an idempotency_key is supplied in the
15
+ # request body, replay lookup is scoped to the authenticated account and compares
16
+ # only the key; the request payload is not fingerprinted or compared. If a session
17
+ # with that key already exists for the account, the existing session is replayed
18
+ # (200); otherwise a new session is created (201). Supports bring-your-own-key
19
+ # (BYOK) configuration. The session may enter asynchronous states (e.g. joining,
20
+ # waiting_for_admission) before becoming active. Optional `camera_image` input is
21
+ # write-only and applies only when no Avatar or Assistant webpage output takes
22
+ # precedence. An ignored URL is not fetched. An effective URL source is resolved
23
+ # before bot creation; neither the source URL nor image bytes are persisted,
24
+ # returned, or logged. Treat signed URLs as credentials.
25
+ sig do
26
+ params(
27
+ meeting_url: String,
28
+ assistant: Telnyx::MeetingSessionCreateParams::Assistant::OrHash,
29
+ avatar: Telnyx::MeetingSessionCreateParams::Avatar::OrHash,
30
+ barge_in: T::Boolean,
31
+ bot_name: String,
32
+ camera_image:
33
+ T.any(
34
+ Telnyx::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageBase64Source::OrHash,
35
+ Telnyx::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageURLSource::OrHash
36
+ ),
37
+ idempotency_key: String,
38
+ join_at: Time,
39
+ metadata: T::Hash[Symbol, T.anything],
40
+ speak_on_enter: String,
41
+ summarize_on_end: T::Boolean,
42
+ voice: String,
43
+ webhook_url: String,
44
+ request_options: Telnyx::RequestOptions::OrHash
45
+ ).returns(Telnyx::MeetingSessionResponse)
46
+ end
47
+ def create(
48
+ # The meeting URL the bot should join.
49
+ meeting_url:,
50
+ # Request options for attaching a voice assistant to the session. Routing fields
51
+ # (`call_control_connection_id`, `from`, and `loopback_sip_uri`) are used only to
52
+ # establish the assistant call leg and are omitted from response objects.
53
+ # `audio_gate` is returned with `id` in the assistant response object.
54
+ assistant: nil,
55
+ # Request options for attaching a bring-your-own-key avatar to the session.
56
+ avatar: nil,
57
+ # When enabled, a human participant `speech_on` event interrupts and stops the
58
+ # current bot audio; it does not bypass admission or initiate speech. Assistant
59
+ # sessions reject `barge_in: true`.
60
+ barge_in: nil,
61
+ # Display name for the bot in the meeting. Defaults to "Meeting Bot".
62
+ bot_name: nil,
63
+ # Write-only static camera-tile image for this session, not a native account or
64
+ # participant profile photo. Supply exactly one JPEG source. When effective, the
65
+ # image is used as the bot's static camera/video output; presentation varies by
66
+ # meeting platform and recording configuration and is not guaranteed in
67
+ # recordings. An effective Avatar or Assistant webpage output takes precedence, so
68
+ # this input is ignored and a URL source is not fetched.
69
+ camera_image: nil,
70
+ # Client-supplied idempotency key to safely retry creation requests without
71
+ # duplicating sessions. Lookup is scoped to the authenticated account and compares
72
+ # the key only; the request payload is not fingerprinted or compared.
73
+ idempotency_key: nil,
74
+ # ISO-8601 timestamp in the future at which the bot should join. If omitted, the
75
+ # bot joins immediately.
76
+ join_at: nil,
77
+ # Arbitrary key-value metadata attached to the session. The serialized JSON
78
+ # representation must not exceed 16384 characters at runtime.
79
+ metadata: nil,
80
+ # Text the bot speaks when it enters the meeting.
81
+ speak_on_enter: nil,
82
+ # If true, generate a summary artifact when the session ends.
83
+ summarize_on_end: nil,
84
+ # Session-default voice identifier used for `speak_on_enter` and ordinary speak
85
+ # actions. A voice supplied on an individual speak action overrides this default
86
+ # for that utterance.
87
+ voice: nil,
88
+ # HTTPS endpoint to receive session lifecycle callbacks. Static validation
89
+ # requires HTTPS, rejects embedded credentials and blocked hosts, and enforces
90
+ # egress policy. Validation makes no network request to the endpoint.
91
+ webhook_url: nil,
92
+ request_options: {}
93
+ )
94
+ end
95
+
96
+ # Retrieves a single meeting session by ID. A session that does not exist or that
97
+ # belongs to a different account both return 404.
98
+ sig do
99
+ params(
100
+ id: String,
101
+ request_options: Telnyx::RequestOptions::OrHash
102
+ ).returns(Telnyx::MeetingSessionResponse)
103
+ end
104
+ def retrieve(
105
+ # Unique identifier for the meeting session.
106
+ id,
107
+ request_options: {}
108
+ )
109
+ end
110
+
111
+ # Updates mutable properties of a meeting session. Only sessions in the scheduled
112
+ # state can be updated; any other state returns 409 with the invalid_state error
113
+ # code. All request fields are optional, and an empty object is a valid no-op
114
+ # update.
115
+ sig do
116
+ params(
117
+ id: String,
118
+ bot_name: String,
119
+ join_at: Time,
120
+ request_options: Telnyx::RequestOptions::OrHash
121
+ ).returns(Telnyx::MeetingSessionResponse)
122
+ end
123
+ def update(
124
+ # Unique identifier for the meeting session.
125
+ id,
126
+ # Updated display name for the bot.
127
+ bot_name: nil,
128
+ # ISO-8601 timestamp for the bot to join. May be updated to reschedule.
129
+ join_at: nil,
130
+ request_options: {}
131
+ )
132
+ end
133
+
134
+ # Returns a list of meeting sessions, optionally filtered by status.
135
+ sig do
136
+ params(
137
+ status: Telnyx::MeetingSessionListParams::Status::OrSymbol,
138
+ request_options: Telnyx::RequestOptions::OrHash
139
+ ).returns(Telnyx::Models::MeetingSessionListResponse)
140
+ end
141
+ def list(
142
+ # Filter meeting sessions by current status.
143
+ status: nil,
144
+ request_options: {}
145
+ )
146
+ end
147
+
148
+ # Stops a meeting session without deleting its persisted record. Scheduled bots
149
+ # are cancelled, while bots that are joining or active are asked to leave. The
150
+ # persisted meeting session record remains available.
151
+ sig do
152
+ params(
153
+ id: String,
154
+ request_options: Telnyx::RequestOptions::OrHash
155
+ ).returns(Telnyx::MeetingSessionResponse)
156
+ end
157
+ def delete(
158
+ # Unique identifier for the meeting session.
159
+ id,
160
+ request_options: {}
161
+ )
162
+ end
163
+
164
+ # **Not yet available in production** — this route is not currently routed on
165
+ # api.telnyx.com and returns a generic 404; it is documented ahead of rollout.
166
+ # Irreversibly requests deletion of provider-hosted aggregate recording media
167
+ # under the provider contract. The operation retains the Telnyx-local Meeting
168
+ # session, transcript segments, events, artifacts, and usage records. It is
169
+ # separate from `DELETE /meeting_sessions/{id}`, which stops or cancels
170
+ # participation without deleting the persisted session. A missing/foreign session
171
+ # returns 404; provider deletion failures return 502.
172
+ sig do
173
+ params(
174
+ id: String,
175
+ request_options: Telnyx::RequestOptions::OrHash
176
+ ).returns(Telnyx::Models::MeetingSessionDeleteRecordingMediaResponse)
177
+ end
178
+ def delete_recording_media(
179
+ # Unique identifier for the meeting session.
180
+ id,
181
+ request_options: {}
182
+ )
183
+ end
184
+
185
+ # Returns stored events ordered by ascending `seq`. To continue, pass the last
186
+ # returned item's `seq` as `after`. An empty page means no later stored events
187
+ # existed at read time; this operation returns no separate next-page cursor.
188
+ # Default `limit` is 100 and maximum is 1,000.
189
+ sig do
190
+ params(
191
+ id: String,
192
+ after: Integer,
193
+ limit: Integer,
194
+ request_options: Telnyx::RequestOptions::OrHash
195
+ ).returns(Telnyx::Models::MeetingSessionRetrieveEventsResponse)
196
+ end
197
+ def retrieve_events(
198
+ # Unique identifier for the meeting session.
199
+ id,
200
+ # Return results with a cursor position after this value.
201
+ after: nil,
202
+ # Maximum number of results to return per page.
203
+ limit: nil,
204
+ request_options: {}
205
+ )
206
+ end
207
+
208
+ # Returns recordings for a meeting session.
209
+ sig do
210
+ params(
211
+ id: String,
212
+ request_options: Telnyx::RequestOptions::OrHash
213
+ ).returns(Telnyx::Models::MeetingSessionRetrieveRecordingsResponse)
214
+ end
215
+ def retrieve_recordings(
216
+ # Unique identifier for the meeting session.
217
+ id,
218
+ request_options: {}
219
+ )
220
+ end
221
+
222
+ # Returns transcript segments ordered by ascending `seq`. Default `limit` is 100
223
+ # and maximum is 1,000. Continue with `after=meta.next_after`. A long-poll timeout
224
+ # returns 200 with empty `data` and `meta.next_after: null`; retain the cursor
225
+ # supplied to that request because null is not a replacement cursor.
226
+ sig do
227
+ params(
228
+ id: String,
229
+ after: Integer,
230
+ limit: Integer,
231
+ wait_seconds: Integer,
232
+ request_options: Telnyx::RequestOptions::OrHash
233
+ ).returns(Telnyx::Models::MeetingSessionRetrieveTranscriptResponse)
234
+ end
235
+ def retrieve_transcript(
236
+ # Unique identifier for the meeting session.
237
+ id,
238
+ # Return results with a cursor position after this value.
239
+ after: nil,
240
+ # Maximum number of results to return per page.
241
+ limit: nil,
242
+ # Long-poll duration in seconds. The server holds the connection open for up to
243
+ # this many seconds, waiting for new or updated results before returning an empty
244
+ # response. Set to 0 for an immediate response.
245
+ wait_seconds: nil,
246
+ request_options: {}
247
+ )
248
+ end
249
+
250
+ # @api private
251
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
252
+ def self.new(client:)
253
+ end
254
+ end
255
+ end
256
+ end
@@ -5,11 +5,15 @@ module Telnyx
5
5
  class PhoneNumbers
6
6
  # Voicemail API
7
7
  class Voicemail
8
- # Create voicemail settings for a phone number
8
+ # Create voicemail settings for a phone number. You can also configure a custom
9
+ # greeting by setting the `greeting` object: use `mode` `custom_greeting` together
10
+ # with a `media_name` that points to an audio file uploaded through the Media
11
+ # Storage API, or `mode` `default` to use the standard system greeting.
9
12
  sig do
10
13
  params(
11
14
  phone_number_id: String,
12
15
  enabled: T::Boolean,
16
+ greeting: Telnyx::PhoneNumbers::VoicemailRequest::Greeting::OrHash,
13
17
  pin: String,
14
18
  request_options: Telnyx::RequestOptions::OrHash
15
19
  ).returns(Telnyx::Models::PhoneNumbers::VoicemailCreateResponse)
@@ -19,6 +23,12 @@ module Telnyx
19
23
  phone_number_id,
20
24
  # Whether voicemail is enabled.
21
25
  enabled: nil,
26
+ # Controls the greeting a caller hears before leaving a voicemail. Set `mode` to
27
+ # `default` to play the standard system greeting, or to `custom_greeting` to play
28
+ # your own audio. When `mode` is `custom_greeting`, `media_name` is required and
29
+ # must reference an audio file already uploaded to your account through the Media
30
+ # Storage API.
31
+ greeting: nil,
22
32
  # The pin used for voicemail
23
33
  pin: nil,
24
34
  request_options: {}
@@ -39,11 +49,15 @@ module Telnyx
39
49
  )
40
50
  end
41
51
 
42
- # Update voicemail settings for a phone number
52
+ # Update voicemail settings for a phone number. You can also configure a custom
53
+ # greeting by setting the `greeting` object: use `mode` `custom_greeting` together
54
+ # with a `media_name` that points to an audio file uploaded through the Media
55
+ # Storage API, or `mode` `default` to use the standard system greeting.
43
56
  sig do
44
57
  params(
45
58
  phone_number_id: String,
46
59
  enabled: T::Boolean,
60
+ greeting: Telnyx::PhoneNumbers::VoicemailRequest::Greeting::OrHash,
47
61
  pin: String,
48
62
  request_options: Telnyx::RequestOptions::OrHash
49
63
  ).returns(Telnyx::Models::PhoneNumbers::VoicemailUpdateResponse)
@@ -53,6 +67,12 @@ module Telnyx
53
67
  phone_number_id,
54
68
  # Whether voicemail is enabled.
55
69
  enabled: nil,
70
+ # Controls the greeting a caller hears before leaving a voicemail. Set `mode` to
71
+ # `default` to play the standard system greeting, or to `custom_greeting` to play
72
+ # your own audio. When `mode` is `custom_greeting`, `media_name` is required and
73
+ # must reference an audio file already uploaded to your account through the Media
74
+ # Storage API.
75
+ greeting: nil,
56
76
  # The pin used for voicemail
57
77
  pin: nil,
58
78
  request_options: {}
@@ -76,10 +76,19 @@ module Telnyx
76
76
  sig do
77
77
  params(
78
78
  sim_card_group_id: String,
79
+ connection_id: String,
79
80
  request_options: Telnyx::RequestOptions::OrHash
80
81
  ).returns(Telnyx::Models::SimCards::ActionBulkEnableVoiceResponse)
81
82
  end
82
- def bulk_enable_voice(sim_card_group_id:, request_options: {})
83
+ def bulk_enable_voice(
84
+ sim_card_group_id:,
85
+ # The identifier of the Mobile Voice Connection to associate with the SIM cards.
86
+ # The connection must be owned by the same user and of type
87
+ # <code>mobile_voice</code>. If omitted, voice is enabled without a connection
88
+ # association.
89
+ connection_id: nil,
90
+ request_options: {}
91
+ )
83
92
  end
84
93
 
85
94
  # This API triggers an asynchronous operation to set a public IP for each of the
@@ -115,6 +124,25 @@ module Telnyx
115
124
  )
116
125
  end
117
126
 
127
+ # This API disables voice calling on a SIM card. The SIM card will no longer be
128
+ # able to make or receive calls.<br/> The API will trigger an asynchronous
129
+ # operation called a SIM Card Action. The status of the SIM Card Action can be
130
+ # followed through the
131
+ # [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions)
132
+ # API.
133
+ sig do
134
+ params(
135
+ id: String,
136
+ request_options: Telnyx::RequestOptions::OrHash
137
+ ).returns(Telnyx::Models::SimCards::ActionDisableVoiceResponse)
138
+ end
139
+ def disable_voice(
140
+ # Identifies the SIM.
141
+ id,
142
+ request_options: {}
143
+ )
144
+ end
145
+
118
146
  # This API enables a SIM card, connecting it to the network and making it possible
119
147
  # to consume data.<br/> To enable a SIM card, it must be associated with a SIM
120
148
  # card group.<br/> The API will trigger an asynchronous operation called a SIM
@@ -135,6 +163,33 @@ module Telnyx
135
163
  )
136
164
  end
137
165
 
166
+ # This API enables voice calling on a SIM card. When a <code>connection_id</code>
167
+ # is provided, the SIM is associated with the specified Mobile Voice Connection.
168
+ # The connection must be owned by the same user and of type
169
+ # <code>mobile_voice</code>.<br/> The API will trigger an asynchronous operation
170
+ # called a SIM Card Action. The status of the SIM Card Action can be followed
171
+ # through the
172
+ # [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions)
173
+ # API.
174
+ sig do
175
+ params(
176
+ id: String,
177
+ connection_id: String,
178
+ request_options: Telnyx::RequestOptions::OrHash
179
+ ).returns(Telnyx::Models::SimCards::ActionEnableVoiceResponse)
180
+ end
181
+ def enable_voice(
182
+ # Identifies the SIM.
183
+ id,
184
+ # The identifier of the Mobile Voice Connection to associate with this SIM card.
185
+ # The connection must be owned by the same user and of type
186
+ # <code>mobile_voice</code>. If omitted, voice is enabled without a connection
187
+ # association.
188
+ connection_id: nil,
189
+ request_options: {}
190
+ )
191
+ end
192
+
138
193
  # This API removes an existing public IP from a SIM card. <br/><br/> The API will
139
194
  # trigger an asynchronous operation called a SIM Card Action. The status of the
140
195
  # SIM Card Action can be followed through the
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Storage
6
+ class Sqldbs
7
+ # Manage SQL databases and run SQL against them
8
+ class Actions
9
+ # Runs SQL against the database and returns the resulting rows — empty for
10
+ # statements that return none, such as DDL. Bind positional `?` placeholders with
11
+ # `params` rather than interpolating values into the SQL string.
12
+ sig do
13
+ params(
14
+ id: String,
15
+ sql: String,
16
+ params:
17
+ T::Array[
18
+ T.nilable(
19
+ Telnyx::Storage::Sqldbs::ActionQueryParams::Param::Variants
20
+ )
21
+ ],
22
+ request_options: Telnyx::RequestOptions::OrHash
23
+ ).returns(Telnyx::Models::Storage::Sqldbs::ActionQueryResponse)
24
+ end
25
+ def query(
26
+ # SQL database ID
27
+ id,
28
+ # The SQL to run. Use positional `?` placeholders and supply the values in
29
+ # `params` rather than interpolating them into this string.
30
+ sql:,
31
+ # Positional bind parameters, in placeholder order. Each value is a string, a
32
+ # number, a boolean, or null; booleans are cast to `1`/`0`. The count must match
33
+ # the number of `?` placeholders exactly — a mismatch is rejected with 422 rather
34
+ # than binding null for the ones you left out. (Not enforced for multi-statement
35
+ # scripts or named parameters, where the placeholder count is not the number
36
+ # bound.)
37
+ params: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
44
+ def self.new(client:)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end