twilio-ruby 6.8.0 → 7.10.7

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