twilio-ruby 7.4.4 → 7.10.4

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 (590) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/workflows/test-and-deploy.yml +4 -3
  4. data/.gitignore +1 -0
  5. data/CHANGES.md +529 -0
  6. data/Dockerfile +3 -2
  7. data/README.md +2 -2
  8. data/cluster/cluster_oauth_spec.rb +4 -4
  9. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  10. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  11. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  12. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  13. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  14. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  15. data/lib/twilio-ruby/http/client_token_manager.rb +5 -2
  16. data/lib/twilio-ruby/http/org_token_manager.rb +5 -2
  17. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
  18. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +95 -1
  19. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
  20. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
  21. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
  22. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  23. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  24. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +154 -4
  25. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
  26. data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +313 -4
  29. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +125 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +125 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +125 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +125 -4
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +125 -4
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +125 -4
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +125 -4
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +245 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +237 -2
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +416 -20
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +446 -7
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +216 -2
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +395 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +336 -7
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +199 -2
  75. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
  76. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +214 -1
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +98 -5
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +98 -5
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +98 -5
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +98 -5
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +98 -5
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +98 -5
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +98 -5
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +98 -5
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +98 -5
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +280 -6
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
  106. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
  107. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
  108. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
  109. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
  110. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
  111. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
  112. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
  113. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
  114. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
  115. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
  116. data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
  117. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +134 -2
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +157 -1
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
  123. data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
  125. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
  126. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
  127. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
  128. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
  129. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
  130. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
  131. data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
  132. data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
  133. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
  137. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
  138. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
  139. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
  140. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
  141. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
  142. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
  143. data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
  144. data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
  145. data/lib/twilio-ruby/rest/client.rb +5 -5
  146. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
  147. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
  148. data/lib/twilio-ruby/rest/content/v1/content.rb +962 -6
  149. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
  150. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
  151. data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
  152. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
  153. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
  154. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
  157. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
  160. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
  161. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
  163. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
  164. data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
  165. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +189 -4
  166. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
  168. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
  169. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
  172. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
  173. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
  174. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
  176. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
  177. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
  178. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
  179. data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
  180. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
  181. data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
  182. data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
  183. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
  184. data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
  185. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
  186. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
  187. data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
  188. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
  189. data/lib/twilio-ruby/rest/events/v1/subscription.rb +253 -26
  190. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +241 -4
  191. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
  192. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
  193. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
  195. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +143 -4
  196. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
  197. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
  198. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
  199. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
  206. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
  207. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +223 -1
  209. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +258 -1
  210. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
  211. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
  212. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
  214. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
  217. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
  220. data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
  221. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -39
  222. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +111 -0
  223. data/lib/twilio-ruby/rest/flex_api_base.rb +1 -6
  224. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
  225. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
  226. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +95 -1
  227. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
  228. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  229. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  230. data/lib/twilio-ruby/rest/iam/v1.rb +21 -0
  231. data/lib/twilio-ruby/rest/iam_base.rb +1 -6
  232. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
  234. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
  235. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
  236. data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +184 -3
  238. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
  239. data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
  240. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
  241. data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
  242. data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
  243. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +570 -0
  244. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +641 -0
  245. data/lib/twilio-ruby/rest/insights/v2/report.rb +940 -0
  246. data/lib/twilio-ruby/rest/insights/v2.rb +79 -0
  247. data/lib/twilio-ruby/rest/insights_base.rb +6 -1
  248. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
  249. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
  250. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +169 -3
  253. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
  254. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +312 -2
  255. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  256. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  257. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
  258. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
  259. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +93 -4
  260. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +278 -1
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
  267. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
  268. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
  269. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
  280. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
  281. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
  282. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +129 -173
  283. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  284. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  285. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
  286. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  287. data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
  288. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +153 -2
  289. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  290. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  291. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +197 -13
  292. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  293. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  294. data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
  295. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
  296. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
  297. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
  298. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
  299. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
  300. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
  301. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
  302. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
  304. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
  305. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +245 -1
  306. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
  307. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
  308. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
  309. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
  310. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  311. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
  312. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
  313. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
  314. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
  316. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
  317. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +225 -3
  318. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
  319. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
  320. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +393 -12
  321. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/service.rb +336 -5
  323. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +717 -10
  324. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
  325. data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
  326. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  327. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  328. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  329. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  330. data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
  331. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
  332. data/lib/twilio-ruby/rest/monitor/v1/event.rb +172 -2
  333. data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
  334. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
  335. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
  336. data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
  337. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
  339. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  340. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  341. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +320 -8
  342. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
  343. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
  344. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
  345. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
  346. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  347. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
  348. data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +107 -20
  349. data/lib/twilio-ruby/rest/numbers/v1.rb +22 -4
  350. data/lib/twilio-ruby/rest/numbers/v2/application.rb +707 -0
  351. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
  352. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
  353. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
  354. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
  355. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
  356. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
  357. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
  358. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
  359. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
  360. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -3
  361. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
  362. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
  363. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
  364. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
  365. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
  366. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  367. data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
  368. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  369. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  370. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  371. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
  372. data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
  373. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  374. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  375. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  376. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  377. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
  378. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
  379. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
  380. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
  381. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
  382. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
  383. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
  384. data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
  385. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
  386. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
  387. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
  388. data/lib/twilio-ruby/rest/preview_base.rb +0 -5
  389. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
  390. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
  391. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
  392. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
  393. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +436 -1
  394. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
  395. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
  396. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  397. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
  398. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  399. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
  400. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
  401. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  402. data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
  403. data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
  405. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
  406. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  407. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
  408. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
  409. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
  412. data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -28
  413. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
  414. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
  415. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
  417. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
  418. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
  419. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
  420. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
  421. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +168 -2
  422. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
  423. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
  424. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
  426. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
  427. data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
  428. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
  429. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
  430. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +175 -1
  431. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
  432. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
  433. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
  434. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +175 -1
  435. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
  436. data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
  437. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
  438. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
  439. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +175 -1
  440. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +269 -1
  441. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +167 -1
  442. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
  443. data/lib/twilio-ruby/rest/studio/v2/flow.rb +267 -1
  444. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
  445. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
  446. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
  447. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
  448. data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
  449. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
  450. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
  451. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
  452. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
  453. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
  454. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
  455. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
  456. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
  457. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
  458. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
  459. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
  460. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
  461. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
  462. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
  463. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
  464. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
  465. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
  466. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
  467. data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
  468. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
  469. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
  470. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +362 -3
  471. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +311 -2
  472. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +354 -3
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
  494. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
  495. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
  496. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
  497. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +213 -2
  498. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
  499. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +291 -1
  500. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +187 -4
  501. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
  502. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +251 -1
  503. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
  504. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
  505. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
  506. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
  507. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
  508. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
  509. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
  510. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
  511. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
  512. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
  513. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
  514. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
  515. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
  516. data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
  517. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
  518. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
  519. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  520. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
  521. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
  522. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
  523. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +142 -0
  524. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
  525. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
  526. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  527. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  528. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  529. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
  530. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
  531. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +254 -1
  532. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
  533. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
  534. data/lib/twilio-ruby/rest/verify/v2/service.rb +529 -2
  535. data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
  536. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +178 -4
  537. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +159 -3
  538. data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
  539. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
  540. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
  541. data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
  542. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
  543. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
  544. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
  545. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
  546. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
  547. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
  548. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
  549. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
  550. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +657 -0
  551. data/lib/twilio-ruby/rest/video/v1/room.rb +311 -1
  552. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
  553. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
  554. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
  555. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
  556. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
  557. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
  558. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
  559. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
  560. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  561. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
  562. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
  563. data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
  564. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +282 -2
  565. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
  566. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
  567. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
  568. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
  569. data/lib/twilio-ruby/twiml/voice_response.rb +183 -18
  570. data/lib/twilio-ruby/version.rb +1 -1
  571. data/twilio-ruby.gemspec +1 -3
  572. metadata +50 -61
  573. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -382
  574. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -375
  575. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -213
  576. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -398
  577. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -391
  578. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -441
  579. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  580. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  581. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -407
  582. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -472
  583. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -467
  584. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -407
  585. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -444
  586. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -470
  587. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -407
  588. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -444
  589. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -529
  590. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -430
@@ -0,0 +1,856 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Knowledge
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Knowledge < KnowledgeBase
19
+ class V1 < Version
20
+ class KnowledgeList < ListResource
21
+
22
+ class KnowledgeV1ServiceCreateKnowledgeRequest
23
+ # @param [description]: [String] The description of the knowledge source.
24
+ # @param [knowledge_source_details]: [Hash] The details of the knowledge source based on the type.
25
+ # @param [name]: [String] The name of the tool.
26
+ # @param [policy]: [KnowledgeList.KnowledgeV1ServiceCreatePolicyRequest]
27
+ # @param [type]: [String] The type of the knowledge source.
28
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's required for 'Database' type but disallowed for other types.
29
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
30
+ def initialize(payload)
31
+ @description = payload["description"]
32
+ @knowledge_source_details = payload["knowledge_source_details"]
33
+ @name = payload["name"]
34
+ @policy = payload["policy"]
35
+ @type = payload["type"]
36
+ @embedding_model = payload["embedding_model"]
37
+ end
38
+ def to_json(options = {})
39
+ {
40
+ "description": @description,
41
+ "knowledge_source_details": @knowledge_source_details,
42
+ "name": @name,
43
+ "policy": @policy,
44
+ "type": @type,
45
+ "embedding_model": @embedding_model,
46
+ }.to_json(options)
47
+ end
48
+ end
49
+
50
+ class KnowledgeV1ServiceCreatePolicyRequest
51
+ # @param [description]: [String] The description of the policy.
52
+ # @param [id]: [String] The Policy ID.
53
+ # @param [name]: [String] The name of the policy.
54
+ # @param [policy_details]: [Hash]
55
+ # @param [type]: [String] The description of the policy.
56
+ attr_accessor :description, :id, :name, :policy_details, :type
57
+ def initialize(payload)
58
+ @description = payload["description"]
59
+ @id = payload["id"]
60
+ @name = payload["name"]
61
+ @policy_details = payload["policy_details"]
62
+ @type = payload["type"]
63
+ end
64
+ def to_json(options = {})
65
+ {
66
+ "description": @description,
67
+ "id": @id,
68
+ "name": @name,
69
+ "policy_details": @policy_details,
70
+ "type": @type,
71
+ }.to_json(options)
72
+ end
73
+ end
74
+
75
+ class KnowledgeV1ServiceUpdateKnowledgeRequest
76
+ # @param [description]: [String] The description of the knowledge source.
77
+ # @param [knowledge_source_details]: [Hash] The details of the knowledge source based on the type.
78
+ # @param [name]: [String] The name of the knowledge source.
79
+ # @param [policy]: [KnowledgeList.KnowledgeV1ServiceCreatePolicyRequest]
80
+ # @param [type]: [String] The description of the knowledge source.
81
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's only applicable to 'Database' type.
82
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
83
+ def initialize(payload)
84
+ @description = payload["description"]
85
+ @knowledge_source_details = payload["knowledge_source_details"]
86
+ @name = payload["name"]
87
+ @policy = payload["policy"]
88
+ @type = payload["type"]
89
+ @embedding_model = payload["embedding_model"]
90
+ end
91
+ def to_json(options = {})
92
+ {
93
+ "description": @description,
94
+ "knowledge_source_details": @knowledge_source_details,
95
+ "name": @name,
96
+ "policy": @policy,
97
+ "type": @type,
98
+ "embedding_model": @embedding_model,
99
+ }.to_json(options)
100
+ end
101
+ end
102
+
103
+
104
+ class KnowledgeV1ServiceCreateKnowledgeRequest
105
+ # @param [description]: [String] The description of the knowledge source.
106
+ # @param [knowledge_source_details]: [Hash] The details of the knowledge source based on the type.
107
+ # @param [name]: [String] The name of the tool.
108
+ # @param [policy]: [KnowledgeList.KnowledgeV1ServiceCreatePolicyRequest]
109
+ # @param [type]: [String] The type of the knowledge source.
110
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's required for 'Database' type but disallowed for other types.
111
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
112
+ def initialize(payload)
113
+ @description = payload["description"]
114
+ @knowledge_source_details = payload["knowledge_source_details"]
115
+ @name = payload["name"]
116
+ @policy = payload["policy"]
117
+ @type = payload["type"]
118
+ @embedding_model = payload["embedding_model"]
119
+ end
120
+ def to_json(options = {})
121
+ {
122
+ "description": @description,
123
+ "knowledge_source_details": @knowledge_source_details,
124
+ "name": @name,
125
+ "policy": @policy,
126
+ "type": @type,
127
+ "embedding_model": @embedding_model,
128
+ }.to_json(options)
129
+ end
130
+ end
131
+
132
+ class KnowledgeV1ServiceCreatePolicyRequest
133
+ # @param [description]: [String] The description of the policy.
134
+ # @param [id]: [String] The Policy ID.
135
+ # @param [name]: [String] The name of the policy.
136
+ # @param [policy_details]: [Hash]
137
+ # @param [type]: [String] The description of the policy.
138
+ attr_accessor :description, :id, :name, :policy_details, :type
139
+ def initialize(payload)
140
+ @description = payload["description"]
141
+ @id = payload["id"]
142
+ @name = payload["name"]
143
+ @policy_details = payload["policy_details"]
144
+ @type = payload["type"]
145
+ end
146
+ def to_json(options = {})
147
+ {
148
+ "description": @description,
149
+ "id": @id,
150
+ "name": @name,
151
+ "policy_details": @policy_details,
152
+ "type": @type,
153
+ }.to_json(options)
154
+ end
155
+ end
156
+
157
+ class KnowledgeV1ServiceUpdateKnowledgeRequest
158
+ # @param [description]: [String] The description of the knowledge source.
159
+ # @param [knowledge_source_details]: [Hash] The details of the knowledge source based on the type.
160
+ # @param [name]: [String] The name of the knowledge source.
161
+ # @param [policy]: [KnowledgeList.KnowledgeV1ServiceCreatePolicyRequest]
162
+ # @param [type]: [String] The description of the knowledge source.
163
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's only applicable to 'Database' type.
164
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
165
+ def initialize(payload)
166
+ @description = payload["description"]
167
+ @knowledge_source_details = payload["knowledge_source_details"]
168
+ @name = payload["name"]
169
+ @policy = payload["policy"]
170
+ @type = payload["type"]
171
+ @embedding_model = payload["embedding_model"]
172
+ end
173
+ def to_json(options = {})
174
+ {
175
+ "description": @description,
176
+ "knowledge_source_details": @knowledge_source_details,
177
+ "name": @name,
178
+ "policy": @policy,
179
+ "type": @type,
180
+ "embedding_model": @embedding_model,
181
+ }.to_json(options)
182
+ end
183
+ end
184
+
185
+
186
+ ##
187
+ # Initialize the KnowledgeList
188
+ # @param [Version] version Version that contains the resource
189
+ # @return [KnowledgeList] KnowledgeList
190
+ def initialize(version)
191
+ super(version)
192
+
193
+ # Path Solution
194
+ @solution = { }
195
+ @uri = "/Knowledge"
196
+
197
+ end
198
+ ##
199
+ # Create the KnowledgeInstance
200
+ # @param [KnowledgeV1ServiceCreateKnowledgeRequest] knowledge_v1_service_create_knowledge_request
201
+ # @return [KnowledgeInstance] Created KnowledgeInstance
202
+ def create(knowledge_v1_service_create_knowledge_request: nil
203
+ )
204
+
205
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
206
+ headers['Content-Type'] = 'application/json'
207
+
208
+
209
+
210
+
211
+ payload = @version.create('POST', @uri, headers: headers, data: knowledge_v1_service_create_knowledge_request.to_json)
212
+ KnowledgeInstance.new(
213
+ @version,
214
+ payload,
215
+ )
216
+ end
217
+
218
+ ##
219
+ # Create the KnowledgeInstanceMetadata
220
+ # @param [KnowledgeV1ServiceCreateKnowledgeRequest] knowledge_v1_service_create_knowledge_request
221
+ # @return [KnowledgeInstance] Created KnowledgeInstance
222
+ def create_with_metadata(knowledge_v1_service_create_knowledge_request: nil
223
+ )
224
+
225
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
226
+ headers['Content-Type'] = 'application/json'
227
+
228
+
229
+
230
+
231
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: knowledge_v1_service_create_knowledge_request.to_json)
232
+ knowledge_instance = KnowledgeInstance.new(
233
+ @version,
234
+ response.body,
235
+ )
236
+ KnowledgeInstanceMetadata.new(
237
+ @version,
238
+ knowledge_instance,
239
+ response.headers,
240
+ response.status_code
241
+ )
242
+ end
243
+
244
+
245
+ ##
246
+ # Lists KnowledgeInstance records from the API as a list.
247
+ # Unlike stream(), this operation is eager and will load `limit` records into
248
+ # memory before returning.
249
+ # @param [String] tags Json array of tag and value pairs for tag filtering.
250
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
251
+ # guarantees to never return more than limit. Default is no limit
252
+ # @param [Integer] page_size Number of records to fetch per request, when
253
+ # not set will use the default value of 50 records. If no page_size is defined
254
+ # but a limit is defined, stream() will attempt to read the limit with the most
255
+ # efficient page size, i.e. min(limit, 1000)
256
+ # @return [Array] Array of up to limit results
257
+ def list(tags: :unset, limit: nil, page_size: nil)
258
+ self.stream(
259
+ tags: tags,
260
+ limit: limit,
261
+ page_size: page_size
262
+ ).entries
263
+ end
264
+
265
+ ##
266
+ # Streams Instance records from the API as an Enumerable.
267
+ # This operation lazily loads records as efficiently as possible until the limit
268
+ # is reached.
269
+ # @param [String] tags Json array of tag and value pairs for tag filtering.
270
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
271
+ # guarantees to never return more than limit. Default is no limit
272
+ # @param [Integer] page_size Number of records to fetch per request, when
273
+ # not set will use the default value of 50 records. If no page_size is defined
274
+ # but a limit is defined, stream() will attempt to read the limit with the most
275
+ # efficient page size, i.e. min(limit, 1000)
276
+ # @return [Enumerable] Enumerable that will yield up to limit results
277
+ def stream(tags: :unset, limit: nil, page_size: nil)
278
+ limits = @version.read_limits(limit, page_size)
279
+
280
+ page = self.page(
281
+ tags: tags,
282
+ page_size: limits[:page_size], )
283
+
284
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
285
+ end
286
+
287
+ ##
288
+ # Lists KnowledgePageMetadata records from the API as a list.
289
+ # @param [String] tags Json array of tag and value pairs for tag filtering.
290
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
291
+ # guarantees to never return more than limit. Default is no limit
292
+ # @param [Integer] page_size Number of records to fetch per request, when
293
+ # not set will use the default value of 50 records. If no page_size is defined
294
+ # but a limit is defined, stream() will attempt to read the limit with the most
295
+ # efficient page size, i.e. min(limit, 1000)
296
+ # @return [Array] Array of up to limit results
297
+ def list_with_metadata(tags: :unset, limit: nil, page_size: nil)
298
+ limits = @version.read_limits(limit, page_size)
299
+ params = Twilio::Values.of({
300
+ 'Tags' => tags,
301
+
302
+ 'PageSize' => limits[:page_size],
303
+ });
304
+ headers = Twilio::Values.of({})
305
+
306
+ response = @version.page('GET', @uri, params: params, headers: headers)
307
+
308
+ KnowledgePageMetadata.new(@version, response, @solution, limits[:limit])
309
+ end
310
+
311
+ ##
312
+ # When passed a block, yields KnowledgeInstance records from the API.
313
+ # This operation lazily loads records as efficiently as possible until the limit
314
+ # is reached.
315
+ def each
316
+ limits = @version.read_limits
317
+
318
+ page = self.page(page_size: limits[:page_size], )
319
+
320
+ @version.stream(page,
321
+ limit: limits[:limit],
322
+ page_limit: limits[:page_limit]).each {|x| yield x}
323
+ end
324
+
325
+ ##
326
+ # Retrieve a single page of KnowledgeInstance records from the API.
327
+ # Request is executed immediately.
328
+ # @param [String] tags Json array of tag and value pairs for tag filtering.
329
+ # @param [String] page_token PageToken provided by the API
330
+ # @param [Integer] page_number Page Number, this value is simply for client state
331
+ # @param [Integer] page_size Number of records to return, defaults to 50
332
+ # @return [Page] Page of KnowledgeInstance
333
+ def page(tags: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
334
+ params = Twilio::Values.of({
335
+ 'Tags' => tags,
336
+ 'PageToken' => page_token,
337
+ 'Page' => page_number,
338
+ 'PageSize' => page_size,
339
+ })
340
+ headers = Twilio::Values.of({})
341
+
342
+
343
+
344
+ response = @version.page('GET', @uri, params: params, headers: headers)
345
+
346
+ KnowledgePage.new(@version, response, @solution)
347
+ end
348
+
349
+ ##
350
+ # Retrieve a single page of KnowledgeInstance records from the API.
351
+ # Request is executed immediately.
352
+ # @param [String] target_url API-generated URL for the requested results page
353
+ # @return [Page] Page of KnowledgeInstance
354
+ def get_page(target_url)
355
+ response = @version.domain.request(
356
+ 'GET',
357
+ target_url
358
+ )
359
+ KnowledgePage.new(@version, response, @solution)
360
+ end
361
+
362
+
363
+
364
+ # Provide a user friendly representation
365
+ def to_s
366
+ '#<Twilio.Knowledge.V1.KnowledgeList>'
367
+ end
368
+ end
369
+
370
+
371
+ class KnowledgeContext < InstanceContext
372
+ ##
373
+ # Initialize the KnowledgeContext
374
+ # @param [Version] version Version that contains the resource
375
+ # @param [String] id
376
+ # @return [KnowledgeContext] KnowledgeContext
377
+ def initialize(version, id)
378
+ super(version)
379
+
380
+
381
+ # Path Solution
382
+ @solution = { id: id, }
383
+ @uri = "/Knowledge/#{@solution[:id]}"
384
+
385
+ # Dependents
386
+ @chunks = nil
387
+ @knowledge_status = nil
388
+ end
389
+ ##
390
+ # Delete the KnowledgeInstance
391
+ # @return [Boolean] True if delete succeeds, false otherwise
392
+ def delete
393
+
394
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
395
+
396
+
397
+
398
+
399
+ @version.delete('DELETE', @uri, headers: headers)
400
+ end
401
+
402
+ ##
403
+ # Delete the KnowledgeInstanceMetadata
404
+ # @return [Boolean] True if delete succeeds, false otherwise
405
+ def delete_with_metadata
406
+
407
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
408
+
409
+
410
+
411
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
412
+ knowledge_instance = KnowledgeInstance.new(
413
+ @version,
414
+ response.body,
415
+ account_sid: @solution[:account_sid],
416
+ sid: @solution[:sid],
417
+ )
418
+ KnowledgeInstanceMetadata.new(@version, knowledge_instance, response.headers, response.status_code)
419
+ end
420
+
421
+ ##
422
+ # Fetch the KnowledgeInstance
423
+ # @return [KnowledgeInstance] Fetched KnowledgeInstance
424
+ def fetch
425
+
426
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
427
+
428
+
429
+
430
+
431
+
432
+ payload = @version.fetch('GET', @uri, headers: headers)
433
+ KnowledgeInstance.new(
434
+ @version,
435
+ payload,
436
+ id: @solution[:id],
437
+ )
438
+ end
439
+
440
+ ##
441
+ # Fetch the KnowledgeInstanceMetadata
442
+ # @return [KnowledgeInstance] Fetched KnowledgeInstance
443
+ def fetch_with_metadata
444
+
445
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
446
+
447
+
448
+
449
+
450
+
451
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
452
+ knowledge_instance = KnowledgeInstance.new(
453
+ @version,
454
+ response.body,
455
+ id: @solution[:id],
456
+ )
457
+ KnowledgeInstanceMetadata.new(
458
+ @version,
459
+ knowledge_instance,
460
+ response.headers,
461
+ response.status_code
462
+ )
463
+ end
464
+
465
+ ##
466
+ # Update the KnowledgeInstance
467
+ # @param [KnowledgeV1ServiceUpdateKnowledgeRequest] knowledge_v1_service_update_knowledge_request
468
+ # @return [KnowledgeInstance] Updated KnowledgeInstance
469
+ def update(knowledge_v1_service_update_knowledge_request: :unset
470
+ )
471
+
472
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
473
+ headers['Content-Type'] = 'application/json'
474
+
475
+
476
+
477
+
478
+ payload = @version.update('PUT', @uri, headers: headers, data: knowledge_v1_service_update_knowledge_request.to_json)
479
+ KnowledgeInstance.new(
480
+ @version,
481
+ payload,
482
+ id: @solution[:id],
483
+ )
484
+ end
485
+
486
+ ##
487
+ # Update the KnowledgeInstanceMetadata
488
+ # @param [KnowledgeV1ServiceUpdateKnowledgeRequest] knowledge_v1_service_update_knowledge_request
489
+ # @return [KnowledgeInstance] Updated KnowledgeInstance
490
+ def update_with_metadata(knowledge_v1_service_update_knowledge_request: :unset
491
+ )
492
+
493
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
494
+ headers['Content-Type'] = 'application/json'
495
+
496
+
497
+
498
+
499
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: knowledge_v1_service_update_knowledge_request.to_json)
500
+ knowledge_instance = KnowledgeInstance.new(
501
+ @version,
502
+ response.body,
503
+ id: @solution[:id],
504
+ )
505
+ KnowledgeInstanceMetadata.new(
506
+ @version,
507
+ knowledge_instance,
508
+ response.headers,
509
+ response.status_code
510
+ )
511
+ end
512
+
513
+ ##
514
+ # Access the chunks
515
+ # @return [ChunkList]
516
+ # @return [ChunkContext]
517
+ def chunks
518
+ unless @chunks
519
+ @chunks = ChunkList.new(
520
+ @version, )
521
+ end
522
+ @chunks
523
+ end
524
+ ##
525
+ # Access the knowledge_status
526
+ # @return [KnowledgeStatusList]
527
+ # @return [KnowledgeStatusContext]
528
+ def knowledge_status
529
+ KnowledgeStatusContext.new(
530
+ @version,
531
+ @solution[:id]
532
+ )
533
+ end
534
+
535
+ ##
536
+ # Provide a user friendly representation
537
+ def to_s
538
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
539
+ "#<Twilio.Knowledge.V1.KnowledgeContext #{context}>"
540
+ end
541
+
542
+ ##
543
+ # Provide a detailed, user friendly representation
544
+ def inspect
545
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
546
+ "#<Twilio.Knowledge.V1.KnowledgeContext #{context}>"
547
+ end
548
+ end
549
+
550
+ class KnowledgeInstanceMetadata < InstanceResourceMetadata
551
+ ##
552
+ # Initializes a new KnowledgeInstanceMetadata.
553
+ # @param [Version] version Version that contains the resource
554
+ # @param [}KnowledgeInstance] knowledge_instance The instance associated with the metadata.
555
+ # @param [Hash] headers Header object with response headers.
556
+ # @param [Integer] status_code The HTTP status code of the response.
557
+ # @return [KnowledgeInstanceMetadata] The initialized instance with metadata.
558
+ def initialize(version, knowledge_instance, headers, status_code)
559
+ super(version, headers, status_code)
560
+ @knowledge_instance = knowledge_instance
561
+ end
562
+
563
+ def knowledge
564
+ @knowledge_instance
565
+ end
566
+
567
+ def headers
568
+ @headers
569
+ end
570
+
571
+ def status_code
572
+ @status_code
573
+ end
574
+
575
+ def to_s
576
+ "<Twilio.Api.V2010.KnowledgeInstanceMetadata status=#{@status_code}>"
577
+ end
578
+ end
579
+
580
+ class KnowledgeListResponse < InstanceListResource
581
+ # @param [Array<KnowledgeInstance>] instance
582
+ # @param [Hash{String => Object}] headers
583
+ # @param [Integer] status_code
584
+ def initialize(version, payload, key)
585
+ @knowledge_instance = payload.body[key].map do |data|
586
+ KnowledgeInstance.new(version, data)
587
+ end
588
+ @headers = payload.headers
589
+ @status_code = payload.status_code
590
+ end
591
+
592
+ def knowledge_instance
593
+ @instance
594
+ end
595
+ end
596
+
597
+ class KnowledgePage < Page
598
+ ##
599
+ # Initialize the KnowledgePage
600
+ # @param [Version] version Version that contains the resource
601
+ # @param [Response] response Response from the API
602
+ # @param [Hash] solution Path solution for the resource
603
+ # @return [KnowledgePage] KnowledgePage
604
+ def initialize(version, response, solution)
605
+ super(version, response)
606
+
607
+
608
+ # Path Solution
609
+ @solution = solution
610
+ end
611
+
612
+ ##
613
+ # Build an instance of KnowledgeInstance
614
+ # @param [Hash] payload Payload response from the API
615
+ # @return [KnowledgeInstance] KnowledgeInstance
616
+ def get_instance(payload)
617
+ KnowledgeInstance.new(@version, payload)
618
+ end
619
+
620
+ ##
621
+ # Provide a user friendly representation
622
+ def to_s
623
+ '<Twilio.Knowledge.V1.KnowledgePage>'
624
+ end
625
+ end
626
+
627
+ class KnowledgePageMetadata < PageMetadata
628
+ attr_reader :knowledge_page
629
+
630
+ def initialize(version, response, solution, limit)
631
+ super(version, response)
632
+ @knowledge_page = []
633
+ @limit = limit
634
+ key = get_key(response.body)
635
+ records = 0
636
+ while( limit != :unset && records < limit )
637
+ @knowledge_page << KnowledgeListResponse.new(version, @payload, key, limit - records)
638
+ @payload = self.next_page
639
+ break unless @payload
640
+ records += @payload.body[key].size
641
+ end
642
+ # Path Solution
643
+ @solution = solution
644
+ end
645
+
646
+ def each
647
+ @knowledge_page.each do |record|
648
+ yield record
649
+ end
650
+ end
651
+
652
+ def to_s
653
+ '<Twilio::REST::Knowledge::V1PageMetadata>';
654
+ end
655
+ end
656
+ class KnowledgeListResponse < InstanceListResource
657
+
658
+ # @param [Array<KnowledgeInstance>] instance
659
+ # @param [Hash{String => Object}] headers
660
+ # @param [Integer] status_code
661
+ def initialize(version, payload, key, limit = :unset)
662
+ data_list = payload.body[key]
663
+ if limit != :unset
664
+ data_list = data_list[0, limit]
665
+ end
666
+ @knowledge = data_list.map do |data|
667
+ KnowledgeInstance.new(version, data)
668
+ end
669
+ @headers = payload.headers
670
+ @status_code = payload.status_code
671
+ end
672
+
673
+ def knowledge
674
+ @knowledge
675
+ end
676
+
677
+ def headers
678
+ @headers
679
+ end
680
+
681
+ def status_code
682
+ @status_code
683
+ end
684
+ end
685
+
686
+ class KnowledgeInstance < InstanceResource
687
+ ##
688
+ # Initialize the KnowledgeInstance
689
+ # @param [Version] version Version that contains the resource
690
+ # @param [Hash] payload payload that contains response from Twilio
691
+ # @param [String] account_sid The SID of the
692
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Knowledge
693
+ # resource.
694
+ # @param [String] sid The SID of the Call resource to fetch.
695
+ # @return [KnowledgeInstance] KnowledgeInstance
696
+ def initialize(version, payload , id: nil)
697
+ super(version)
698
+
699
+
700
+ # Marshaled Properties
701
+ @properties = {
702
+ 'description' => payload['description'],
703
+ 'id' => payload['id'],
704
+ 'account_sid' => payload['account_sid'],
705
+ 'knowledge_source_details' => payload['knowledge_source_details'],
706
+ 'name' => payload['name'],
707
+ 'status' => payload['status'],
708
+ 'type' => payload['type'],
709
+ 'url' => payload['url'],
710
+ 'embedding_model' => payload['embedding_model'],
711
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
712
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
713
+ }
714
+
715
+ # Context
716
+ @instance_context = nil
717
+ @params = { 'id' => id || @properties['id'] , }
718
+ end
719
+
720
+ ##
721
+ # Generate an instance context for the instance, the context is capable of
722
+ # performing various actions. All instance actions are proxied to the context
723
+ # @return [KnowledgeContext] CallContext for this CallInstance
724
+ def context
725
+ unless @instance_context
726
+ @instance_context = KnowledgeContext.new(@version , @params['id'])
727
+ end
728
+ @instance_context
729
+ end
730
+
731
+ ##
732
+ # @return [String] The type of knowledge source.
733
+ def description
734
+ @properties['description']
735
+ end
736
+
737
+ ##
738
+ # @return [String] The description of knowledge.
739
+ def id
740
+ @properties['id']
741
+ end
742
+
743
+ ##
744
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Knowledge resource.
745
+ def account_sid
746
+ @properties['account_sid']
747
+ end
748
+
749
+ ##
750
+ # @return [Hash] The details of the knowledge source based on the type.
751
+ def knowledge_source_details
752
+ @properties['knowledge_source_details']
753
+ end
754
+
755
+ ##
756
+ # @return [String] The name of the knowledge source.
757
+ def name
758
+ @properties['name']
759
+ end
760
+
761
+ ##
762
+ # @return [String] The status of processing the knowledge source ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED')
763
+ def status
764
+ @properties['status']
765
+ end
766
+
767
+ ##
768
+ # @return [String] The type of knowledge source ('Web', 'Database', 'Text', 'File')
769
+ def type
770
+ @properties['type']
771
+ end
772
+
773
+ ##
774
+ # @return [String] The url of the knowledge resource.
775
+ def url
776
+ @properties['url']
777
+ end
778
+
779
+ ##
780
+ # @return [String] The embedding model to be used for the knowledge source.
781
+ def embedding_model
782
+ @properties['embedding_model']
783
+ end
784
+
785
+ ##
786
+ # @return [Time] The date and time in GMT when the Knowledge was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
787
+ def date_created
788
+ @properties['date_created']
789
+ end
790
+
791
+ ##
792
+ # @return [Time] The date and time in GMT when the Knowledge was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
793
+ def date_updated
794
+ @properties['date_updated']
795
+ end
796
+
797
+ ##
798
+ # Delete the KnowledgeInstance
799
+ # @return [Boolean] True if delete succeeds, false otherwise
800
+ def delete
801
+
802
+ context.delete
803
+ end
804
+
805
+ ##
806
+ # Fetch the KnowledgeInstance
807
+ # @return [KnowledgeInstance] Fetched KnowledgeInstance
808
+ def fetch
809
+
810
+ context.fetch
811
+ end
812
+
813
+ ##
814
+ # Update the KnowledgeInstance
815
+ # @param [KnowledgeV1ServiceUpdateKnowledgeRequest] knowledge_v1_service_update_knowledge_request
816
+ # @return [KnowledgeInstance] Updated KnowledgeInstance
817
+ def update(knowledge_v1_service_update_knowledge_request: :unset
818
+ )
819
+
820
+ context.update(
821
+ )
822
+ end
823
+
824
+ ##
825
+ # Access the chunks
826
+ # @return [chunks] chunks
827
+ def chunks
828
+ context.chunks
829
+ end
830
+
831
+ ##
832
+ # Access the knowledge_status
833
+ # @return [knowledge_status] knowledge_status
834
+ def knowledge_status
835
+ context.knowledge_status
836
+ end
837
+
838
+ ##
839
+ # Provide a user friendly representation
840
+ def to_s
841
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
842
+ "<Twilio.Knowledge.V1.KnowledgeInstance #{values}>"
843
+ end
844
+
845
+ ##
846
+ # Provide a detailed, user friendly representation
847
+ def inspect
848
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
849
+ "<Twilio.Knowledge.V1.KnowledgeInstance #{values}>"
850
+ end
851
+ end
852
+
853
+ end
854
+ end
855
+ end
856
+ end