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,543 @@
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 Verify < Domain
12
+ class V2 < Version
13
+ class ServiceContext < InstanceContext
14
+ class EntityContext < InstanceContext
15
+ class ChallengeList < ListResource
16
+ ##
17
+ # Initialize the ChallengeList
18
+ # @param [Version] version Version that contains the resource
19
+ # @param [String] service_sid The unique SID identifier of the Service.
20
+ # @param [String] identity Customer unique identity for the Entity owner of the
21
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
22
+ # characters, and generated by your external system, such as your user's UUID,
23
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
24
+ # @return [ChallengeList] ChallengeList
25
+ def initialize(version, service_sid: nil, identity: nil)
26
+ super(version)
27
+
28
+ # Path Solution
29
+ @solution = {service_sid: service_sid, identity: identity}
30
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges"
31
+ end
32
+
33
+ ##
34
+ # Create the ChallengeInstance
35
+ # @param [String] factor_sid The unique SID identifier of the Factor.
36
+ # @param [Time] expiration_date The date-time when this Challenge expires, given
37
+ # in {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] format. The default value
38
+ # is five (5) minutes after Challenge creation. The max value is sixty (60)
39
+ # minutes after creation.
40
+ # @param [String] details_message Shown to the user when the push notification
41
+ # arrives. Required when `factor_type` is `push`. Can be up to 256 characters in
42
+ # length
43
+ # @param [Array[Hash]] details_fields A list of objects that describe the Fields
44
+ # included in the Challenge. Each object contains the label and value of the
45
+ # field, the label can be up to 36 characters in length and the value can be up to
46
+ # 128 characters in length. Used when `factor_type` is `push`. There can be up to
47
+ # 20 details fields.
48
+ # @param [Hash] hidden_details Details provided to give context about the
49
+ # Challenge. Not shown to the end user. It must be a stringified JSON with only
50
+ # strings values eg. `{"ip": "172.168.1.234"}`. Can be up to 1024 characters in
51
+ # length
52
+ # @param [String] auth_payload Optional payload used to verify the Challenge upon
53
+ # creation. Only used with a Factor of type `totp` to carry the TOTP code that
54
+ # needs to be verified. For `TOTP` this value must be between 3 and 8 characters
55
+ # long.
56
+ # @return [ChallengeInstance] Created ChallengeInstance
57
+ def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset, auth_payload: :unset)
58
+ data = Twilio::Values.of({
59
+ 'FactorSid' => factor_sid,
60
+ 'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
61
+ 'Details.Message' => details_message,
62
+ 'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
63
+ 'HiddenDetails' => Twilio.serialize_object(hidden_details),
64
+ 'AuthPayload' => auth_payload,
65
+ })
66
+
67
+ payload = @version.create('POST', @uri, data: data)
68
+
69
+ ChallengeInstance.new(
70
+ @version,
71
+ payload,
72
+ service_sid: @solution[:service_sid],
73
+ identity: @solution[:identity],
74
+ )
75
+ end
76
+
77
+ ##
78
+ # Lists ChallengeInstance records from the API as a list.
79
+ # Unlike stream(), this operation is eager and will load `limit` records into
80
+ # memory before returning.
81
+ # @param [String] factor_sid The unique SID identifier of the Factor.
82
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
83
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
84
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
85
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
86
+ # to `asc`.
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Array] Array of up to limit results
94
+ def list(factor_sid: :unset, status: :unset, order: :unset, limit: nil, page_size: nil)
95
+ self.stream(
96
+ factor_sid: factor_sid,
97
+ status: status,
98
+ order: order,
99
+ limit: limit,
100
+ page_size: page_size
101
+ ).entries
102
+ end
103
+
104
+ ##
105
+ # Streams ChallengeInstance records from the API as an Enumerable.
106
+ # This operation lazily loads records as efficiently as possible until the limit
107
+ # is reached.
108
+ # @param [String] factor_sid The unique SID identifier of the Factor.
109
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
110
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
111
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
112
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
113
+ # to `asc`.
114
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
115
+ # guarantees to never return more than limit. Default is no limit.
116
+ # @param [Integer] page_size Number of records to fetch per request, when
117
+ # not set will use the default value of 50 records. If no page_size is defined
118
+ # but a limit is defined, stream() will attempt to read the limit with the most
119
+ # efficient page size, i.e. min(limit, 1000)
120
+ # @return [Enumerable] Enumerable that will yield up to limit results
121
+ def stream(factor_sid: :unset, status: :unset, order: :unset, limit: nil, page_size: nil)
122
+ limits = @version.read_limits(limit, page_size)
123
+
124
+ page = self.page(
125
+ factor_sid: factor_sid,
126
+ status: status,
127
+ order: order,
128
+ page_size: limits[:page_size],
129
+ )
130
+
131
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
132
+ end
133
+
134
+ ##
135
+ # When passed a block, yields ChallengeInstance records from the API.
136
+ # This operation lazily loads records as efficiently as possible until the limit
137
+ # is reached.
138
+ def each
139
+ limits = @version.read_limits
140
+
141
+ page = self.page(page_size: limits[:page_size], )
142
+
143
+ @version.stream(page,
144
+ limit: limits[:limit],
145
+ page_limit: limits[:page_limit]).each {|x| yield x}
146
+ end
147
+
148
+ ##
149
+ # Retrieve a single page of ChallengeInstance records from the API.
150
+ # Request is executed immediately.
151
+ # @param [String] factor_sid The unique SID identifier of the Factor.
152
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
153
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
154
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
155
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
156
+ # to `asc`.
157
+ # @param [String] page_token PageToken provided by the API
158
+ # @param [Integer] page_number Page Number, this value is simply for client state
159
+ # @param [Integer] page_size Number of records to return, defaults to 50
160
+ # @return [Page] Page of ChallengeInstance
161
+ def page(factor_sid: :unset, status: :unset, order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
162
+ params = Twilio::Values.of({
163
+ 'FactorSid' => factor_sid,
164
+ 'Status' => status,
165
+ 'Order' => order,
166
+ 'PageToken' => page_token,
167
+ 'Page' => page_number,
168
+ 'PageSize' => page_size,
169
+ })
170
+
171
+ response = @version.page('GET', @uri, params: params)
172
+
173
+ ChallengePage.new(@version, response, @solution)
174
+ end
175
+
176
+ ##
177
+ # Retrieve a single page of ChallengeInstance records from the API.
178
+ # Request is executed immediately.
179
+ # @param [String] target_url API-generated URL for the requested results page
180
+ # @return [Page] Page of ChallengeInstance
181
+ def get_page(target_url)
182
+ response = @version.domain.request(
183
+ 'GET',
184
+ target_url
185
+ )
186
+ ChallengePage.new(@version, response, @solution)
187
+ end
188
+
189
+ ##
190
+ # Provide a user friendly representation
191
+ def to_s
192
+ '#<Twilio.Verify.V2.ChallengeList>'
193
+ end
194
+ end
195
+
196
+ class ChallengePage < Page
197
+ ##
198
+ # Initialize the ChallengePage
199
+ # @param [Version] version Version that contains the resource
200
+ # @param [Response] response Response from the API
201
+ # @param [Hash] solution Path solution for the resource
202
+ # @return [ChallengePage] ChallengePage
203
+ def initialize(version, response, solution)
204
+ super(version, response)
205
+
206
+ # Path Solution
207
+ @solution = solution
208
+ end
209
+
210
+ ##
211
+ # Build an instance of ChallengeInstance
212
+ # @param [Hash] payload Payload response from the API
213
+ # @return [ChallengeInstance] ChallengeInstance
214
+ def get_instance(payload)
215
+ ChallengeInstance.new(
216
+ @version,
217
+ payload,
218
+ service_sid: @solution[:service_sid],
219
+ identity: @solution[:identity],
220
+ )
221
+ end
222
+
223
+ ##
224
+ # Provide a user friendly representation
225
+ def to_s
226
+ '<Twilio.Verify.V2.ChallengePage>'
227
+ end
228
+ end
229
+
230
+ class ChallengeContext < InstanceContext
231
+ ##
232
+ # Initialize the ChallengeContext
233
+ # @param [Version] version Version that contains the resource
234
+ # @param [String] service_sid The unique SID identifier of the Service.
235
+ # @param [String] identity Customer unique identity for the Entity owner of the
236
+ # Challenges. This identifier should be immutable, not PII, length between 8 and
237
+ # 64 characters, and generated by your external system, such as your user's UUID,
238
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
239
+ # @param [String] sid A 34 character string that uniquely identifies this
240
+ # Challenge.
241
+ # @return [ChallengeContext] ChallengeContext
242
+ def initialize(version, service_sid, identity, sid)
243
+ super(version)
244
+
245
+ # Path Solution
246
+ @solution = {service_sid: service_sid, identity: identity, sid: sid, }
247
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges/#{@solution[:sid]}"
248
+
249
+ # Dependents
250
+ @notifications = nil
251
+ end
252
+
253
+ ##
254
+ # Fetch the ChallengeInstance
255
+ # @return [ChallengeInstance] Fetched ChallengeInstance
256
+ def fetch
257
+ payload = @version.fetch('GET', @uri)
258
+
259
+ ChallengeInstance.new(
260
+ @version,
261
+ payload,
262
+ service_sid: @solution[:service_sid],
263
+ identity: @solution[:identity],
264
+ sid: @solution[:sid],
265
+ )
266
+ end
267
+
268
+ ##
269
+ # Update the ChallengeInstance
270
+ # @param [String] auth_payload The optional payload needed to verify the
271
+ # Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
272
+ # be between 3 and 8 characters long. For `Push` this value can be up to 5456
273
+ # characters in length
274
+ # @param [Hash] metadata Custom metadata associated with the challenge. This is
275
+ # added by the Device/SDK directly to allow for the inclusion of device
276
+ # information. It must be a stringified JSON with only strings values eg. `{"os":
277
+ # "Android"}`. Can be up to 1024 characters in length.
278
+ # @return [ChallengeInstance] Updated ChallengeInstance
279
+ def update(auth_payload: :unset, metadata: :unset)
280
+ data = Twilio::Values.of({
281
+ 'AuthPayload' => auth_payload,
282
+ 'Metadata' => Twilio.serialize_object(metadata),
283
+ })
284
+
285
+ payload = @version.update('POST', @uri, data: data)
286
+
287
+ ChallengeInstance.new(
288
+ @version,
289
+ payload,
290
+ service_sid: @solution[:service_sid],
291
+ identity: @solution[:identity],
292
+ sid: @solution[:sid],
293
+ )
294
+ end
295
+
296
+ ##
297
+ # Access the notifications
298
+ # @return [NotificationList]
299
+ # @return [NotificationContext]
300
+ def notifications
301
+ unless @notifications
302
+ @notifications = NotificationList.new(
303
+ @version,
304
+ service_sid: @solution[:service_sid],
305
+ identity: @solution[:identity],
306
+ challenge_sid: @solution[:sid],
307
+ )
308
+ end
309
+
310
+ @notifications
311
+ end
312
+
313
+ ##
314
+ # Provide a user friendly representation
315
+ def to_s
316
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
317
+ "#<Twilio.Verify.V2.ChallengeContext #{context}>"
318
+ end
319
+
320
+ ##
321
+ # Provide a detailed, user friendly representation
322
+ def inspect
323
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
324
+ "#<Twilio.Verify.V2.ChallengeContext #{context}>"
325
+ end
326
+ end
327
+
328
+ class ChallengeInstance < InstanceResource
329
+ ##
330
+ # Initialize the ChallengeInstance
331
+ # @param [Version] version Version that contains the resource
332
+ # @param [Hash] payload payload that contains response from Twilio
333
+ # @param [String] service_sid The unique SID identifier of the Service.
334
+ # @param [String] identity Customer unique identity for the Entity owner of the
335
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
336
+ # characters, and generated by your external system, such as your user's UUID,
337
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
338
+ # @param [String] sid A 34 character string that uniquely identifies this
339
+ # Challenge.
340
+ # @return [ChallengeInstance] ChallengeInstance
341
+ def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
342
+ super(version)
343
+
344
+ # Marshaled Properties
345
+ @properties = {
346
+ 'sid' => payload['sid'],
347
+ 'account_sid' => payload['account_sid'],
348
+ 'service_sid' => payload['service_sid'],
349
+ 'entity_sid' => payload['entity_sid'],
350
+ 'identity' => payload['identity'],
351
+ 'factor_sid' => payload['factor_sid'],
352
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
353
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
354
+ 'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
355
+ 'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
356
+ 'status' => payload['status'],
357
+ 'responded_reason' => payload['responded_reason'],
358
+ 'details' => payload['details'],
359
+ 'hidden_details' => payload['hidden_details'],
360
+ 'metadata' => payload['metadata'],
361
+ 'factor_type' => payload['factor_type'],
362
+ 'url' => payload['url'],
363
+ 'links' => payload['links'],
364
+ }
365
+
366
+ # Context
367
+ @instance_context = nil
368
+ @params = {'service_sid' => service_sid, 'identity' => identity, 'sid' => sid || @properties['sid'], }
369
+ end
370
+
371
+ ##
372
+ # Generate an instance context for the instance, the context is capable of
373
+ # performing various actions. All instance actions are proxied to the context
374
+ # @return [ChallengeContext] ChallengeContext for this ChallengeInstance
375
+ def context
376
+ unless @instance_context
377
+ @instance_context = ChallengeContext.new(
378
+ @version,
379
+ @params['service_sid'],
380
+ @params['identity'],
381
+ @params['sid'],
382
+ )
383
+ end
384
+ @instance_context
385
+ end
386
+
387
+ ##
388
+ # @return [String] A string that uniquely identifies this Challenge.
389
+ def sid
390
+ @properties['sid']
391
+ end
392
+
393
+ ##
394
+ # @return [String] Account Sid.
395
+ def account_sid
396
+ @properties['account_sid']
397
+ end
398
+
399
+ ##
400
+ # @return [String] Service Sid.
401
+ def service_sid
402
+ @properties['service_sid']
403
+ end
404
+
405
+ ##
406
+ # @return [String] Entity Sid.
407
+ def entity_sid
408
+ @properties['entity_sid']
409
+ end
410
+
411
+ ##
412
+ # @return [String] Unique external identifier of the Entity
413
+ def identity
414
+ @properties['identity']
415
+ end
416
+
417
+ ##
418
+ # @return [String] Factor Sid.
419
+ def factor_sid
420
+ @properties['factor_sid']
421
+ end
422
+
423
+ ##
424
+ # @return [Time] The date this Challenge was created
425
+ def date_created
426
+ @properties['date_created']
427
+ end
428
+
429
+ ##
430
+ # @return [Time] The date this Challenge was updated
431
+ def date_updated
432
+ @properties['date_updated']
433
+ end
434
+
435
+ ##
436
+ # @return [Time] The date this Challenge was responded
437
+ def date_responded
438
+ @properties['date_responded']
439
+ end
440
+
441
+ ##
442
+ # @return [Time] The date-time when this Challenge expires
443
+ def expiration_date
444
+ @properties['expiration_date']
445
+ end
446
+
447
+ ##
448
+ # @return [challenge.ChallengeStatuses] The Status of this Challenge
449
+ def status
450
+ @properties['status']
451
+ end
452
+
453
+ ##
454
+ # @return [challenge.ChallengeReasons] The Reason of this Challenge `status`
455
+ def responded_reason
456
+ @properties['responded_reason']
457
+ end
458
+
459
+ ##
460
+ # @return [Hash] Details about the Challenge.
461
+ def details
462
+ @properties['details']
463
+ end
464
+
465
+ ##
466
+ # @return [Hash] Hidden details about the Challenge
467
+ def hidden_details
468
+ @properties['hidden_details']
469
+ end
470
+
471
+ ##
472
+ # @return [Hash] Metadata of the challenge.
473
+ def metadata
474
+ @properties['metadata']
475
+ end
476
+
477
+ ##
478
+ # @return [challenge.FactorTypes] The Factor Type of this Challenge
479
+ def factor_type
480
+ @properties['factor_type']
481
+ end
482
+
483
+ ##
484
+ # @return [String] The URL of this resource.
485
+ def url
486
+ @properties['url']
487
+ end
488
+
489
+ ##
490
+ # @return [String] Nested resource URLs.
491
+ def links
492
+ @properties['links']
493
+ end
494
+
495
+ ##
496
+ # Fetch the ChallengeInstance
497
+ # @return [ChallengeInstance] Fetched ChallengeInstance
498
+ def fetch
499
+ context.fetch
500
+ end
501
+
502
+ ##
503
+ # Update the ChallengeInstance
504
+ # @param [String] auth_payload The optional payload needed to verify the
505
+ # Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
506
+ # be between 3 and 8 characters long. For `Push` this value can be up to 5456
507
+ # characters in length
508
+ # @param [Hash] metadata Custom metadata associated with the challenge. This is
509
+ # added by the Device/SDK directly to allow for the inclusion of device
510
+ # information. It must be a stringified JSON with only strings values eg. `{"os":
511
+ # "Android"}`. Can be up to 1024 characters in length.
512
+ # @return [ChallengeInstance] Updated ChallengeInstance
513
+ def update(auth_payload: :unset, metadata: :unset)
514
+ context.update(auth_payload: auth_payload, metadata: metadata, )
515
+ end
516
+
517
+ ##
518
+ # Access the notifications
519
+ # @return [notifications] notifications
520
+ def notifications
521
+ context.notifications
522
+ end
523
+
524
+ ##
525
+ # Provide a user friendly representation
526
+ def to_s
527
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
528
+ "<Twilio.Verify.V2.ChallengeInstance #{values}>"
529
+ end
530
+
531
+ ##
532
+ # Provide a detailed, user friendly representation
533
+ def inspect
534
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
535
+ "<Twilio.Verify.V2.ChallengeInstance #{values}>"
536
+ end
537
+ end
538
+ end
539
+ end
540
+ end
541
+ end
542
+ end
543
+ end