twilio-ruby 5.19.0 → 5.74.2

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 (906) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +129 -0
  5. data/.gitignore +8 -1
  6. data/.rubocop.yml +22 -6
  7. data/.rubocop_todo.yml +147 -73
  8. data/CHANGES.md +2126 -0
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +4 -2
  11. data/Dockerfile +2 -2
  12. data/Gemfile +1 -9
  13. data/ISSUE_TEMPLATE.md +17 -13
  14. data/{LICENSE.md → LICENSE} +2 -2
  15. data/Makefile +16 -24
  16. data/PULL_REQUEST_TEMPLATE.md +30 -3
  17. data/README.md +119 -54
  18. data/Rakefile +0 -54
  19. data/VERSIONS.md +9 -10
  20. data/examples/examples.rb +1 -1
  21. data/githooks/pre-commit +0 -0
  22. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  23. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  24. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
  25. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  26. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  27. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  28. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  29. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  30. data/lib/twilio-ruby/http/http_client.rb +34 -15
  31. data/lib/twilio-ruby/http.rb +5 -0
  32. data/lib/twilio-ruby/jwt/access_token.rb +20 -2
  33. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  34. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  35. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  36. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
  37. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  38. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
  39. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  40. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  41. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
  43. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
  44. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
  45. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
  54. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
  66. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
  67. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +38 -29
  69. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
  76. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  77. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
  78. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
  79. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
  80. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
  81. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
  82. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
  83. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
  84. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
  85. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +57 -67
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  87. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
  90. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
  91. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -51
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
  106. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
  107. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
  119. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  120. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
  121. data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
  122. data/lib/twilio-ruby/rest/api.rb +26 -22
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
  137. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
  139. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  140. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
  141. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  143. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
  144. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
  145. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  146. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  147. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
  152. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  153. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  154. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
  155. data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
  156. data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
  157. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  158. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
  164. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  165. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  166. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
  167. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
  168. data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
  169. data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
  170. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  171. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  172. data/lib/twilio-ruby/rest/chat.rb +19 -3
  173. data/lib/twilio-ruby/rest/client.rb +218 -75
  174. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  175. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
  176. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  177. data/lib/twilio-ruby/rest/content.rb +47 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  202. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
  203. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  205. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  206. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  207. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  208. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
  209. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  210. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  211. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  212. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  213. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  214. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  215. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  216. data/lib/twilio-ruby/rest/events.rb +72 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +229 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +288 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +190 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +166 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1.rb +166 -0
  233. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  234. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  235. data/lib/twilio-ruby/rest/flex_api.rb +139 -0
  236. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  237. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  238. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  239. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  240. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  241. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  242. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
  243. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  244. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  245. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  246. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  247. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  248. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  249. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  250. data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
  251. data/lib/twilio-ruby/rest/insights.rb +34 -6
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
  256. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
  257. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
  261. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
  274. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
  275. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  276. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  277. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
  278. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  279. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  280. data/lib/twilio-ruby/rest/lookups.rb +11 -4
  281. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  282. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  283. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  284. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  285. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  286. data/lib/twilio-ruby/rest/media.rb +65 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  293. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  294. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  295. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
  296. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  298. data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
  299. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +709 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  301. data/lib/twilio-ruby/rest/messaging/v1.rb +94 -6
  302. data/lib/twilio-ruby/rest/messaging.rb +55 -2
  303. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  304. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  305. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  306. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  307. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  308. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  309. data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
  310. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  311. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  312. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  313. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
  314. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  315. data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
  316. data/lib/twilio-ruby/rest/notify.rb +5 -3
  317. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  319. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  320. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  321. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  322. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  328. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  329. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  330. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  331. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  332. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  333. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  334. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  335. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  336. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  337. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  338. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  339. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  340. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  341. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  342. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
  343. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
  344. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  345. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
  346. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
  347. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  348. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  349. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  350. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  351. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  352. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  353. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  354. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
  355. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  356. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  357. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  358. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  359. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  360. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  361. data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
  362. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  363. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  364. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  365. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  366. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  367. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  368. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  369. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  370. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  375. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  376. data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
  377. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  378. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
  379. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  380. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  381. data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
  382. data/lib/twilio-ruby/rest/preview.rb +6 -35
  383. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  384. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  385. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  386. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  387. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  388. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  389. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  390. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  391. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  392. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  393. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  394. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  395. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  396. data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
  397. data/lib/twilio-ruby/rest/pricing.rb +20 -1
  398. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
  399. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
  400. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  401. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
  402. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
  403. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  404. data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
  405. data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
  406. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  407. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  408. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  409. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  410. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  411. data/lib/twilio-ruby/rest/routes.rb +62 -0
  412. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  413. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  414. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  415. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  417. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  418. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  419. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  420. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  421. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  422. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  423. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
  424. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  425. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  426. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  427. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  428. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  429. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  430. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  431. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  432. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  433. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
  434. data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
  435. data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
  436. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  437. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  438. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  439. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  440. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  441. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  442. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  443. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  444. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  445. data/lib/twilio-ruby/rest/studio.rb +19 -5
  446. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  447. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  448. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  449. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  450. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  451. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  452. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  453. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  454. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  455. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  456. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  457. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  458. data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
  459. data/lib/twilio-ruby/rest/supersim.rb +112 -0
  460. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  461. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
  462. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
  463. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  464. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
  465. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
  466. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  467. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
  468. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  469. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
  470. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  471. data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
  472. data/lib/twilio-ruby/rest/sync.rb +3 -2
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
  498. data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
  499. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  500. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  501. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  502. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
  503. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  504. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  505. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
  506. data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
  507. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  508. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  509. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  510. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  511. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  512. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  513. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  514. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  515. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  516. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  517. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  518. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  520. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  521. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  522. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  523. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
  524. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  525. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
  526. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  527. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
  528. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
  529. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  530. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
  531. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  532. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  533. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  534. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +378 -0
  535. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
  536. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
  537. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  538. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  539. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  540. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  541. data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
  542. data/lib/twilio-ruby/rest/verify.rb +48 -9
  543. data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
  544. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
  545. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  546. data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
  547. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  548. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
  549. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  550. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  551. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  552. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  553. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
  554. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  555. data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
  556. data/lib/twilio-ruby/rest/video/v1.rb +25 -24
  557. data/lib/twilio-ruby/rest/video.rb +9 -9
  558. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  559. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  560. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  561. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  562. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
  563. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  564. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
  565. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  566. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  567. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  568. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  569. data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
  570. data/lib/twilio-ruby/rest/voice.rb +48 -4
  571. data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
  572. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
  573. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
  574. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  575. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
  576. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  577. data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
  578. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  579. data/lib/twilio-ruby/rest.rb +13 -0
  580. data/lib/twilio-ruby/security/request_validator.rb +64 -11
  581. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  582. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  583. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  584. data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
  585. data/lib/twilio-ruby/util/configuration.rb +22 -5
  586. data/lib/twilio-ruby/version.rb +1 -1
  587. data/lib/twilio-ruby.rb +9 -25
  588. data/sonar-project.properties +13 -0
  589. data/twilio-ruby.gemspec +12 -7
  590. metadata +336 -654
  591. data/.travis.yml +0 -26
  592. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
  593. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  594. data/lib/twilio-ruby/rest/authy.rb +0 -55
  595. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
  596. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  597. data/lib/twilio-ruby/rest/fax.rb +0 -46
  598. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
  599. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  600. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  601. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  602. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  603. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
  604. data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
  605. data/spec/framework/request_spec.rb +0 -36
  606. data/spec/framework/serialize_spec.rb +0 -80
  607. data/spec/holodeck/holodeck.rb +0 -61
  608. data/spec/holodeck/hologram.rb +0 -4
  609. data/spec/http/http_client_spec.rb +0 -122
  610. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  611. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  612. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  613. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  614. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  615. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  616. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  617. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  618. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  619. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  620. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  621. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  622. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  623. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  624. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  625. data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
  626. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  627. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  628. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  629. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  630. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  631. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  632. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  633. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  634. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  635. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  636. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  637. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  638. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  639. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  640. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  641. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  642. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  643. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  644. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  645. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  646. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  647. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  648. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  649. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  650. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  651. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  652. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  653. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  654. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  655. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  656. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  657. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  658. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  659. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  660. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  661. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  662. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  663. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  664. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  665. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  666. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  667. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
  668. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  669. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  670. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  671. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  672. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  673. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  674. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  675. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  676. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  677. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  678. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  679. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  680. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  681. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  682. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  683. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  684. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  685. data/spec/integration/api/v2010/account_spec.rb +0 -275
  686. data/spec/integration/authy/v1/form_spec.rb +0 -48
  687. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
  688. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  689. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  690. data/spec/integration/authy/v1/service_spec.rb +0 -227
  691. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  692. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  693. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  694. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  695. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  696. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  697. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  698. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  699. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  700. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  701. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  702. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  703. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  704. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  705. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  706. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  707. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  708. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  709. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  710. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  711. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  712. data/spec/integration/chat/v1/service_spec.rb +0 -299
  713. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  714. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  715. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  716. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
  717. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  718. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  719. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  720. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  721. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  722. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  723. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  724. data/spec/integration/chat/v2/service_spec.rb +0 -354
  725. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  726. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  727. data/spec/integration/insights/v1/summary_spec.rb +0 -60
  728. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  729. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  730. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  731. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  732. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  733. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  734. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  735. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  736. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  737. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  738. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  739. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  740. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
  741. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  742. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  743. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  744. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  745. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  746. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  747. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  748. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  749. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  750. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  751. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  752. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  753. data/spec/integration/messaging/v1/service_spec.rb +0 -271
  754. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  755. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  756. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  757. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  758. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  759. data/spec/integration/notify/v1/service_spec.rb +0 -286
  760. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  761. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  762. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  763. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  764. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  765. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  766. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  767. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  768. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  769. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  770. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  771. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  772. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  773. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  774. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  775. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  776. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  777. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  778. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  779. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  780. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  781. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  782. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  783. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  784. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  785. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  786. data/spec/integration/preview/sync/service_spec.rb +0 -246
  787. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  788. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  789. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  790. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  791. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  792. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  793. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  794. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  795. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  796. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  797. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  798. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  799. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  800. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  801. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  802. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  803. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  804. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  805. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  806. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  807. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  808. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  809. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  810. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  811. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  812. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  813. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  814. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  815. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
  816. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  817. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  818. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
  819. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  820. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  821. data/spec/integration/proxy/v1/service_spec.rb +0 -218
  822. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  823. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  824. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  825. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  826. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  827. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  828. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  829. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  830. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  831. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  832. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  833. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  834. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  835. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  836. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  837. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  838. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  839. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  840. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  841. data/spec/integration/sync/v1/service_spec.rb +0 -254
  842. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  843. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  844. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  845. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
  846. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  847. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  848. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  849. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  850. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  851. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  852. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  853. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  854. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  855. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  856. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  857. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  858. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  859. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  860. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  861. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  862. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  863. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  864. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  865. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  866. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  867. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  868. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  869. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  870. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  871. data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
  872. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
  873. data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
  874. data/spec/integration/verify/v1/service_spec.rb +0 -227
  875. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  876. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  877. data/spec/integration/video/v1/composition_spec.rb +0 -325
  878. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  879. data/spec/integration/video/v1/recording_spec.rb +0 -179
  880. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  881. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  882. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  883. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  884. data/spec/integration/video/v1/room_spec.rb +0 -257
  885. data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
  886. data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
  887. data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
  888. data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
  889. data/spec/integration/wireless/v1/command_spec.rb +0 -289
  890. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  891. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  892. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  893. data/spec/integration/wireless/v1/sim_spec.rb +0 -242
  894. data/spec/jwt/access_token_spec.rb +0 -151
  895. data/spec/jwt/client_capability_spec.rb +0 -104
  896. data/spec/jwt/task_router_spec.rb +0 -172
  897. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  898. data/spec/rest/client_spec.rb +0 -61
  899. data/spec/security/request_validator_spec.rb +0 -86
  900. data/spec/spec_helper.rb +0 -38
  901. data/spec/support/fakeweb.rb +0 -2
  902. data/spec/twilio_spec.rb +0 -15
  903. data/spec/twiml/messaging_response_spec.rb +0 -235
  904. data/spec/twiml/voice_response_spec.rb +0 -847
  905. data/spec/util/configuration_spec.rb +0 -15
  906. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,580 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class FlexApi < Domain
12
+ class V1 < Version
13
+ class FlexFlowList < ListResource
14
+ ##
15
+ # Initialize the FlexFlowList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [FlexFlowList] FlexFlowList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/FlexFlows"
24
+ end
25
+
26
+ ##
27
+ # Lists FlexFlowInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
31
+ # read.
32
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
33
+ # guarantees to never return more than limit. Default is no limit
34
+ # @param [Integer] page_size Number of records to fetch per request, when
35
+ # not set will use the default value of 50 records. If no page_size is defined
36
+ # but a limit is defined, stream() will attempt to read the limit with the most
37
+ # efficient page size, i.e. min(limit, 1000)
38
+ # @return [Array] Array of up to limit results
39
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
40
+ self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
41
+ end
42
+
43
+ ##
44
+ # Streams FlexFlowInstance records from the API as an Enumerable.
45
+ # This operation lazily loads records as efficiently as possible until the limit
46
+ # is reached.
47
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
48
+ # read.
49
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
50
+ # guarantees to never return more than limit. Default is no limit.
51
+ # @param [Integer] page_size Number of records to fetch per request, when
52
+ # not set will use the default value of 50 records. If no page_size is defined
53
+ # but a limit is defined, stream() will attempt to read the limit with the most
54
+ # efficient page size, i.e. min(limit, 1000)
55
+ # @return [Enumerable] Enumerable that will yield up to limit results
56
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
57
+ limits = @version.read_limits(limit, page_size)
58
+
59
+ page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
60
+
61
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
62
+ end
63
+
64
+ ##
65
+ # When passed a block, yields FlexFlowInstance records from the API.
66
+ # This operation lazily loads records as efficiently as possible until the limit
67
+ # is reached.
68
+ def each
69
+ limits = @version.read_limits
70
+
71
+ page = self.page(page_size: limits[:page_size], )
72
+
73
+ @version.stream(page,
74
+ limit: limits[:limit],
75
+ page_limit: limits[:page_limit]).each {|x| yield x}
76
+ end
77
+
78
+ ##
79
+ # Retrieve a single page of FlexFlowInstance records from the API.
80
+ # Request is executed immediately.
81
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
82
+ # read.
83
+ # @param [String] page_token PageToken provided by the API
84
+ # @param [Integer] page_number Page Number, this value is simply for client state
85
+ # @param [Integer] page_size Number of records to return, defaults to 50
86
+ # @return [Page] Page of FlexFlowInstance
87
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
88
+ params = Twilio::Values.of({
89
+ 'FriendlyName' => friendly_name,
90
+ 'PageToken' => page_token,
91
+ 'Page' => page_number,
92
+ 'PageSize' => page_size,
93
+ })
94
+
95
+ response = @version.page('GET', @uri, params: params)
96
+
97
+ FlexFlowPage.new(@version, response, @solution)
98
+ end
99
+
100
+ ##
101
+ # Retrieve a single page of FlexFlowInstance records from the API.
102
+ # Request is executed immediately.
103
+ # @param [String] target_url API-generated URL for the requested results page
104
+ # @return [Page] Page of FlexFlowInstance
105
+ def get_page(target_url)
106
+ response = @version.domain.request(
107
+ 'GET',
108
+ target_url
109
+ )
110
+ FlexFlowPage.new(@version, response, @solution)
111
+ end
112
+
113
+ ##
114
+ # Create the FlexFlowInstance
115
+ # @param [String] friendly_name A descriptive string that you create to describe
116
+ # the Flex Flow resource.
117
+ # @param [String] chat_service_sid The SID of the chat service.
118
+ # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
119
+ # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
120
+ # Flex widget passes it on to the Task attributes for Tasks created based on this
121
+ # Flex Flow. The Task attributes will be used by the Flex UI to render the
122
+ # respective Task as appropriate (applying channel-specific design and length
123
+ # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
124
+ # widget should set the Task Channel to Programmable Chat.
125
+ # @param [String] contact_identity The channel contact's Identity.
126
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
127
+ # @param [flex_flow.IntegrationType] integration_type The software that will
128
+ # handle inbound messages. {Integration
129
+ # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
130
+ # can be: `studio`, `external`, or `task`.
131
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
132
+ # `integrationType` is `studio`.
133
+ # @param [String] integration_url The URL of the external webhook. Required when
134
+ # `integrationType` is `external`.
135
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
136
+ # Required when `integrationType` is `task`.
137
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
138
+ # Required when `integrationType` is `task`.
139
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
140
+ # (e.g., `sms`) to use for the Task that will be created. Applicable and required
141
+ # when `integrationType` is `task`. The default value is `default`.
142
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
143
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
144
+ # not applicable otherwise.
145
+ # @param [String] integration_priority The Task priority of a new Task. The
146
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
147
+ # otherwise.
148
+ # @param [Boolean] integration_creation_on_message In the context of outbound
149
+ # messaging, defines whether to create a Task immediately (and therefore reserve
150
+ # the conversation to current agent), or delay Task creation until the customer
151
+ # sends the first response. Set to false to create immediately, true to delay Task
152
+ # creation. This setting is only applicable for outbound messaging.
153
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
154
+ # so that it may be used for subsequent interactions with a contact identity.
155
+ # Defaults to `false`.
156
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
157
+ # will remove active Proxy sessions if the associated Task is deleted outside of
158
+ # the Flex UI. Defaults to `false`.
159
+ # @param [String] integration_retry_count The number of times to retry the Studio
160
+ # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
161
+ # default being 3. Optional when `integrationType` is `studio` or `external`, not
162
+ # applicable otherwise.
163
+ # @return [FlexFlowInstance] Created FlexFlowInstance
164
+ def create(friendly_name: nil, chat_service_sid: nil, channel_type: nil, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
165
+ data = Twilio::Values.of({
166
+ 'FriendlyName' => friendly_name,
167
+ 'ChatServiceSid' => chat_service_sid,
168
+ 'ChannelType' => channel_type,
169
+ 'ContactIdentity' => contact_identity,
170
+ 'Enabled' => enabled,
171
+ 'IntegrationType' => integration_type,
172
+ 'Integration.FlowSid' => integration_flow_sid,
173
+ 'Integration.Url' => integration_url,
174
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
175
+ 'Integration.WorkflowSid' => integration_workflow_sid,
176
+ 'Integration.Channel' => integration_channel,
177
+ 'Integration.Timeout' => integration_timeout,
178
+ 'Integration.Priority' => integration_priority,
179
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
180
+ 'LongLived' => long_lived,
181
+ 'JanitorEnabled' => janitor_enabled,
182
+ 'Integration.RetryCount' => integration_retry_count,
183
+ })
184
+
185
+ payload = @version.create('POST', @uri, data: data)
186
+
187
+ FlexFlowInstance.new(@version, payload, )
188
+ end
189
+
190
+ ##
191
+ # Provide a user friendly representation
192
+ def to_s
193
+ '#<Twilio.FlexApi.V1.FlexFlowList>'
194
+ end
195
+ end
196
+
197
+ class FlexFlowPage < Page
198
+ ##
199
+ # Initialize the FlexFlowPage
200
+ # @param [Version] version Version that contains the resource
201
+ # @param [Response] response Response from the API
202
+ # @param [Hash] solution Path solution for the resource
203
+ # @return [FlexFlowPage] FlexFlowPage
204
+ def initialize(version, response, solution)
205
+ super(version, response)
206
+
207
+ # Path Solution
208
+ @solution = solution
209
+ end
210
+
211
+ ##
212
+ # Build an instance of FlexFlowInstance
213
+ # @param [Hash] payload Payload response from the API
214
+ # @return [FlexFlowInstance] FlexFlowInstance
215
+ def get_instance(payload)
216
+ FlexFlowInstance.new(@version, payload, )
217
+ end
218
+
219
+ ##
220
+ # Provide a user friendly representation
221
+ def to_s
222
+ '<Twilio.FlexApi.V1.FlexFlowPage>'
223
+ end
224
+ end
225
+
226
+ class FlexFlowContext < InstanceContext
227
+ ##
228
+ # Initialize the FlexFlowContext
229
+ # @param [Version] version Version that contains the resource
230
+ # @param [String] sid The SID of the Flex Flow resource to fetch.
231
+ # @return [FlexFlowContext] FlexFlowContext
232
+ def initialize(version, sid)
233
+ super(version)
234
+
235
+ # Path Solution
236
+ @solution = {sid: sid, }
237
+ @uri = "/FlexFlows/#{@solution[:sid]}"
238
+ end
239
+
240
+ ##
241
+ # Fetch the FlexFlowInstance
242
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
243
+ def fetch
244
+ payload = @version.fetch('GET', @uri)
245
+
246
+ FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
247
+ end
248
+
249
+ ##
250
+ # Update the FlexFlowInstance
251
+ # @param [String] friendly_name A descriptive string that you create to describe
252
+ # the Flex Flow resource.
253
+ # @param [String] chat_service_sid The SID of the chat service.
254
+ # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
255
+ # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
256
+ # Flex widget passes it on to the Task attributes for Tasks created based on this
257
+ # Flex Flow. The Task attributes will be used by the Flex UI to render the
258
+ # respective Task as appropriate (applying channel-specific design and length
259
+ # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
260
+ # widget should set the Task Channel to Programmable Chat.
261
+ # @param [String] contact_identity The channel contact's Identity.
262
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
263
+ # @param [flex_flow.IntegrationType] integration_type The software that will
264
+ # handle inbound messages. {Integration
265
+ # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
266
+ # can be: `studio`, `external`, or `task`.
267
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
268
+ # `integrationType` is `studio`.
269
+ # @param [String] integration_url The URL of the external webhook. Required when
270
+ # `integrationType` is `external`.
271
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
272
+ # Required when `integrationType` is `task`.
273
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
274
+ # Required when `integrationType` is `task`.
275
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
276
+ # (e.g., `sms`) to use for the Task that will be created. Applicable and required
277
+ # when `integrationType` is `task`. The default value is `default`.
278
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
279
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
280
+ # not applicable otherwise.
281
+ # @param [String] integration_priority The Task priority of a new Task. The
282
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
283
+ # otherwise.
284
+ # @param [Boolean] integration_creation_on_message In the context of outbound
285
+ # messaging, defines whether to create a Task immediately (and therefore reserve
286
+ # the conversation to current agent), or delay Task creation until the customer
287
+ # sends the first response. Set to false to create immediately, true to delay Task
288
+ # creation. This setting is only applicable for outbound messaging.
289
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
290
+ # so that it may be used for subsequent interactions with a contact identity.
291
+ # Defaults to `false`.
292
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
293
+ # will remove active Proxy sessions if the associated Task is deleted outside of
294
+ # the Flex UI. Defaults to `false`.
295
+ # @param [String] integration_retry_count The number of times to retry the Studio
296
+ # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
297
+ # default being 3. Optional when `integrationType` is `studio` or `external`, not
298
+ # applicable otherwise.
299
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
300
+ def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
301
+ data = Twilio::Values.of({
302
+ 'FriendlyName' => friendly_name,
303
+ 'ChatServiceSid' => chat_service_sid,
304
+ 'ChannelType' => channel_type,
305
+ 'ContactIdentity' => contact_identity,
306
+ 'Enabled' => enabled,
307
+ 'IntegrationType' => integration_type,
308
+ 'Integration.FlowSid' => integration_flow_sid,
309
+ 'Integration.Url' => integration_url,
310
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
311
+ 'Integration.WorkflowSid' => integration_workflow_sid,
312
+ 'Integration.Channel' => integration_channel,
313
+ 'Integration.Timeout' => integration_timeout,
314
+ 'Integration.Priority' => integration_priority,
315
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
316
+ 'LongLived' => long_lived,
317
+ 'JanitorEnabled' => janitor_enabled,
318
+ 'Integration.RetryCount' => integration_retry_count,
319
+ })
320
+
321
+ payload = @version.update('POST', @uri, data: data)
322
+
323
+ FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
324
+ end
325
+
326
+ ##
327
+ # Delete the FlexFlowInstance
328
+ # @return [Boolean] true if delete succeeds, false otherwise
329
+ def delete
330
+ @version.delete('DELETE', @uri)
331
+ end
332
+
333
+ ##
334
+ # Provide a user friendly representation
335
+ def to_s
336
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
337
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
338
+ end
339
+
340
+ ##
341
+ # Provide a detailed, user friendly representation
342
+ def inspect
343
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
344
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
345
+ end
346
+ end
347
+
348
+ class FlexFlowInstance < InstanceResource
349
+ ##
350
+ # Initialize the FlexFlowInstance
351
+ # @param [Version] version Version that contains the resource
352
+ # @param [Hash] payload payload that contains response from Twilio
353
+ # @param [String] sid The SID of the Flex Flow resource to fetch.
354
+ # @return [FlexFlowInstance] FlexFlowInstance
355
+ def initialize(version, payload, sid: nil)
356
+ super(version)
357
+
358
+ # Marshaled Properties
359
+ @properties = {
360
+ 'account_sid' => payload['account_sid'],
361
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
362
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
363
+ 'sid' => payload['sid'],
364
+ 'friendly_name' => payload['friendly_name'],
365
+ 'chat_service_sid' => payload['chat_service_sid'],
366
+ 'channel_type' => payload['channel_type'],
367
+ 'contact_identity' => payload['contact_identity'],
368
+ 'enabled' => payload['enabled'],
369
+ 'integration_type' => payload['integration_type'],
370
+ 'integration' => payload['integration'],
371
+ 'long_lived' => payload['long_lived'],
372
+ 'janitor_enabled' => payload['janitor_enabled'],
373
+ 'url' => payload['url'],
374
+ }
375
+
376
+ # Context
377
+ @instance_context = nil
378
+ @params = {'sid' => sid || @properties['sid'], }
379
+ end
380
+
381
+ ##
382
+ # Generate an instance context for the instance, the context is capable of
383
+ # performing various actions. All instance actions are proxied to the context
384
+ # @return [FlexFlowContext] FlexFlowContext for this FlexFlowInstance
385
+ def context
386
+ unless @instance_context
387
+ @instance_context = FlexFlowContext.new(@version, @params['sid'], )
388
+ end
389
+ @instance_context
390
+ end
391
+
392
+ ##
393
+ # @return [String] The SID of the Account that created the resource
394
+ def account_sid
395
+ @properties['account_sid']
396
+ end
397
+
398
+ ##
399
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
400
+ def date_created
401
+ @properties['date_created']
402
+ end
403
+
404
+ ##
405
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
406
+ def date_updated
407
+ @properties['date_updated']
408
+ end
409
+
410
+ ##
411
+ # @return [String] The unique string that identifies the resource
412
+ def sid
413
+ @properties['sid']
414
+ end
415
+
416
+ ##
417
+ # @return [String] The string that you assigned to describe the resource
418
+ def friendly_name
419
+ @properties['friendly_name']
420
+ end
421
+
422
+ ##
423
+ # @return [String] The SID of the chat service
424
+ def chat_service_sid
425
+ @properties['chat_service_sid']
426
+ end
427
+
428
+ ##
429
+ # @return [flex_flow.ChannelType] The channel type
430
+ def channel_type
431
+ @properties['channel_type']
432
+ end
433
+
434
+ ##
435
+ # @return [String] The channel contact's Identity
436
+ def contact_identity
437
+ @properties['contact_identity']
438
+ end
439
+
440
+ ##
441
+ # @return [Boolean] Whether the Flex Flow is enabled
442
+ def enabled
443
+ @properties['enabled']
444
+ end
445
+
446
+ ##
447
+ # @return [flex_flow.IntegrationType] The software that will handle inbound messages.
448
+ def integration_type
449
+ @properties['integration_type']
450
+ end
451
+
452
+ ##
453
+ # @return [Hash] An object that contains specific parameters for the integration
454
+ def integration
455
+ @properties['integration']
456
+ end
457
+
458
+ ##
459
+ # @return [Boolean] Re-use this chat channel for future interactions with a contact
460
+ def long_lived
461
+ @properties['long_lived']
462
+ end
463
+
464
+ ##
465
+ # @return [Boolean] Remove active Proxy sessions if the corresponding Task is deleted.
466
+ def janitor_enabled
467
+ @properties['janitor_enabled']
468
+ end
469
+
470
+ ##
471
+ # @return [String] The absolute URL of the Flex Flow resource
472
+ def url
473
+ @properties['url']
474
+ end
475
+
476
+ ##
477
+ # Fetch the FlexFlowInstance
478
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
479
+ def fetch
480
+ context.fetch
481
+ end
482
+
483
+ ##
484
+ # Update the FlexFlowInstance
485
+ # @param [String] friendly_name A descriptive string that you create to describe
486
+ # the Flex Flow resource.
487
+ # @param [String] chat_service_sid The SID of the chat service.
488
+ # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
489
+ # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
490
+ # Flex widget passes it on to the Task attributes for Tasks created based on this
491
+ # Flex Flow. The Task attributes will be used by the Flex UI to render the
492
+ # respective Task as appropriate (applying channel-specific design and length
493
+ # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
494
+ # widget should set the Task Channel to Programmable Chat.
495
+ # @param [String] contact_identity The channel contact's Identity.
496
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
497
+ # @param [flex_flow.IntegrationType] integration_type The software that will
498
+ # handle inbound messages. {Integration
499
+ # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
500
+ # can be: `studio`, `external`, or `task`.
501
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
502
+ # `integrationType` is `studio`.
503
+ # @param [String] integration_url The URL of the external webhook. Required when
504
+ # `integrationType` is `external`.
505
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
506
+ # Required when `integrationType` is `task`.
507
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
508
+ # Required when `integrationType` is `task`.
509
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
510
+ # (e.g., `sms`) to use for the Task that will be created. Applicable and required
511
+ # when `integrationType` is `task`. The default value is `default`.
512
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
513
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
514
+ # not applicable otherwise.
515
+ # @param [String] integration_priority The Task priority of a new Task. The
516
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
517
+ # otherwise.
518
+ # @param [Boolean] integration_creation_on_message In the context of outbound
519
+ # messaging, defines whether to create a Task immediately (and therefore reserve
520
+ # the conversation to current agent), or delay Task creation until the customer
521
+ # sends the first response. Set to false to create immediately, true to delay Task
522
+ # creation. This setting is only applicable for outbound messaging.
523
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
524
+ # so that it may be used for subsequent interactions with a contact identity.
525
+ # Defaults to `false`.
526
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
527
+ # will remove active Proxy sessions if the associated Task is deleted outside of
528
+ # the Flex UI. Defaults to `false`.
529
+ # @param [String] integration_retry_count The number of times to retry the Studio
530
+ # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
531
+ # default being 3. Optional when `integrationType` is `studio` or `external`, not
532
+ # applicable otherwise.
533
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
534
+ def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
535
+ context.update(
536
+ friendly_name: friendly_name,
537
+ chat_service_sid: chat_service_sid,
538
+ channel_type: channel_type,
539
+ contact_identity: contact_identity,
540
+ enabled: enabled,
541
+ integration_type: integration_type,
542
+ integration_flow_sid: integration_flow_sid,
543
+ integration_url: integration_url,
544
+ integration_workspace_sid: integration_workspace_sid,
545
+ integration_workflow_sid: integration_workflow_sid,
546
+ integration_channel: integration_channel,
547
+ integration_timeout: integration_timeout,
548
+ integration_priority: integration_priority,
549
+ integration_creation_on_message: integration_creation_on_message,
550
+ long_lived: long_lived,
551
+ janitor_enabled: janitor_enabled,
552
+ integration_retry_count: integration_retry_count,
553
+ )
554
+ end
555
+
556
+ ##
557
+ # Delete the FlexFlowInstance
558
+ # @return [Boolean] true if delete succeeds, false otherwise
559
+ def delete
560
+ context.delete
561
+ end
562
+
563
+ ##
564
+ # Provide a user friendly representation
565
+ def to_s
566
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
567
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
568
+ end
569
+
570
+ ##
571
+ # Provide a detailed, user friendly representation
572
+ def inspect
573
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
574
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
575
+ end
576
+ end
577
+ end
578
+ end
579
+ end
580
+ end