twilio-ruby 5.50.0 → 5.54.1

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -28
  3. data/CHANGES.md +112 -0
  4. data/README.md +3 -2
  5. data/lib/twilio-ruby/http/http_client.rb +3 -1
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1 -4
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +23 -23
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -2
  10. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +0 -8
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +1 -7
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +1 -9
  14. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  15. data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
  16. data/lib/twilio-ruby/rest/events/v1/schema.rb +12 -12
  17. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +37 -37
  18. data/lib/twilio-ruby/rest/events/v1/sink.rb +41 -5
  19. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +15 -12
  20. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
  21. data/lib/twilio-ruby/rest/messaging.rb +12 -0
  22. data/lib/twilio-ruby/rest/messaging/v1.rb +14 -0
  23. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  24. data/lib/twilio-ruby/rest/messaging/v1/service.rb +118 -26
  25. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +426 -0
  26. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +125 -0
  27. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  28. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  29. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  30. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +16 -0
  31. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +6 -6
  32. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +12 -13
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +26 -6
  34. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  35. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +24 -0
  36. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +53 -6
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +201 -0
  38. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -62
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  40. data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
  41. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  42. data/lib/twilio-ruby/version.rb +1 -1
  43. data/twilio-ruby.gemspec +1 -1
  44. metadata +10 -850
  45. data/spec/framework/request_spec.rb +0 -36
  46. data/spec/framework/serialize_spec.rb +0 -80
  47. data/spec/framework/version_spec.rb +0 -219
  48. data/spec/holodeck/holodeck.rb +0 -66
  49. data/spec/holodeck/hologram.rb +0 -4
  50. data/spec/http/http_client_spec.rb +0 -122
  51. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  52. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  53. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  54. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  55. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  56. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  57. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  58. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  59. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  60. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  61. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  62. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  63. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  64. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  65. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  66. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  67. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  68. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  69. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  70. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  71. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  72. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  73. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  74. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  75. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  76. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  77. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  78. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  79. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  80. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  81. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  82. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  83. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  84. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  85. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -358
  86. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  87. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  88. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  89. data/spec/integration/api/v2010/account/message_spec.rb +0 -544
  90. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  91. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  92. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  93. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  94. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  95. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  96. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  97. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  98. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  99. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  100. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  101. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  102. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  103. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  104. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  105. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  106. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  107. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  108. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  109. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  110. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  111. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  112. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  113. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  114. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  115. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  116. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  117. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  118. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  119. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  120. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  121. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  122. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  123. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  124. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  125. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  126. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  127. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  128. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  129. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  130. data/spec/integration/api/v2010/account_spec.rb +0 -327
  131. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  132. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  133. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  134. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  135. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  136. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  137. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  138. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  139. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  140. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  141. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  142. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  143. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  144. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  145. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  146. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  147. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -133
  148. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -80
  149. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  150. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  151. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  152. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  153. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  154. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  155. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  156. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  157. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  158. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  159. data/spec/integration/chat/v1/service_spec.rb +0 -295
  160. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  161. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  162. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  163. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  164. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  165. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  166. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  167. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  168. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  169. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  170. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  171. data/spec/integration/chat/v2/service_spec.rb +0 -350
  172. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  173. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  174. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  175. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  176. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  177. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  178. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  179. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  180. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  181. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  182. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  183. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  184. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  185. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  186. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  187. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  188. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  189. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  190. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  191. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  192. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  193. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  194. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  195. data/spec/integration/events/v1/schema_spec.rb +0 -46
  196. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  197. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  198. data/spec/integration/events/v1/sink_spec.rb +0 -231
  199. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -225
  200. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  201. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  202. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  203. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  204. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  205. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  206. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  207. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  208. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  209. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  210. data/spec/integration/insights/v1/call_spec.rb +0 -46
  211. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  212. data/spec/integration/insights/v1/room_spec.rb +0 -164
  213. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  214. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  215. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  216. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  217. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  218. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  219. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  220. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  221. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  222. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  223. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  224. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  225. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  226. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  227. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  228. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  229. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  230. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  231. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  232. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  233. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  234. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  235. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  236. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  237. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  238. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  239. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  240. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  241. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  242. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  243. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  244. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  245. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  246. data/spec/integration/notify/v1/service_spec.rb +0 -289
  247. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  248. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  249. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  250. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  251. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  252. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  253. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  254. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  255. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  256. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  257. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  258. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  259. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  260. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  261. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  262. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  263. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  264. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  265. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  266. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  267. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  268. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  269. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  270. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  271. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  272. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  273. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  274. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  275. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  276. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  277. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  278. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  279. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  280. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  281. data/spec/integration/preview/sync/service_spec.rb +0 -241
  282. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  283. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  284. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  285. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  286. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  287. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  288. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  289. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  290. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  291. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  292. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  293. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  294. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  295. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  296. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  297. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  298. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  299. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  300. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  301. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  302. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  303. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  304. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  305. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  306. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  307. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  308. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  309. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  310. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  311. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  312. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  313. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  314. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  315. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  316. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  317. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  318. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  319. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  320. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  321. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  322. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  323. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  324. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  325. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  326. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  327. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  328. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  329. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  330. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  331. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  332. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  333. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  334. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  335. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  336. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  337. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  338. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  339. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  340. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  341. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  342. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  343. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  344. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  345. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  346. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  347. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  348. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  349. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  350. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  351. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  352. data/spec/integration/supersim/v1/fleet_spec.rb +0 -234
  353. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  354. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  355. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  356. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  357. data/spec/integration/supersim/v1/sms_command_spec.rb +0 -184
  358. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  359. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  360. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  361. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  362. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  363. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  364. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  365. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  366. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  367. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  368. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  369. data/spec/integration/sync/v1/service_spec.rb +0 -261
  370. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  371. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  372. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  373. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  374. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  375. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  376. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  377. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  378. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  379. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -327
  380. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  381. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  382. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  383. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  384. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  385. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  386. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  387. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  388. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  389. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  390. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  391. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  392. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  393. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  394. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  395. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  396. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  397. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  398. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  399. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  400. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  401. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +0 -192
  402. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +0 -186
  403. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +0 -615
  404. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +0 -255
  405. data/spec/integration/trusthub/v1/end_user_spec.rb +0 -247
  406. data/spec/integration/trusthub/v1/end_user_type_spec.rb +0 -176
  407. data/spec/integration/trusthub/v1/policies_spec.rb +0 -252
  408. data/spec/integration/trusthub/v1/supporting_document_spec.rb +0 -235
  409. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +0 -159
  410. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +0 -192
  411. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +0 -186
  412. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +0 -615
  413. data/spec/integration/trusthub/v1/trust_products_spec.rb +0 -255
  414. data/spec/integration/verify/v2/form_spec.rb +0 -47
  415. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  416. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  417. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  418. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  419. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  420. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  421. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  422. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  423. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  424. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  425. data/spec/integration/verify/v2/service_spec.rb +0 -279
  426. data/spec/integration/verify/v2/verification_attempt_spec.rb +0 -146
  427. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  428. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  429. data/spec/integration/video/v1/composition_spec.rb +0 -347
  430. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  431. data/spec/integration/video/v1/recording_spec.rb +0 -176
  432. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  433. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  434. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  435. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  436. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  437. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  438. data/spec/integration/video/v1/room_spec.rb +0 -340
  439. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  440. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  441. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  442. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  443. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  444. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  445. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  446. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  447. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  448. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  449. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  450. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  451. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  452. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  453. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  454. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  455. data/spec/jwt/access_token_spec.rb +0 -159
  456. data/spec/jwt/client_capability_spec.rb +0 -104
  457. data/spec/jwt/task_router_spec.rb +0 -172
  458. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  459. data/spec/rest/client_spec.rb +0 -255
  460. data/spec/security/request_validator_spec.rb +0 -125
  461. data/spec/spec_helper.rb +0 -38
  462. data/spec/support/fakeweb.rb +0 -2
  463. data/spec/twilio_spec.rb +0 -17
  464. data/spec/twiml/messaging_response_spec.rb +0 -235
  465. data/spec/twiml/voice_response_spec.rb +0 -847
  466. data/spec/util/configuration_spec.rb +0 -33
  467. data/spec/util/url_encode_spec.rb +0 -12
@@ -179,6 +179,7 @@ module Twilio
179
179
 
180
180
  # Dependents
181
181
  @factors = nil
182
+ @new_factors = nil
182
183
  @challenges = nil
183
184
  end
184
185
 
@@ -225,6 +226,22 @@ module Twilio
225
226
  @factors
226
227
  end
227
228
 
229
+ ##
230
+ # Access the new_factors
231
+ # @return [NewFactorList]
232
+ # @return [NewFactorContext]
233
+ def new_factors
234
+ unless @new_factors
235
+ @new_factors = NewFactorList.new(
236
+ @version,
237
+ service_sid: @solution[:service_sid],
238
+ identity: @solution[:identity],
239
+ )
240
+ end
241
+
242
+ @new_factors
243
+ end
244
+
228
245
  ##
229
246
  # Access the challenges
230
247
  # @return [ChallengeList]
@@ -373,6 +390,13 @@ module Twilio
373
390
  context.factors
374
391
  end
375
392
 
393
+ ##
394
+ # Access the new_factors
395
+ # @return [new_factors] new_factors
396
+ def new_factors
397
+ context.new_factors
398
+ end
399
+
376
400
  ##
377
401
  # Access the challenges
378
402
  # @return [challenges] challenges
@@ -38,21 +38,30 @@ module Twilio
38
38
  # is five (5) minutes after Challenge creation. The max value is sixty (60)
39
39
  # minutes after creation.
40
40
  # @param [String] details_message Shown to the user when the push notification
41
- # arrives. Required when `factor_type` is `push`
41
+ # arrives. Required when `factor_type` is `push`. Can be up to 256 characters in
42
+ # length
42
43
  # @param [Array[Hash]] details_fields A list of objects that describe the Fields
43
44
  # included in the Challenge. Each object contains the label and value of the
44
- # field. Used when `factor_type` is `push`.
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.
45
48
  # @param [Hash] hidden_details Details provided to give context about the
46
49
  # Challenge. Not shown to the end user. It must be a stringified JSON with only
47
- # strings values eg. `{"ip": "172.168.1.234"}`
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.
48
56
  # @return [ChallengeInstance] Created ChallengeInstance
49
- def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset)
57
+ def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset, auth_payload: :unset)
50
58
  data = Twilio::Values.of({
51
59
  'FactorSid' => factor_sid,
52
60
  'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
53
61
  'Details.Message' => details_message,
54
62
  'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
55
63
  'HiddenDetails' => Twilio.serialize_object(hidden_details),
64
+ 'AuthPayload' => auth_payload,
56
65
  })
57
66
 
58
67
  payload = @version.create('POST', @uri, data: data)
@@ -219,6 +228,9 @@ module Twilio
219
228
  # Path Solution
220
229
  @solution = {service_sid: service_sid, identity: identity, sid: sid, }
221
230
  @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges/#{@solution[:sid]}"
231
+
232
+ # Dependents
233
+ @notifications = nil
222
234
  end
223
235
 
224
236
  ##
@@ -239,7 +251,9 @@ module Twilio
239
251
  ##
240
252
  # Update the ChallengeInstance
241
253
  # @param [String] auth_payload The optional payload needed to verify the
242
- # Challenge. E.g., a TOTP would use the numeric code.
254
+ # Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
255
+ # be between 3 and 8 characters long. For `Push` this value can be up to 5456
256
+ # characters in length
243
257
  # @return [ChallengeInstance] Updated ChallengeInstance
244
258
  def update(auth_payload: :unset)
245
259
  data = Twilio::Values.of({'AuthPayload' => auth_payload, })
@@ -255,6 +269,23 @@ module Twilio
255
269
  )
256
270
  end
257
271
 
272
+ ##
273
+ # Access the notifications
274
+ # @return [NotificationList]
275
+ # @return [NotificationContext]
276
+ def notifications
277
+ unless @notifications
278
+ @notifications = NotificationList.new(
279
+ @version,
280
+ service_sid: @solution[:service_sid],
281
+ identity: @solution[:identity],
282
+ challenge_sid: @solution[:sid],
283
+ )
284
+ end
285
+
286
+ @notifications
287
+ end
288
+
258
289
  ##
259
290
  # Provide a user friendly representation
260
291
  def to_s
@@ -304,6 +335,7 @@ module Twilio
304
335
  'hidden_details' => payload['hidden_details'],
305
336
  'factor_type' => payload['factor_type'],
306
337
  'url' => payload['url'],
338
+ 'links' => payload['links'],
307
339
  }
308
340
 
309
341
  # Context
@@ -423,6 +455,12 @@ module Twilio
423
455
  @properties['url']
424
456
  end
425
457
 
458
+ ##
459
+ # @return [String] Nested resource URLs.
460
+ def links
461
+ @properties['links']
462
+ end
463
+
426
464
  ##
427
465
  # Fetch the ChallengeInstance
428
466
  # @return [ChallengeInstance] Fetched ChallengeInstance
@@ -433,12 +471,21 @@ module Twilio
433
471
  ##
434
472
  # Update the ChallengeInstance
435
473
  # @param [String] auth_payload The optional payload needed to verify the
436
- # Challenge. E.g., a TOTP would use the numeric code.
474
+ # Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
475
+ # be between 3 and 8 characters long. For `Push` this value can be up to 5456
476
+ # characters in length
437
477
  # @return [ChallengeInstance] Updated ChallengeInstance
438
478
  def update(auth_payload: :unset)
439
479
  context.update(auth_payload: auth_payload, )
440
480
  end
441
481
 
482
+ ##
483
+ # Access the notifications
484
+ # @return [notifications] notifications
485
+ def notifications
486
+ context.notifications
487
+ end
488
+
442
489
  ##
443
490
  # Provide a user friendly representation
444
491
  def to_s
@@ -0,0 +1,201 @@
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 ChallengeContext < InstanceContext
16
+ ##
17
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
18
+ class NotificationList < ListResource
19
+ ##
20
+ # Initialize the NotificationList
21
+ # @param [Version] version Version that contains the resource
22
+ # @param [String] service_sid The unique SID identifier of the Service.
23
+ # @param [String] identity Customer unique identity for the Entity owner of the
24
+ # Challenge. This value must be between 8 and 64 characters long.
25
+ # @param [String] challenge_sid The unique SID identifier of the Challenge.
26
+ # @return [NotificationList] NotificationList
27
+ def initialize(version, service_sid: nil, identity: nil, challenge_sid: nil)
28
+ super(version)
29
+
30
+ # Path Solution
31
+ @solution = {service_sid: service_sid, identity: identity, challenge_sid: challenge_sid}
32
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges/#{@solution[:challenge_sid]}/Notifications"
33
+ end
34
+
35
+ ##
36
+ # Create the NotificationInstance
37
+ # @param [String] ttl How long, in seconds, the notification is valid. Can be an
38
+ # integer between 0 and 300. Default is 300. Delivery is attempted until the TTL
39
+ # elapses, even if the device is offline. 0 means that the notification delivery
40
+ # is attempted immediately, only once, and is not stored for future delivery.
41
+ # @return [NotificationInstance] Created NotificationInstance
42
+ def create(ttl: :unset)
43
+ data = Twilio::Values.of({'Ttl' => ttl, })
44
+
45
+ payload = @version.create('POST', @uri, data: data)
46
+
47
+ NotificationInstance.new(
48
+ @version,
49
+ payload,
50
+ service_sid: @solution[:service_sid],
51
+ identity: @solution[:identity],
52
+ challenge_sid: @solution[:challenge_sid],
53
+ )
54
+ end
55
+
56
+ ##
57
+ # Provide a user friendly representation
58
+ def to_s
59
+ '#<Twilio.Verify.V2.NotificationList>'
60
+ end
61
+ end
62
+
63
+ ##
64
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
65
+ class NotificationPage < Page
66
+ ##
67
+ # Initialize the NotificationPage
68
+ # @param [Version] version Version that contains the resource
69
+ # @param [Response] response Response from the API
70
+ # @param [Hash] solution Path solution for the resource
71
+ # @return [NotificationPage] NotificationPage
72
+ def initialize(version, response, solution)
73
+ super(version, response)
74
+
75
+ # Path Solution
76
+ @solution = solution
77
+ end
78
+
79
+ ##
80
+ # Build an instance of NotificationInstance
81
+ # @param [Hash] payload Payload response from the API
82
+ # @return [NotificationInstance] NotificationInstance
83
+ def get_instance(payload)
84
+ NotificationInstance.new(
85
+ @version,
86
+ payload,
87
+ service_sid: @solution[:service_sid],
88
+ identity: @solution[:identity],
89
+ challenge_sid: @solution[:challenge_sid],
90
+ )
91
+ end
92
+
93
+ ##
94
+ # Provide a user friendly representation
95
+ def to_s
96
+ '<Twilio.Verify.V2.NotificationPage>'
97
+ end
98
+ end
99
+
100
+ ##
101
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
102
+ class NotificationInstance < InstanceResource
103
+ ##
104
+ # Initialize the NotificationInstance
105
+ # @param [Version] version Version that contains the resource
106
+ # @param [Hash] payload payload that contains response from Twilio
107
+ # @param [String] service_sid The unique SID identifier of the Service.
108
+ # @param [String] identity Customer unique identity for the Entity owner of the
109
+ # Challenge. This value must be between 8 and 64 characters long.
110
+ # @param [String] challenge_sid The unique SID identifier of the Challenge.
111
+ # @return [NotificationInstance] NotificationInstance
112
+ def initialize(version, payload, service_sid: nil, identity: nil, challenge_sid: nil)
113
+ super(version)
114
+
115
+ # Marshaled Properties
116
+ @properties = {
117
+ 'sid' => payload['sid'],
118
+ 'account_sid' => payload['account_sid'],
119
+ 'service_sid' => payload['service_sid'],
120
+ 'entity_sid' => payload['entity_sid'],
121
+ 'identity' => payload['identity'],
122
+ 'challenge_sid' => payload['challenge_sid'],
123
+ 'priority' => payload['priority'],
124
+ 'ttl' => payload['ttl'].to_i,
125
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
126
+ }
127
+ end
128
+
129
+ ##
130
+ # @return [String] A string that uniquely identifies this Notification.
131
+ def sid
132
+ @properties['sid']
133
+ end
134
+
135
+ ##
136
+ # @return [String] Account Sid.
137
+ def account_sid
138
+ @properties['account_sid']
139
+ end
140
+
141
+ ##
142
+ # @return [String] Service Sid.
143
+ def service_sid
144
+ @properties['service_sid']
145
+ end
146
+
147
+ ##
148
+ # @return [String] Entity Sid.
149
+ def entity_sid
150
+ @properties['entity_sid']
151
+ end
152
+
153
+ ##
154
+ # @return [String] Unique external identifier of the Entity
155
+ def identity
156
+ @properties['identity']
157
+ end
158
+
159
+ ##
160
+ # @return [String] Challenge Sid.
161
+ def challenge_sid
162
+ @properties['challenge_sid']
163
+ end
164
+
165
+ ##
166
+ # @return [String] The priority of the notification.
167
+ def priority
168
+ @properties['priority']
169
+ end
170
+
171
+ ##
172
+ # @return [String] How long, in seconds, the notification is valid.
173
+ def ttl
174
+ @properties['ttl']
175
+ end
176
+
177
+ ##
178
+ # @return [Time] The date this Notification was created
179
+ def date_created
180
+ @properties['date_created']
181
+ end
182
+
183
+ ##
184
+ # Provide a user friendly representation
185
+ def to_s
186
+ "<Twilio.Verify.V2.NotificationInstance>"
187
+ end
188
+
189
+ ##
190
+ # Provide a detailed, user friendly representation
191
+ def inspect
192
+ "<Twilio.Verify.V2.NotificationInstance>"
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end
@@ -32,68 +32,6 @@ module Twilio
32
32
  @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Factors"
33
33
  end
34
34
 
35
- ##
36
- # Create the FactorInstance
37
- # @param [String] friendly_name The friendly name of this Factor. It can be up to
38
- # 64 characters.
39
- # @param [factor.FactorTypes] factor_type The Type of this Factor. Currently only
40
- # `push` is supported
41
- # @param [String] binding_alg The algorithm used when `factor_type` is `push`.
42
- # Algorithm supported: `ES256`
43
- # @param [String] binding_public_key The Ecdsa public key in PKIX, ASN.1 DER
44
- # format encoded in Base64
45
- # @param [String] config_app_id The ID that uniquely identifies your app in the
46
- # Google or Apple store, such as `com.example.myapp`. Required when `factor_type`
47
- # is `push`. If specified, it can be up to 100 characters long.
48
- # @param [factor.NotificationPlatforms] config_notification_platform The transport
49
- # technology used to generate the Notification Token. Can be `apn` or `fcm`.
50
- # Required when `factor_type` is `push`
51
- # @param [String] config_notification_token For APN, the device token. For FCM the
52
- # registration token. It used to send the push notifications. Required when
53
- # `factor_type` is `push`. If specified, this value must be between 32 and 255
54
- # characters long.
55
- # @param [String] config_sdk_version The Verify Push SDK version used to configure
56
- # the factor
57
- # @param [String] binding_secret The shared secret for TOTP factors encoded in
58
- # Base32
59
- # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
60
- # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
61
- # between 20 and 60 seconds, inclusive. Defaults to 30 seconds
62
- # @param [String] config_skew The number of time-steps, past and future, that are
63
- # valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults
64
- # to 1
65
- # @param [String] config_code_length Number of digits for generated TOTP codes.
66
- # Must be between 3 and 8, inclusive. Defaults to 6
67
- # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
68
- # codes. Can be `sha1`, `sha256` or `sha512`. Defaults to `sha1`
69
- # @return [FactorInstance] Created FactorInstance
70
- 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)
71
- data = Twilio::Values.of({
72
- 'FriendlyName' => friendly_name,
73
- 'FactorType' => factor_type,
74
- 'Binding.Alg' => binding_alg,
75
- 'Binding.PublicKey' => binding_public_key,
76
- 'Config.AppId' => config_app_id,
77
- 'Config.NotificationPlatform' => config_notification_platform,
78
- 'Config.NotificationToken' => config_notification_token,
79
- 'Config.SdkVersion' => config_sdk_version,
80
- 'Binding.Secret' => binding_secret,
81
- 'Config.TimeStep' => config_time_step,
82
- 'Config.Skew' => config_skew,
83
- 'Config.CodeLength' => config_code_length,
84
- 'Config.Alg' => config_alg,
85
- })
86
-
87
- payload = @version.create('POST', @uri, data: data)
88
-
89
- FactorInstance.new(
90
- @version,
91
- payload,
92
- service_sid: @solution[:service_sid],
93
- identity: @solution[:identity],
94
- )
95
- end
96
-
97
35
  ##
98
36
  # Lists FactorInstance records from the API as a list.
99
37
  # Unlike stream(), this operation is eager and will load `limit` records into
@@ -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 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. This value must be
25
+ # between 8 and 64 characters long.
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 The unique external identifier for the Entity of the
179
+ # Service. This identifier should be immutable, not PII, and generated by your
180
+ # external system, such as your user's UUID, GUID, or SID. This value must be
181
+ # between 8 and 64 characters long.
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