twilio-ruby 5.38.0 → 5.40.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 (719) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGES.md +85 -1
  4. data/CONTRIBUTING.md +2 -2
  5. data/ISSUE_TEMPLATE.md +5 -1
  6. data/Makefile +1 -1
  7. data/PULL_REQUEST_TEMPLATE.md +1 -1
  8. data/README.md +4 -3
  9. data/lib/twilio-ruby/framework/version.rb +3 -3
  10. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +13 -30
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +13 -30
  12. data/lib/twilio-ruby/rest/api/v2010/account.rb +10 -27
  13. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +13 -30
  14. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +3 -5
  15. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +19 -34
  16. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +6 -14
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +6 -14
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +6 -8
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +3 -5
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +3 -5
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +3 -5
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +3 -5
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +3 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +3 -5
  25. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +2 -8
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +13 -30
  27. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +9 -25
  28. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +9 -20
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +6 -14
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +83 -73
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -30
  32. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +7 -19
  33. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +13 -30
  34. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +10 -22
  35. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +10 -22
  36. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +27 -30
  37. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +12 -25
  38. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +6 -14
  39. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +20 -13
  40. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +20 -13
  41. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +20 -13
  42. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +10 -22
  43. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +13 -30
  44. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +3 -8
  45. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +9 -17
  46. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +3 -8
  47. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +3 -8
  48. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +6 -14
  49. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +10 -22
  50. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +13 -30
  51. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +7 -19
  52. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +9 -17
  53. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +9 -17
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +9 -17
  55. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +9 -17
  56. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +7 -19
  57. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +10 -22
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +13 -30
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +13 -30
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +13 -30
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +12 -25
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +12 -25
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +12 -25
  64. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +12 -25
  65. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +12 -25
  66. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +13 -30
  67. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +13 -30
  68. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +3 -8
  69. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +9 -17
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +3 -5
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +3 -5
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +3 -5
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +3 -5
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +3 -5
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +3 -5
  76. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +3 -5
  77. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +3 -5
  78. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +3 -5
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +13 -30
  80. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +3 -8
  81. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +13 -30
  82. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +4 -14
  83. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +3 -9
  84. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +13 -30
  85. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +12 -25
  86. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +13 -30
  87. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +13 -30
  88. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +4 -14
  89. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +13 -30
  90. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +12 -25
  91. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +13 -30
  92. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +4 -14
  93. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +3 -9
  94. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +13 -30
  95. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +1 -5
  96. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +3 -9
  97. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +6 -14
  98. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +6 -13
  99. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +6 -12
  100. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +4 -14
  101. data/lib/twilio-ruby/rest/chat/v1/credential.rb +13 -30
  102. data/lib/twilio-ruby/rest/chat/v1/service.rb +13 -30
  103. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +13 -30
  104. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +12 -25
  105. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +13 -30
  106. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +13 -30
  107. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +13 -30
  108. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +13 -30
  109. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +3 -5
  110. data/lib/twilio-ruby/rest/chat/v2/credential.rb +13 -30
  111. data/lib/twilio-ruby/rest/chat/v2/service.rb +13 -30
  112. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +9 -17
  113. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +34 -36
  114. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +12 -25
  115. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +34 -36
  116. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +34 -36
  117. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +13 -30
  118. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +13 -30
  119. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +30 -34
  120. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +9 -17
  121. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -22
  122. data/lib/twilio-ruby/rest/client.rb +7 -0
  123. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +34 -36
  124. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +80 -36
  125. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +348 -0
  126. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +56 -36
  127. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +13 -30
  128. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +4 -14
  129. data/lib/twilio-ruby/rest/events.rb +54 -0
  130. data/lib/twilio-ruby/rest/events/v1.rb +58 -0
  131. data/lib/twilio-ruby/rest/events/v1/sink.rb +379 -0
  132. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  133. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +118 -0
  134. data/lib/twilio-ruby/rest/events/v1/subscription.rb +358 -0
  135. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +322 -0
  136. data/lib/twilio-ruby/rest/fax/v1/fax.rb +13 -30
  137. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +9 -17
  138. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +12 -25
  139. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +9 -34
  140. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +13 -30
  141. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +13 -30
  142. data/lib/twilio-ruby/rest/insights/v1/call.rb +3 -9
  143. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +3 -5
  144. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +3 -5
  145. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +3 -7
  146. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +13 -30
  147. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +13 -30
  148. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +13 -30
  149. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +12 -25
  150. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +13 -30
  151. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +13 -30
  152. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +13 -30
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +13 -30
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +3 -5
  155. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +13 -30
  156. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +13 -30
  157. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +9 -17
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +34 -36
  159. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +12 -25
  160. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +34 -36
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +34 -36
  162. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +13 -30
  163. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +13 -30
  164. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +30 -34
  165. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +9 -17
  166. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +10 -22
  167. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +4 -8
  168. data/lib/twilio-ruby/rest/messaging/v1/service.rb +13 -30
  169. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +12 -25
  170. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +12 -25
  171. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +12 -25
  172. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +6 -14
  173. data/lib/twilio-ruby/rest/monitor/v1/event.rb +6 -14
  174. data/lib/twilio-ruby/rest/notify/v1/credential.rb +13 -30
  175. data/lib/twilio-ruby/rest/notify/v1/service.rb +13 -30
  176. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +12 -25
  177. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +3 -8
  178. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +31 -27
  179. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +9 -24
  180. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +12 -25
  181. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +10 -27
  182. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +6 -14
  183. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +6 -14
  184. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +10 -27
  185. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +6 -14
  186. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +3 -9
  187. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +6 -14
  188. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +6 -13
  189. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +6 -12
  190. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +4 -14
  191. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +13 -30
  192. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +13 -30
  193. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +13 -30
  194. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +13 -30
  195. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +13 -30
  196. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +10 -27
  197. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +3 -5
  198. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +13 -30
  199. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +6 -14
  200. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +6 -14
  201. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +13 -30
  202. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +7 -19
  203. data/lib/twilio-ruby/rest/preview/sync/service.rb +13 -30
  204. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +26 -36
  205. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +10 -22
  206. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +12 -25
  207. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +26 -36
  208. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +10 -22
  209. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +12 -25
  210. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +26 -36
  211. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +10 -22
  212. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +3 -8
  213. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +13 -11
  214. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +3 -9
  215. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +3 -9
  216. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +3 -9
  217. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +3 -8
  218. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +3 -7
  219. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +11 -11
  220. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +25 -11
  221. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +3 -8
  222. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +13 -30
  223. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +4 -14
  224. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +4 -14
  225. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +3 -9
  226. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +13 -30
  227. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +12 -25
  228. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +13 -30
  229. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +13 -30
  230. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +4 -14
  231. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +13 -30
  232. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +12 -25
  233. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +13 -30
  234. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +4 -14
  235. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +3 -9
  236. data/lib/twilio-ruby/rest/preview/wireless/command.rb +9 -22
  237. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +13 -30
  238. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +7 -19
  239. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +3 -7
  240. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +6 -14
  241. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +6 -14
  242. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +6 -14
  243. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +3 -9
  244. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +6 -14
  245. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +3 -7
  246. data/lib/twilio-ruby/rest/proxy/v1/service.rb +13 -30
  247. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +13 -30
  248. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +55 -34
  249. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +9 -17
  250. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +25 -26
  251. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +9 -22
  252. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +13 -30
  253. data/lib/twilio-ruby/rest/serverless/v1/service.rb +13 -30
  254. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +13 -30
  255. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +6 -14
  256. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +12 -25
  257. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +12 -25
  258. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +9 -22
  259. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +6 -14
  260. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +13 -30
  261. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +13 -30
  262. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +6 -14
  263. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +3 -9
  264. data/lib/twilio-ruby/rest/studio/v1/flow.rb +9 -17
  265. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +12 -25
  266. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +3 -9
  267. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +6 -14
  268. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +3 -9
  269. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +13 -30
  270. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +3 -9
  271. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +6 -14
  272. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +3 -9
  273. data/lib/twilio-ruby/rest/studio/v2/flow.rb +13 -30
  274. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +13 -30
  275. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +3 -9
  276. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +6 -14
  277. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +3 -9
  278. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +6 -14
  279. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +4 -14
  280. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +1 -5
  281. data/lib/twilio-ruby/rest/supersim/v1/command.rb +9 -22
  282. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +22 -38
  283. data/lib/twilio-ruby/rest/supersim/v1/network.rb +6 -14
  284. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +10 -27
  285. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +12 -25
  286. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +31 -23
  287. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +78 -14
  288. data/lib/twilio-ruby/rest/sync/v1/service.rb +13 -30
  289. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +26 -36
  290. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +10 -22
  291. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +13 -30
  292. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +32 -36
  293. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +10 -22
  294. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +13 -30
  295. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +32 -36
  296. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +10 -22
  297. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +13 -30
  298. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +3 -8
  299. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +13 -30
  300. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +13 -30
  301. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +15 -17
  302. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +13 -30
  303. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +7 -19
  304. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +13 -30
  305. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +13 -30
  306. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +3 -7
  307. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +3 -7
  308. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +3 -7
  309. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +3 -5
  310. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +13 -30
  311. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -19
  312. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +7 -19
  313. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +3 -7
  314. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +3 -7
  315. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +3 -7
  316. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +3 -7
  317. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +13 -30
  318. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +3 -7
  319. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +3 -7
  320. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +3 -7
  321. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +3 -7
  322. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -7
  323. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +3 -7
  324. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +13 -30
  325. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +12 -25
  326. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +12 -25
  327. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +13 -30
  328. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +12 -25
  329. data/lib/twilio-ruby/rest/verify.rb +2 -2
  330. data/lib/twilio-ruby/rest/verify/v2.rb +2 -2
  331. data/lib/twilio-ruby/rest/verify/v2/form.rb +7 -13
  332. data/lib/twilio-ruby/rest/verify/v2/service.rb +70 -33
  333. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  334. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +62 -52
  335. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +485 -0
  336. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +66 -100
  337. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +13 -30
  338. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +13 -30
  339. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +13 -30
  340. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +11 -23
  341. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +3 -8
  342. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +13 -30
  343. data/lib/twilio-ruby/rest/video/v1/composition.rb +12 -25
  344. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +13 -30
  345. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +8 -20
  346. data/lib/twilio-ruby/rest/video/v1/recording.rb +9 -17
  347. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +8 -20
  348. data/lib/twilio-ruby/rest/video/v1/room.rb +10 -27
  349. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -17
  350. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +7 -19
  351. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +6 -14
  352. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +3 -19
  353. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +6 -14
  354. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +13 -30
  355. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +13 -30
  356. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +13 -30
  357. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +3 -8
  358. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +6 -14
  359. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +3 -5
  360. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +4 -14
  361. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +13 -30
  362. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +13 -30
  363. data/lib/twilio-ruby/rest/wireless/v1/command.rb +12 -25
  364. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +13 -30
  365. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +10 -22
  366. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +8 -24
  367. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +3 -5
  368. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +3 -5
  369. data/lib/twilio-ruby/version.rb +1 -1
  370. data/spec/framework/version_spec.rb +166 -0
  371. data/spec/holodeck/holodeck.rb +11 -6
  372. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -4
  373. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -4
  374. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -1
  375. data/spec/integration/api/v2010/account/address_spec.rb +0 -4
  376. data/spec/integration/api/v2010/account/application_spec.rb +0 -5
  377. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -2
  378. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -1
  379. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -1
  380. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -1
  381. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -1
  382. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -1
  383. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -1
  384. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -1
  385. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -2
  386. data/spec/integration/api/v2010/account/balance_spec.rb +0 -1
  387. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -1
  388. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -2
  389. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -2
  390. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -4
  391. data/spec/integration/api/v2010/account/call_spec.rb +0 -4
  392. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -4
  393. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -3
  394. data/spec/integration/api/v2010/account/conference_spec.rb +0 -3
  395. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -4
  396. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -2
  397. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -3
  398. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +35 -37
  399. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +39 -41
  400. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +35 -37
  401. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +68 -43
  402. data/spec/integration/api/v2010/account/key_spec.rb +0 -4
  403. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -1
  404. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -3
  405. data/spec/integration/api/v2010/account/message_spec.rb +37 -3
  406. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -1
  407. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -1
  408. data/spec/integration/api/v2010/account/notification_spec.rb +0 -2
  409. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -4
  410. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -2
  411. data/spec/integration/api/v2010/account/queue_spec.rb +0 -4
  412. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -3
  413. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -3
  414. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -3
  415. data/spec/integration/api/v2010/account/recording_spec.rb +0 -3
  416. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -3
  417. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -4
  418. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -4
  419. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -3
  420. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -3
  421. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -3
  422. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -3
  423. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -3
  424. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -3
  425. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -4
  426. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -4
  427. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -3
  428. data/spec/integration/api/v2010/account/token_spec.rb +0 -1
  429. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -3
  430. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -1
  431. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -1
  432. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -1
  433. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -1
  434. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -1
  435. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -1
  436. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -1
  437. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -1
  438. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -1
  439. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -4
  440. data/spec/integration/api/v2010/account_spec.rb +0 -4
  441. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -2
  442. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -1
  443. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -3
  444. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -4
  445. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -5
  446. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -4
  447. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -2
  448. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -3
  449. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -4
  450. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -2
  451. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -1
  452. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -4
  453. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -4
  454. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -5
  455. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -2
  456. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -2
  457. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -2
  458. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -2
  459. data/spec/integration/bulkexports/v1/export_spec.rb +0 -1
  460. data/spec/integration/chat/v1/credential_spec.rb +0 -4
  461. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -3
  462. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -4
  463. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -4
  464. data/spec/integration/chat/v1/service/channel_spec.rb +0 -5
  465. data/spec/integration/chat/v1/service/role_spec.rb +0 -3
  466. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -1
  467. data/spec/integration/chat/v1/service/user_spec.rb +0 -4
  468. data/spec/integration/chat/v1/service_spec.rb +0 -4
  469. data/spec/integration/chat/v2/credential_spec.rb +0 -4
  470. data/spec/integration/chat/v2/service/binding_spec.rb +0 -3
  471. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -3
  472. data/spec/integration/chat/v2/service/channel/member_spec.rb +9 -7
  473. data/spec/integration/chat/v2/service/channel/message_spec.rb +9 -8
  474. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -4
  475. data/spec/integration/chat/v2/service/channel_spec.rb +9 -8
  476. data/spec/integration/chat/v2/service/role_spec.rb +0 -3
  477. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -3
  478. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -4
  479. data/spec/integration/chat/v2/service/user_spec.rb +6 -6
  480. data/spec/integration/chat/v2/service_spec.rb +0 -4
  481. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +132 -0
  482. data/spec/integration/conversations/v1/conversation/message_spec.rb +131 -15
  483. data/spec/integration/conversations/v1/conversation/participant_spec.rb +93 -8
  484. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -4
  485. data/spec/integration/conversations/v1/conversation_spec.rb +39 -8
  486. data/spec/integration/conversations/v1/webhook_spec.rb +0 -2
  487. data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
  488. data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
  489. data/spec/integration/events/v1/sink_spec.rb +217 -0
  490. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +212 -0
  491. data/spec/integration/events/v1/subscription_spec.rb +205 -0
  492. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -3
  493. data/spec/integration/fax/v1/fax_spec.rb +0 -4
  494. data/spec/integration/flex_api/v1/channel_spec.rb +0 -3
  495. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -51
  496. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -4
  497. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -4
  498. data/spec/integration/insights/v1/call/event_spec.rb +0 -1
  499. data/spec/integration/insights/v1/call/metric_spec.rb +0 -1
  500. data/spec/integration/insights/v1/call/summary_spec.rb +0 -1
  501. data/spec/integration/insights/v1/call_spec.rb +0 -1
  502. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -4
  503. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -3
  504. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -4
  505. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -4
  506. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -5
  507. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -3
  508. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -1
  509. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -4
  510. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -4
  511. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -4
  512. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -3
  513. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -3
  514. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +9 -7
  515. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +9 -8
  516. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -4
  517. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +9 -8
  518. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -3
  519. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -3
  520. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -4
  521. data/spec/integration/ip_messaging/v2/service/user_spec.rb +6 -6
  522. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -4
  523. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -1
  524. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -3
  525. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -3
  526. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -3
  527. data/spec/integration/messaging/v1/service_spec.rb +0 -4
  528. data/spec/integration/monitor/v1/alert_spec.rb +0 -2
  529. data/spec/integration/monitor/v1/event_spec.rb +0 -2
  530. data/spec/integration/notify/v1/credential_spec.rb +0 -4
  531. data/spec/integration/notify/v1/service/binding_spec.rb +0 -3
  532. data/spec/integration/notify/v1/service/notification_spec.rb +0 -1
  533. data/spec/integration/notify/v1/service_spec.rb +0 -5
  534. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -3
  535. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -3
  536. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +32 -4
  537. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -3
  538. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -2
  539. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -2
  540. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -3
  541. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -2
  542. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -2
  543. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -2
  544. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -2
  545. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -2
  546. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -1
  547. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -4
  548. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -5
  549. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -5
  550. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -5
  551. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -5
  552. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -1
  553. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -3
  554. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -4
  555. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -2
  556. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -2
  557. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -2
  558. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -4
  559. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -3
  560. data/spec/integration/preview/sync/service/document_spec.rb +6 -6
  561. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +6 -5
  562. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -3
  563. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -4
  564. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +6 -5
  565. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -3
  566. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -4
  567. data/spec/integration/preview/sync/service_spec.rb +0 -5
  568. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +3 -2
  569. data/spec/integration/preview/trusted_comms/business/brand/branded_channel_spec.rb +0 -1
  570. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -1
  571. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -1
  572. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -1
  573. data/spec/integration/preview/trusted_comms/cps_spec.rb +3 -2
  574. data/spec/integration/preview/trusted_comms/current_call_spec.rb +6 -2
  575. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -2
  576. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -2
  577. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -1
  578. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -3
  579. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -4
  580. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -5
  581. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -4
  582. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -2
  583. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -3
  584. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -4
  585. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -2
  586. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -1
  587. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -4
  588. data/spec/integration/preview/understand/assistant_spec.rb +0 -5
  589. data/spec/integration/preview/wireless/command_spec.rb +0 -2
  590. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -5
  591. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -1
  592. data/spec/integration/preview/wireless/sim_spec.rb +0 -3
  593. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -2
  594. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -2
  595. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -2
  596. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -1
  597. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -2
  598. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -1
  599. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -5
  600. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -3
  601. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -3
  602. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -3
  603. data/spec/integration/proxy/v1/service/session_spec.rb +0 -5
  604. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -4
  605. data/spec/integration/proxy/v1/service_spec.rb +0 -4
  606. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -2
  607. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -3
  608. data/spec/integration/serverless/v1/service/build_spec.rb +0 -4
  609. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -3
  610. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -2
  611. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -4
  612. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -3
  613. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -1
  614. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -2
  615. data/spec/integration/serverless/v1/service/function_spec.rb +0 -3
  616. data/spec/integration/serverless/v1/service_spec.rb +0 -4
  617. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -1
  618. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -1
  619. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -2
  620. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -3
  621. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -1
  622. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -1
  623. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -2
  624. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -3
  625. data/spec/integration/studio/v1/flow_spec.rb +0 -3
  626. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -1
  627. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -1
  628. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -2
  629. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -3
  630. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -2
  631. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -1
  632. data/spec/integration/studio/v2/flow_spec.rb +0 -3
  633. data/spec/integration/supersim/v1/command_spec.rb +0 -2
  634. data/spec/integration/supersim/v1/fleet_spec.rb +0 -3
  635. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -3
  636. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -4
  637. data/spec/integration/supersim/v1/network_spec.rb +0 -2
  638. data/spec/integration/supersim/v1/sim_spec.rb +0 -3
  639. data/spec/integration/supersim/v1/usage_record_spec.rb +463 -19
  640. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -3
  641. data/spec/integration/sync/v1/service/document_spec.rb +6 -7
  642. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +6 -6
  643. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -3
  644. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -5
  645. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +6 -6
  646. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -3
  647. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -5
  648. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -5
  649. data/spec/integration/sync/v1/service_spec.rb +0 -5
  650. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -4
  651. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -2
  652. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -3
  653. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -4
  654. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -1
  655. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -1
  656. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -1
  657. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -1
  658. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -4
  659. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -5
  660. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -3
  661. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -3
  662. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -1
  663. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -1
  664. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -1
  665. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -1
  666. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -4
  667. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -1
  668. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -1
  669. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -1
  670. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -4
  671. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -1
  672. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -1
  673. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -1
  674. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -4
  675. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -3
  676. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -3
  677. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -4
  678. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -3
  679. data/spec/integration/trunking/v1/trunk_spec.rb +0 -5
  680. data/spec/integration/verify/v2/form_spec.rb +5 -6
  681. data/spec/integration/verify/v2/service/access_token_spec.rb +44 -0
  682. data/spec/integration/verify/v2/service/entity/{factor/challenge_spec.rb → challenge_spec.rb} +41 -142
  683. data/spec/integration/verify/v2/service/entity/factor_spec.rb +21 -27
  684. data/spec/integration/verify/v2/service/entity_spec.rb +15 -10
  685. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -3
  686. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -4
  687. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -4
  688. data/spec/integration/verify/v2/service/verification_spec.rb +0 -1
  689. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -4
  690. data/spec/integration/verify/v2/service_spec.rb +8 -8
  691. data/spec/integration/video/v1/composition_hook_spec.rb +0 -3
  692. data/spec/integration/video/v1/composition_settings_spec.rb +0 -1
  693. data/spec/integration/video/v1/composition_spec.rb +0 -3
  694. data/spec/integration/video/v1/recording_settings_spec.rb +0 -1
  695. data/spec/integration/video/v1/recording_spec.rb +0 -3
  696. data/spec/integration/video/v1/room/recording_spec.rb +0 -3
  697. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -2
  698. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -2
  699. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -2
  700. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -3
  701. data/spec/integration/video/v1/room_spec.rb +0 -3
  702. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -5
  703. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -4
  704. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -5
  705. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -1
  706. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -2
  707. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -2
  708. data/spec/integration/voice/v1/ip_record_spec.rb +0 -4
  709. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -3
  710. data/spec/integration/wireless/v1/command_spec.rb +0 -3
  711. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -5
  712. data/spec/integration/wireless/v1/sim/data_session_spec.rb +2 -3
  713. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -1
  714. data/spec/integration/wireless/v1/sim_spec.rb +0 -4
  715. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -1
  716. metadata +30 -8
  717. data/lib/twilio-ruby/rest/verify/v2/service/entity/access_token.rb +0 -141
  718. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor/challenge.rb +0 -494
  719. data/spec/integration/verify/v2/service/entity/access_token_spec.rb +0 -46
@@ -0,0 +1,485 @@
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 preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
17
+ class ChallengeList < ListResource
18
+ ##
19
+ # Initialize the ChallengeList
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
+ # Challenge
24
+ # @return [ChallengeList] ChallengeList
25
+ def initialize(version, service_sid: nil, identity: nil)
26
+ super(version)
27
+
28
+ # Path Solution
29
+ @solution = {service_sid: service_sid, identity: identity}
30
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges"
31
+ end
32
+
33
+ ##
34
+ # Create the ChallengeInstance
35
+ # @param [String] factor_sid The unique SID identifier of the Factor.
36
+ # @param [Time] expiration_date The future date in which this Challenge will
37
+ # expire, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
38
+ # @param [String] details Details provided to give context about the Challenge.
39
+ # Shown to the end user. It must be a stringified JSON with the following
40
+ # structure: {"message": "string", "fields": [ { "label": "string", "value":
41
+ # "string"}]}. `message` is required. If you send the `fields` property, each
42
+ # field has to include `label` and `value` properties. If you had set
43
+ # `include_date=true` in the `push` configuration of the
44
+ # [service](https://www.twilio.com/docs/verify/api/service), the response will
45
+ # also include the challenge's date created value as an additional field called
46
+ # `date`
47
+ # @param [String] hidden_details Details provided to give context about the
48
+ # Challenge. Not shown to the end user. It must be a stringified JSON with only
49
+ # strings values eg. `{"ip": "172.168.1.234"}`
50
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
51
+ # @return [ChallengeInstance] Created ChallengeInstance
52
+ def create(factor_sid: nil, expiration_date: :unset, details: :unset, hidden_details: :unset, twilio_sandbox_mode: :unset)
53
+ data = Twilio::Values.of({
54
+ 'FactorSid' => factor_sid,
55
+ 'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
56
+ 'Details' => details,
57
+ 'HiddenDetails' => hidden_details,
58
+ })
59
+ headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
60
+
61
+ payload = @version.create('POST', @uri, data: data, headers: headers)
62
+
63
+ ChallengeInstance.new(
64
+ @version,
65
+ payload,
66
+ service_sid: @solution[:service_sid],
67
+ identity: @solution[:identity],
68
+ )
69
+ end
70
+
71
+ ##
72
+ # Lists ChallengeInstance records from the API as a list.
73
+ # Unlike stream(), this operation is eager and will load `limit` records into
74
+ # memory before returning.
75
+ # @param [String] factor_sid The unique SID identifier of the Factor.
76
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
77
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
78
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
79
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
80
+ # guarantees to never return more than limit. Default is no limit
81
+ # @param [Integer] page_size Number of records to fetch per request, when
82
+ # not set will use the default value of 50 records. If no page_size is defined
83
+ # but a limit is defined, stream() will attempt to read the limit with the most
84
+ # efficient page size, i.e. min(limit, 1000)
85
+ # @return [Array] Array of up to limit results
86
+ def list(factor_sid: :unset, status: :unset, twilio_sandbox_mode: :unset, limit: nil, page_size: nil)
87
+ self.stream(
88
+ factor_sid: factor_sid,
89
+ status: status,
90
+ twilio_sandbox_mode: twilio_sandbox_mode,
91
+ limit: limit,
92
+ page_size: page_size
93
+ ).entries
94
+ end
95
+
96
+ ##
97
+ # Streams ChallengeInstance records from the API as an Enumerable.
98
+ # This operation lazily loads records as efficiently as possible until the limit
99
+ # is reached.
100
+ # @param [String] factor_sid The unique SID identifier of the Factor.
101
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
102
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
103
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
104
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
105
+ # guarantees to never return more than limit. Default is no limit.
106
+ # @param [Integer] page_size Number of records to fetch per request, when
107
+ # not set will use the default value of 50 records. If no page_size is defined
108
+ # but a limit is defined, stream() will attempt to read the limit with the most
109
+ # efficient page size, i.e. min(limit, 1000)
110
+ # @return [Enumerable] Enumerable that will yield up to limit results
111
+ def stream(factor_sid: :unset, status: :unset, twilio_sandbox_mode: :unset, limit: nil, page_size: nil)
112
+ limits = @version.read_limits(limit, page_size)
113
+
114
+ page = self.page(
115
+ factor_sid: factor_sid,
116
+ status: status,
117
+ twilio_sandbox_mode: twilio_sandbox_mode,
118
+ page_size: limits[:page_size],
119
+ )
120
+
121
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
122
+ end
123
+
124
+ ##
125
+ # When passed a block, yields ChallengeInstance records from the API.
126
+ # This operation lazily loads records as efficiently as possible until the limit
127
+ # is reached.
128
+ def each
129
+ limits = @version.read_limits
130
+
131
+ page = self.page(page_size: limits[:page_size], )
132
+
133
+ @version.stream(page,
134
+ limit: limits[:limit],
135
+ page_limit: limits[:page_limit]).each {|x| yield x}
136
+ end
137
+
138
+ ##
139
+ # Retrieve a single page of ChallengeInstance records from the API.
140
+ # Request is executed immediately.
141
+ # @param [String] factor_sid The unique SID identifier of the Factor.
142
+ # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
143
+ # fetch. One of `pending`, `expired`, `approved` or `denied`.
144
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
145
+ # @param [String] page_token PageToken provided by the API
146
+ # @param [Integer] page_number Page Number, this value is simply for client state
147
+ # @param [Integer] page_size Number of records to return, defaults to 50
148
+ # @return [Page] Page of ChallengeInstance
149
+ def page(factor_sid: :unset, status: :unset, twilio_sandbox_mode: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
150
+ params = Twilio::Values.of({
151
+ 'FactorSid' => factor_sid,
152
+ 'Status' => status,
153
+ 'PageToken' => page_token,
154
+ 'Page' => page_number,
155
+ 'PageSize' => page_size,
156
+ })
157
+ headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
158
+
159
+ response = @version.page('GET', @uri, params: params, headers: headers)
160
+
161
+ ChallengePage.new(@version, response, @solution)
162
+ end
163
+
164
+ ##
165
+ # Retrieve a single page of ChallengeInstance records from the API.
166
+ # Request is executed immediately.
167
+ # @param [String] target_url API-generated URL for the requested results page
168
+ # @return [Page] Page of ChallengeInstance
169
+ def get_page(target_url)
170
+ response = @version.domain.request(
171
+ 'GET',
172
+ target_url
173
+ )
174
+ ChallengePage.new(@version, response, @solution)
175
+ end
176
+
177
+ ##
178
+ # Provide a user friendly representation
179
+ def to_s
180
+ '#<Twilio.Verify.V2.ChallengeList>'
181
+ end
182
+ end
183
+
184
+ ##
185
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
186
+ class ChallengePage < Page
187
+ ##
188
+ # Initialize the ChallengePage
189
+ # @param [Version] version Version that contains the resource
190
+ # @param [Response] response Response from the API
191
+ # @param [Hash] solution Path solution for the resource
192
+ # @return [ChallengePage] ChallengePage
193
+ def initialize(version, response, solution)
194
+ super(version, response)
195
+
196
+ # Path Solution
197
+ @solution = solution
198
+ end
199
+
200
+ ##
201
+ # Build an instance of ChallengeInstance
202
+ # @param [Hash] payload Payload response from the API
203
+ # @return [ChallengeInstance] ChallengeInstance
204
+ def get_instance(payload)
205
+ ChallengeInstance.new(
206
+ @version,
207
+ payload,
208
+ service_sid: @solution[:service_sid],
209
+ identity: @solution[:identity],
210
+ )
211
+ end
212
+
213
+ ##
214
+ # Provide a user friendly representation
215
+ def to_s
216
+ '<Twilio.Verify.V2.ChallengePage>'
217
+ end
218
+ end
219
+
220
+ ##
221
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
222
+ class ChallengeContext < InstanceContext
223
+ ##
224
+ # Initialize the ChallengeContext
225
+ # @param [Version] version Version that contains the resource
226
+ # @param [String] service_sid The unique SID identifier of the Service.
227
+ # @param [String] identity The unique external identifier for the Entity of the
228
+ # Service. This identifier should be immutable, not PII, and generated by your
229
+ # external system, such as your user's UUID, GUID, or SID.
230
+ # @param [String] sid A 34 character string that uniquely identifies this
231
+ # Challenge.
232
+ # @return [ChallengeContext] ChallengeContext
233
+ def initialize(version, service_sid, identity, sid)
234
+ super(version)
235
+
236
+ # Path Solution
237
+ @solution = {service_sid: service_sid, identity: identity, sid: sid, }
238
+ @uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges/#{@solution[:sid]}"
239
+ end
240
+
241
+ ##
242
+ # Fetch the ChallengeInstance
243
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
244
+ # @return [ChallengeInstance] Fetched ChallengeInstance
245
+ def fetch(twilio_sandbox_mode: :unset)
246
+ headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
247
+
248
+ payload = @version.fetch('GET', @uri, headers: headers)
249
+
250
+ ChallengeInstance.new(
251
+ @version,
252
+ payload,
253
+ service_sid: @solution[:service_sid],
254
+ identity: @solution[:identity],
255
+ sid: @solution[:sid],
256
+ )
257
+ end
258
+
259
+ ##
260
+ # Update the ChallengeInstance
261
+ # @param [String] auth_payload The optional payload needed to verify the
262
+ # Challenge. E.g., a TOTP would use the numeric code.
263
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
264
+ # @return [ChallengeInstance] Updated ChallengeInstance
265
+ def update(auth_payload: :unset, twilio_sandbox_mode: :unset)
266
+ data = Twilio::Values.of({'AuthPayload' => auth_payload, })
267
+ headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
268
+
269
+ payload = @version.update('POST', @uri, data: data, headers: headers)
270
+
271
+ ChallengeInstance.new(
272
+ @version,
273
+ payload,
274
+ service_sid: @solution[:service_sid],
275
+ identity: @solution[:identity],
276
+ sid: @solution[:sid],
277
+ )
278
+ end
279
+
280
+ ##
281
+ # Provide a user friendly representation
282
+ def to_s
283
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
284
+ "#<Twilio.Verify.V2.ChallengeContext #{context}>"
285
+ end
286
+
287
+ ##
288
+ # Provide a detailed, user friendly representation
289
+ def inspect
290
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
291
+ "#<Twilio.Verify.V2.ChallengeContext #{context}>"
292
+ end
293
+ end
294
+
295
+ ##
296
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
297
+ class ChallengeInstance < InstanceResource
298
+ ##
299
+ # Initialize the ChallengeInstance
300
+ # @param [Version] version Version that contains the resource
301
+ # @param [Hash] payload payload that contains response from Twilio
302
+ # @param [String] service_sid The unique SID identifier of the Service.
303
+ # @param [String] identity Customer unique identity for the Entity owner of the
304
+ # Challenge
305
+ # @param [String] sid A 34 character string that uniquely identifies this
306
+ # Challenge.
307
+ # @return [ChallengeInstance] ChallengeInstance
308
+ def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
309
+ super(version)
310
+
311
+ # Marshaled Properties
312
+ @properties = {
313
+ 'sid' => payload['sid'],
314
+ 'account_sid' => payload['account_sid'],
315
+ 'service_sid' => payload['service_sid'],
316
+ 'entity_sid' => payload['entity_sid'],
317
+ 'identity' => payload['identity'],
318
+ 'factor_sid' => payload['factor_sid'],
319
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
320
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
321
+ 'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
322
+ 'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
323
+ 'status' => payload['status'],
324
+ 'responded_reason' => payload['responded_reason'],
325
+ 'details' => payload['details'],
326
+ 'hidden_details' => payload['hidden_details'],
327
+ 'factor_type' => payload['factor_type'],
328
+ 'url' => payload['url'],
329
+ }
330
+
331
+ # Context
332
+ @instance_context = nil
333
+ @params = {'service_sid' => service_sid, 'identity' => identity, 'sid' => sid || @properties['sid'], }
334
+ end
335
+
336
+ ##
337
+ # Generate an instance context for the instance, the context is capable of
338
+ # performing various actions. All instance actions are proxied to the context
339
+ # @return [ChallengeContext] ChallengeContext for this ChallengeInstance
340
+ def context
341
+ unless @instance_context
342
+ @instance_context = ChallengeContext.new(
343
+ @version,
344
+ @params['service_sid'],
345
+ @params['identity'],
346
+ @params['sid'],
347
+ )
348
+ end
349
+ @instance_context
350
+ end
351
+
352
+ ##
353
+ # @return [String] A string that uniquely identifies this Challenge.
354
+ def sid
355
+ @properties['sid']
356
+ end
357
+
358
+ ##
359
+ # @return [String] Account Sid.
360
+ def account_sid
361
+ @properties['account_sid']
362
+ end
363
+
364
+ ##
365
+ # @return [String] Service Sid.
366
+ def service_sid
367
+ @properties['service_sid']
368
+ end
369
+
370
+ ##
371
+ # @return [String] Entity Sid.
372
+ def entity_sid
373
+ @properties['entity_sid']
374
+ end
375
+
376
+ ##
377
+ # @return [String] Unique external identifier of the Entity
378
+ def identity
379
+ @properties['identity']
380
+ end
381
+
382
+ ##
383
+ # @return [String] Factor Sid.
384
+ def factor_sid
385
+ @properties['factor_sid']
386
+ end
387
+
388
+ ##
389
+ # @return [Time] The date this Challenge was created
390
+ def date_created
391
+ @properties['date_created']
392
+ end
393
+
394
+ ##
395
+ # @return [Time] The date this Challenge was updated
396
+ def date_updated
397
+ @properties['date_updated']
398
+ end
399
+
400
+ ##
401
+ # @return [Time] The date this Challenge was responded
402
+ def date_responded
403
+ @properties['date_responded']
404
+ end
405
+
406
+ ##
407
+ # @return [Time] The date this Challenge is expired
408
+ def expiration_date
409
+ @properties['expiration_date']
410
+ end
411
+
412
+ ##
413
+ # @return [challenge.ChallengeStatuses] The Status of this Challenge
414
+ def status
415
+ @properties['status']
416
+ end
417
+
418
+ ##
419
+ # @return [challenge.ChallengeReasons] The Reason of this Challenge `status`
420
+ def responded_reason
421
+ @properties['responded_reason']
422
+ end
423
+
424
+ ##
425
+ # @return [String] Public details provided to contextualize the Challenge
426
+ def details
427
+ @properties['details']
428
+ end
429
+
430
+ ##
431
+ # @return [String] Hidden details provided to contextualize the Challenge
432
+ def hidden_details
433
+ @properties['hidden_details']
434
+ end
435
+
436
+ ##
437
+ # @return [challenge.FactorTypes] The Factor Type of this Challenge
438
+ def factor_type
439
+ @properties['factor_type']
440
+ end
441
+
442
+ ##
443
+ # @return [String] The URL of this resource.
444
+ def url
445
+ @properties['url']
446
+ end
447
+
448
+ ##
449
+ # Fetch the ChallengeInstance
450
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
451
+ # @return [ChallengeInstance] Fetched ChallengeInstance
452
+ def fetch(twilio_sandbox_mode: :unset)
453
+ context.fetch(twilio_sandbox_mode: twilio_sandbox_mode, )
454
+ end
455
+
456
+ ##
457
+ # Update the ChallengeInstance
458
+ # @param [String] auth_payload The optional payload needed to verify the
459
+ # Challenge. E.g., a TOTP would use the numeric code.
460
+ # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
461
+ # @return [ChallengeInstance] Updated ChallengeInstance
462
+ def update(auth_payload: :unset, twilio_sandbox_mode: :unset)
463
+ context.update(auth_payload: auth_payload, twilio_sandbox_mode: twilio_sandbox_mode, )
464
+ end
465
+
466
+ ##
467
+ # Provide a user friendly representation
468
+ def to_s
469
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
470
+ "<Twilio.Verify.V2.ChallengeInstance #{values}>"
471
+ end
472
+
473
+ ##
474
+ # Provide a detailed, user friendly representation
475
+ def inspect
476
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
477
+ "<Twilio.Verify.V2.ChallengeInstance #{values}>"
478
+ end
479
+ end
480
+ end
481
+ end
482
+ end
483
+ end
484
+ end
485
+ end