twilio-ruby 7.10.4 → 7.10.6

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 (639) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +1 -1
  3. data/CHANGES.md +166 -0
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +2 -2
  6. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +3 -3
  7. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +3 -3
  8. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +18 -10
  9. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +18 -10
  10. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -2
  11. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +4 -4
  12. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +5 -5
  13. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +2 -2
  14. data/lib/twilio-ruby/rest/accounts/v1.rb +11 -2
  15. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +13 -5
  16. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +41 -33
  17. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +61 -53
  18. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +13 -5
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +13 -5
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +13 -5
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +13 -5
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +13 -5
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +13 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +13 -5
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +13 -5
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +13 -5
  27. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +2 -2
  28. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +13 -5
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +13 -5
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +28 -28
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +30 -16
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +207 -207
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +207 -207
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +27 -21
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +4 -4
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +5 -5
  37. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +73 -59
  38. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +93 -79
  39. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +17 -9
  40. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +19 -11
  41. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +29 -21
  42. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +13 -5
  43. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +14 -6
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +36 -28
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +36 -28
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +36 -28
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +83 -75
  48. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +15 -7
  49. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +3 -3
  50. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +13 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +47 -33
  52. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +3 -3
  53. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +3 -3
  54. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +13 -5
  55. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +15 -7
  56. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +17 -9
  57. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +19 -11
  58. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +2 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +13 -5
  60. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +13 -5
  61. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +13 -5
  62. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +15 -7
  63. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +25 -17
  64. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +15 -7
  65. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +17 -9
  66. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +16 -8
  67. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +14 -6
  68. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +14 -6
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +2 -2
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +14 -6
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +2 -2
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +14 -6
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +14 -6
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +52 -44
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +22 -14
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +16 -8
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +2 -2
  79. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +3 -3
  80. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +13 -5
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +13 -5
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +13 -5
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +13 -5
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +13 -5
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +13 -5
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +13 -5
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +13 -5
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +13 -5
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +13 -5
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +26 -18
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +2 -2
  92. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +8 -8
  93. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -10
  94. data/lib/twilio-ruby/rest/api/v2010.rb +1 -0
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +13 -5
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +13 -5
  97. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +13 -5
  98. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +2 -2
  99. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +14 -5
  100. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +13 -5
  101. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +2 -2
  102. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +14 -5
  103. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +13 -5
  104. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +13 -5
  105. data/lib/twilio-ruby/rest/assistants/v1/session.rb +13 -5
  106. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +14 -5
  107. data/lib/twilio-ruby/rest/assistants/v1.rb +4 -0
  108. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +13 -5
  109. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +19 -11
  110. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +2 -2
  111. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +2 -2
  112. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +8 -8
  113. data/lib/twilio-ruby/rest/bulkexports/v1.rb +2 -0
  114. data/lib/twilio-ruby/rest/chat/v1/credential.rb +32 -24
  115. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +15 -7
  116. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +19 -11
  117. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +20 -12
  118. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +23 -15
  119. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +18 -10
  120. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +13 -5
  121. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +23 -15
  122. data/lib/twilio-ruby/rest/chat/v1/service.rb +122 -114
  123. data/lib/twilio-ruby/rest/chat/v1.rb +2 -0
  124. data/lib/twilio-ruby/rest/chat/v2/credential.rb +32 -24
  125. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +13 -5
  126. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +15 -7
  127. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +37 -29
  128. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +37 -29
  129. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +32 -24
  130. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +37 -29
  131. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +18 -10
  132. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +13 -5
  133. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +21 -13
  134. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +26 -18
  135. data/lib/twilio-ruby/rest/chat/v2/service.rb +76 -68
  136. data/lib/twilio-ruby/rest/chat/v2.rb +2 -0
  137. data/lib/twilio-ruby/rest/chat/v3/channel.rb +8 -8
  138. data/lib/twilio-ruby/rest/chat/v3.rb +6 -0
  139. data/lib/twilio-ruby/rest/client.rb +5 -0
  140. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +2 -2
  141. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +2 -2
  142. data/lib/twilio-ruby/rest/content/v1/content.rb +14 -5
  143. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +13 -5
  144. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +13 -5
  145. data/lib/twilio-ruby/rest/content/v1.rb +1 -0
  146. data/lib/twilio-ruby/rest/content/v2/content.rb +13 -5
  147. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +13 -5
  148. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +43 -35
  149. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +12 -12
  150. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +10 -10
  151. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +13 -5
  152. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +39 -31
  153. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +44 -36
  154. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +30 -22
  155. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +51 -43
  156. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +15 -15
  157. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +34 -26
  158. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +13 -5
  159. data/lib/twilio-ruby/rest/conversations/v1/role.rb +18 -10
  160. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +13 -5
  161. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +28 -28
  162. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +10 -10
  163. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +10 -10
  164. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +13 -5
  165. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +39 -31
  166. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +44 -36
  167. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +30 -22
  168. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +51 -43
  169. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +15 -15
  170. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +13 -5
  171. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +18 -10
  172. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +19 -11
  173. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +28 -20
  174. data/lib/twilio-ruby/rest/conversations/v1/service.rb +14 -6
  175. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +19 -11
  176. data/lib/twilio-ruby/rest/conversations/v1/user.rb +28 -20
  177. data/lib/twilio-ruby/rest/conversations/v1.rb +6 -0
  178. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +698 -0
  179. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +1208 -0
  180. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +1365 -0
  181. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +369 -0
  182. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +745 -0
  183. data/lib/twilio-ruby/rest/conversations/v2.rb +126 -0
  184. data/lib/twilio-ruby/rest/conversations_base.rb +6 -1
  185. data/lib/twilio-ruby/rest/events/v1/event_type.rb +13 -5
  186. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +13 -5
  187. data/lib/twilio-ruby/rest/events/v1/schema.rb +2 -2
  188. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +2 -2
  189. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  190. data/lib/twilio-ruby/rest/events/v1/sink.rb +18 -10
  191. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +17 -9
  192. data/lib/twilio-ruby/rest/events/v1/subscription.rb +18 -10
  193. data/lib/twilio-ruby/rest/events/v1.rb +4 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +32 -24
  195. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +23 -15
  196. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +5 -4
  197. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +64 -56
  198. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +20 -12
  199. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +13 -5
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +32 -24
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +21 -13
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +33 -25
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +13 -5
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +4 -4
  205. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +3 -3
  206. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +3 -3
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +4 -4
  208. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +14 -6
  209. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +18 -10
  210. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +3 -2
  211. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +17 -9
  212. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +8 -8
  213. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +27 -19
  214. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +25 -17
  215. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +4 -4
  216. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +15 -7
  217. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +19 -11
  218. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +4 -4
  219. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +17 -9
  220. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +4 -4
  221. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +2 -2
  222. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +23 -15
  223. data/lib/twilio-ruby/rest/flex_api/v1.rb +19 -6
  224. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +8 -8
  225. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +8 -8
  226. data/lib/twilio-ruby/rest/flex_api/v2.rb +6 -0
  227. data/lib/twilio-ruby/rest/flex_api_base.rb +6 -1
  228. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +10 -10
  229. data/lib/twilio-ruby/rest/frontline_api/v1.rb +1 -0
  230. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +6 -6
  231. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +13 -5
  232. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +6 -6
  233. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +3 -2
  234. data/lib/twilio-ruby/rest/iam/v1/role_permission.rb +327 -0
  235. data/lib/twilio-ruby/rest/iam/v1/token.rb +10 -10
  236. data/lib/twilio-ruby/rest/iam/v1.rb +17 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +16 -16
  238. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +14 -14
  239. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +17 -9
  240. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +13 -5
  241. data/lib/twilio-ruby/rest/insights/v1/call.rb +2 -2
  242. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +23 -15
  243. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +17 -9
  244. data/lib/twilio-ruby/rest/insights/v1/conference.rb +13 -5
  245. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +13 -5
  246. data/lib/twilio-ruby/rest/insights/v1/room.rb +13 -5
  247. data/lib/twilio-ruby/rest/insights/v1/setting.rb +10 -10
  248. data/lib/twilio-ruby/rest/insights/v1.rb +3 -0
  249. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +21 -12
  250. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +21 -12
  251. data/lib/twilio-ruby/rest/insights/v2/report.rb +10 -9
  252. data/lib/twilio-ruby/rest/insights/v2.rb +3 -0
  253. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +227 -0
  254. data/lib/twilio-ruby/rest/insights/v3/query.rb +394 -0
  255. data/lib/twilio-ruby/rest/insights/v3.rb +46 -0
  256. data/lib/twilio-ruby/rest/insights_base.rb +5 -0
  257. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +22 -14
  258. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +13 -5
  259. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +2 -2
  260. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +2 -2
  261. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +13 -5
  262. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +13 -5
  263. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +43 -35
  264. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +4 -4
  265. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +4 -4
  266. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +4 -4
  267. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +15 -7
  268. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +13 -5
  269. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +17 -9
  270. data/lib/twilio-ruby/rest/intelligence/v2.rb +13 -0
  271. data/lib/twilio-ruby/rest/intelligence/v3/configuration.rb +1073 -0
  272. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +602 -0
  273. data/lib/twilio-ruby/rest/intelligence/v3/operator.rb +784 -0
  274. data/lib/twilio-ruby/rest/intelligence/v3/operator_result.rb +622 -0
  275. data/lib/twilio-ruby/rest/intelligence/v3/version.rb +556 -0
  276. data/lib/twilio-ruby/rest/intelligence/v3.rb +120 -0
  277. data/lib/twilio-ruby/rest/intelligence_base.rb +6 -1
  278. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +32 -24
  279. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +15 -7
  280. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +19 -11
  281. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +20 -12
  282. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +23 -15
  283. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +18 -10
  284. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +13 -5
  285. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +23 -15
  286. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +122 -114
  287. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +2 -0
  288. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +32 -24
  289. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +13 -5
  290. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +15 -7
  291. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +37 -29
  292. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +37 -29
  293. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +32 -24
  294. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +37 -29
  295. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +18 -10
  296. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +13 -5
  297. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +19 -11
  298. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +26 -18
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +76 -68
  300. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +2 -0
  301. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +13 -5
  302. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +2 -2
  303. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +14 -5
  304. data/lib/twilio-ruby/rest/knowledge/v1.rb +1 -0
  305. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +306 -0
  306. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +714 -0
  307. data/lib/twilio-ruby/rest/knowledge/v2/knowledge_basis.rb +739 -0
  308. data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +376 -0
  309. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +355 -0
  310. data/lib/twilio-ruby/rest/knowledge/v2.rb +145 -0
  311. data/lib/twilio-ruby/rest/knowledge_base.rb +6 -1
  312. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +10 -10
  313. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -0
  314. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +3 -2
  315. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +4 -2
  316. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +32 -32
  317. data/lib/twilio-ruby/rest/lookups/v2/query.rb +2 -2
  318. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +3 -3
  319. data/lib/twilio-ruby/rest/lookups/v2.rb +13 -0
  320. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +13 -5
  321. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +13 -5
  322. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +15 -7
  323. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +2 -2
  324. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +21 -13
  325. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +4 -4
  326. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +16 -16
  327. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +2 -2
  328. data/lib/twilio-ruby/rest/marketplace/v1.rb +3 -0
  329. data/lib/twilio-ruby/rest/{flex_api/v1/create_flex_instance.rb → memory/v1/bulk.rb} +104 -124
  330. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +798 -0
  331. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +843 -0
  332. data/lib/twilio-ruby/rest/memory/v1/event.rb +320 -0
  333. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +710 -0
  334. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +442 -0
  335. data/lib/twilio-ruby/rest/memory/v1/import.rb +574 -0
  336. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +250 -0
  337. data/lib/twilio-ruby/rest/memory/v1/observation.rb +786 -0
  338. data/lib/twilio-ruby/rest/memory/v1/operation.rb +376 -0
  339. data/lib/twilio-ruby/rest/memory/v1/profile.rb +636 -0
  340. data/lib/twilio-ruby/rest/memory/v1/recall.rb +366 -0
  341. data/lib/twilio-ruby/rest/memory/v1/revision.rb +349 -0
  342. data/lib/twilio-ruby/rest/memory/v1/store.rb +701 -0
  343. data/lib/twilio-ruby/rest/memory/v1/trait.rb +336 -0
  344. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +904 -0
  345. data/lib/twilio-ruby/rest/memory/v1.rb +475 -0
  346. data/lib/twilio-ruby/rest/memory.rb +6 -0
  347. data/lib/twilio-ruby/rest/memory_base.rb +38 -0
  348. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +2 -2
  349. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +15 -7
  350. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +18 -10
  351. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +4 -4
  352. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +4 -4
  353. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +10 -10
  354. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +2 -2
  355. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +2 -2
  356. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +5 -5
  357. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +2 -2
  358. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +2 -2
  359. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +2 -2
  360. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +14 -6
  361. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +14 -6
  362. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +15 -7
  363. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +14 -6
  364. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +14 -6
  365. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +54 -46
  366. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +3 -3
  367. data/lib/twilio-ruby/rest/messaging/v1/service.rb +61 -53
  368. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +120 -112
  369. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +2 -2
  370. data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
  371. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +22 -7
  372. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +2 -2
  373. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +4 -4
  374. data/lib/twilio-ruby/rest/messaging/v2.rb +2 -0
  375. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +247 -0
  376. data/lib/twilio-ruby/rest/messaging/v3.rb +40 -0
  377. data/lib/twilio-ruby/rest/messaging_base.rb +5 -0
  378. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +13 -5
  379. data/lib/twilio-ruby/rest/monitor/v1/event.rb +13 -5
  380. data/lib/twilio-ruby/rest/monitor/v1.rb +2 -0
  381. data/lib/twilio-ruby/rest/notify/v1/credential.rb +32 -24
  382. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +20 -12
  383. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +20 -20
  384. data/lib/twilio-ruby/rest/notify/v1/service.rb +55 -47
  385. data/lib/twilio-ruby/rest/notify/v1.rb +2 -0
  386. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +2 -2
  387. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +2 -2
  388. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +2 -2
  389. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +13 -5
  390. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +2 -2
  391. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +2 -2
  392. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +6 -6
  393. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +2 -2
  394. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +2 -2
  395. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +2 -2
  396. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +13 -5
  397. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +2 -2
  398. data/lib/twilio-ruby/rest/numbers/v1.rb +21 -2
  399. data/lib/twilio-ruby/rest/numbers/v2/application.rb +13 -5
  400. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +13 -5
  401. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +19 -11
  402. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +4 -4
  403. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +8 -8
  404. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +35 -27
  405. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +14 -6
  406. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +13 -5
  407. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +14 -6
  408. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +3 -3
  409. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +29 -21
  410. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +20 -12
  411. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +13 -5
  412. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +15 -7
  413. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +20 -12
  414. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +13 -5
  415. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +2 -2
  416. data/lib/twilio-ruby/rest/numbers/v2.rb +5 -0
  417. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +19 -19
  418. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +7 -7
  419. data/lib/twilio-ruby/rest/oauth/v1/token.rb +10 -10
  420. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +7 -7
  421. data/lib/twilio-ruby/rest/oauth/v2/token.rb +11 -11
  422. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +13 -5
  423. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +33 -25
  424. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +50 -42
  425. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +2 -0
  426. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +13 -5
  427. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +13 -5
  428. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +15 -7
  429. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +21 -13
  430. data/lib/twilio-ruby/rest/preview/marketplace.rb +2 -0
  431. data/lib/twilio-ruby/rest/preview/wireless/command.rb +20 -12
  432. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +27 -19
  433. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +6 -6
  434. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +45 -37
  435. data/lib/twilio-ruby/rest/preview/wireless.rb +3 -0
  436. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +7 -7
  437. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +10 -10
  438. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +13 -5
  439. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +54 -10
  440. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +27 -11
  441. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +2 -2
  442. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +1 -0
  443. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +13 -5
  444. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
  445. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +13 -5
  446. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
  447. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +13 -5
  448. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +2 -2
  449. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
  450. data/lib/twilio-ruby/rest/pricing/v1.rb +22 -4
  451. data/lib/twilio-ruby/rest/pricing/v2/country.rb +13 -5
  452. data/lib/twilio-ruby/rest/pricing/v2/number.rb +4 -4
  453. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +13 -5
  454. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +4 -4
  455. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +2 -2
  456. data/lib/twilio-ruby/rest/pricing/v2.rb +13 -2
  457. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +18 -10
  458. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +13 -5
  459. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +15 -7
  460. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +17 -9
  461. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +25 -17
  462. data/lib/twilio-ruby/rest/proxy/v1/service.rb +37 -29
  463. data/lib/twilio-ruby/rest/proxy/v1.rb +1 -0
  464. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +6 -6
  465. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +6 -6
  466. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +6 -6
  467. data/lib/twilio-ruby/rest/routes/v2.rb +3 -0
  468. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +13 -5
  469. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +16 -8
  470. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +2 -2
  471. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -9
  472. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +15 -7
  473. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +13 -5
  474. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +19 -11
  475. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +15 -7
  476. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +2 -2
  477. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +13 -5
  478. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +16 -8
  479. data/lib/twilio-ruby/rest/serverless/v1/service.rb +23 -15
  480. data/lib/twilio-ruby/rest/serverless/v1.rb +1 -0
  481. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +2 -2
  482. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +2 -2
  483. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +13 -5
  484. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +16 -8
  485. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +2 -2
  486. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +2 -2
  487. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +13 -5
  488. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +18 -10
  489. data/lib/twilio-ruby/rest/studio/v1/flow.rb +13 -5
  490. data/lib/twilio-ruby/rest/studio/v1.rb +1 -0
  491. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +2 -2
  492. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +2 -2
  493. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +13 -5
  494. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +37 -14
  495. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +13 -5
  496. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +4 -4
  497. data/lib/twilio-ruby/rest/studio/v2/flow.rb +42 -19
  498. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -6
  499. data/lib/twilio-ruby/rest/studio/v2.rb +1 -0
  500. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +17 -9
  501. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +36 -28
  502. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +19 -11
  503. data/lib/twilio-ruby/rest/supersim/v1/network.rb +13 -5
  504. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +14 -6
  505. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +17 -9
  506. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +13 -5
  507. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +13 -5
  508. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +13 -5
  509. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +27 -19
  510. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +17 -9
  511. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +13 -5
  512. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  513. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +19 -11
  514. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +22 -14
  515. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +29 -21
  516. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +19 -11
  517. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +20 -12
  518. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +30 -22
  519. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +19 -11
  520. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +20 -12
  521. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +3 -3
  522. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +17 -9
  523. data/lib/twilio-ruby/rest/sync/v1/service.rb +34 -26
  524. data/lib/twilio-ruby/rest/sync/v1.rb +1 -0
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +17 -9
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +13 -5
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +123 -115
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +38 -30
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +20 -12
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +2 -2
  531. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
  532. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +4 -4
  533. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +12 -12
  534. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +13 -5
  535. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +31 -23
  536. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +119 -111
  537. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +17 -9
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +10 -10
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +10 -10
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +4 -4
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +16 -16
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +28 -20
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +12 -12
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +4 -4
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +12 -12
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +30 -22
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +12 -12
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +4 -4
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +12 -12
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +33 -25
  551. data/lib/twilio-ruby/rest/taskrouter/v1.rb +1 -0
  552. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +14 -6
  553. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +14 -6
  554. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +28 -20
  555. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +14 -6
  556. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +6 -6
  557. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +37 -29
  558. data/lib/twilio-ruby/rest/trunking/v1.rb +1 -0
  559. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +9 -9
  560. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +45 -45
  561. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +40 -40
  562. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +15 -7
  563. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +14 -6
  564. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +14 -6
  565. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +25 -17
  566. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +20 -12
  567. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +13 -5
  568. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +13 -5
  569. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +20 -12
  570. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +13 -5
  571. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +15 -7
  572. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +14 -6
  573. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +14 -6
  574. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +25 -17
  575. data/lib/twilio-ruby/rest/trusthub/v1.rb +9 -0
  576. data/lib/twilio-ruby/rest/verify/v2/form.rb +2 -2
  577. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +3 -3
  578. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +6 -6
  579. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +9 -9
  580. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +3 -3
  581. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +23 -15
  582. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +31 -23
  583. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +16 -16
  584. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +14 -6
  585. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +17 -9
  586. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +10 -9
  587. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +2 -2
  588. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +2 -2
  589. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +19 -11
  590. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +17 -9
  591. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +24 -24
  592. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -8
  593. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +40 -32
  594. data/lib/twilio-ruby/rest/verify/v2/service.rb +91 -83
  595. data/lib/twilio-ruby/rest/verify/v2/template.rb +13 -5
  596. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +13 -5
  597. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +14 -14
  598. data/lib/twilio-ruby/rest/verify/v2.rb +4 -0
  599. data/lib/twilio-ruby/rest/video/v1/composition.rb +22 -14
  600. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +43 -35
  601. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +14 -14
  602. data/lib/twilio-ruby/rest/video/v1/recording.rb +13 -5
  603. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +14 -14
  604. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +2 -2
  605. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +13 -5
  606. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +3 -3
  607. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +13 -5
  608. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +15 -7
  609. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +3 -3
  610. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +13 -5
  611. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +18 -10
  612. data/lib/twilio-ruby/rest/video/v1/room.rb +32 -24
  613. data/lib/twilio-ruby/rest/video/v1.rb +4 -0
  614. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +2 -2
  615. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +43 -35
  616. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +28 -20
  617. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +16 -8
  618. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +3 -3
  619. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +13 -5
  620. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +13 -5
  621. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +4 -4
  622. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +2 -2
  623. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +18 -10
  624. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +17 -9
  625. data/lib/twilio-ruby/rest/voice/v1.rb +10 -0
  626. data/lib/twilio-ruby/rest/voice/v3/transcription.rb +514 -0
  627. data/lib/twilio-ruby/rest/voice/v3.rb +50 -0
  628. data/lib/twilio-ruby/rest/voice_base.rb +6 -1
  629. data/lib/twilio-ruby/rest/wireless/v1/command.rb +20 -12
  630. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +29 -21
  631. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +13 -5
  632. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +13 -5
  633. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +49 -41
  634. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +13 -5
  635. data/lib/twilio-ruby/rest/wireless/v1.rb +3 -0
  636. data/lib/twilio-ruby/twiml/voice_response.rb +20 -11
  637. data/lib/twilio-ruby/version.rb +1 -1
  638. data/twilio-ruby.gemspec +1 -1
  639. metadata +49 -5
@@ -0,0 +1,1073 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio Conversational Intelligence API
8
+ # The Conversational Intelligence API includes resources to create and manage intelligence configurations, define and run language operators, and retrieve processed conversations and operator results. * Use the Configurations resource to create and manage intelligence configurations and define rules that control how and when language operators analyze and transform conversations. * Use the Operators resource to create custom language operators or retrieve Twilio-author and custom operators. * Use the Conversations resource to retrieve conversations processed with an intelligence configuration, and the OperatorResults resource to retrieve language operator results for those conversations.
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 Intelligence < IntelligenceBase
19
+ class V3 < Version
20
+ class ConfigurationList < ListResource
21
+
22
+ class Action
23
+ # @param [type]: [String] The type of Action to be performed after the Rule is triggered. Supported Actions are: - `WEBHOOK`: A webhook Action sends an HTTP request to a specified URL with Rule execution results.
24
+ # @param [method]: [String] The HTTP method to be used when performing the Action. Must be set to `POST`.
25
+ # @param [url]: [String] The URL endpoint where the Action will send the HTTP request containing the Rule execution results.
26
+ attr_accessor :type, :method, :url
27
+ def initialize(payload)
28
+ @type = payload["type"]
29
+ @method = payload["method"]
30
+ @url = payload["url"]
31
+ end
32
+ def to_json(options = {})
33
+ {
34
+ "type": @type,
35
+ "method": @method,
36
+ "url": @url,
37
+ }.to_json(options)
38
+ end
39
+ end
40
+
41
+ class Context
42
+ # @param [memory]: [ConfigurationList.ContextMemory]
43
+ # @param [knowledge]: [ConfigurationList.ContextKnowledge]
44
+ attr_accessor :memory, :knowledge
45
+ def initialize(payload)
46
+ @memory = payload["memory"]
47
+ @knowledge = payload["knowledge"]
48
+ end
49
+ def to_json(options = {})
50
+ {
51
+ "memory": @memory,
52
+ "knowledge": @knowledge,
53
+ }.to_json(options)
54
+ end
55
+ end
56
+
57
+ class ContextKnowledge
58
+ # @param [bases]: [Array<String>] Specifies the Knowledge Base(s) and corresponding Source(s) to pass to Language Operators in this Rule as context. Only applied to Language Operators that have Knowledge as a context source enabled.
59
+ attr_accessor :bases
60
+ def initialize(payload)
61
+ @bases = payload["bases"]
62
+ end
63
+ def to_json(options = {})
64
+ {
65
+ "bases": @bases,
66
+ }.to_json(options)
67
+ end
68
+ end
69
+
70
+ class ContextMemory
71
+ # @param [enabled]: [Boolean] When set to `true`, allows this Intelligence Configuration Rule to pass the Profile into attached Language Operators. The profile is only passed to Language Operators that have Memory as a context source enabled.
72
+ attr_accessor :enabled
73
+ def initialize(payload)
74
+ @enabled = payload["enabled"]
75
+ end
76
+ def to_json(options = {})
77
+ {
78
+ "enabled": @enabled,
79
+ }.to_json(options)
80
+ end
81
+ end
82
+
83
+ class CreateConfigurationRequest
84
+ # @param [display_name]: [String] The display name of the Intelligence Configuration describing its purpose.
85
+ # @param [description]: [String] The description of the Intelligence Configuration further explaining its purpose.
86
+ # @param [rules]: [Array<ConfigurationList.RuleCreationRequestPayload>] List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration. To create an Intelligence Configuration without any Rules configured yet, pass an empty array (`\"rules\": []`). The Configuration will not execute any Language Operators until at least one Rule has been added.
87
+ attr_accessor :display_name, :description, :rules
88
+ def initialize(payload)
89
+ @display_name = payload["display_name"]
90
+ @description = payload["description"]
91
+ @rules = payload["rules"]
92
+ end
93
+ def to_json(options = {})
94
+ {
95
+ "displayName": @display_name,
96
+ "description": @description,
97
+ "rules": @rules,
98
+ }.to_json(options)
99
+ end
100
+ end
101
+
102
+ class Operator
103
+ # @param [id]: [String] The unique identifier for the Language Operator to be executed by the Rule. Assigned by Twilio (TTID).
104
+ # @param [version]: [String] The specific version of the Language Operator to execute. When provided, the Rule will use this exact version of the Operator. When omitted, the latest active version of the Operator is used at execution time.
105
+ # @param [parameters]: [Hash] Key-value mapping for parameters defined as part of the Operator schema. The key and value passed by the Rule must match the name and data type of the parameter defined in the Operator, respectively. These parameters will customize the behavior of the Operator when executed by the Rule via runtime substitution into the prompt. Note: For parameters of type `knowledge_base_and_source_ids`, the value must be passed in the following format: `knowledge_base_id:knowledge_source_id`.
106
+ attr_accessor :id, :version, :parameters
107
+ def initialize(payload)
108
+ @id = payload["id"]
109
+ @version = payload["version"]
110
+ @parameters = payload["parameters"]
111
+ end
112
+ def to_json(options = {})
113
+ {
114
+ "id": @id,
115
+ "version": @version,
116
+ "parameters": @parameters,
117
+ }.to_json(options)
118
+ end
119
+ end
120
+
121
+ class RuleCreationRequestPayload
122
+ # @param [operators]: [Array<ConfigurationList.Operator>] List of Operators to be executed by the Rule. Minimum of one (1) and maximum of five (5) Operators allowed per Rule.
123
+ # @param [triggers]: [Array<ConfigurationList.Trigger>] List of Triggers that determine when to activate the Rule. Maximum of one (1) Trigger allowed per Rule.
124
+ # @param [actions]: [Array<ConfigurationList.Action>] List of Actions to be performed after the Rule is triggered. Maximum of two (2) Actions allowed per Rule.
125
+ # @param [context]: [ConfigurationList.Context]
126
+ attr_accessor :operators, :triggers, :actions, :context
127
+ def initialize(payload)
128
+ @operators = payload["operators"]
129
+ @triggers = payload["triggers"]
130
+ @actions = payload["actions"]
131
+ @context = payload["context"]
132
+ end
133
+ def to_json(options = {})
134
+ {
135
+ "operators": @operators,
136
+ "triggers": @triggers,
137
+ "actions": @actions,
138
+ "context": @context,
139
+ }.to_json(options)
140
+ end
141
+ end
142
+
143
+ class RuleUpdateRequestPayload
144
+ # @param [id]: [String] Optional field used when updating an existing Rule within an Intelligence Configuration. When provided, the Rule with this `id` is updated; when omitted, a new Rule is created.
145
+ # @param [operators]: [Array<ConfigurationList.Operator>] List of Operators to be executed by the Rule. Minimum of one (1) and maximum of five (5) Operators allowed per Rule.
146
+ # @param [triggers]: [Array<ConfigurationList.Trigger>] List of Triggers that determine when to activate the Rule. Maximum of one (1) Trigger allowed per Rule.
147
+ # @param [actions]: [Array<ConfigurationList.Action>] List of Actions to be performed after the Rule is triggered. Maximum of two (2) Actions allowed per Rule.
148
+ # @param [context]: [ConfigurationList.Context]
149
+ attr_accessor :id, :operators, :triggers, :actions, :context
150
+ def initialize(payload)
151
+ @id = payload["id"]
152
+ @operators = payload["operators"]
153
+ @triggers = payload["triggers"]
154
+ @actions = payload["actions"]
155
+ @context = payload["context"]
156
+ end
157
+ def to_json(options = {})
158
+ {
159
+ "id": @id,
160
+ "operators": @operators,
161
+ "triggers": @triggers,
162
+ "actions": @actions,
163
+ "context": @context,
164
+ }.to_json(options)
165
+ end
166
+ end
167
+
168
+ class Trigger
169
+ # @param [on]: [String] The conversational lifecycle event that will activate execution of the Rule. Available values are: - `COMMUNICATION`: Trigger the Rule on each communication within the Conversation. - `CONVERSATION_END`: Trigger the Rule when the Conversation moves to the `closed` state - `CONVERSATION_INACTIVE`: Trigger the Rule when the Conversation moves to `inactive` state
170
+ # @param [parameters]: [ConfigurationList.TriggerParameters]
171
+ attr_accessor :on, :parameters
172
+ def initialize(payload)
173
+ @on = payload["on"]
174
+ @parameters = payload["parameters"]
175
+ end
176
+ def to_json(options = {})
177
+ {
178
+ "on": @on,
179
+ "parameters": @parameters,
180
+ }.to_json(options)
181
+ end
182
+ end
183
+
184
+ class TriggerParameters
185
+ # @param [count]: [String] When `on` is set to `COMMUNICATION`, this value controls how often the Rule should run. A value of `1` executes the Rule for every communication event. Higher values delay execution until the specified number of communications have occurred since the last execution.
186
+ attr_accessor :count
187
+ def initialize(payload)
188
+ @count = payload["count"]
189
+ end
190
+ def to_json(options = {})
191
+ {
192
+ "count": @count,
193
+ }.to_json(options)
194
+ end
195
+ end
196
+
197
+ class UpdateConfigurationRequest
198
+ # @param [display_name]: [String] The display name of the Intelligence Configuration describing its purpose.
199
+ # @param [description]: [String] The description of the Intelligence Configuration further explaining its purpose.
200
+ # @param [rules]: [Array<ConfigurationList.RuleUpdateRequestPayload>] List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.
201
+ attr_accessor :display_name, :description, :rules
202
+ def initialize(payload)
203
+ @display_name = payload["display_name"]
204
+ @description = payload["description"]
205
+ @rules = payload["rules"]
206
+ end
207
+ def to_json(options = {})
208
+ {
209
+ "displayName": @display_name,
210
+ "description": @description,
211
+ "rules": @rules,
212
+ }.to_json(options)
213
+ end
214
+ end
215
+
216
+
217
+ class Action
218
+ # @param [type]: [String] The type of Action to be performed after the Rule is triggered. Supported Actions are: - `WEBHOOK`: A webhook Action sends an HTTP request to a specified URL with Rule execution results.
219
+ # @param [method]: [String] The HTTP method to be used when performing the Action. Must be set to `POST`.
220
+ # @param [url]: [String] The URL endpoint where the Action will send the HTTP request containing the Rule execution results.
221
+ attr_accessor :type, :method, :url
222
+ def initialize(payload)
223
+ @type = payload["type"]
224
+ @method = payload["method"]
225
+ @url = payload["url"]
226
+ end
227
+ def to_json(options = {})
228
+ {
229
+ "type": @type,
230
+ "method": @method,
231
+ "url": @url,
232
+ }.to_json(options)
233
+ end
234
+ end
235
+
236
+ class Context
237
+ # @param [memory]: [ConfigurationList.ContextMemory]
238
+ # @param [knowledge]: [ConfigurationList.ContextKnowledge]
239
+ attr_accessor :memory, :knowledge
240
+ def initialize(payload)
241
+ @memory = payload["memory"]
242
+ @knowledge = payload["knowledge"]
243
+ end
244
+ def to_json(options = {})
245
+ {
246
+ "memory": @memory,
247
+ "knowledge": @knowledge,
248
+ }.to_json(options)
249
+ end
250
+ end
251
+
252
+ class ContextKnowledge
253
+ # @param [bases]: [Array<String>] Specifies the Knowledge Base(s) and corresponding Source(s) to pass to Language Operators in this Rule as context. Only applied to Language Operators that have Knowledge as a context source enabled.
254
+ attr_accessor :bases
255
+ def initialize(payload)
256
+ @bases = payload["bases"]
257
+ end
258
+ def to_json(options = {})
259
+ {
260
+ "bases": @bases,
261
+ }.to_json(options)
262
+ end
263
+ end
264
+
265
+ class ContextMemory
266
+ # @param [enabled]: [Boolean] When set to `true`, allows this Intelligence Configuration Rule to pass the Profile into attached Language Operators. The profile is only passed to Language Operators that have Memory as a context source enabled.
267
+ attr_accessor :enabled
268
+ def initialize(payload)
269
+ @enabled = payload["enabled"]
270
+ end
271
+ def to_json(options = {})
272
+ {
273
+ "enabled": @enabled,
274
+ }.to_json(options)
275
+ end
276
+ end
277
+
278
+ class CreateConfigurationRequest
279
+ # @param [display_name]: [String] The display name of the Intelligence Configuration describing its purpose.
280
+ # @param [description]: [String] The description of the Intelligence Configuration further explaining its purpose.
281
+ # @param [rules]: [Array<ConfigurationList.RuleCreationRequestPayload>] List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration. To create an Intelligence Configuration without any Rules configured yet, pass an empty array (`\"rules\": []`). The Configuration will not execute any Language Operators until at least one Rule has been added.
282
+ attr_accessor :display_name, :description, :rules
283
+ def initialize(payload)
284
+ @display_name = payload["display_name"]
285
+ @description = payload["description"]
286
+ @rules = payload["rules"]
287
+ end
288
+ def to_json(options = {})
289
+ {
290
+ "displayName": @display_name,
291
+ "description": @description,
292
+ "rules": @rules,
293
+ }.to_json(options)
294
+ end
295
+ end
296
+
297
+ class Operator
298
+ # @param [id]: [String] The unique identifier for the Language Operator to be executed by the Rule. Assigned by Twilio (TTID).
299
+ # @param [version]: [String] The specific version of the Language Operator to execute. When provided, the Rule will use this exact version of the Operator. When omitted, the latest active version of the Operator is used at execution time.
300
+ # @param [parameters]: [Hash] Key-value mapping for parameters defined as part of the Operator schema. The key and value passed by the Rule must match the name and data type of the parameter defined in the Operator, respectively. These parameters will customize the behavior of the Operator when executed by the Rule via runtime substitution into the prompt. Note: For parameters of type `knowledge_base_and_source_ids`, the value must be passed in the following format: `knowledge_base_id:knowledge_source_id`.
301
+ attr_accessor :id, :version, :parameters
302
+ def initialize(payload)
303
+ @id = payload["id"]
304
+ @version = payload["version"]
305
+ @parameters = payload["parameters"]
306
+ end
307
+ def to_json(options = {})
308
+ {
309
+ "id": @id,
310
+ "version": @version,
311
+ "parameters": @parameters,
312
+ }.to_json(options)
313
+ end
314
+ end
315
+
316
+ class RuleCreationRequestPayload
317
+ # @param [operators]: [Array<ConfigurationList.Operator>] List of Operators to be executed by the Rule. Minimum of one (1) and maximum of five (5) Operators allowed per Rule.
318
+ # @param [triggers]: [Array<ConfigurationList.Trigger>] List of Triggers that determine when to activate the Rule. Maximum of one (1) Trigger allowed per Rule.
319
+ # @param [actions]: [Array<ConfigurationList.Action>] List of Actions to be performed after the Rule is triggered. Maximum of two (2) Actions allowed per Rule.
320
+ # @param [context]: [ConfigurationList.Context]
321
+ attr_accessor :operators, :triggers, :actions, :context
322
+ def initialize(payload)
323
+ @operators = payload["operators"]
324
+ @triggers = payload["triggers"]
325
+ @actions = payload["actions"]
326
+ @context = payload["context"]
327
+ end
328
+ def to_json(options = {})
329
+ {
330
+ "operators": @operators,
331
+ "triggers": @triggers,
332
+ "actions": @actions,
333
+ "context": @context,
334
+ }.to_json(options)
335
+ end
336
+ end
337
+
338
+ class RuleUpdateRequestPayload
339
+ # @param [id]: [String] Optional field used when updating an existing Rule within an Intelligence Configuration. When provided, the Rule with this `id` is updated; when omitted, a new Rule is created.
340
+ # @param [operators]: [Array<ConfigurationList.Operator>] List of Operators to be executed by the Rule. Minimum of one (1) and maximum of five (5) Operators allowed per Rule.
341
+ # @param [triggers]: [Array<ConfigurationList.Trigger>] List of Triggers that determine when to activate the Rule. Maximum of one (1) Trigger allowed per Rule.
342
+ # @param [actions]: [Array<ConfigurationList.Action>] List of Actions to be performed after the Rule is triggered. Maximum of two (2) Actions allowed per Rule.
343
+ # @param [context]: [ConfigurationList.Context]
344
+ attr_accessor :id, :operators, :triggers, :actions, :context
345
+ def initialize(payload)
346
+ @id = payload["id"]
347
+ @operators = payload["operators"]
348
+ @triggers = payload["triggers"]
349
+ @actions = payload["actions"]
350
+ @context = payload["context"]
351
+ end
352
+ def to_json(options = {})
353
+ {
354
+ "id": @id,
355
+ "operators": @operators,
356
+ "triggers": @triggers,
357
+ "actions": @actions,
358
+ "context": @context,
359
+ }.to_json(options)
360
+ end
361
+ end
362
+
363
+ class Trigger
364
+ # @param [on]: [String] The conversational lifecycle event that will activate execution of the Rule. Available values are: - `COMMUNICATION`: Trigger the Rule on each communication within the Conversation. - `CONVERSATION_END`: Trigger the Rule when the Conversation moves to the `closed` state - `CONVERSATION_INACTIVE`: Trigger the Rule when the Conversation moves to `inactive` state
365
+ # @param [parameters]: [ConfigurationList.TriggerParameters]
366
+ attr_accessor :on, :parameters
367
+ def initialize(payload)
368
+ @on = payload["on"]
369
+ @parameters = payload["parameters"]
370
+ end
371
+ def to_json(options = {})
372
+ {
373
+ "on": @on,
374
+ "parameters": @parameters,
375
+ }.to_json(options)
376
+ end
377
+ end
378
+
379
+ class TriggerParameters
380
+ # @param [count]: [String] When `on` is set to `COMMUNICATION`, this value controls how often the Rule should run. A value of `1` executes the Rule for every communication event. Higher values delay execution until the specified number of communications have occurred since the last execution.
381
+ attr_accessor :count
382
+ def initialize(payload)
383
+ @count = payload["count"]
384
+ end
385
+ def to_json(options = {})
386
+ {
387
+ "count": @count,
388
+ }.to_json(options)
389
+ end
390
+ end
391
+
392
+ class UpdateConfigurationRequest
393
+ # @param [display_name]: [String] The display name of the Intelligence Configuration describing its purpose.
394
+ # @param [description]: [String] The description of the Intelligence Configuration further explaining its purpose.
395
+ # @param [rules]: [Array<ConfigurationList.RuleUpdateRequestPayload>] List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.
396
+ attr_accessor :display_name, :description, :rules
397
+ def initialize(payload)
398
+ @display_name = payload["display_name"]
399
+ @description = payload["description"]
400
+ @rules = payload["rules"]
401
+ end
402
+ def to_json(options = {})
403
+ {
404
+ "displayName": @display_name,
405
+ "description": @description,
406
+ "rules": @rules,
407
+ }.to_json(options)
408
+ end
409
+ end
410
+
411
+
412
+ ##
413
+ # Initialize the ConfigurationList
414
+ # @param [Version] version Version that contains the resource
415
+ # @return [ConfigurationList] ConfigurationList
416
+ def initialize(version)
417
+
418
+ apiV1Version = ApiV1Version.new version.domain, version
419
+ super(apiV1Version)
420
+ # Path Solution
421
+ @solution = { }
422
+ @uri = "/ControlPlane/Configurations"
423
+
424
+ end
425
+ ##
426
+ # Create the ConfigurationInstance
427
+ # @param [CreateConfigurationRequest] create_configuration_request
428
+ # @return [ConfigurationInstance] Created ConfigurationInstance
429
+ def create(create_configuration_request: nil
430
+ )
431
+
432
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
433
+ headers['Content-Type'] = 'application/json'
434
+
435
+
436
+
437
+
438
+ payload = @version.create('POST', @uri, headers: headers, data: create_configuration_request.to_json)
439
+ ConfigurationInstance.new(
440
+ @version,
441
+ payload,
442
+ )
443
+ end
444
+
445
+ ##
446
+ # Create the ConfigurationInstanceMetadata
447
+ # @param [CreateConfigurationRequest] create_configuration_request
448
+ # @return [ConfigurationInstance] Created ConfigurationInstance
449
+ def create_with_metadata(create_configuration_request: nil
450
+ )
451
+
452
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
453
+ headers['Content-Type'] = 'application/json'
454
+
455
+
456
+
457
+
458
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: create_configuration_request.to_json)
459
+ configuration_instance = ConfigurationInstance.new(
460
+ @version,
461
+ response.body,
462
+ )
463
+ ConfigurationInstanceMetadata.new(
464
+ @version,
465
+ configuration_instance,
466
+ response.headers,
467
+ response.status_code
468
+ )
469
+ end
470
+
471
+
472
+ ##
473
+ # Lists ConfigurationInstance records from the API as a list.
474
+ # Unlike stream(), this operation is eager and will load `limit` records into
475
+ # memory before returning.
476
+ # @param [String] page_token Token for pagination
477
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
478
+ # guarantees to never return more than limit. Default is no limit
479
+ # @param [Integer] page_size Number of records to fetch per request, when
480
+ # not set will use the default value of 50 records. If no page_size is defined
481
+ # but a limit is defined, stream() will attempt to read the limit with the most
482
+ # efficient page size, i.e. min(limit, 1000)
483
+ # @return [Array] Array of up to limit results
484
+ def list(page_token: :unset, limit: nil, page_size: nil)
485
+ self.stream(
486
+ page_token: page_token,
487
+ limit: limit,
488
+ page_size: page_size
489
+ ).entries
490
+ end
491
+
492
+ ##
493
+ # Streams Instance records from the API as an Enumerable.
494
+ # This operation lazily loads records as efficiently as possible until the limit
495
+ # is reached.
496
+ # @param [String] page_token Token for pagination
497
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
498
+ # guarantees to never return more than limit. Default is no limit
499
+ # @param [Integer] page_size Number of records to fetch per request, when
500
+ # not set will use the default value of 50 records. If no page_size is defined
501
+ # but a limit is defined, stream() will attempt to read the limit with the most
502
+ # efficient page size, i.e. min(limit, 1000)
503
+ # @return [Enumerable] Enumerable that will yield up to limit results
504
+ def stream(page_token: :unset, limit: nil, page_size: nil)
505
+ limits = @version.read_limits(limit, page_size)
506
+
507
+ page = self.page(
508
+ page_token: page_token,
509
+ page_size: limits[:page_size], )
510
+
511
+ return [].each if page.nil?
512
+
513
+ result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
514
+ return [].each if result.nil?
515
+ result
516
+ end
517
+
518
+ ##
519
+ # Lists ConfigurationPageMetadata records from the API as a list.
520
+ # @param [String] page_token Token for pagination
521
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
522
+ # guarantees to never return more than limit. Default is no limit
523
+ # @param [Integer] page_size Number of records to fetch per request, when
524
+ # not set will use the default value of 50 records. If no page_size is defined
525
+ # but a limit is defined, stream() will attempt to read the limit with the most
526
+ # efficient page size, i.e. min(limit, 1000)
527
+ # @return [Array] Array of up to limit results
528
+ def list_with_metadata(page_token: :unset, limit: nil, page_size: nil)
529
+ limits = @version.read_limits(limit, page_size)
530
+ params = Twilio::Values.of({
531
+ 'pageToken' => page_token,
532
+
533
+ 'PageSize' => limits[:page_size],
534
+ });
535
+ headers = Twilio::Values.of({})
536
+
537
+ response = @version.page('GET', @uri, params: params, headers: headers)
538
+
539
+ ConfigurationPageMetadata.new(@version, response, @solution, limits[:limit])
540
+ end
541
+
542
+ ##
543
+ # When passed a block, yields ConfigurationInstance records from the API.
544
+ # This operation lazily loads records as efficiently as possible until the limit
545
+ # is reached.
546
+ def each
547
+ limits = @version.read_limits
548
+
549
+ page = self.page(page_size: limits[:page_size], )
550
+
551
+ return [].each if page.nil?
552
+
553
+ result = @version.stream(page,
554
+ limit: limits[:limit],
555
+ page_limit: limits[:page_limit])
556
+ return [].each if result.nil?
557
+ result.each {|x| yield x}
558
+ end
559
+
560
+ ##
561
+ # Retrieve a single page of ConfigurationInstance records from the API.
562
+ # Request is executed immediately.
563
+ # @param [String] page_token Token for pagination
564
+
565
+ # @return [Page] Page of ConfigurationInstance
566
+ def page(page_token: :unset, page_size: :unset)
567
+ params = Twilio::Values.of({
568
+ 'pageToken' => page_token,
569
+ 'PageSize' => page_size,
570
+ })
571
+ headers = Twilio::Values.of({})
572
+
573
+
574
+
575
+ response = @version.page('GET', @uri, params: params, headers: headers)
576
+
577
+ ConfigurationPage.new(@version, response, @solution)
578
+ end
579
+
580
+ ##
581
+ # Retrieve a single page of ConfigurationInstance records from the API.
582
+ # Request is executed immediately.
583
+ # @param [String] target_url API-generated URL for the requested results page
584
+ # @return [Page] Page of ConfigurationInstance
585
+ def get_page(target_url)
586
+ response = @version.domain.request(
587
+ 'GET',
588
+ target_url
589
+ )
590
+ ConfigurationPage.new(@version, response, @solution)
591
+ end
592
+
593
+
594
+
595
+ # Provide a user friendly representation
596
+ def to_s
597
+ '#<Twilio.Intelligence.V3.ConfigurationList>'
598
+ end
599
+ end
600
+
601
+
602
+ class ConfigurationContext < InstanceContext
603
+ ##
604
+ # Initialize the ConfigurationContext
605
+ # @param [Version] version Version that contains the resource
606
+ # @param [String] id The unique identifier of the Intelligence Configuration.
607
+ # @return [ConfigurationContext] ConfigurationContext
608
+ def initialize(version, id)
609
+
610
+ apiV1Version = ApiV1Version.new version.domain, version
611
+ super(apiV1Version)
612
+
613
+ # Path Solution
614
+ @solution = { id: id, }
615
+ @uri = "/ControlPlane/Configurations/#{@solution[:id]}"
616
+
617
+
618
+ end
619
+ ##
620
+ # Delete the ConfigurationInstance
621
+ # @return [Boolean] True if delete succeeds, false otherwise
622
+ def delete
623
+
624
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
625
+
626
+
627
+
628
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
629
+ ConfigurationInstance.new(
630
+ @version,
631
+ response.body,
632
+ id: @solution[:id],
633
+ )
634
+
635
+ end
636
+
637
+ ##
638
+ # Delete the ConfigurationInstanceMetadata
639
+ # @return [Boolean] True if delete succeeds, false otherwise
640
+ def delete_with_metadata
641
+
642
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
643
+
644
+
645
+
646
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
647
+ configuration_instance = ConfigurationInstance.new(
648
+ @version,
649
+ response.body,
650
+ account_sid: @solution[:account_sid],
651
+ sid: @solution[:sid],
652
+ )
653
+ ConfigurationInstanceMetadata.new(@version, configuration_instance, response.headers, response.status_code)
654
+ end
655
+
656
+ ##
657
+ # Fetch the ConfigurationInstance
658
+ # @return [ConfigurationInstance] Fetched ConfigurationInstance
659
+ def fetch
660
+
661
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
662
+
663
+
664
+
665
+
666
+
667
+ payload = @version.fetch('GET', @uri, headers: headers)
668
+ ConfigurationInstance.new(
669
+ @version,
670
+ payload,
671
+ id: @solution[:id],
672
+ )
673
+ end
674
+
675
+ ##
676
+ # Fetch the ConfigurationInstanceMetadata
677
+ # @return [ConfigurationInstance] Fetched ConfigurationInstance
678
+ def fetch_with_metadata
679
+
680
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
681
+
682
+
683
+
684
+
685
+
686
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
687
+ configuration_instance = ConfigurationInstance.new(
688
+ @version,
689
+ response.body,
690
+ id: @solution[:id],
691
+ )
692
+ ConfigurationInstanceMetadata.new(
693
+ @version,
694
+ configuration_instance,
695
+ response.headers,
696
+ response.status_code
697
+ )
698
+ end
699
+
700
+ ##
701
+ # Update the ConfigurationInstance
702
+ # @param [UpdateConfigurationRequest] update_configuration_request
703
+ # @return [ConfigurationInstance] Updated ConfigurationInstance
704
+ def update(update_configuration_request: nil
705
+ )
706
+
707
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
708
+ headers['Content-Type'] = 'application/json'
709
+
710
+
711
+
712
+
713
+ payload = @version.update('PUT', @uri, headers: headers, data: update_configuration_request.to_json)
714
+ ConfigurationInstance.new(
715
+ @version,
716
+ payload,
717
+ id: @solution[:id],
718
+ )
719
+ end
720
+
721
+ ##
722
+ # Update the ConfigurationInstanceMetadata
723
+ # @param [UpdateConfigurationRequest] update_configuration_request
724
+ # @return [ConfigurationInstance] Updated ConfigurationInstance
725
+ def update_with_metadata(update_configuration_request: nil
726
+ )
727
+
728
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
729
+ headers['Content-Type'] = 'application/json'
730
+
731
+
732
+
733
+
734
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: update_configuration_request.to_json)
735
+ configuration_instance = ConfigurationInstance.new(
736
+ @version,
737
+ response.body,
738
+ id: @solution[:id],
739
+ )
740
+ ConfigurationInstanceMetadata.new(
741
+ @version,
742
+ configuration_instance,
743
+ response.headers,
744
+ response.status_code
745
+ )
746
+ end
747
+
748
+
749
+ ##
750
+ # Provide a user friendly representation
751
+ def to_s
752
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
753
+ "#<Twilio.Intelligence.V3.ConfigurationContext #{context}>"
754
+ end
755
+
756
+ ##
757
+ # Provide a detailed, user friendly representation
758
+ def inspect
759
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
760
+ "#<Twilio.Intelligence.V3.ConfigurationContext #{context}>"
761
+ end
762
+ end
763
+
764
+ class ConfigurationInstanceMetadata < InstanceResourceMetadata
765
+ ##
766
+ # Initializes a new ConfigurationInstanceMetadata.
767
+ # @param [Version] version Version that contains the resource
768
+ # @param [}ConfigurationInstance] configuration_instance The instance associated with the metadata.
769
+ # @param [Hash] headers Header object with response headers.
770
+ # @param [Integer] status_code The HTTP status code of the response.
771
+ # @return [ConfigurationInstanceMetadata] The initialized instance with metadata.
772
+ def initialize(version, configuration_instance, headers, status_code)
773
+ super(version, headers, status_code)
774
+ @configuration_instance = configuration_instance
775
+ end
776
+
777
+ def configuration
778
+ @configuration_instance
779
+ end
780
+
781
+ def headers
782
+ @headers
783
+ end
784
+
785
+ def status_code
786
+ @status_code
787
+ end
788
+
789
+ def to_s
790
+ "<Twilio.Api.V2010.ConfigurationInstanceMetadata status=#{@status_code}>"
791
+ end
792
+ end
793
+
794
+ class ConfigurationListResponse < InstanceListResource
795
+ # @param [Array<ConfigurationInstance>] instance
796
+ # @param [Hash{String => Object}] headers
797
+ # @param [Integer] status_code
798
+ def initialize(version, payload, key)
799
+ @configuration_instance = payload.body[key].map do |data|
800
+ ConfigurationInstance.new(version, data)
801
+ end
802
+ @headers = payload.headers
803
+ @status_code = payload.status_code
804
+ end
805
+
806
+ def configuration_instance
807
+ @instance
808
+ end
809
+ end
810
+
811
+ class ConfigurationPage < TokenPage
812
+ ##
813
+ # Initialize the ConfigurationPage
814
+ # @param [Version] version Version that contains the resource
815
+ # @param [Response] response Response from the API
816
+ # @param [Hash] solution Path solution for the resource
817
+ # @return [ConfigurationPage] ConfigurationPage
818
+ def initialize(version, response, solution)
819
+
820
+ apiV1Version = ApiV1Version.new version.domain, version
821
+ super(apiV1Version, response)
822
+
823
+ # Path Solution
824
+ @solution = solution
825
+ end
826
+
827
+ ##
828
+ # Build an instance of ConfigurationInstance
829
+ # @param [Hash] payload Payload response from the API
830
+ # @return [ConfigurationInstance] ConfigurationInstance
831
+ def get_instance(payload)
832
+ ConfigurationInstance.new(@version, payload)
833
+ end
834
+
835
+ ##
836
+ # Provide a user friendly representation
837
+ def to_s
838
+ '<Twilio.Intelligence.V3.ConfigurationPage>'
839
+ end
840
+ end
841
+
842
+ class ConfigurationPageMetadata < PageMetadata
843
+ attr_reader :configuration_page
844
+
845
+ def initialize(version, response, solution, limit)
846
+ super(version, response)
847
+ @configuration_page = []
848
+ @limit = limit
849
+ key = get_key(response.body)
850
+ records = 0
851
+ while( limit != :unset && records < limit )
852
+ @configuration_page << ConfigurationListResponse.new(version, @payload, key, limit - records)
853
+ @payload = self.next_page
854
+ break unless @payload
855
+ records += (@payload.body[key] || []).size
856
+ end
857
+ # Path Solution
858
+ @solution = solution
859
+ end
860
+
861
+ def each
862
+ @configuration_page.each do |record|
863
+ yield record
864
+ end
865
+ end
866
+
867
+ def to_s
868
+ '<Twilio::REST::Intelligence::V3PageMetadata>';
869
+ end
870
+ end
871
+ class ConfigurationListResponse < InstanceListResource
872
+
873
+ # @param [Array<ConfigurationInstance>] instance
874
+ # @param [Hash{String => Object}] headers
875
+ # @param [Integer] status_code
876
+ def initialize(version, payload, key, limit = :unset)
877
+ data_list = payload.body[key] || []
878
+ if limit != :unset
879
+ data_list = data_list[0, limit]
880
+ end
881
+ @configuration = data_list.map do |data|
882
+ ConfigurationInstance.new(version, data)
883
+ end
884
+ @headers = payload.headers
885
+ @status_code = payload.status_code
886
+ end
887
+
888
+ def configuration
889
+ @configuration
890
+ end
891
+
892
+ def headers
893
+ @headers
894
+ end
895
+
896
+ def status_code
897
+ @status_code
898
+ end
899
+ end
900
+
901
+ class ConfigurationInstance < InstanceResource
902
+ ##
903
+ # Initialize the ConfigurationInstance
904
+ # @param [Version] version Version that contains the resource
905
+ # @param [Hash] payload payload that contains response from Twilio
906
+ # @param [String] account_sid The SID of the
907
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Configuration
908
+ # resource.
909
+ # @param [String] sid The SID of the Call resource to fetch.
910
+ # @return [ConfigurationInstance] ConfigurationInstance
911
+ def initialize(version, payload , id: nil)
912
+
913
+ apiV1Version = ApiV1Version.new version.domain, version
914
+ super(apiV1Version)
915
+
916
+ # Marshaled Properties
917
+ @properties = {
918
+ 'account_id' => payload['account_id'],
919
+ 'id' => payload['id'],
920
+ 'display_name' => payload['display_name'],
921
+ 'description' => payload['description'],
922
+ 'version' => payload['version'] == nil ? payload['version'] : payload['version'].to_i,
923
+ 'rules' => payload['rules'],
924
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
925
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
926
+ 'code' => payload['code'],
927
+ 'message' => payload['message'],
928
+ 'http_status_code' => payload['http_status_code'],
929
+ 'user_error' => payload['user_error'],
930
+ 'params' => payload['params'],
931
+ }
932
+
933
+ # Context
934
+ @instance_context = nil
935
+ @params = { 'id' => id || @properties['id'] , }
936
+ end
937
+
938
+ ##
939
+ # Generate an instance context for the instance, the context is capable of
940
+ # performing various actions. All instance actions are proxied to the context
941
+ # @return [ConfigurationContext] CallContext for this CallInstance
942
+ def context
943
+ unless @instance_context
944
+ @instance_context = ConfigurationContext.new(@version , @params['id'])
945
+ end
946
+ @instance_context
947
+ end
948
+
949
+ ##
950
+ # @return [String] The ID of the Account that created the Intelligence Configuration.
951
+ def account_id
952
+ @properties['account_id']
953
+ end
954
+
955
+ ##
956
+ # @return [String] The unique identifier for the Intelligence Configuration. Assigned by Twilio (TTID).
957
+ def id
958
+ @properties['id']
959
+ end
960
+
961
+ ##
962
+ # @return [String] The display name of the Intelligence Configuration describing its purpose.
963
+ def display_name
964
+ @properties['display_name']
965
+ end
966
+
967
+ ##
968
+ # @return [String] The description of the Intelligence Configuration further explaining its purpose.
969
+ def description
970
+ @properties['description']
971
+ end
972
+
973
+ ##
974
+ # @return [String] The numeric version of the Intelligence Configuration. Automatically incremented with each update on the resource, used to ensure integrity when updating the Configuration.
975
+ def version
976
+ @properties['version']
977
+ end
978
+
979
+ ##
980
+ # @return [Array<Rule>] List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.
981
+ def rules
982
+ @properties['rules']
983
+ end
984
+
985
+ ##
986
+ # @return [Time] Timestamp of when the Intelligence Configuration was created.
987
+ def date_created
988
+ @properties['date_created']
989
+ end
990
+
991
+ ##
992
+ # @return [Time] Timestamp of when the Intelligence Configuration was last updated.
993
+ def date_updated
994
+ @properties['date_updated']
995
+ end
996
+
997
+ ##
998
+ # @return [String] Twilio-specific error code
999
+ def code
1000
+ @properties['code']
1001
+ end
1002
+
1003
+ ##
1004
+ # @return [String] A human readable error message
1005
+ def message
1006
+ @properties['message']
1007
+ end
1008
+
1009
+ ##
1010
+ # @return [String] HTTP response status code
1011
+ def http_status_code
1012
+ @properties['http_status_code']
1013
+ end
1014
+
1015
+ ##
1016
+ # @return [Boolean] Whether the error is a user error (true) or a system error (false)
1017
+ def user_error
1018
+ @properties['user_error']
1019
+ end
1020
+
1021
+ ##
1022
+ # @return [Hash<String, String>] A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information
1023
+ def params
1024
+ @properties['params']
1025
+ end
1026
+
1027
+ ##
1028
+ # Delete the ConfigurationInstance
1029
+ # @return [Boolean] True if delete succeeds, false otherwise
1030
+ def delete
1031
+
1032
+ context.delete
1033
+ end
1034
+
1035
+ ##
1036
+ # Fetch the ConfigurationInstance
1037
+ # @return [ConfigurationInstance] Fetched ConfigurationInstance
1038
+ def fetch
1039
+
1040
+ context.fetch
1041
+ end
1042
+
1043
+ ##
1044
+ # Update the ConfigurationInstance
1045
+ # @param [UpdateConfigurationRequest] update_configuration_request
1046
+ # @return [ConfigurationInstance] Updated ConfigurationInstance
1047
+ def update(update_configuration_request: nil
1048
+ )
1049
+
1050
+ context.update(
1051
+ update_configuration_request: update_configuration_request,
1052
+ )
1053
+ end
1054
+
1055
+ ##
1056
+ # Provide a user friendly representation
1057
+ def to_s
1058
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1059
+ "<Twilio.Intelligence.V3.ConfigurationInstance #{values}>"
1060
+ end
1061
+
1062
+ ##
1063
+ # Provide a detailed, user friendly representation
1064
+ def inspect
1065
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1066
+ "<Twilio.Intelligence.V3.ConfigurationInstance #{values}>"
1067
+ end
1068
+ end
1069
+
1070
+ end
1071
+ end
1072
+ end
1073
+ end