twilio-ruby 5.45.0 → 5.60.0

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 (691) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop_todo.yml +7 -7
  4. data/.travis.yml +41 -28
  5. data/CHANGES.md +456 -0
  6. data/Gemfile +1 -0
  7. data/LICENSE +1 -1
  8. data/README.md +29 -6
  9. data/examples/examples.rb +1 -1
  10. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  11. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  12. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  13. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  14. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  15. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  17. data/lib/twilio-ruby/http/http_client.rb +15 -3
  18. data/lib/twilio-ruby/http.rb +5 -0
  19. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +40 -40
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  25. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +57 -16
  27. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +23 -19
  28. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +7 -7
  35. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  37. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  40. data/lib/twilio-ruby/rest/api.rb +1 -1
  41. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  42. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -12
  43. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +20 -10
  44. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +20 -12
  45. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -12
  46. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -11
  47. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  48. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  49. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  50. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  51. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  52. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  53. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  54. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  55. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  56. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  57. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  58. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  59. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  60. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  61. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  62. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  63. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  64. data/lib/twilio-ruby/rest/client.rb +22 -1
  65. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  66. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  67. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  68. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  69. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  70. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  71. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  72. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  73. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  74. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  75. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  76. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  77. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  78. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  79. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  80. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  81. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  82. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +52 -1
  83. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  84. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/user.rb +43 -1
  86. data/lib/twilio-ruby/rest/conversations/v1.rb +32 -20
  87. data/lib/twilio-ruby/rest/conversations.rb +6 -0
  88. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  89. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +41 -41
  90. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  91. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  92. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  93. data/lib/twilio-ruby/rest/events/v1/sink.rb +49 -11
  94. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  95. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  96. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  97. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  98. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  99. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +25 -4
  100. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +101 -83
  101. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  102. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -13
  103. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  104. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  105. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  106. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  107. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  108. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  109. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  110. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  111. data/lib/twilio-ruby/rest/insights/v1.rb +18 -9
  112. data/lib/twilio-ruby/rest/insights.rb +7 -1
  113. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  114. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  118. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  119. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  120. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  121. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  122. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  123. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  124. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  127. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  128. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  129. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  130. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +384 -0
  131. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  132. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +390 -0
  133. data/lib/twilio-ruby/rest/media/v1.rb +60 -0
  134. data/lib/twilio-ruby/rest/media.rb +56 -0
  135. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +272 -0
  136. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +424 -0
  137. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  138. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  139. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  140. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  141. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  142. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  143. data/lib/twilio-ruby/rest/messaging/v1/service.rb +144 -26
  144. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  145. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -4
  146. data/lib/twilio-ruby/rest/messaging.rb +20 -0
  147. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  148. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  149. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  150. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  151. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +188 -0
  152. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  153. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  154. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -14
  155. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  156. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  157. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  158. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  159. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  160. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  161. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  162. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +14 -10
  163. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  164. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  165. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  166. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  167. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  168. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  169. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  170. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  171. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  172. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  173. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  174. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  175. data/lib/twilio-ruby/rest/preview.rb +4 -2
  176. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  177. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  178. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  179. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  180. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  181. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  182. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  183. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  184. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  185. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  186. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  187. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  188. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  189. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  190. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  191. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  192. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  193. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  194. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  195. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  196. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  197. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  198. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -9
  199. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  200. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  201. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  202. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  203. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  204. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  205. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  206. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  207. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  208. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  209. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  210. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +49 -4
  211. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  212. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  213. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  214. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  216. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +25 -52
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +46 -76
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +18 -40
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +47 -79
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +18 -40
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  224. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +14 -38
  225. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  226. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +17 -13
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +48 -24
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +17 -13
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +37 -28
  237. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +20 -4
  239. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  240. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  244. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  245. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  246. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  249. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  250. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  251. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  252. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  253. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  254. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  255. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  256. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +91 -18
  257. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +47 -56
  258. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  259. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -3
  260. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -6
  261. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +34 -15
  262. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  263. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  264. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  265. data/lib/twilio-ruby/rest/verify/v2.rb +33 -8
  266. data/lib/twilio-ruby/rest/verify.rb +15 -0
  267. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -23
  268. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -34
  269. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  270. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  271. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -7
  272. data/lib/twilio-ruby/rest/video/v1/room.rb +25 -4
  273. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  274. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  275. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  276. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  277. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  278. data/lib/twilio-ruby/rest.rb +13 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +39 -8
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/lib/twilio-ruby.rb +5 -15
  282. data/sonar-project.properties +13 -0
  283. data/twilio-ruby.gemspec +1 -1
  284. metadata +60 -826
  285. data/spec/framework/request_spec.rb +0 -36
  286. data/spec/framework/serialize_spec.rb +0 -80
  287. data/spec/framework/version_spec.rb +0 -219
  288. data/spec/holodeck/holodeck.rb +0 -66
  289. data/spec/holodeck/hologram.rb +0 -4
  290. data/spec/http/http_client_spec.rb +0 -122
  291. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  292. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  293. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  294. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  295. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  296. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  297. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  298. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  299. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  300. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  301. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  302. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  303. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  304. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  305. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  306. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  307. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  308. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  309. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  310. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  311. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  312. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  313. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  314. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  315. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  316. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  317. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  318. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  319. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  320. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  321. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  322. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  323. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  324. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  325. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  326. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  327. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  328. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  329. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  330. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  331. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  332. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  333. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  334. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  335. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  336. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  337. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  338. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  339. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  340. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  341. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  342. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  343. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  344. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  345. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  346. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  347. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  348. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  349. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  350. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  351. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  352. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  353. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  354. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  355. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  356. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  357. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  358. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  359. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  360. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  361. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  362. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  363. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  364. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  365. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  366. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  367. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  368. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  369. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  370. data/spec/integration/api/v2010/account_spec.rb +0 -327
  371. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  372. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  373. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  374. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  375. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  376. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  377. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  378. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  379. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  380. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  381. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  382. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  383. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  384. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  385. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  386. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  387. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  388. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  389. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  390. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  391. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  392. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  393. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  394. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  395. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  396. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  397. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  398. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  399. data/spec/integration/chat/v1/service_spec.rb +0 -295
  400. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  401. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  402. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  403. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  404. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  405. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  406. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  407. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  408. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  409. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  410. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  411. data/spec/integration/chat/v2/service_spec.rb +0 -350
  412. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  413. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  414. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  415. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  416. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -382
  417. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  418. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  419. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  420. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  421. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  422. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  423. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -87
  424. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  425. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  426. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -407
  427. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  428. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  429. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  430. data/spec/integration/conversations/v1/service/user_spec.rb +0 -236
  431. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  432. data/spec/integration/conversations/v1/user_spec.rb +0 -226
  433. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  434. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  435. data/spec/integration/events/v1/schema_spec.rb +0 -46
  436. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  437. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  438. data/spec/integration/events/v1/sink_spec.rb +0 -217
  439. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  440. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  441. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  442. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  443. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  444. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  445. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  446. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  447. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  448. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  449. data/spec/integration/insights/v1/call/summary_spec.rb +0 -63
  450. data/spec/integration/insights/v1/call_spec.rb +0 -46
  451. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  452. data/spec/integration/insights/v1/room_spec.rb +0 -164
  453. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  454. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  455. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  456. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  457. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  458. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  459. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  460. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  461. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  462. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  463. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  464. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  465. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  466. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  467. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  468. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  469. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  470. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  471. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  472. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  473. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  474. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  475. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  476. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  477. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  478. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  479. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  480. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  481. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  482. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  483. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  484. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  485. data/spec/integration/notify/v1/service_spec.rb +0 -289
  486. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  487. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  488. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  489. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  490. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  491. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  492. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  493. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  494. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  495. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  496. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  497. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  498. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  499. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  500. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  501. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  502. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  503. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  504. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  505. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  506. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  507. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  508. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  509. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  510. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  511. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  512. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  513. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  514. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  515. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  516. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  517. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  518. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  519. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  520. data/spec/integration/preview/sync/service_spec.rb +0 -241
  521. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  522. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  523. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  524. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  525. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  526. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  527. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  528. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  529. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  530. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  531. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  532. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  533. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  534. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  535. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  536. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  537. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  538. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  539. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  540. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  541. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  542. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  543. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  544. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  545. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  546. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  547. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  548. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  549. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  550. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  551. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  552. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  553. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  554. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  555. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  556. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  557. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  558. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  559. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  560. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  561. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  562. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  563. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  564. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  565. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  566. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  567. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  568. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  569. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  570. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  571. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  572. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  573. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  574. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  575. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  576. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  577. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  578. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  579. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  580. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  581. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  582. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  583. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  584. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  585. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  586. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  587. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  588. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  589. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  590. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  591. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  592. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  593. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  594. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  595. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  596. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  597. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  598. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  599. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  600. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  601. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  602. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  603. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  604. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  605. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  606. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  607. data/spec/integration/sync/v1/service_spec.rb +0 -261
  608. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  609. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  610. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  611. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  612. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  613. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  614. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  615. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  616. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  617. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  618. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  619. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  620. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  621. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  622. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  623. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  624. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  625. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  626. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  627. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  628. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  629. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  630. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  631. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  632. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  633. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  634. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  635. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  636. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  637. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  638. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  639. data/spec/integration/verify/v2/form_spec.rb +0 -47
  640. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  641. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  642. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  643. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  644. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  645. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  646. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  647. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  648. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  649. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  650. data/spec/integration/verify/v2/service_spec.rb +0 -279
  651. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  652. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  653. data/spec/integration/video/v1/composition_spec.rb +0 -347
  654. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  655. data/spec/integration/video/v1/recording_spec.rb +0 -176
  656. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  657. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  658. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  659. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  660. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  661. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  662. data/spec/integration/video/v1/room_spec.rb +0 -296
  663. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  664. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  665. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  666. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  667. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  668. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  669. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  670. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  671. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  672. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  673. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  674. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  675. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  676. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  677. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  678. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  679. data/spec/jwt/access_token_spec.rb +0 -159
  680. data/spec/jwt/client_capability_spec.rb +0 -104
  681. data/spec/jwt/task_router_spec.rb +0 -172
  682. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  683. data/spec/rest/client_spec.rb +0 -255
  684. data/spec/security/request_validator_spec.rb +0 -125
  685. data/spec/spec_helper.rb +0 -38
  686. data/spec/support/fakeweb.rb +0 -2
  687. data/spec/twilio_spec.rb +0 -17
  688. data/spec/twiml/messaging_response_spec.rb +0 -235
  689. data/spec/twiml/voice_response_spec.rb +0 -847
  690. data/spec/util/configuration_spec.rb +0 -33
  691. data/spec/util/url_encode_spec.rb +0 -12
@@ -19,9 +19,10 @@ module Twilio
19
19
  # Initialize the FactorList
20
20
  # @param [Version] version Version that contains the resource
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
- # @param [String] identity The unique external identifier for the Entity of the
23
- # Service. This identifier should be immutable, not PII, and generated by your
24
- # external system, such as your user's UUID, GUID, or SID.
22
+ # @param [String] identity Customer unique identity for the Entity owner of the
23
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
24
+ # characters, and generated by your external system, such as your user's UUID,
25
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
25
26
  # @return [FactorList] FactorList
26
27
  def initialize(version, service_sid: nil, identity: nil)
27
28
  super(version)
@@ -31,49 +32,6 @@ module Twilio
31
32
  @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Factors"
32
33
  end
33
34
 
34
- ##
35
- # Create the FactorInstance
36
- # @param [String] friendly_name The friendly name of this Factor
37
- # @param [factor.FactorTypes] factor_type The Type of this Factor. Currently only
38
- # `push` is supported
39
- # @param [String] binding_alg The algorithm used when `factor_type` is `push`.
40
- # Algorithm supported: `ES256`
41
- # @param [String] binding_public_key The Ecdsa public key in PKIX, ASN.1 DER
42
- # format encoded in Base64
43
- # @param [String] config_app_id The ID that uniquely identifies your app in the
44
- # Google or Apple store, such as `com.example.myapp`. Required when `factor_type`
45
- # is `push`
46
- # @param [factor.NotificationPlatforms] config_notification_platform The transport
47
- # technology used to generate the Notification Token. Can be `apn` or `fcm`.
48
- # Required when `factor_type` is `push`
49
- # @param [String] config_notification_token For APN, the device token. For FCM the
50
- # registration token. It used to send the push notifications. Required when
51
- # `factor_type` is `push`
52
- # @param [String] config_sdk_version The Verify Push SDK version used to configure
53
- # the factor
54
- # @return [FactorInstance] Created FactorInstance
55
- def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset)
56
- data = Twilio::Values.of({
57
- 'FriendlyName' => friendly_name,
58
- 'FactorType' => factor_type,
59
- 'Binding.Alg' => binding_alg,
60
- 'Binding.PublicKey' => binding_public_key,
61
- 'Config.AppId' => config_app_id,
62
- 'Config.NotificationPlatform' => config_notification_platform,
63
- 'Config.NotificationToken' => config_notification_token,
64
- 'Config.SdkVersion' => config_sdk_version,
65
- })
66
-
67
- payload = @version.create('POST', @uri, data: data)
68
-
69
- FactorInstance.new(
70
- @version,
71
- payload,
72
- service_sid: @solution[:service_sid],
73
- identity: @solution[:identity],
74
- )
75
- end
76
-
77
35
  ##
78
36
  # Lists FactorInstance records from the API as a list.
79
37
  # Unlike stream(), this operation is eager and will load `limit` records into
@@ -205,7 +163,9 @@ module Twilio
205
163
  # @param [Version] version Version that contains the resource
206
164
  # @param [String] service_sid The unique SID identifier of the Service.
207
165
  # @param [String] identity Customer unique identity for the Entity owner of the
208
- # Factor
166
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
167
+ # characters, and generated by your external system, such as your user's UUID,
168
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
209
169
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
210
170
  # @return [FactorContext] FactorContext
211
171
  def initialize(version, service_sid, identity, sid)
@@ -242,19 +202,34 @@ module Twilio
242
202
  # Update the FactorInstance
243
203
  # @param [String] auth_payload The optional payload needed to verify the Factor
244
204
  # for the first time. E.g. for a TOTP, the numeric code.
245
- # @param [String] friendly_name The new friendly name of this Factor
205
+ # @param [String] friendly_name The new friendly name of this Factor. It can be up
206
+ # to 64 characters.
246
207
  # @param [String] config_notification_token For APN, the device token. For FCM the
247
208
  # registration token. It used to send the push notifications. Required when
248
- # `factor_type` is `push`
209
+ # `factor_type` is `push`. If specified, this value must be between 32 and 255
210
+ # characters long.
249
211
  # @param [String] config_sdk_version The Verify Push SDK version used to configure
250
212
  # the factor
213
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
214
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
215
+ # between 20 and 60 seconds, inclusive
216
+ # @param [String] config_skew The number of time-steps, past and future, that are
217
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive
218
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
219
+ # Must be between 3 and 8, inclusive
220
+ # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
221
+ # codes. Can be `sha1`, `sha256` or `sha512`
251
222
  # @return [FactorInstance] Updated FactorInstance
252
- def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
223
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
253
224
  data = Twilio::Values.of({
254
225
  'AuthPayload' => auth_payload,
255
226
  'FriendlyName' => friendly_name,
256
227
  'Config.NotificationToken' => config_notification_token,
257
228
  'Config.SdkVersion' => config_sdk_version,
229
+ 'Config.TimeStep' => config_time_step,
230
+ 'Config.Skew' => config_skew,
231
+ 'Config.CodeLength' => config_code_length,
232
+ 'Config.Alg' => config_alg,
258
233
  })
259
234
 
260
235
  payload = @version.update('POST', @uri, data: data)
@@ -291,9 +266,10 @@ module Twilio
291
266
  # @param [Version] version Version that contains the resource
292
267
  # @param [Hash] payload payload that contains response from Twilio
293
268
  # @param [String] service_sid The unique SID identifier of the Service.
294
- # @param [String] identity The unique external identifier for the Entity of the
295
- # Service. This identifier should be immutable, not PII, and generated by your
296
- # external system, such as your user's UUID, GUID, or SID.
269
+ # @param [String] identity Customer unique identity for the Entity owner of the
270
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
271
+ # characters, and generated by your external system, such as your user's UUID,
272
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
297
273
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
298
274
  # @return [FactorInstance] FactorInstance
299
275
  def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
@@ -426,19 +402,34 @@ module Twilio
426
402
  # Update the FactorInstance
427
403
  # @param [String] auth_payload The optional payload needed to verify the Factor
428
404
  # for the first time. E.g. for a TOTP, the numeric code.
429
- # @param [String] friendly_name The new friendly name of this Factor
405
+ # @param [String] friendly_name The new friendly name of this Factor. It can be up
406
+ # to 64 characters.
430
407
  # @param [String] config_notification_token For APN, the device token. For FCM the
431
408
  # registration token. It used to send the push notifications. Required when
432
- # `factor_type` is `push`
409
+ # `factor_type` is `push`. If specified, this value must be between 32 and 255
410
+ # characters long.
433
411
  # @param [String] config_sdk_version The Verify Push SDK version used to configure
434
412
  # the factor
413
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
414
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
415
+ # between 20 and 60 seconds, inclusive
416
+ # @param [String] config_skew The number of time-steps, past and future, that are
417
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive
418
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
419
+ # Must be between 3 and 8, inclusive
420
+ # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
421
+ # codes. Can be `sha1`, `sha256` or `sha512`
435
422
  # @return [FactorInstance] Updated FactorInstance
436
- def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
423
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
437
424
  context.update(
438
425
  auth_payload: auth_payload,
439
426
  friendly_name: friendly_name,
440
427
  config_notification_token: config_notification_token,
441
428
  config_sdk_version: config_sdk_version,
429
+ config_time_step: config_time_step,
430
+ config_skew: config_skew,
431
+ config_code_length: config_code_length,
432
+ config_alg: config_alg,
442
433
  )
443
434
  end
444
435
 
@@ -0,0 +1,299 @@
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
+ ##
16
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
17
+ class NewFactorList < ListResource
18
+ ##
19
+ # Initialize the NewFactorList
20
+ # @param [Version] version Version that contains the resource
21
+ # @param [String] service_sid The unique SID identifier of the Service.
22
+ # @param [String] identity Customer unique identity for the Entity owner of the
23
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
24
+ # characters, and generated by your external system, such as your user's UUID,
25
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
26
+ # @return [NewFactorList] NewFactorList
27
+ def initialize(version, service_sid: nil, identity: nil)
28
+ super(version)
29
+
30
+ # Path Solution
31
+ @solution = {service_sid: service_sid, identity: identity}
32
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Factors"
33
+ end
34
+
35
+ ##
36
+ # Create the NewFactorInstance
37
+ # @param [String] friendly_name The friendly name of this Factor. This can be any
38
+ # string up to 64 characters, meant for humans to distinguish between Factors.
39
+ # For `factor_type` `push`, this could be a device name.
40
+ # For `factor_type` `totp`, this value is used as the “account name” in
41
+ # constructing the `binding.uri` property.
42
+ # At the same time, we recommend avoiding providing PII.
43
+ # @param [new_factor.FactorTypes] factor_type The Type of this Factor. Currently
44
+ # `push` and `totp` are supported. For `totp` to work, you need to contact {Twilio
45
+ # sales}[https://www.twilio.com/help/sales] first to have the Verify TOTP feature
46
+ # enabled for your Twilio account.
47
+ # @param [String] binding_alg The algorithm used when `factor_type` is `push`.
48
+ # Algorithm supported: `ES256`
49
+ # @param [String] binding_public_key The Ecdsa public key in PKIX, ASN.1 DER
50
+ # format encoded in Base64.
51
+ #
52
+ # Required when `factor_type` is `push`
53
+ # @param [String] config_app_id The ID that uniquely identifies your app in the
54
+ # Google or Apple store, such as `com.example.myapp`. It can be up to 100
55
+ # characters long.
56
+ #
57
+ # Required when `factor_type` is `push`.
58
+ # @param [new_factor.NotificationPlatforms] config_notification_platform The
59
+ # transport technology used to generate the Notification Token. Can be `apn` or
60
+ # `fcm`.
61
+ #
62
+ # Required when `factor_type` is `push`.
63
+ # @param [String] config_notification_token For APN, the device token. For FCM the
64
+ # registration token. It used to send the push notifications. Must be between 32
65
+ # and 255 characters long.
66
+ #
67
+ # Required when `factor_type` is `push`.
68
+ # @param [String] config_sdk_version The Verify Push SDK version used to configure
69
+ # the factor
70
+ #
71
+ # Required when `factor_type` is `push`
72
+ # @param [String] binding_secret The shared secret for TOTP factors encoded in
73
+ # Base32. This can be provided when creating the Factor, otherwise it will be
74
+ # generated.
75
+ #
76
+ # Used when `factor_type` is `totp`
77
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
78
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
79
+ # between 20 and 60 seconds, inclusive. The default value is defined at the
80
+ # service level in the property `totp.time_step`. Defaults to 30 seconds if not
81
+ # configured.
82
+ #
83
+ # Used when `factor_type` is `totp`
84
+ # @param [String] config_skew The number of time-steps, past and future, that are
85
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive. The
86
+ # default value is defined at the service level in the property `totp.skew`. If
87
+ # not configured defaults to 1.
88
+ #
89
+ # Used when `factor_type` is `totp`
90
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
91
+ # Must be between 3 and 8, inclusive. The default value is defined at the service
92
+ # level in the property `totp.code_length`. If not configured defaults to 6.
93
+ #
94
+ # Used when `factor_type` is `totp`
95
+ # @param [new_factor.TotpAlgorithms] config_alg The algorithm used to derive the
96
+ # TOTP codes. Can be `sha1`, `sha256` or `sha512`. Defaults to `sha1`.
97
+ #
98
+ # Used when `factor_type` is `totp`
99
+ # @return [NewFactorInstance] Created NewFactorInstance
100
+ def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset, binding_secret: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
101
+ data = Twilio::Values.of({
102
+ 'FriendlyName' => friendly_name,
103
+ 'FactorType' => factor_type,
104
+ 'Binding.Alg' => binding_alg,
105
+ 'Binding.PublicKey' => binding_public_key,
106
+ 'Config.AppId' => config_app_id,
107
+ 'Config.NotificationPlatform' => config_notification_platform,
108
+ 'Config.NotificationToken' => config_notification_token,
109
+ 'Config.SdkVersion' => config_sdk_version,
110
+ 'Binding.Secret' => binding_secret,
111
+ 'Config.TimeStep' => config_time_step,
112
+ 'Config.Skew' => config_skew,
113
+ 'Config.CodeLength' => config_code_length,
114
+ 'Config.Alg' => config_alg,
115
+ })
116
+
117
+ payload = @version.create('POST', @uri, data: data)
118
+
119
+ NewFactorInstance.new(
120
+ @version,
121
+ payload,
122
+ service_sid: @solution[:service_sid],
123
+ identity: @solution[:identity],
124
+ )
125
+ end
126
+
127
+ ##
128
+ # Provide a user friendly representation
129
+ def to_s
130
+ '#<Twilio.Verify.V2.NewFactorList>'
131
+ end
132
+ end
133
+
134
+ ##
135
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
136
+ class NewFactorPage < Page
137
+ ##
138
+ # Initialize the NewFactorPage
139
+ # @param [Version] version Version that contains the resource
140
+ # @param [Response] response Response from the API
141
+ # @param [Hash] solution Path solution for the resource
142
+ # @return [NewFactorPage] NewFactorPage
143
+ def initialize(version, response, solution)
144
+ super(version, response)
145
+
146
+ # Path Solution
147
+ @solution = solution
148
+ end
149
+
150
+ ##
151
+ # Build an instance of NewFactorInstance
152
+ # @param [Hash] payload Payload response from the API
153
+ # @return [NewFactorInstance] NewFactorInstance
154
+ def get_instance(payload)
155
+ NewFactorInstance.new(
156
+ @version,
157
+ payload,
158
+ service_sid: @solution[:service_sid],
159
+ identity: @solution[:identity],
160
+ )
161
+ end
162
+
163
+ ##
164
+ # Provide a user friendly representation
165
+ def to_s
166
+ '<Twilio.Verify.V2.NewFactorPage>'
167
+ end
168
+ end
169
+
170
+ ##
171
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
172
+ class NewFactorInstance < InstanceResource
173
+ ##
174
+ # Initialize the NewFactorInstance
175
+ # @param [Version] version Version that contains the resource
176
+ # @param [Hash] payload payload that contains response from Twilio
177
+ # @param [String] service_sid The unique SID identifier of the Service.
178
+ # @param [String] identity Customer unique identity for the Entity owner of the
179
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
180
+ # characters, and generated by your external system, such as your user's UUID,
181
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
182
+ # @return [NewFactorInstance] NewFactorInstance
183
+ def initialize(version, payload, service_sid: nil, identity: nil)
184
+ super(version)
185
+
186
+ # Marshaled Properties
187
+ @properties = {
188
+ 'sid' => payload['sid'],
189
+ 'account_sid' => payload['account_sid'],
190
+ 'service_sid' => payload['service_sid'],
191
+ 'entity_sid' => payload['entity_sid'],
192
+ 'identity' => payload['identity'],
193
+ 'binding' => payload['binding'],
194
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
195
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
196
+ 'friendly_name' => payload['friendly_name'],
197
+ 'status' => payload['status'],
198
+ 'factor_type' => payload['factor_type'],
199
+ 'config' => payload['config'],
200
+ 'url' => payload['url'],
201
+ }
202
+ end
203
+
204
+ ##
205
+ # @return [String] A string that uniquely identifies this Factor.
206
+ def sid
207
+ @properties['sid']
208
+ end
209
+
210
+ ##
211
+ # @return [String] Account Sid.
212
+ def account_sid
213
+ @properties['account_sid']
214
+ end
215
+
216
+ ##
217
+ # @return [String] Service Sid.
218
+ def service_sid
219
+ @properties['service_sid']
220
+ end
221
+
222
+ ##
223
+ # @return [String] Entity Sid.
224
+ def entity_sid
225
+ @properties['entity_sid']
226
+ end
227
+
228
+ ##
229
+ # @return [String] Unique external identifier of the Entity
230
+ def identity
231
+ @properties['identity']
232
+ end
233
+
234
+ ##
235
+ # @return [Hash] Unique external identifier of the Entity
236
+ def binding
237
+ @properties['binding']
238
+ end
239
+
240
+ ##
241
+ # @return [Time] The date this Factor was created
242
+ def date_created
243
+ @properties['date_created']
244
+ end
245
+
246
+ ##
247
+ # @return [Time] The date this Factor was updated
248
+ def date_updated
249
+ @properties['date_updated']
250
+ end
251
+
252
+ ##
253
+ # @return [String] A human readable description of this resource.
254
+ def friendly_name
255
+ @properties['friendly_name']
256
+ end
257
+
258
+ ##
259
+ # @return [new_factor.FactorStatuses] The Status of this Factor
260
+ def status
261
+ @properties['status']
262
+ end
263
+
264
+ ##
265
+ # @return [new_factor.FactorTypes] The Type of this Factor
266
+ def factor_type
267
+ @properties['factor_type']
268
+ end
269
+
270
+ ##
271
+ # @return [Hash] Binding for a `factor_type`.
272
+ def config
273
+ @properties['config']
274
+ end
275
+
276
+ ##
277
+ # @return [String] The URL of this resource.
278
+ def url
279
+ @properties['url']
280
+ end
281
+
282
+ ##
283
+ # Provide a user friendly representation
284
+ def to_s
285
+ "<Twilio.Verify.V2.NewFactorInstance>"
286
+ end
287
+
288
+ ##
289
+ # Provide a detailed, user friendly representation
290
+ def inspect
291
+ "<Twilio.Verify.V2.NewFactorInstance>"
292
+ end
293
+ end
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end
299
+ end
@@ -32,7 +32,7 @@ module Twilio
32
32
  # @param [String] identity The unique external identifier for the Entity of the
33
33
  # Service. This identifier should be immutable, not PII, length between 8 and 64
34
34
  # characters, and generated by your external system, such as your user's UUID,
35
- # GUID, or SID.
35
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
36
36
  # @return [EntityInstance] Created EntityInstance
37
37
  def create(identity: nil)
38
38
  data = Twilio::Values.of({'Identity' => identity, })
@@ -168,7 +168,9 @@ module Twilio
168
168
  # @param [Version] version Version that contains the resource
169
169
  # @param [String] service_sid The unique SID identifier of the Service.
170
170
  # @param [String] identity The unique external identifier for the Entity of the
171
- # Service
171
+ # Service. This identifier should be immutable, not PII, length between 8 and 64
172
+ # characters, and generated by your external system, such as your user's UUID,
173
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
172
174
  # @return [EntityContext] EntityContext
173
175
  def initialize(version, service_sid, identity)
174
176
  super(version)
@@ -179,6 +181,7 @@ module Twilio
179
181
 
180
182
  # Dependents
181
183
  @factors = nil
184
+ @new_factors = nil
182
185
  @challenges = nil
183
186
  end
184
187
 
@@ -225,6 +228,22 @@ module Twilio
225
228
  @factors
226
229
  end
227
230
 
231
+ ##
232
+ # Access the new_factors
233
+ # @return [NewFactorList]
234
+ # @return [NewFactorContext]
235
+ def new_factors
236
+ unless @new_factors
237
+ @new_factors = NewFactorList.new(
238
+ @version,
239
+ service_sid: @solution[:service_sid],
240
+ identity: @solution[:identity],
241
+ )
242
+ end
243
+
244
+ @new_factors
245
+ end
246
+
228
247
  ##
229
248
  # Access the challenges
230
249
  # @return [ChallengeList]
@@ -271,7 +290,9 @@ module Twilio
271
290
  # @param [Hash] payload payload that contains response from Twilio
272
291
  # @param [String] service_sid The unique SID identifier of the Service.
273
292
  # @param [String] identity The unique external identifier for the Entity of the
274
- # Service
293
+ # Service. This identifier should be immutable, not PII, length between 8 and 64
294
+ # characters, and generated by your external system, such as your user's UUID,
295
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
275
296
  # @return [EntityInstance] EntityInstance
276
297
  def initialize(version, payload, service_sid: nil, identity: nil)
277
298
  super(version)
@@ -373,6 +394,13 @@ module Twilio
373
394
  context.factors
374
395
  end
375
396
 
397
+ ##
398
+ # Access the new_factors
399
+ # @return [new_factors] new_factors
400
+ def new_factors
401
+ context.new_factors
402
+ end
403
+
376
404
  ##
377
405
  # Access the challenges
378
406
  # @return [challenges] challenges
@@ -33,7 +33,8 @@ module Twilio
33
33
  # {email}[https://www.twilio.com/docs/verify/email] to verify. Phone numbers must
34
34
  # be in {E.164 format}[https://www.twilio.com/docs/glossary/what-e164].
35
35
  # @param [String] channel The verification method to use. Can be:
36
- # {`email`}[https://www.twilio.com/docs/verify/email], `sms` or `call`.
36
+ # {`email`}[https://www.twilio.com/docs/verify/email], `sms`, `whatsapp` or
37
+ # `call`.
37
38
  # @param [String] custom_friendly_name A custom user defined friendly name that
38
39
  # overwrites the existing one in the verification message
39
40
  # @param [String] custom_message The text of a custom message to use for the
@@ -42,10 +43,11 @@ module Twilio
42
43
  # for example, to dial an extension. For more information, see the Programmable
43
44
  # Voice documentation of
44
45
  # {sendDigits}[https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits].
45
- # @param [String] locale The locale to use for the verification SMS or call. Can
46
- # be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`, `fi`, `fr`,
47
- # `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`,
48
- # `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or `zh-HK.`
46
+ # @param [String] locale The locale to use for the verification SMS, WhatsApp or
47
+ # call. Can be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`,
48
+ # `fi`, `fr`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`,
49
+ # `pl`, `pt`, `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or
50
+ # `zh-HK.`
49
51
  # @param [String] custom_code A pre-generated code to use for verification. The
50
52
  # code can be between 4 and 10 characters, inclusive.
51
53
  # @param [String] amount The amount of the associated PSD2 compliant transaction.
@@ -296,7 +298,7 @@ module Twilio
296
298
  end
297
299
 
298
300
  ##
299
- # @return [Hash] An array of verification attempt objects.
301
+ # @return [Array[Hash]] An array of verification attempt objects.
300
302
  def send_code_attempts
301
303
  @properties['send_code_attempts']
302
304
  end