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
@@ -0,0 +1,290 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class MeetingSessions
6
+ # Send real-time speech and chat actions to an active meeting session.
7
+ # @return [Telnyx::Resources::MeetingSessions::Actions]
8
+ attr_reader :actions
9
+
10
+ # Create and retrieve asynchronous summaries and action-item artifacts.
11
+ # @return [Telnyx::Resources::MeetingSessions::Artifacts]
12
+ attr_reader :artifacts
13
+
14
+ # Some parameter documentations has been truncated, see
15
+ # {Telnyx::Models::MeetingSessionCreateParams} for more details.
16
+ #
17
+ # Creates a new meeting session. When an idempotency_key is supplied in the
18
+ # request body, replay lookup is scoped to the authenticated account and compares
19
+ # only the key; the request payload is not fingerprinted or compared. If a session
20
+ # with that key already exists for the account, the existing session is replayed
21
+ # (200); otherwise a new session is created (201). Supports bring-your-own-key
22
+ # (BYOK) configuration. The session may enter asynchronous states (e.g. joining,
23
+ # waiting_for_admission) before becoming active. Optional `camera_image` input is
24
+ # write-only and applies only when no Avatar or Assistant webpage output takes
25
+ # precedence. An ignored URL is not fetched. An effective URL source is resolved
26
+ # before bot creation; neither the source URL nor image bytes are persisted,
27
+ # returned, or logged. Treat signed URLs as credentials.
28
+ #
29
+ # @overload create(meeting_url:, assistant: nil, avatar: nil, barge_in: nil, bot_name: nil, camera_image: nil, idempotency_key: nil, join_at: nil, metadata: nil, speak_on_enter: nil, summarize_on_end: nil, voice: nil, webhook_url: nil, request_options: {})
30
+ #
31
+ # @param meeting_url [String] The meeting URL the bot should join.
32
+ #
33
+ # @param assistant [Telnyx::Models::MeetingSessionCreateParams::Assistant] Request options for attaching a voice assistant to the session. Routing fields (
34
+ #
35
+ # @param avatar [Telnyx::Models::MeetingSessionCreateParams::Avatar] Request options for attaching a bring-your-own-key avatar to the session.
36
+ #
37
+ # @param barge_in [Boolean] When enabled, a human participant `speech_on` event interrupts and stops the cur
38
+ #
39
+ # @param bot_name [String] Display name for the bot in the meeting. Defaults to "Meeting Bot".
40
+ #
41
+ # @param camera_image [Telnyx::Models::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageBase64Source, Telnyx::Models::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageURLSource] Write-only static camera-tile image for this session, not a native account or pa
42
+ #
43
+ # @param idempotency_key [String] Client-supplied idempotency key to safely retry creation requests without duplic
44
+ #
45
+ # @param join_at [Time] ISO-8601 timestamp in the future at which the bot should join. If omitted, the b
46
+ #
47
+ # @param metadata [Hash{Symbol=>Object}] Arbitrary key-value metadata attached to the session. The serialized JSON repres
48
+ #
49
+ # @param speak_on_enter [String] Text the bot speaks when it enters the meeting.
50
+ #
51
+ # @param summarize_on_end [Boolean] If true, generate a summary artifact when the session ends.
52
+ #
53
+ # @param voice [String] Session-default voice identifier used for `speak_on_enter` and ordinary speak ac
54
+ #
55
+ # @param webhook_url [String] HTTPS endpoint to receive session lifecycle callbacks. Static validation require
56
+ #
57
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
58
+ #
59
+ # @return [Telnyx::Models::MeetingSessionResponse]
60
+ #
61
+ # @see Telnyx::Models::MeetingSessionCreateParams
62
+ def create(params)
63
+ parsed, options = Telnyx::MeetingSessionCreateParams.dump_request(params)
64
+ @client.request(
65
+ method: :post,
66
+ path: "meeting_sessions",
67
+ body: parsed,
68
+ model: Telnyx::MeetingSessionResponse,
69
+ options: options
70
+ )
71
+ end
72
+
73
+ # Retrieves a single meeting session by ID. A session that does not exist or that
74
+ # belongs to a different account both return 404.
75
+ #
76
+ # @overload retrieve(id, request_options: {})
77
+ #
78
+ # @param id [String] Unique identifier for the meeting session.
79
+ #
80
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
81
+ #
82
+ # @return [Telnyx::Models::MeetingSessionResponse]
83
+ #
84
+ # @see Telnyx::Models::MeetingSessionRetrieveParams
85
+ def retrieve(id, params = {})
86
+ @client.request(
87
+ method: :get,
88
+ path: ["meeting_sessions/%1$s", id],
89
+ model: Telnyx::MeetingSessionResponse,
90
+ options: params[:request_options]
91
+ )
92
+ end
93
+
94
+ # Updates mutable properties of a meeting session. Only sessions in the scheduled
95
+ # state can be updated; any other state returns 409 with the invalid_state error
96
+ # code. All request fields are optional, and an empty object is a valid no-op
97
+ # update.
98
+ #
99
+ # @overload update(id, bot_name: nil, join_at: nil, request_options: {})
100
+ #
101
+ # @param id [String] Unique identifier for the meeting session.
102
+ #
103
+ # @param bot_name [String] Updated display name for the bot.
104
+ #
105
+ # @param join_at [Time] ISO-8601 timestamp for the bot to join. May be updated to reschedule.
106
+ #
107
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
108
+ #
109
+ # @return [Telnyx::Models::MeetingSessionResponse]
110
+ #
111
+ # @see Telnyx::Models::MeetingSessionUpdateParams
112
+ def update(id, params = {})
113
+ parsed, options = Telnyx::MeetingSessionUpdateParams.dump_request(params)
114
+ @client.request(
115
+ method: :patch,
116
+ path: ["meeting_sessions/%1$s", id],
117
+ body: parsed,
118
+ model: Telnyx::MeetingSessionResponse,
119
+ options: options
120
+ )
121
+ end
122
+
123
+ # Returns a list of meeting sessions, optionally filtered by status.
124
+ #
125
+ # @overload list(status: nil, request_options: {})
126
+ #
127
+ # @param status [Symbol, Telnyx::Models::MeetingSessionListParams::Status] Filter meeting sessions by current status.
128
+ #
129
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
130
+ #
131
+ # @return [Telnyx::Models::MeetingSessionListResponse]
132
+ #
133
+ # @see Telnyx::Models::MeetingSessionListParams
134
+ def list(params = {})
135
+ parsed, options = Telnyx::MeetingSessionListParams.dump_request(params)
136
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
137
+ @client.request(
138
+ method: :get,
139
+ path: "meeting_sessions",
140
+ query: query,
141
+ model: Telnyx::Models::MeetingSessionListResponse,
142
+ options: options
143
+ )
144
+ end
145
+
146
+ # Stops a meeting session without deleting its persisted record. Scheduled bots
147
+ # are cancelled, while bots that are joining or active are asked to leave. The
148
+ # persisted meeting session record remains available.
149
+ #
150
+ # @overload delete(id, request_options: {})
151
+ #
152
+ # @param id [String] Unique identifier for the meeting session.
153
+ #
154
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
155
+ #
156
+ # @return [Telnyx::Models::MeetingSessionResponse]
157
+ #
158
+ # @see Telnyx::Models::MeetingSessionDeleteParams
159
+ def delete(id, params = {})
160
+ @client.request(
161
+ method: :delete,
162
+ path: ["meeting_sessions/%1$s", id],
163
+ model: Telnyx::MeetingSessionResponse,
164
+ options: params[:request_options]
165
+ )
166
+ end
167
+
168
+ # **Not yet available in production** — this route is not currently routed on
169
+ # api.telnyx.com and returns a generic 404; it is documented ahead of rollout.
170
+ # Irreversibly requests deletion of provider-hosted aggregate recording media
171
+ # under the provider contract. The operation retains the Telnyx-local Meeting
172
+ # session, transcript segments, events, artifacts, and usage records. It is
173
+ # separate from `DELETE /meeting_sessions/{id}`, which stops or cancels
174
+ # participation without deleting the persisted session. A missing/foreign session
175
+ # returns 404; provider deletion failures return 502.
176
+ #
177
+ # @overload delete_recording_media(id, request_options: {})
178
+ #
179
+ # @param id [String] Unique identifier for the meeting session.
180
+ #
181
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
182
+ #
183
+ # @return [Telnyx::Models::MeetingSessionDeleteRecordingMediaResponse]
184
+ #
185
+ # @see Telnyx::Models::MeetingSessionDeleteRecordingMediaParams
186
+ def delete_recording_media(id, params = {})
187
+ @client.request(
188
+ method: :delete,
189
+ path: ["meeting_sessions/%1$s/recording_media", id],
190
+ model: Telnyx::Models::MeetingSessionDeleteRecordingMediaResponse,
191
+ options: params[:request_options]
192
+ )
193
+ end
194
+
195
+ # Returns stored events ordered by ascending `seq`. To continue, pass the last
196
+ # returned item's `seq` as `after`. An empty page means no later stored events
197
+ # existed at read time; this operation returns no separate next-page cursor.
198
+ # Default `limit` is 100 and maximum is 1,000.
199
+ #
200
+ # @overload retrieve_events(id, after: nil, limit: nil, request_options: {})
201
+ #
202
+ # @param id [String] Unique identifier for the meeting session.
203
+ #
204
+ # @param after [Integer] Return results with a cursor position after this value.
205
+ #
206
+ # @param limit [Integer] Maximum number of results to return per page.
207
+ #
208
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
209
+ #
210
+ # @return [Telnyx::Models::MeetingSessionRetrieveEventsResponse]
211
+ #
212
+ # @see Telnyx::Models::MeetingSessionRetrieveEventsParams
213
+ def retrieve_events(id, params = {})
214
+ parsed, options = Telnyx::MeetingSessionRetrieveEventsParams.dump_request(params)
215
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
216
+ @client.request(
217
+ method: :get,
218
+ path: ["meeting_sessions/%1$s/events", id],
219
+ query: query,
220
+ model: Telnyx::Models::MeetingSessionRetrieveEventsResponse,
221
+ options: options
222
+ )
223
+ end
224
+
225
+ # Returns recordings for a meeting session.
226
+ #
227
+ # @overload retrieve_recordings(id, request_options: {})
228
+ #
229
+ # @param id [String] Unique identifier for the meeting session.
230
+ #
231
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
232
+ #
233
+ # @return [Telnyx::Models::MeetingSessionRetrieveRecordingsResponse]
234
+ #
235
+ # @see Telnyx::Models::MeetingSessionRetrieveRecordingsParams
236
+ def retrieve_recordings(id, params = {})
237
+ @client.request(
238
+ method: :get,
239
+ path: ["meeting_sessions/%1$s/recordings", id],
240
+ model: Telnyx::Models::MeetingSessionRetrieveRecordingsResponse,
241
+ options: params[:request_options]
242
+ )
243
+ end
244
+
245
+ # Some parameter documentations has been truncated, see
246
+ # {Telnyx::Models::MeetingSessionRetrieveTranscriptParams} for more details.
247
+ #
248
+ # Returns transcript segments ordered by ascending `seq`. Default `limit` is 100
249
+ # and maximum is 1,000. Continue with `after=meta.next_after`. A long-poll timeout
250
+ # returns 200 with empty `data` and `meta.next_after: null`; retain the cursor
251
+ # supplied to that request because null is not a replacement cursor.
252
+ #
253
+ # @overload retrieve_transcript(id, after: nil, limit: nil, wait_seconds: nil, request_options: {})
254
+ #
255
+ # @param id [String] Unique identifier for the meeting session.
256
+ #
257
+ # @param after [Integer] Return results with a cursor position after this value.
258
+ #
259
+ # @param limit [Integer] Maximum number of results to return per page.
260
+ #
261
+ # @param wait_seconds [Integer] Long-poll duration in seconds. The server holds the connection open for up to th
262
+ #
263
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
264
+ #
265
+ # @return [Telnyx::Models::MeetingSessionRetrieveTranscriptResponse]
266
+ #
267
+ # @see Telnyx::Models::MeetingSessionRetrieveTranscriptParams
268
+ def retrieve_transcript(id, params = {})
269
+ parsed, options = Telnyx::MeetingSessionRetrieveTranscriptParams.dump_request(params)
270
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
271
+ @client.request(
272
+ method: :get,
273
+ path: ["meeting_sessions/%1$s/transcript", id],
274
+ query: query,
275
+ model: Telnyx::Models::MeetingSessionRetrieveTranscriptResponse,
276
+ options: options
277
+ )
278
+ end
279
+
280
+ # @api private
281
+ #
282
+ # @param client [Telnyx::Client]
283
+ def initialize(client:)
284
+ @client = client
285
+ @actions = Telnyx::Resources::MeetingSessions::Actions.new(client: client)
286
+ @artifacts = Telnyx::Resources::MeetingSessions::Artifacts.new(client: client)
287
+ end
288
+ end
289
+ end
290
+ end
@@ -5,14 +5,22 @@ module Telnyx
5
5
  class PhoneNumbers
6
6
  # Voicemail API
7
7
  class Voicemail
8
- # Create voicemail settings for a phone number
8
+ # Some parameter documentations has been truncated, see
9
+ # {Telnyx::Models::PhoneNumbers::VoicemailCreateParams} for more details.
9
10
  #
10
- # @overload create(phone_number_id, enabled: nil, pin: nil, request_options: {})
11
+ # Create voicemail settings for a phone number. You can also configure a custom
12
+ # greeting by setting the `greeting` object: use `mode` `custom_greeting` together
13
+ # with a `media_name` that points to an audio file uploaded through the Media
14
+ # Storage API, or `mode` `default` to use the standard system greeting.
15
+ #
16
+ # @overload create(phone_number_id, enabled: nil, greeting: nil, pin: nil, request_options: {})
11
17
  #
12
18
  # @param phone_number_id [String] The ID of the phone number.
13
19
  #
14
20
  # @param enabled [Boolean] Whether voicemail is enabled.
15
21
  #
22
+ # @param greeting [Telnyx::Models::PhoneNumbers::VoicemailRequest::Greeting] Controls the greeting a caller hears before leaving a voicemail. Set `mode` to `
23
+ #
16
24
  # @param pin [String] The pin used for voicemail
17
25
  #
18
26
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -51,14 +59,22 @@ module Telnyx
51
59
  )
52
60
  end
53
61
 
54
- # Update voicemail settings for a phone number
62
+ # Some parameter documentations has been truncated, see
63
+ # {Telnyx::Models::PhoneNumbers::VoicemailUpdateParams} for more details.
55
64
  #
56
- # @overload update(phone_number_id, enabled: nil, pin: nil, request_options: {})
65
+ # Update voicemail settings for a phone number. You can also configure a custom
66
+ # greeting by setting the `greeting` object: use `mode` `custom_greeting` together
67
+ # with a `media_name` that points to an audio file uploaded through the Media
68
+ # Storage API, or `mode` `default` to use the standard system greeting.
69
+ #
70
+ # @overload update(phone_number_id, enabled: nil, greeting: nil, pin: nil, request_options: {})
57
71
  #
58
72
  # @param phone_number_id [String] The ID of the phone number.
59
73
  #
60
74
  # @param enabled [Boolean] Whether voicemail is enabled.
61
75
  #
76
+ # @param greeting [Telnyx::Models::PhoneNumbers::VoicemailRequest::Greeting] Controls the greeting a caller hears before leaving a voicemail. Set `mode` to `
77
+ #
62
78
  # @param pin [String] The pin used for voicemail
63
79
  #
64
80
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -87,6 +87,9 @@ module Telnyx
87
87
  )
88
88
  end
89
89
 
90
+ # Some parameter documentations has been truncated, see
91
+ # {Telnyx::Models::SimCards::ActionBulkEnableVoiceParams} for more details.
92
+ #
90
93
  # This API triggers an asynchronous operation to enable voice on SIM cards
91
94
  # belonging to a specified SIM Card Group.<br/> For each SIM Card a SIM Card
92
95
  # Action will be generated. The status of the SIM Card Actions can be followed
@@ -98,9 +101,12 @@ module Telnyx
98
101
  # [List Bulk SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-bulk-sim-card-actions)
99
102
  # API.
100
103
  #
101
- # @overload bulk_enable_voice(sim_card_group_id:, request_options: {})
104
+ # @overload bulk_enable_voice(sim_card_group_id:, connection_id: nil, request_options: {})
102
105
  #
103
106
  # @param sim_card_group_id [String]
107
+ #
108
+ # @param connection_id [String] The identifier of the Mobile Voice Connection to associate with the SIM cards. T
109
+ #
104
110
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
105
111
  #
106
112
  # @return [Telnyx::Models::SimCards::ActionBulkEnableVoiceResponse]
@@ -167,6 +173,31 @@ module Telnyx
167
173
  )
168
174
  end
169
175
 
176
+ # This API disables voice calling on a SIM card. The SIM card will no longer be
177
+ # able to make or receive calls.<br/> The API will trigger an asynchronous
178
+ # operation called a SIM Card Action. The status of the SIM Card Action can be
179
+ # followed through the
180
+ # [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions)
181
+ # API.
182
+ #
183
+ # @overload disable_voice(id, request_options: {})
184
+ #
185
+ # @param id [String] Identifies the SIM.
186
+ #
187
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
188
+ #
189
+ # @return [Telnyx::Models::SimCards::ActionDisableVoiceResponse]
190
+ #
191
+ # @see Telnyx::Models::SimCards::ActionDisableVoiceParams
192
+ def disable_voice(id, params = {})
193
+ @client.request(
194
+ method: :post,
195
+ path: ["sim_cards/%1$s/actions/disable_voice", id],
196
+ model: Telnyx::Models::SimCards::ActionDisableVoiceResponse,
197
+ options: params[:request_options]
198
+ )
199
+ end
200
+
170
201
  # This API enables a SIM card, connecting it to the network and making it possible
171
202
  # to consume data.<br/> To enable a SIM card, it must be associated with a SIM
172
203
  # card group.<br/> The API will trigger an asynchronous operation called a SIM
@@ -193,6 +224,40 @@ module Telnyx
193
224
  )
194
225
  end
195
226
 
227
+ # Some parameter documentations has been truncated, see
228
+ # {Telnyx::Models::SimCards::ActionEnableVoiceParams} for more details.
229
+ #
230
+ # This API enables voice calling on a SIM card. When a <code>connection_id</code>
231
+ # is provided, the SIM is associated with the specified Mobile Voice Connection.
232
+ # The connection must be owned by the same user and of type
233
+ # <code>mobile_voice</code>.<br/> The API will trigger an asynchronous operation
234
+ # called a SIM Card Action. The status of the SIM Card Action can be followed
235
+ # through the
236
+ # [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions)
237
+ # API.
238
+ #
239
+ # @overload enable_voice(id, connection_id: nil, request_options: {})
240
+ #
241
+ # @param id [String] Identifies the SIM.
242
+ #
243
+ # @param connection_id [String] The identifier of the Mobile Voice Connection to associate with this SIM card. T
244
+ #
245
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
246
+ #
247
+ # @return [Telnyx::Models::SimCards::ActionEnableVoiceResponse]
248
+ #
249
+ # @see Telnyx::Models::SimCards::ActionEnableVoiceParams
250
+ def enable_voice(id, params = {})
251
+ parsed, options = Telnyx::SimCards::ActionEnableVoiceParams.dump_request(params)
252
+ @client.request(
253
+ method: :post,
254
+ path: ["sim_cards/%1$s/actions/enable_voice", id],
255
+ body: parsed,
256
+ model: Telnyx::Models::SimCards::ActionEnableVoiceResponse,
257
+ options: options
258
+ )
259
+ end
260
+
196
261
  # This API removes an existing public IP from a SIM card. <br/><br/> The API will
197
262
  # trigger an asynchronous operation called a SIM Card Action. The status of the
198
263
  # SIM Card Action can be followed through the
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
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
+ # Some parameter documentations has been truncated, see
10
+ # {Telnyx::Models::Storage::Sqldbs::ActionQueryParams} for more details.
11
+ #
12
+ # Runs SQL against the database and returns the resulting rows — empty for
13
+ # statements that return none, such as DDL. Bind positional `?` placeholders with
14
+ # `params` rather than interpolating values into the SQL string.
15
+ #
16
+ # @overload query(id, sql:, params: nil, request_options: {})
17
+ #
18
+ # @param id [String] SQL database ID
19
+ #
20
+ # @param sql [String] The SQL to run. Use positional `?` placeholders and supply the values in `params
21
+ #
22
+ # @param params [Array<String, Float, Boolean, nil>] Positional bind parameters, in placeholder order. Each value is a string, a numb
23
+ #
24
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Telnyx::Models::Storage::Sqldbs::ActionQueryResponse]
27
+ #
28
+ # @see Telnyx::Models::Storage::Sqldbs::ActionQueryParams
29
+ def query(id, params)
30
+ parsed, options = Telnyx::Storage::Sqldbs::ActionQueryParams.dump_request(params)
31
+ @client.request(
32
+ method: :post,
33
+ path: ["storage/sqldbs/%1$s/actions/query", id],
34
+ body: parsed,
35
+ model: Telnyx::Models::Storage::Sqldbs::ActionQueryResponse,
36
+ options: options
37
+ )
38
+ end
39
+
40
+ # @api private
41
+ #
42
+ # @param client [Telnyx::Client]
43
+ def initialize(client:)
44
+ @client = client
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,140 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Storage
6
+ # Manage SQL databases and run SQL against them
7
+ class Sqldbs
8
+ # Manage SQL databases and run SQL against them
9
+ # @return [Telnyx::Resources::Storage::Sqldbs::Actions]
10
+ attr_reader :actions
11
+
12
+ # Some parameter documentations has been truncated, see
13
+ # {Telnyx::Models::Storage::SqldbCreateParams} for more details.
14
+ #
15
+ # Creates a new SQL database. Provisioning is asynchronous: the database is
16
+ # returned with status `pending` and becomes usable once it reaches
17
+ # `provision_ok`.
18
+ #
19
+ # @overload create(name:, request_options: {})
20
+ #
21
+ # @param name [String] Database name. Lowercase letters, numbers, and hyphens only; must start and end
22
+ #
23
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Telnyx::Models::Storage::SqlDatabaseResponseWrapper]
26
+ #
27
+ # @see Telnyx::Models::Storage::SqldbCreateParams
28
+ def create(params)
29
+ parsed, options = Telnyx::Storage::SqldbCreateParams.dump_request(params)
30
+ @client.request(
31
+ method: :post,
32
+ path: "storage/sqldbs",
33
+ body: parsed,
34
+ model: Telnyx::Storage::SqlDatabaseResponseWrapper,
35
+ options: options
36
+ )
37
+ end
38
+
39
+ # Retrieves a SQL database by its ID, including its provisioning status.
40
+ #
41
+ # @overload retrieve(id, request_options: {})
42
+ #
43
+ # @param id [String] SQL database ID
44
+ #
45
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
46
+ #
47
+ # @return [Telnyx::Models::Storage::SqlDatabaseResponseWrapper]
48
+ #
49
+ # @see Telnyx::Models::Storage::SqldbRetrieveParams
50
+ def retrieve(id, params = {})
51
+ @client.request(
52
+ method: :get,
53
+ path: ["storage/sqldbs/%1$s", id],
54
+ model: Telnyx::Storage::SqlDatabaseResponseWrapper,
55
+ options: params[:request_options]
56
+ )
57
+ end
58
+
59
+ # Lists the SQL databases for the authenticated user's organization. Results use
60
+ # page-based pagination (`page[number]`/`page[size]`) and can be filtered and
61
+ # sorted.
62
+ #
63
+ # @overload list(filter_name: nil, filter_status: nil, page_number: nil, page_size: nil, sort: nil, request_options: {})
64
+ #
65
+ # @param filter_name [String] Filter by exact name match.
66
+ #
67
+ # @param filter_status [Symbol, Telnyx::Models::Storage::SqldbListParams::FilterStatus] Filter by provisioning status.
68
+ #
69
+ # @param page_number [Integer] The page number to load.
70
+ #
71
+ # @param page_size [Integer] The size of the page. Values above 250 are treated as 250.
72
+ #
73
+ # @param sort [Symbol, Telnyx::Models::Storage::SqldbListParams::Sort] Sort field; prefix with `-` for descending order.
74
+ #
75
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
76
+ #
77
+ # @return [Telnyx::Internal::DefaultFlatPagination<Telnyx::Models::Storage::SqlDatabase>]
78
+ #
79
+ # @see Telnyx::Models::Storage::SqldbListParams
80
+ def list(params = {})
81
+ parsed, options = Telnyx::Storage::SqldbListParams.dump_request(params)
82
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
83
+ @client.request(
84
+ method: :get,
85
+ path: "storage/sqldbs",
86
+ query: query.transform_keys(
87
+ filter_name: "filter[name]",
88
+ filter_status: "filter[status]",
89
+ page_number: "page[number]",
90
+ page_size: "page[size]"
91
+ ),
92
+ page: Telnyx::Internal::DefaultFlatPagination,
93
+ model: Telnyx::Storage::SqlDatabase,
94
+ options: options
95
+ )
96
+ end
97
+
98
+ # Some parameter documentations has been truncated, see
99
+ # {Telnyx::Models::Storage::SqldbDeleteParams} for more details.
100
+ #
101
+ # Deletes a SQL database and all of the data it holds. Deletion is asynchronous
102
+ # and returns `202` with an empty body — the record is not removed synchronously.
103
+ # Poll `GET /storage/sqldbs/{id}`, which returns `404` once the database has been
104
+ # purged; there is no durable `deleted` state. A database still bound by a
105
+ # function is refused with `409` unless `force=true`.
106
+ #
107
+ # @overload delete(id, force: nil, request_options: {})
108
+ #
109
+ # @param id [String] SQL database ID
110
+ #
111
+ # @param force [Boolean] Delete the database even when functions still bind it. Their bindings stop resol
112
+ #
113
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
114
+ #
115
+ # @return [nil]
116
+ #
117
+ # @see Telnyx::Models::Storage::SqldbDeleteParams
118
+ def delete(id, params = {})
119
+ parsed, options = Telnyx::Storage::SqldbDeleteParams.dump_request(params)
120
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
121
+ @client.request(
122
+ method: :delete,
123
+ path: ["storage/sqldbs/%1$s", id],
124
+ query: query,
125
+ model: NilClass,
126
+ options: options
127
+ )
128
+ end
129
+
130
+ # @api private
131
+ #
132
+ # @param client [Telnyx::Client]
133
+ def initialize(client:)
134
+ @client = client
135
+ @actions = Telnyx::Resources::Storage::Sqldbs::Actions.new(client: client)
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
@@ -25,6 +25,10 @@ module Telnyx
25
25
  # @return [Telnyx::Resources::Storage::Cloudfs]
26
26
  attr_reader :cloudfs
27
27
 
28
+ # Manage SQL databases and run SQL against them
29
+ # @return [Telnyx::Resources::Storage::Sqldbs]
30
+ attr_reader :sqldbs
31
+
28
32
  # List the external storage providers and regions supported as migration sources.
29
33
  #
30
34
  # @overload list_migration_source_coverage(request_options: {})
@@ -53,6 +57,7 @@ module Telnyx
53
57
  @migrations = Telnyx::Resources::Storage::Migrations.new(client: client)
54
58
  @kvs = Telnyx::Resources::Storage::Kvs.new(client: client)
55
59
  @cloudfs = Telnyx::Resources::Storage::Cloudfs.new(client: client)
60
+ @sqldbs = Telnyx::Resources::Storage::Sqldbs.new(client: client)
56
61
  end
57
62
  end
58
63
  end