twilio-ruby 5.20.0 → 5.47.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 (917) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.rubocop.yml +22 -6
  4. data/.rubocop_todo.yml +81 -70
  5. data/.travis.yml +31 -12
  6. data/CHANGES.md +1163 -0
  7. data/CODE_OF_CONDUCT.md +73 -0
  8. data/CONTRIBUTING.md +4 -2
  9. data/Dockerfile +2 -2
  10. data/Gemfile +0 -9
  11. data/ISSUE_TEMPLATE.md +17 -13
  12. data/{LICENSE.md → LICENSE} +2 -2
  13. data/Makefile +6 -15
  14. data/PULL_REQUEST_TEMPLATE.md +30 -3
  15. data/README.md +111 -54
  16. data/Rakefile +0 -54
  17. data/VERSIONS.md +9 -10
  18. data/githooks/pre-commit +0 -0
  19. data/lib/twilio-ruby.rb +10 -16
  20. data/lib/twilio-ruby/framework/domain.rb +1 -1
  21. data/lib/twilio-ruby/framework/error.rb +3 -3
  22. data/lib/twilio-ruby/framework/version.rb +7 -11
  23. data/lib/twilio-ruby/http/http_client.rb +15 -12
  24. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  25. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  26. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  27. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  28. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  29. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  30. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
  31. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
  32. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  33. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  34. data/lib/twilio-ruby/rest/api.rb +10 -9
  35. data/lib/twilio-ruby/rest/api/v2010.rb +1 -1
  36. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
  37. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +33 -36
  38. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +36 -34
  39. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +36 -44
  40. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +18 -19
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +17 -18
  42. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +36 -29
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +36 -29
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +36 -29
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +36 -29
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +36 -29
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +36 -29
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +36 -29
  49. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
  50. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +285 -188
  51. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +35 -42
  53. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +23 -27
  54. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +74 -71
  57. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +34 -25
  58. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +331 -201
  59. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +56 -61
  60. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +35 -26
  61. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +66 -46
  62. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +26 -32
  63. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +18 -19
  64. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +66 -18
  65. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +66 -18
  66. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +66 -18
  67. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  68. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +201 -205
  69. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +8 -13
  70. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
  71. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +4 -9
  72. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +4 -9
  73. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +21 -36
  74. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +23 -28
  75. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +56 -66
  76. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +41 -38
  77. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +70 -66
  78. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  79. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  80. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +54 -41
  81. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
  82. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +1 -1
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +106 -40
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +3 -3
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +3 -3
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +25 -31
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +25 -31
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +3 -3
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +25 -31
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +23 -29
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +22 -28
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +24 -34
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +24 -34
  97. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +7 -12
  98. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +43 -40
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +1 -1
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +17 -12
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +17 -12
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +17 -12
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +17 -12
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +17 -12
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +17 -12
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +17 -12
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +17 -12
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +17 -12
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +44 -53
  110. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  111. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  112. data/lib/twilio-ruby/rest/autopilot/v1.rb +10 -3
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  115. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  116. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
  120. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  121. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +35 -28
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  128. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  129. data/lib/twilio-ruby/rest/bulkexports/v1.rb +60 -0
  130. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +251 -0
  131. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +294 -0
  132. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +278 -0
  133. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +249 -0
  134. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +234 -0
  135. data/lib/twilio-ruby/rest/chat.rb +3 -3
  136. data/lib/twilio-ruby/rest/chat/v1.rb +5 -3
  137. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  138. data/lib/twilio-ruby/rest/chat/v1/service.rb +338 -357
  139. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +82 -74
  140. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  141. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  142. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +81 -73
  143. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  144. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +74 -81
  145. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  146. data/lib/twilio-ruby/rest/chat/v2.rb +3 -3
  147. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +224 -185
  149. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  150. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +134 -117
  151. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  152. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
  153. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +143 -135
  154. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  155. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  156. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +93 -88
  157. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  158. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +95 -53
  159. data/lib/twilio-ruby/rest/client.rb +154 -58
  160. data/lib/twilio-ruby/rest/conversations.rb +89 -0
  161. data/lib/twilio-ruby/rest/conversations/v1.rb +114 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  164. data/lib/twilio-ruby/rest/{messaging/v1/session.rb → conversations/v1/conversation.rb} +233 -160
  165. data/lib/twilio-ruby/rest/{messaging/v1/session → conversations/v1/conversation}/message.rb +188 -127
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  167. data/lib/twilio-ruby/rest/{messaging/v1/session → conversations/v1/conversation}/participant.rb +197 -153
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  169. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  170. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  171. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +148 -92
  172. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +588 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +541 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +437 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/user.rb +416 -0
  183. data/lib/twilio-ruby/rest/events.rb +72 -0
  184. data/lib/twilio-ruby/rest/events/v1.rb +90 -0
  185. data/lib/twilio-ruby/rest/events/v1/event_type.rb +291 -0
  186. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  187. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
  188. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → events/v1/sink.rb} +136 -142
  189. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  190. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  191. data/lib/twilio-ruby/rest/events/v1/subscription.rb +391 -0
  192. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +216 -0
  193. data/lib/twilio-ruby/rest/fax.rb +3 -2
  194. data/lib/twilio-ruby/rest/fax/v1.rb +3 -2
  195. data/lib/twilio-ruby/rest/fax/v1/fax.rb +113 -108
  196. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +35 -36
  197. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  198. data/lib/twilio-ruby/rest/flex_api/v1.rb +80 -0
  199. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  200. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
  201. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +559 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  203. data/lib/twilio-ruby/rest/insights.rb +14 -6
  204. data/lib/twilio-ruby/rest/insights/v1.rb +26 -11
  205. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  206. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  207. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  208. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
  209. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  210. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  211. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  212. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +5 -5
  213. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  214. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +69 -203
  215. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +50 -69
  216. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  217. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  218. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +41 -61
  219. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  220. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +47 -76
  221. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  222. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +5 -5
  223. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  224. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +76 -126
  225. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  226. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +85 -118
  227. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  228. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
  229. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +87 -133
  230. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  231. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  232. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +68 -87
  233. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  234. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  235. data/lib/twilio-ruby/rest/lookups.rb +4 -4
  236. data/lib/twilio-ruby/rest/lookups/v1.rb +4 -2
  237. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  238. data/lib/twilio-ruby/rest/messaging.rb +25 -11
  239. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -14
  240. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  241. data/lib/twilio-ruby/rest/messaging/v1/campaign.rb +387 -0
  242. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  243. data/lib/twilio-ruby/rest/messaging/v1/service.rb +150 -124
  244. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  245. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  246. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
  247. data/lib/twilio-ruby/rest/messaging/v1/use_case.rb +198 -0
  248. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  249. data/lib/twilio-ruby/rest/monitor/v1.rb +3 -3
  250. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  251. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  252. data/lib/twilio-ruby/rest/notify.rb +5 -3
  253. data/lib/twilio-ruby/rest/notify/v1.rb +5 -3
  254. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  255. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  256. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  257. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +126 -124
  258. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  259. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  260. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  261. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +512 -0
  262. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  263. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  264. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  265. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  266. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  267. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
  268. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  269. data/lib/twilio-ruby/rest/preview.rb +50 -21
  270. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +5 -3
  271. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +65 -17
  272. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +97 -14
  273. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
  274. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
  275. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +35 -28
  276. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +1 -1
  277. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  278. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  279. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  280. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  281. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  282. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +1 -1
  283. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  284. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +15 -14
  285. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +32 -42
  286. data/lib/twilio-ruby/rest/preview/marketplace.rb +14 -16
  287. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  288. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  289. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  290. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  291. data/lib/twilio-ruby/rest/preview/sync.rb +1 -1
  292. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  293. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  294. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  295. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  296. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +36 -39
  297. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  298. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  299. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  300. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  301. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +64 -0
  302. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  303. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  304. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  305. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  306. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  307. data/lib/twilio-ruby/rest/preview/understand.rb +1 -1
  308. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  309. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  310. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  311. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  312. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  313. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  314. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  315. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  316. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  317. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  318. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  319. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  320. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  321. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +11 -10
  322. data/lib/twilio-ruby/rest/preview/wireless.rb +1 -1
  323. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  324. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +25 -35
  325. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  326. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  327. data/lib/twilio-ruby/rest/pricing.rb +1 -1
  328. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  329. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  330. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  331. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  332. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  333. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  334. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  335. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  336. data/lib/twilio-ruby/rest/pricing/v2.rb +1 -1
  337. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  338. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  339. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  340. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  341. data/lib/twilio-ruby/rest/proxy/v1.rb +3 -2
  342. data/lib/twilio-ruby/rest/proxy/v1/service.rb +152 -118
  343. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
  344. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +122 -92
  345. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
  346. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +74 -63
  347. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  348. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  349. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  350. data/lib/twilio-ruby/rest/{verify → serverless}/v1.rb +7 -7
  351. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +179 -161
  352. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  353. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  354. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  355. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  356. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  357. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  358. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  359. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  360. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  361. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  362. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  363. data/lib/twilio-ruby/rest/studio.rb +19 -5
  364. data/lib/twilio-ruby/rest/studio/v1.rb +2 -2
  365. data/lib/twilio-ruby/rest/studio/v1/flow.rb +30 -31
  366. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  367. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  368. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  369. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  370. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
  371. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  372. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  373. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  374. data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
  375. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  376. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  377. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  378. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  379. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  380. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  381. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  382. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  383. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  384. data/lib/twilio-ruby/rest/supersim/v1.rb +110 -0
  385. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  386. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +442 -0
  387. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  388. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  389. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  390. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +398 -0
  391. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  392. data/lib/twilio-ruby/rest/sync.rb +3 -2
  393. data/lib/twilio-ruby/rest/sync/v1.rb +2 -2
  394. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  395. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +78 -75
  396. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  397. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +70 -70
  398. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +152 -121
  399. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  400. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +71 -72
  401. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +159 -129
  402. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  403. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +63 -67
  404. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  405. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  406. data/lib/twilio-ruby/rest/taskrouter/v1.rb +2 -2
  407. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +125 -128
  408. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +76 -77
  409. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  410. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +188 -171
  411. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +292 -198
  412. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
  413. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +119 -122
  414. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +79 -69
  415. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +59 -29
  416. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  417. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  418. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +131 -117
  419. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +303 -159
  420. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +56 -59
  421. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  422. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +43 -39
  423. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +27 -19
  424. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  425. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +108 -107
  426. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +70 -59
  427. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +42 -26
  428. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  429. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +59 -54
  430. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +34 -24
  431. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  432. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  433. data/lib/twilio-ruby/rest/trunking/v1.rb +3 -3
  434. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +149 -136
  435. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  436. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  437. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +74 -83
  438. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  439. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  440. data/lib/twilio-ruby/rest/verify.rb +19 -9
  441. data/lib/twilio-ruby/rest/{authy/v1.rb → verify/v2.rb} +26 -25
  442. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
  443. data/lib/twilio-ruby/rest/verify/v2/service.rb +703 -0
  444. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  445. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +72 -43
  446. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +460 -0
  447. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +97 -105
  448. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  449. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  450. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  451. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
  452. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +59 -39
  453. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +408 -0
  454. data/lib/twilio-ruby/rest/video.rb +16 -16
  455. data/lib/twilio-ruby/rest/video/v1.rb +19 -22
  456. data/lib/twilio-ruby/rest/video/v1/composition.rb +125 -134
  457. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +262 -234
  458. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  459. data/lib/twilio-ruby/rest/video/v1/recording.rb +72 -75
  460. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  461. data/lib/twilio-ruby/rest/video/v1/room.rb +114 -84
  462. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +64 -53
  463. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +104 -77
  464. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  465. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  466. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  467. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  468. data/lib/twilio-ruby/rest/voice.rb +40 -4
  469. data/lib/twilio-ruby/rest/voice/v1.rb +69 -5
  470. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  471. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  472. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  473. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  474. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +5 -10
  475. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
  476. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  477. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  478. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  479. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  480. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  481. data/lib/twilio-ruby/rest/wireless/v1.rb +11 -6
  482. data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
  483. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +86 -88
  484. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +189 -161
  485. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +37 -40
  486. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  487. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  488. data/lib/twilio-ruby/security/request_validator.rb +62 -9
  489. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  490. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  491. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  492. data/lib/twilio-ruby/twiml/voice_response.rb +253 -31
  493. data/lib/twilio-ruby/util/configuration.rb +22 -5
  494. data/lib/twilio-ruby/version.rb +1 -1
  495. data/spec/framework/version_spec.rb +219 -0
  496. data/spec/holodeck/holodeck.rb +14 -9
  497. data/spec/http/http_client_spec.rb +2 -2
  498. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  499. data/spec/integration/accounts/v1/credential/aws_spec.rb +1 -5
  500. data/spec/integration/accounts/v1/credential/public_key_spec.rb +1 -5
  501. data/spec/integration/accounts/v1/credential_spec.rb +1 -1
  502. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  503. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +1 -2
  504. data/spec/integration/api/v2010/account/address_spec.rb +5 -5
  505. data/spec/integration/api/v2010/account/application_spec.rb +3 -9
  506. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +1 -3
  507. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +1 -2
  508. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +1 -2
  509. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +1 -2
  510. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +1 -2
  511. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +1 -2
  512. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +1 -2
  513. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +1 -2
  514. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +1 -3
  515. data/spec/integration/api/v2010/account/balance_spec.rb +1 -2
  516. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  517. data/spec/integration/api/v2010/account/call/feedback_spec.rb +1 -2
  518. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +1 -3
  519. data/spec/integration/api/v2010/account/call/notification_spec.rb +9 -47
  520. data/spec/integration/api/v2010/account/call/payment_spec.rb +135 -0
  521. data/spec/integration/api/v2010/account/call/recording_spec.rb +5 -5
  522. data/spec/integration/api/v2010/account/call_spec.rb +403 -57
  523. data/spec/integration/api/v2010/account/conference/participant_spec.rb +439 -21
  524. data/spec/integration/api/v2010/account/conference/recording_spec.rb +1 -4
  525. data/spec/integration/api/v2010/account/conference_spec.rb +560 -23
  526. data/spec/integration/api/v2010/account/connect_app_spec.rb +28 -10
  527. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +1 -3
  528. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +1 -4
  529. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +37 -33
  530. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +41 -37
  531. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +37 -33
  532. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +72 -43
  533. data/spec/integration/api/v2010/account/key_spec.rb +1 -5
  534. data/spec/integration/api/v2010/account/message/feedback_spec.rb +1 -2
  535. data/spec/integration/api/v2010/account/message/media_spec.rb +1 -4
  536. data/spec/integration/api/v2010/account/message_spec.rb +257 -40
  537. data/spec/integration/api/v2010/account/new_key_spec.rb +1 -2
  538. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +1 -2
  539. data/spec/integration/api/v2010/account/notification_spec.rb +4 -40
  540. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +9 -19
  541. data/spec/integration/api/v2010/account/queue/member_spec.rb +54 -15
  542. data/spec/integration/api/v2010/account/queue_spec.rb +17 -15
  543. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +1 -4
  544. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +1 -4
  545. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +1 -4
  546. data/spec/integration/api/v2010/account/recording_spec.rb +1 -4
  547. data/spec/integration/api/v2010/account/short_code_spec.rb +1 -4
  548. data/spec/integration/api/v2010/account/signing_key_spec.rb +1 -5
  549. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +1 -5
  550. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +1 -4
  551. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +1 -4
  552. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +1 -4
  553. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +1 -1
  554. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +1 -4
  555. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +1 -1
  556. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +1 -1
  557. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +1 -4
  558. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +1 -4
  559. data/spec/integration/api/v2010/account/sip/domain_spec.rb +17 -9
  560. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +1 -5
  561. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +1 -4
  562. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  563. data/spec/integration/api/v2010/account/token_spec.rb +24 -11
  564. data/spec/integration/api/v2010/account/transcription_spec.rb +1 -4
  565. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +2 -2
  566. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +2 -2
  567. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +2 -2
  568. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +2 -2
  569. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +2 -2
  570. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +2 -2
  571. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +2 -2
  572. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +2 -2
  573. data/spec/integration/api/v2010/account/usage/record_spec.rb +2 -2
  574. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +4 -8
  575. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  576. data/spec/integration/api/v2010/account/validation_request_spec.rb +2 -2
  577. data/spec/integration/api/v2010/account_spec.rb +68 -16
  578. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +1 -3
  579. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +1 -2
  580. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +5 -8
  581. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +1 -5
  582. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +1 -6
  583. data/spec/integration/autopilot/v1/assistant/query_spec.rb +17 -33
  584. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +1 -3
  585. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +1 -4
  586. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +5 -9
  587. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +1 -3
  588. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +1 -2
  589. data/spec/integration/autopilot/v1/assistant/task_spec.rb +1 -5
  590. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +242 -0
  591. data/spec/integration/autopilot/v1/assistant_spec.rb +17 -10
  592. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +53 -0
  593. data/spec/integration/bulkexports/v1/export/day_spec.rb +115 -0
  594. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +129 -0
  595. data/spec/integration/bulkexports/v1/export/job_spec.rb +78 -0
  596. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +77 -0
  597. data/spec/integration/bulkexports/v1/export_spec.rb +44 -0
  598. data/spec/integration/chat/v1/credential_spec.rb +1 -5
  599. data/spec/integration/chat/v1/service/channel/invite_spec.rb +5 -8
  600. data/spec/integration/chat/v1/service/channel/member_spec.rb +1 -5
  601. data/spec/integration/chat/v1/service/channel/message_spec.rb +1 -5
  602. data/spec/integration/chat/v1/service/channel_spec.rb +1 -6
  603. data/spec/integration/chat/v1/service/role_spec.rb +1 -4
  604. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +1 -2
  605. data/spec/integration/chat/v1/service/user_spec.rb +1 -5
  606. data/spec/integration/chat/v1/service_spec.rb +1 -5
  607. data/spec/integration/chat/v2/credential_spec.rb +1 -5
  608. data/spec/integration/chat/v2/service/binding_spec.rb +1 -4
  609. data/spec/integration/chat/v2/service/channel/invite_spec.rb +5 -8
  610. data/spec/integration/chat/v2/service/channel/member_spec.rb +10 -8
  611. data/spec/integration/chat/v2/service/channel/message_spec.rb +10 -9
  612. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +1 -5
  613. data/spec/integration/chat/v2/service/channel_spec.rb +10 -9
  614. data/spec/integration/chat/v2/service/role_spec.rb +1 -4
  615. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +1 -4
  616. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +63 -8
  617. data/spec/integration/chat/v2/service/user_spec.rb +7 -7
  618. data/spec/integration/chat/v2/service_spec.rb +1 -5
  619. data/spec/integration/{messaging/v1 → conversations/v1/configuration}/webhook_spec.rb +25 -27
  620. data/spec/integration/conversations/v1/configuration_spec.rb +87 -0
  621. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +136 -0
  622. data/spec/integration/conversations/v1/conversation/message_spec.rb +409 -0
  623. data/spec/integration/conversations/v1/conversation/participant_spec.rb +402 -0
  624. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +282 -0
  625. data/spec/integration/conversations/v1/conversation_spec.rb +278 -0
  626. data/spec/integration/conversations/v1/credential_spec.rb +219 -0
  627. data/spec/integration/conversations/v1/role_spec.rb +249 -0
  628. data/spec/integration/conversations/v1/service/binding_spec.rb +166 -0
  629. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +115 -0
  630. data/spec/integration/conversations/v1/service/configuration_spec.rb +89 -0
  631. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +144 -0
  632. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +429 -0
  633. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +427 -0
  634. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +299 -0
  635. data/spec/integration/conversations/v1/service/conversation_spec.rb +289 -0
  636. data/spec/integration/conversations/v1/service/role_spec.rb +260 -0
  637. data/spec/integration/conversations/v1/service/user_spec.rb +241 -0
  638. data/spec/integration/conversations/v1/service_spec.rb +174 -0
  639. data/spec/integration/conversations/v1/user_spec.rb +231 -0
  640. data/spec/integration/events/v1/event_type_spec.rb +133 -0
  641. data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
  642. data/spec/integration/events/v1/schema_spec.rb +46 -0
  643. data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
  644. data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
  645. data/spec/integration/events/v1/sink_spec.rb +231 -0
  646. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +91 -0
  647. data/spec/integration/events/v1/subscription_spec.rb +292 -0
  648. data/spec/integration/fax/v1/fax/fax_media_spec.rb +1 -4
  649. data/spec/integration/fax/v1/fax_spec.rb +5 -9
  650. data/spec/integration/flex_api/v1/channel_spec.rb +188 -0
  651. data/spec/integration/flex_api/v1/configuration_spec.rb +578 -0
  652. data/spec/integration/flex_api/v1/flex_flow_spec.rb +259 -0
  653. data/spec/integration/flex_api/v1/web_channel_spec.rb +216 -0
  654. data/spec/integration/insights/v1/call/event_spec.rb +166 -0
  655. data/spec/integration/insights/v1/call/metric_spec.rb +154 -0
  656. data/spec/integration/insights/v1/{summary_spec.rb → call/summary_spec.rb} +10 -6
  657. data/spec/integration/insights/v1/call_spec.rb +46 -0
  658. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  659. data/spec/integration/insights/v1/room_spec.rb +164 -0
  660. data/spec/integration/ip_messaging/v1/credential_spec.rb +9 -13
  661. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +8 -11
  662. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +10 -14
  663. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +10 -14
  664. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +21 -26
  665. data/spec/integration/ip_messaging/v1/service/role_spec.rb +9 -12
  666. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -8
  667. data/spec/integration/ip_messaging/v1/service/user_spec.rb +13 -17
  668. data/spec/integration/ip_messaging/v1/service_spec.rb +5 -9
  669. data/spec/integration/ip_messaging/v2/credential_spec.rb +9 -13
  670. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +9 -12
  671. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +8 -11
  672. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +18 -16
  673. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +22 -21
  674. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +11 -15
  675. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +34 -33
  676. data/spec/integration/ip_messaging/v2/service/role_spec.rb +9 -12
  677. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +7 -10
  678. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +76 -21
  679. data/spec/integration/ip_messaging/v2/service/user_spec.rb +23 -23
  680. data/spec/integration/ip_messaging/v2/service_spec.rb +25 -29
  681. data/spec/integration/lookups/v1/phone_number_spec.rb +279 -14
  682. data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
  683. data/spec/integration/messaging/v1/campaign_spec.rb +194 -0
  684. data/spec/integration/messaging/v1/deactivation_spec.rb +40 -0
  685. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +10 -7
  686. data/spec/integration/messaging/v1/service/phone_number_spec.rb +1 -4
  687. data/spec/integration/messaging/v1/service/short_code_spec.rb +10 -7
  688. data/spec/integration/messaging/v1/service_spec.rb +1 -5
  689. data/spec/integration/messaging/v1/use_case_spec.rb +55 -0
  690. data/spec/integration/monitor/v1/alert_spec.rb +12 -37
  691. data/spec/integration/monitor/v1/event_spec.rb +1 -3
  692. data/spec/integration/notify/v1/credential_spec.rb +1 -5
  693. data/spec/integration/notify/v1/service/binding_spec.rb +5 -8
  694. data/spec/integration/notify/v1/service/notification_spec.rb +1 -2
  695. data/spec/integration/notify/v1/service_spec.rb +9 -6
  696. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +620 -0
  697. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +195 -0
  698. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +258 -0
  699. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +238 -0
  700. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +141 -0
  701. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +181 -0
  702. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +250 -0
  703. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +131 -0
  704. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
  705. data/spec/integration/preview/bulk_exports/export/day_spec.rb +67 -10
  706. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +129 -0
  707. data/spec/integration/preview/bulk_exports/export/job_spec.rb +78 -0
  708. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +1 -3
  709. data/spec/integration/preview/bulk_exports/export_spec.rb +1 -2
  710. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +1 -5
  711. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +1 -6
  712. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +1 -6
  713. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +1 -6
  714. data/spec/integration/preview/deployed_devices/fleet_spec.rb +1 -6
  715. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +3 -4
  716. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +3 -6
  717. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +3 -7
  718. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +1 -3
  719. data/spec/integration/preview/marketplace/available_add_on_spec.rb +1 -3
  720. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +1 -3
  721. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +1 -5
  722. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +1 -4
  723. data/spec/integration/preview/sync/service/document_spec.rb +4 -6
  724. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +11 -10
  725. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +1 -4
  726. data/spec/integration/preview/sync/service/sync_list_spec.rb +1 -5
  727. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +11 -10
  728. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +1 -4
  729. data/spec/integration/preview/sync/service/sync_map_spec.rb +1 -5
  730. data/spec/integration/preview/sync/service_spec.rb +1 -6
  731. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +50 -0
  732. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +47 -0
  733. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +45 -0
  734. data/spec/integration/preview/trusted_comms/cps_spec.rb +44 -0
  735. data/spec/integration/preview/trusted_comms/current_call_spec.rb +58 -0
  736. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +1 -3
  737. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +1 -3
  738. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +1 -2
  739. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +5 -8
  740. data/spec/integration/preview/understand/assistant/field_type_spec.rb +1 -5
  741. data/spec/integration/preview/understand/assistant/model_build_spec.rb +1 -6
  742. data/spec/integration/preview/understand/assistant/query_spec.rb +5 -9
  743. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +1 -3
  744. data/spec/integration/preview/understand/assistant/task/field_spec.rb +1 -4
  745. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +5 -9
  746. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +1 -3
  747. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +1 -2
  748. data/spec/integration/preview/understand/assistant/task_spec.rb +1 -5
  749. data/spec/integration/preview/understand/assistant_spec.rb +1 -6
  750. data/spec/integration/preview/wireless/command_spec.rb +5 -7
  751. data/spec/integration/preview/wireless/rate_plan_spec.rb +1 -6
  752. data/spec/integration/preview/wireless/sim/usage_spec.rb +1 -2
  753. data/spec/integration/preview/wireless/sim_spec.rb +5 -8
  754. data/spec/integration/pricing/v1/messaging/country_spec.rb +1 -3
  755. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  756. data/spec/integration/pricing/v1/phone_number/country_spec.rb +1 -3
  757. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  758. data/spec/integration/pricing/v1/voice/country_spec.rb +1 -3
  759. data/spec/integration/pricing/v1/voice/number_spec.rb +2 -3
  760. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  761. data/spec/integration/pricing/v2/voice/country_spec.rb +1 -3
  762. data/spec/integration/pricing/v2/voice/number_spec.rb +2 -3
  763. data/spec/integration/pricing/v2/voice_spec.rb +1 -1
  764. data/spec/integration/proxy/v1/service/phone_number_spec.rb +9 -10
  765. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +1 -4
  766. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +1 -4
  767. data/spec/integration/proxy/v1/service/session/participant_spec.rb +1 -4
  768. data/spec/integration/proxy/v1/service/session_spec.rb +1 -6
  769. data/spec/integration/proxy/v1/service/short_code_spec.rb +1 -5
  770. data/spec/integration/proxy/v1/service_spec.rb +1 -5
  771. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +93 -0
  772. data/spec/integration/serverless/v1/service/asset_spec.rb +202 -0
  773. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +48 -0
  774. data/spec/integration/serverless/v1/service/build_spec.rb +224 -0
  775. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +133 -0
  776. data/spec/integration/serverless/v1/service/environment/log_spec.rb +97 -0
  777. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +207 -0
  778. data/spec/integration/serverless/v1/service/environment_spec.rb +170 -0
  779. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +51 -0
  780. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +96 -0
  781. data/spec/integration/serverless/v1/service/function_spec.rb +202 -0
  782. data/spec/integration/serverless/v1/service_spec.rb +205 -0
  783. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +1 -2
  784. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +1 -2
  785. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +1 -3
  786. data/spec/integration/studio/v1/flow/engagement_spec.rb +1 -4
  787. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +1 -2
  788. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +1 -2
  789. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +2 -3
  790. data/spec/integration/studio/v1/flow/execution_spec.rb +47 -4
  791. data/spec/integration/studio/v1/flow_spec.rb +1 -4
  792. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +50 -0
  793. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
  794. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +100 -0
  795. data/spec/integration/studio/v2/flow/execution_spec.rb +211 -0
  796. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +110 -0
  797. data/spec/integration/studio/v2/flow/test_user_spec.rb +85 -0
  798. data/spec/integration/studio/v2/flow_spec.rb +251 -0
  799. data/spec/integration/studio/v2/flow_validate_spec.rb +46 -0
  800. data/spec/integration/supersim/v1/command_spec.rb +184 -0
  801. data/spec/integration/supersim/v1/fleet_spec.rb +222 -0
  802. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +176 -0
  803. data/spec/integration/supersim/v1/network_access_profile_spec.rb +219 -0
  804. data/spec/integration/supersim/v1/network_spec.rb +137 -0
  805. data/spec/integration/supersim/v1/sim_spec.rb +323 -0
  806. data/spec/integration/supersim/v1/usage_record_spec.rb +647 -0
  807. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +1 -4
  808. data/spec/integration/sync/v1/service/document_spec.rb +4 -7
  809. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +11 -11
  810. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +1 -4
  811. data/spec/integration/sync/v1/service/sync_list_spec.rb +1 -6
  812. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +11 -11
  813. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +1 -4
  814. data/spec/integration/sync/v1/service/sync_map_spec.rb +1 -6
  815. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +1 -1
  816. data/spec/integration/sync/v1/service/sync_stream_spec.rb +1 -6
  817. data/spec/integration/sync/v1/service_spec.rb +17 -10
  818. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +1 -5
  819. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +11 -7
  820. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +1 -4
  821. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +7 -5
  822. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +7 -2
  823. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +4 -2
  824. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +2 -3
  825. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +6 -7
  826. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +5 -9
  827. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +11 -12
  828. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +1 -4
  829. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +2 -5
  830. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +1 -2
  831. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +1 -2
  832. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +1 -2
  833. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +1 -2
  834. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +5 -9
  835. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +1 -2
  836. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +2 -2
  837. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +2 -3
  838. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +5 -11
  839. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +1 -2
  840. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +2 -2
  841. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +2 -3
  842. data/spec/integration/taskrouter/v1/workspace_spec.rb +5 -9
  843. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +14 -17
  844. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +24 -27
  845. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +29 -33
  846. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +18 -21
  847. data/spec/integration/trunking/v1/trunk/recording_spec.rb +75 -0
  848. data/spec/integration/trunking/v1/trunk_spec.rb +38 -119
  849. data/spec/integration/{authy/v1 → verify/v2}/form_spec.rb +6 -7
  850. data/spec/integration/verify/v2/service/access_token_spec.rb +44 -0
  851. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +288 -0
  852. data/spec/integration/verify/v2/service/entity/factor_spec.rb +277 -0
  853. data/spec/integration/verify/v2/service/entity_spec.rb +201 -0
  854. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +228 -0
  855. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +245 -0
  856. data/spec/integration/verify/v2/service/rate_limit_spec.rb +217 -0
  857. data/spec/integration/verify/{v1 → v2}/service/verification_check_spec.rb +34 -6
  858. data/spec/integration/verify/v2/service/verification_spec.rb +318 -0
  859. data/spec/integration/verify/v2/service/webhook_spec.rb +258 -0
  860. data/spec/integration/verify/v2/service_spec.rb +279 -0
  861. data/spec/integration/video/v1/composition_hook_spec.rb +5 -8
  862. data/spec/integration/video/v1/composition_settings_spec.rb +3 -4
  863. data/spec/integration/video/v1/composition_spec.rb +33 -11
  864. data/spec/integration/video/v1/recording_settings_spec.rb +3 -4
  865. data/spec/integration/video/v1/recording_spec.rb +7 -10
  866. data/spec/integration/video/v1/room/recording_spec.rb +5 -8
  867. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +1 -3
  868. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +103 -0
  869. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +32 -71
  870. data/spec/integration/video/v1/room/room_participant_spec.rb +9 -9
  871. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  872. data/spec/integration/video/v1/room_spec.rb +54 -10
  873. data/spec/integration/voice/v1/byoc_trunk_spec.rb +245 -0
  874. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +242 -0
  875. data/spec/integration/voice/v1/connection_policy_spec.rb +221 -0
  876. data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update_spec.rb +3 -3
  877. data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix_spec.rb +4 -5
  878. data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/country_spec.rb +7 -9
  879. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +75 -0
  880. data/spec/integration/voice/v1/{voice_permission_spec.rb → dialing_permissions_spec.rb} +2 -2
  881. data/spec/integration/voice/v1/ip_record_spec.rb +219 -0
  882. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +216 -0
  883. data/spec/integration/wireless/v1/command_spec.rb +7 -10
  884. data/spec/integration/wireless/v1/rate_plan_spec.rb +25 -18
  885. data/spec/integration/wireless/v1/sim/data_session_spec.rb +5 -4
  886. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +54 -7
  887. data/spec/integration/wireless/v1/sim_spec.rb +92 -9
  888. data/spec/integration/wireless/v1/usage_record_spec.rb +110 -0
  889. data/spec/jwt/access_token_spec.rb +9 -1
  890. data/spec/rest/client_spec.rb +200 -6
  891. data/spec/security/request_validator_spec.rb +41 -0
  892. data/spec/spec_helper.rb +1 -1
  893. data/spec/twilio_spec.rb +3 -1
  894. data/spec/twiml/voice_response_spec.rb +1 -1
  895. data/spec/util/configuration_spec.rb +18 -0
  896. data/twilio-ruby.gemspec +11 -5
  897. metadata +490 -74
  898. data/lib/twilio-ruby/rest/authy.rb +0 -55
  899. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
  900. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
  901. data/lib/twilio-ruby/rest/messaging/v1/webhook.rb +0 -285
  902. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  903. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  904. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  905. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
  906. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
  907. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  908. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  909. data/spec/integration/authy/v1/service_spec.rb +0 -227
  910. data/spec/integration/messaging/v1/session/message_spec.rb +0 -238
  911. data/spec/integration/messaging/v1/session/participant_spec.rb +0 -256
  912. data/spec/integration/messaging/v1/session_spec.rb +0 -223
  913. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  914. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  915. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  916. data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
  917. data/spec/integration/verify/v1/service_spec.rb +0 -227
@@ -3,7 +3,7 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
@@ -29,7 +29,8 @@ module Twilio
29
29
  end
30
30
 
31
31
  ##
32
- # @param [String] sid The sid
32
+ # @param [String] sid The unique string that we created to identify the Service
33
+ # resource.
33
34
  # @return [Twilio::REST::Sync::V1::ServiceInstance] if sid was passed.
34
35
  # @return [Twilio::REST::Sync::V1::ServiceList]
35
36
  def services(sid=:unset)
@@ -3,7 +3,7 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
@@ -19,7 +19,7 @@ module Twilio
19
19
  end
20
20
 
21
21
  ##
22
- # @param [String] sid The sid
22
+ # @param [String] sid The SID of the Service resource to fetch.
23
23
  # @return [Twilio::REST::Sync::V1::ServiceContext] if sid was passed.
24
24
  # @return [Twilio::REST::Sync::V1::ServiceList]
25
25
  def services(sid=:unset)
@@ -3,15 +3,13 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
10
10
  module REST
11
11
  class Sync < Domain
12
12
  class V1 < Version
13
- ##
14
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
13
  class ServiceList < ListResource
16
14
  ##
17
15
  # Initialize the ServiceList
@@ -26,32 +24,44 @@ module Twilio
26
24
  end
27
25
 
28
26
  ##
29
- # Retrieve a single page of ServiceInstance records from the API.
30
- # Request is executed immediately.
31
- # @param [String] friendly_name Human-readable name for this service instance
32
- # @param [String] webhook_url A URL that will receive event updates when objects
33
- # are manipulated.
34
- # @param [Boolean] reachability_webhooks_enabled `true` or `false` - controls
35
- # whether this instance fires webhooks when client endpoints connect to Sync
36
- # Defaults to false.
37
- # @param [Boolean] acl_enabled `true` or `false` - determines whether token
38
- # identities must be granted access to Sync objects via the [Permissions
39
- # API](https://www.twilio.com/docs/api/sync/rest/sync-rest-api-permissions) in
40
- # this Service.
41
- # @return [ServiceInstance] Newly created ServiceInstance
42
- def create(friendly_name: :unset, webhook_url: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset)
27
+ # Create the ServiceInstance
28
+ # @param [String] friendly_name A string that you assign to describe the resource.
29
+ # @param [String] webhook_url The URL we should call when Sync objects are
30
+ # manipulated.
31
+ # @param [Boolean] reachability_webhooks_enabled Whether the service instance
32
+ # should call `webhook_url` when client endpoints connect to Sync. The default is
33
+ # `false`.
34
+ # @param [Boolean] acl_enabled Whether token identities in the Service must be
35
+ # granted access to Sync objects by using the
36
+ # {Permissions}[https://www.twilio.com/docs/sync/api/sync-permissions] resource.
37
+ # @param [Boolean] reachability_debouncing_enabled Whether every
38
+ # `endpoint_disconnected` event should occur after a configurable delay. The
39
+ # default is `false`, where the `endpoint_disconnected` event occurs immediately
40
+ # after disconnection. When `true`, intervening reconnections can prevent the
41
+ # `endpoint_disconnected` event.
42
+ # @param [String] reachability_debouncing_window The reachability event delay in
43
+ # milliseconds if `reachability_debouncing_enabled` = `true`. Must be between
44
+ # 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after
45
+ # the last running client disconnects, and a Sync identity is declared offline,
46
+ # before the `webhook_url` is called if all endpoints remain offline. A
47
+ # reconnection from the same identity by any endpoint during this interval
48
+ # prevents the call to `webhook_url`.
49
+ # @param [Boolean] webhooks_from_rest_enabled Whether the Service instance should
50
+ # call `webhook_url` when the REST API is used to update Sync objects. The default
51
+ # is `false`.
52
+ # @return [ServiceInstance] Created ServiceInstance
53
+ def create(friendly_name: :unset, webhook_url: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset)
43
54
  data = Twilio::Values.of({
44
55
  'FriendlyName' => friendly_name,
45
56
  'WebhookUrl' => webhook_url,
46
57
  'ReachabilityWebhooksEnabled' => reachability_webhooks_enabled,
47
58
  'AclEnabled' => acl_enabled,
59
+ 'ReachabilityDebouncingEnabled' => reachability_debouncing_enabled,
60
+ 'ReachabilityDebouncingWindow' => reachability_debouncing_window,
61
+ 'WebhooksFromRestEnabled' => webhooks_from_rest_enabled,
48
62
  })
49
63
 
50
- payload = @version.create(
51
- 'POST',
52
- @uri,
53
- data: data
54
- )
64
+ payload = @version.create('POST', @uri, data: data)
55
65
 
56
66
  ServiceInstance.new(@version, payload, )
57
67
  end
@@ -117,11 +127,9 @@ module Twilio
117
127
  'Page' => page_number,
118
128
  'PageSize' => page_size,
119
129
  })
120
- response = @version.page(
121
- 'GET',
122
- @uri,
123
- params
124
- )
130
+
131
+ response = @version.page('GET', @uri, params: params)
132
+
125
133
  ServicePage.new(@version, response, @solution)
126
134
  end
127
135
 
@@ -145,8 +153,6 @@ module Twilio
145
153
  end
146
154
  end
147
155
 
148
- ##
149
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
150
156
  class ServicePage < Page
151
157
  ##
152
158
  # Initialize the ServicePage
@@ -176,13 +182,11 @@ module Twilio
176
182
  end
177
183
  end
178
184
 
179
- ##
180
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
181
185
  class ServiceContext < InstanceContext
182
186
  ##
183
187
  # Initialize the ServiceContext
184
188
  # @param [Version] version Version that contains the resource
185
- # @param [String] sid The sid
189
+ # @param [String] sid The SID of the Service resource to fetch.
186
190
  # @return [ServiceContext] ServiceContext
187
191
  def initialize(version, sid)
188
192
  super(version)
@@ -199,53 +203,60 @@ module Twilio
199
203
  end
200
204
 
201
205
  ##
202
- # Fetch a ServiceInstance
206
+ # Fetch the ServiceInstance
203
207
  # @return [ServiceInstance] Fetched ServiceInstance
204
208
  def fetch
205
- params = Twilio::Values.of({})
206
-
207
- payload = @version.fetch(
208
- 'GET',
209
- @uri,
210
- params,
211
- )
209
+ payload = @version.fetch('GET', @uri)
212
210
 
213
211
  ServiceInstance.new(@version, payload, sid: @solution[:sid], )
214
212
  end
215
213
 
216
214
  ##
217
- # Deletes the ServiceInstance
218
- # @return [Boolean] true if delete succeeds, true otherwise
215
+ # Delete the ServiceInstance
216
+ # @return [Boolean] true if delete succeeds, false otherwise
219
217
  def delete
220
- @version.delete('delete', @uri)
218
+ @version.delete('DELETE', @uri)
221
219
  end
222
220
 
223
221
  ##
224
222
  # Update the ServiceInstance
225
- # @param [String] webhook_url A URL that will receive event updates when objects
226
- # are manipulated.
227
- # @param [String] friendly_name Human-readable name for this service instance
228
- # @param [Boolean] reachability_webhooks_enabled True or false - controls whether
229
- # this instance fires webhooks when client endpoints connect to Sync Defaults to
230
- # false.
231
- # @param [Boolean] acl_enabled `true` or `false` - determines whether token
232
- # identities must be granted access to Sync objects via the [Permissions
233
- # API](https://www.twilio.com/docs/api/sync/rest/sync-rest-api-permissions) in
234
- # this Service.
223
+ # @param [String] webhook_url The URL we should call when Sync objects are
224
+ # manipulated.
225
+ # @param [String] friendly_name A string that you assign to describe the resource.
226
+ # @param [Boolean] reachability_webhooks_enabled Whether the service instance
227
+ # should call `webhook_url` when client endpoints connect to Sync. The default is
228
+ # `false`.
229
+ # @param [Boolean] acl_enabled Whether token identities in the Service must be
230
+ # granted access to Sync objects by using the
231
+ # {Permissions}[https://www.twilio.com/docs/sync/api/sync-permissions] resource.
232
+ # @param [Boolean] reachability_debouncing_enabled Whether every
233
+ # `endpoint_disconnected` event should occur after a configurable delay. The
234
+ # default is `false`, where the `endpoint_disconnected` event occurs immediately
235
+ # after disconnection. When `true`, intervening reconnections can prevent the
236
+ # `endpoint_disconnected` event.
237
+ # @param [String] reachability_debouncing_window The reachability event delay in
238
+ # milliseconds if `reachability_debouncing_enabled` = `true`. Must be between
239
+ # 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after
240
+ # the last running client disconnects, and a Sync identity is declared offline,
241
+ # before the webhook is called if all endpoints remain offline. A reconnection
242
+ # from the same identity by any endpoint during this interval prevents the webhook
243
+ # from being called.
244
+ # @param [Boolean] webhooks_from_rest_enabled Whether the Service instance should
245
+ # call `webhook_url` when the REST API is used to update Sync objects. The default
246
+ # is `false`.
235
247
  # @return [ServiceInstance] Updated ServiceInstance
236
- def update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset)
248
+ def update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset)
237
249
  data = Twilio::Values.of({
238
250
  'WebhookUrl' => webhook_url,
239
251
  'FriendlyName' => friendly_name,
240
252
  'ReachabilityWebhooksEnabled' => reachability_webhooks_enabled,
241
253
  'AclEnabled' => acl_enabled,
254
+ 'ReachabilityDebouncingEnabled' => reachability_debouncing_enabled,
255
+ 'ReachabilityDebouncingWindow' => reachability_debouncing_window,
256
+ 'WebhooksFromRestEnabled' => webhooks_from_rest_enabled,
242
257
  })
243
258
 
244
- payload = @version.update(
245
- 'POST',
246
- @uri,
247
- data: data,
248
- )
259
+ payload = @version.update('POST', @uri, data: data)
249
260
 
250
261
  ServiceInstance.new(@version, payload, sid: @solution[:sid], )
251
262
  end
@@ -328,16 +339,21 @@ module Twilio
328
339
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
329
340
  "#<Twilio.Sync.V1.ServiceContext #{context}>"
330
341
  end
342
+
343
+ ##
344
+ # Provide a detailed, user friendly representation
345
+ def inspect
346
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
347
+ "#<Twilio.Sync.V1.ServiceContext #{context}>"
348
+ end
331
349
  end
332
350
 
333
- ##
334
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
335
351
  class ServiceInstance < InstanceResource
336
352
  ##
337
353
  # Initialize the ServiceInstance
338
354
  # @param [Version] version Version that contains the resource
339
355
  # @param [Hash] payload payload that contains response from Twilio
340
- # @param [String] sid The sid
356
+ # @param [String] sid The SID of the Service resource to fetch.
341
357
  # @return [ServiceInstance] ServiceInstance
342
358
  def initialize(version, payload, sid: nil)
343
359
  super(version)
@@ -352,8 +368,11 @@ module Twilio
352
368
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
353
369
  'url' => payload['url'],
354
370
  'webhook_url' => payload['webhook_url'],
371
+ 'webhooks_from_rest_enabled' => payload['webhooks_from_rest_enabled'],
355
372
  'reachability_webhooks_enabled' => payload['reachability_webhooks_enabled'],
356
373
  'acl_enabled' => payload['acl_enabled'],
374
+ 'reachability_debouncing_enabled' => payload['reachability_debouncing_enabled'],
375
+ 'reachability_debouncing_window' => payload['reachability_debouncing_window'].to_i,
357
376
  'links' => payload['links'],
358
377
  }
359
378
 
@@ -374,104 +393,139 @@ module Twilio
374
393
  end
375
394
 
376
395
  ##
377
- # @return [String] The sid
396
+ # @return [String] The unique string that identifies the resource
378
397
  def sid
379
398
  @properties['sid']
380
399
  end
381
400
 
382
401
  ##
383
- # @return [String] The unique_name
402
+ # @return [String] An application-defined string that uniquely identifies the resource
384
403
  def unique_name
385
404
  @properties['unique_name']
386
405
  end
387
406
 
388
407
  ##
389
- # @return [String] The account_sid
408
+ # @return [String] The SID of the Account that created the resource
390
409
  def account_sid
391
410
  @properties['account_sid']
392
411
  end
393
412
 
394
413
  ##
395
- # @return [String] Human-readable name for this service instance
414
+ # @return [String] The string that you assigned to describe the resource
396
415
  def friendly_name
397
416
  @properties['friendly_name']
398
417
  end
399
418
 
400
419
  ##
401
- # @return [Time] The date_created
420
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
402
421
  def date_created
403
422
  @properties['date_created']
404
423
  end
405
424
 
406
425
  ##
407
- # @return [Time] The date_updated
426
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
408
427
  def date_updated
409
428
  @properties['date_updated']
410
429
  end
411
430
 
412
431
  ##
413
- # @return [String] The url
432
+ # @return [String] The absolute URL of the Service resource
414
433
  def url
415
434
  @properties['url']
416
435
  end
417
436
 
418
437
  ##
419
- # @return [String] A URL that will receive event updates when objects are manipulated.
438
+ # @return [String] The URL we call when Sync objects are manipulated
420
439
  def webhook_url
421
440
  @properties['webhook_url']
422
441
  end
423
442
 
424
443
  ##
425
- # @return [Boolean] true or false - controls whether this instance fires webhooks when client endpoints connect to Sync
444
+ # @return [Boolean] Whether the Service instance should call webhook_url when the REST API is used to update Sync objects
445
+ def webhooks_from_rest_enabled
446
+ @properties['webhooks_from_rest_enabled']
447
+ end
448
+
449
+ ##
450
+ # @return [Boolean] Whether the service instance calls webhook_url when client endpoints connect to Sync
426
451
  def reachability_webhooks_enabled
427
452
  @properties['reachability_webhooks_enabled']
428
453
  end
429
454
 
430
455
  ##
431
- # @return [Boolean] true or false - determines whether token identities must be granted access to Sync objects via the Permissions API in this Service.
456
+ # @return [Boolean] Whether token identities in the Service must be granted access to Sync objects by using the Permissions resource
432
457
  def acl_enabled
433
458
  @properties['acl_enabled']
434
459
  end
435
460
 
436
461
  ##
437
- # @return [String] The links
462
+ # @return [Boolean] Whether every endpoint_disconnected event occurs after a configurable delay
463
+ def reachability_debouncing_enabled
464
+ @properties['reachability_debouncing_enabled']
465
+ end
466
+
467
+ ##
468
+ # @return [String] The reachability event delay in milliseconds
469
+ def reachability_debouncing_window
470
+ @properties['reachability_debouncing_window']
471
+ end
472
+
473
+ ##
474
+ # @return [String] The URLs of related resources
438
475
  def links
439
476
  @properties['links']
440
477
  end
441
478
 
442
479
  ##
443
- # Fetch a ServiceInstance
480
+ # Fetch the ServiceInstance
444
481
  # @return [ServiceInstance] Fetched ServiceInstance
445
482
  def fetch
446
483
  context.fetch
447
484
  end
448
485
 
449
486
  ##
450
- # Deletes the ServiceInstance
451
- # @return [Boolean] true if delete succeeds, true otherwise
487
+ # Delete the ServiceInstance
488
+ # @return [Boolean] true if delete succeeds, false otherwise
452
489
  def delete
453
490
  context.delete
454
491
  end
455
492
 
456
493
  ##
457
494
  # Update the ServiceInstance
458
- # @param [String] webhook_url A URL that will receive event updates when objects
459
- # are manipulated.
460
- # @param [String] friendly_name Human-readable name for this service instance
461
- # @param [Boolean] reachability_webhooks_enabled True or false - controls whether
462
- # this instance fires webhooks when client endpoints connect to Sync Defaults to
463
- # false.
464
- # @param [Boolean] acl_enabled `true` or `false` - determines whether token
465
- # identities must be granted access to Sync objects via the [Permissions
466
- # API](https://www.twilio.com/docs/api/sync/rest/sync-rest-api-permissions) in
467
- # this Service.
495
+ # @param [String] webhook_url The URL we should call when Sync objects are
496
+ # manipulated.
497
+ # @param [String] friendly_name A string that you assign to describe the resource.
498
+ # @param [Boolean] reachability_webhooks_enabled Whether the service instance
499
+ # should call `webhook_url` when client endpoints connect to Sync. The default is
500
+ # `false`.
501
+ # @param [Boolean] acl_enabled Whether token identities in the Service must be
502
+ # granted access to Sync objects by using the
503
+ # {Permissions}[https://www.twilio.com/docs/sync/api/sync-permissions] resource.
504
+ # @param [Boolean] reachability_debouncing_enabled Whether every
505
+ # `endpoint_disconnected` event should occur after a configurable delay. The
506
+ # default is `false`, where the `endpoint_disconnected` event occurs immediately
507
+ # after disconnection. When `true`, intervening reconnections can prevent the
508
+ # `endpoint_disconnected` event.
509
+ # @param [String] reachability_debouncing_window The reachability event delay in
510
+ # milliseconds if `reachability_debouncing_enabled` = `true`. Must be between
511
+ # 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after
512
+ # the last running client disconnects, and a Sync identity is declared offline,
513
+ # before the webhook is called if all endpoints remain offline. A reconnection
514
+ # from the same identity by any endpoint during this interval prevents the webhook
515
+ # from being called.
516
+ # @param [Boolean] webhooks_from_rest_enabled Whether the Service instance should
517
+ # call `webhook_url` when the REST API is used to update Sync objects. The default
518
+ # is `false`.
468
519
  # @return [ServiceInstance] Updated ServiceInstance
469
- def update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset)
520
+ def update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset)
470
521
  context.update(
471
522
  webhook_url: webhook_url,
472
523
  friendly_name: friendly_name,
473
524
  reachability_webhooks_enabled: reachability_webhooks_enabled,
474
525
  acl_enabled: acl_enabled,
526
+ reachability_debouncing_enabled: reachability_debouncing_enabled,
527
+ reachability_debouncing_window: reachability_debouncing_window,
528
+ webhooks_from_rest_enabled: webhooks_from_rest_enabled,
475
529
  )
476
530
  end
477
531
 
@@ -3,7 +3,7 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
@@ -11,14 +11,13 @@ module Twilio
11
11
  class Sync < Domain
12
12
  class V1 < Version
13
13
  class ServiceContext < InstanceContext
14
- ##
15
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
14
  class DocumentList < ListResource
17
15
  ##
18
16
  # Initialize the DocumentList
19
17
  # @param [Version] version Version that contains the resource
20
- # @param [String] service_sid The unique SID identifier of the Service Instance
21
- # that hosts this Document.
18
+ # @param [String] service_sid The SID of the {Sync
19
+ # Service}[https://www.twilio.com/docs/sync/api/service] the resource is
20
+ # associated with.
22
21
  # @return [DocumentList] DocumentList
23
22
  def initialize(version, service_sid: nil)
24
23
  super(version)
@@ -29,13 +28,18 @@ module Twilio
29
28
  end
30
29
 
31
30
  ##
32
- # Retrieve a single page of DocumentInstance records from the API.
33
- # Request is executed immediately.
34
- # @param [String] unique_name Human-readable name for this document
35
- # @param [Hash] data JSON data to be stored in this document
36
- # @param [String] ttl Time-to-live of this Document in seconds, defaults to no
37
- # expiration. In the range [1, 31 536 000 (1 year)], or 0 for infinity.
38
- # @return [DocumentInstance] Newly created DocumentInstance
31
+ # Create the DocumentInstance
32
+ # @param [String] unique_name An application-defined string that uniquely
33
+ # identifies the Sync Document
34
+ # @param [Hash] data A JSON string that represents an arbitrary, schema-less
35
+ # object that the Sync Document stores. Can be up to 16 KiB in length.
36
+ # @param [String] ttl How long, in seconds, before the Sync Document expires and
37
+ # is deleted (the Sync Document's time-to-live). Can be an integer from 0 to
38
+ # 31,536,000 (1 year). The default value is `0`, which means the Sync Document
39
+ # does not expire. The Sync Document will be deleted automatically after it
40
+ # expires, but there can be a delay between the expiration time and the
41
+ # resources's deletion.
42
+ # @return [DocumentInstance] Created DocumentInstance
39
43
  def create(unique_name: :unset, data: :unset, ttl: :unset)
40
44
  data = Twilio::Values.of({
41
45
  'UniqueName' => unique_name,
@@ -43,11 +47,7 @@ module Twilio
43
47
  'Ttl' => ttl,
44
48
  })
45
49
 
46
- payload = @version.create(
47
- 'POST',
48
- @uri,
49
- data: data
50
- )
50
+ payload = @version.create('POST', @uri, data: data)
51
51
 
52
52
  DocumentInstance.new(@version, payload, service_sid: @solution[:service_sid], )
53
53
  end
@@ -113,11 +113,9 @@ module Twilio
113
113
  'Page' => page_number,
114
114
  'PageSize' => page_size,
115
115
  })
116
- response = @version.page(
117
- 'GET',
118
- @uri,
119
- params
120
- )
116
+
117
+ response = @version.page('GET', @uri, params: params)
118
+
121
119
  DocumentPage.new(@version, response, @solution)
122
120
  end
123
121
 
@@ -141,8 +139,6 @@ module Twilio
141
139
  end
142
140
  end
143
141
 
144
- ##
145
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
146
142
  class DocumentPage < Page
147
143
  ##
148
144
  # Initialize the DocumentPage
@@ -172,14 +168,15 @@ module Twilio
172
168
  end
173
169
  end
174
170
 
175
- ##
176
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
177
171
  class DocumentContext < InstanceContext
178
172
  ##
179
173
  # Initialize the DocumentContext
180
174
  # @param [Version] version Version that contains the resource
181
- # @param [String] service_sid The service_sid
182
- # @param [String] sid The sid
175
+ # @param [String] service_sid The SID of the {Sync
176
+ # Service}[https://www.twilio.com/docs/sync/api/service] with the Document
177
+ # resource to fetch.
178
+ # @param [String] sid The SID of the Document resource to fetch. Can be the
179
+ # Document resource's `sid` or its `unique_name`.
183
180
  # @return [DocumentContext] DocumentContext
184
181
  def initialize(version, service_sid, sid)
185
182
  super(version)
@@ -193,42 +190,37 @@ module Twilio
193
190
  end
194
191
 
195
192
  ##
196
- # Fetch a DocumentInstance
193
+ # Fetch the DocumentInstance
197
194
  # @return [DocumentInstance] Fetched DocumentInstance
198
195
  def fetch
199
- params = Twilio::Values.of({})
200
-
201
- payload = @version.fetch(
202
- 'GET',
203
- @uri,
204
- params,
205
- )
196
+ payload = @version.fetch('GET', @uri)
206
197
 
207
198
  DocumentInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
208
199
  end
209
200
 
210
201
  ##
211
- # Deletes the DocumentInstance
212
- # @return [Boolean] true if delete succeeds, true otherwise
202
+ # Delete the DocumentInstance
203
+ # @return [Boolean] true if delete succeeds, false otherwise
213
204
  def delete
214
- @version.delete('delete', @uri)
205
+ @version.delete('DELETE', @uri)
215
206
  end
216
207
 
217
208
  ##
218
209
  # Update the DocumentInstance
219
- # @param [Hash] data Contains an arbitrary JSON object to be stored in this
220
- # Document. Serialized to string to respect HTTP form input, up to 16KB.
221
- # @param [String] ttl New time-to-live of this Document in seconds. In the range
222
- # [1, 31 536 000 (1 year)], or 0 for infinity.
210
+ # @param [Hash] data A JSON string that represents an arbitrary, schema-less
211
+ # object that the Sync Document stores. Can be up to 16 KiB in length.
212
+ # @param [String] ttl How long, in seconds, before the Sync Document expires and
213
+ # is deleted (time-to-live). Can be an integer from 0 to 31,536,000 (1 year). The
214
+ # default value is `0`, which means the Document resource does not expire. The
215
+ # Document resource will be deleted automatically after it expires, but there can
216
+ # be a delay between the expiration time and the resources's deletion.
217
+ # @param [String] if_match The If-Match HTTP request header
223
218
  # @return [DocumentInstance] Updated DocumentInstance
224
- def update(data: :unset, ttl: :unset)
219
+ def update(data: :unset, ttl: :unset, if_match: :unset)
225
220
  data = Twilio::Values.of({'Data' => Twilio.serialize_object(data), 'Ttl' => ttl, })
221
+ headers = Twilio::Values.of({'If-Match' => if_match, })
226
222
 
227
- payload = @version.update(
228
- 'POST',
229
- @uri,
230
- data: data,
231
- )
223
+ payload = @version.update('POST', @uri, data: data, headers: headers)
232
224
 
233
225
  DocumentInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
234
226
  end
@@ -261,18 +253,25 @@ module Twilio
261
253
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
262
254
  "#<Twilio.Sync.V1.DocumentContext #{context}>"
263
255
  end
256
+
257
+ ##
258
+ # Provide a detailed, user friendly representation
259
+ def inspect
260
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
261
+ "#<Twilio.Sync.V1.DocumentContext #{context}>"
262
+ end
264
263
  end
265
264
 
266
- ##
267
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
268
265
  class DocumentInstance < InstanceResource
269
266
  ##
270
267
  # Initialize the DocumentInstance
271
268
  # @param [Version] version Version that contains the resource
272
269
  # @param [Hash] payload payload that contains response from Twilio
273
- # @param [String] service_sid The unique SID identifier of the Service Instance
274
- # that hosts this Document.
275
- # @param [String] sid The sid
270
+ # @param [String] service_sid The SID of the {Sync
271
+ # Service}[https://www.twilio.com/docs/sync/api/service] the resource is
272
+ # associated with.
273
+ # @param [String] sid The SID of the Document resource to fetch. Can be the
274
+ # Document resource's `sid` or its `unique_name`.
276
275
  # @return [DocumentInstance] DocumentInstance
277
276
  def initialize(version, payload, service_sid: nil, sid: nil)
278
277
  super(version)
@@ -310,100 +309,104 @@ module Twilio
310
309
  end
311
310
 
312
311
  ##
313
- # @return [String] The unique 34-character SID identifier of the Document.
312
+ # @return [String] The unique string that identifies the resource
314
313
  def sid
315
314
  @properties['sid']
316
315
  end
317
316
 
318
317
  ##
319
- # @return [String] The unique and addressable name of this Document.
318
+ # @return [String] An application-defined string that uniquely identifies the resource
320
319
  def unique_name
321
320
  @properties['unique_name']
322
321
  end
323
322
 
324
323
  ##
325
- # @return [String] The unique SID identifier of the Twilio Account.
324
+ # @return [String] The SID of the Account that created the resource
326
325
  def account_sid
327
326
  @properties['account_sid']
328
327
  end
329
328
 
330
329
  ##
331
- # @return [String] The unique SID identifier of the Service Instance that hosts this Document.
330
+ # @return [String] The SID of the Sync Service that the resource is associated with
332
331
  def service_sid
333
332
  @properties['service_sid']
334
333
  end
335
334
 
336
335
  ##
337
- # @return [String] The absolute URL for this Document.
336
+ # @return [String] The absolute URL of the Document resource
338
337
  def url
339
338
  @properties['url']
340
339
  end
341
340
 
342
341
  ##
343
- # @return [String] A dictionary of URL links to nested resources of this Document.
342
+ # @return [String] The URLs of resources related to the Sync Document
344
343
  def links
345
344
  @properties['links']
346
345
  end
347
346
 
348
347
  ##
349
- # @return [String] Contains the current revision of this Document, represented by a string identifier.
348
+ # @return [String] The current revision of the Sync Document, represented by a string identifier
350
349
  def revision
351
350
  @properties['revision']
352
351
  end
353
352
 
354
353
  ##
355
- # @return [Hash] Contains arbitrary user-defined, schema-less data that this Document stores, represented by a JSON object, up to 16KB.
354
+ # @return [Hash] An arbitrary, schema-less object that the Sync Document stores
356
355
  def data
357
356
  @properties['data']
358
357
  end
359
358
 
360
359
  ##
361
- # @return [Time] Contains the date this Document expires and gets deleted automatically.
360
+ # @return [Time] The ISO 8601 date and time in GMT when the Sync Document expires
362
361
  def date_expires
363
362
  @properties['date_expires']
364
363
  end
365
364
 
366
365
  ##
367
- # @return [Time] The date this Document was created, given in UTC ISO 8601 format.
366
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
368
367
  def date_created
369
368
  @properties['date_created']
370
369
  end
371
370
 
372
371
  ##
373
- # @return [Time] Specifies the date this Document was last updated, given in UTC ISO 8601 format.
372
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
374
373
  def date_updated
375
374
  @properties['date_updated']
376
375
  end
377
376
 
378
377
  ##
379
- # @return [String] The identity of the Document creator.
378
+ # @return [String] The identity of the Sync Document's creator
380
379
  def created_by
381
380
  @properties['created_by']
382
381
  end
383
382
 
384
383
  ##
385
- # Fetch a DocumentInstance
384
+ # Fetch the DocumentInstance
386
385
  # @return [DocumentInstance] Fetched DocumentInstance
387
386
  def fetch
388
387
  context.fetch
389
388
  end
390
389
 
391
390
  ##
392
- # Deletes the DocumentInstance
393
- # @return [Boolean] true if delete succeeds, true otherwise
391
+ # Delete the DocumentInstance
392
+ # @return [Boolean] true if delete succeeds, false otherwise
394
393
  def delete
395
394
  context.delete
396
395
  end
397
396
 
398
397
  ##
399
398
  # Update the DocumentInstance
400
- # @param [Hash] data Contains an arbitrary JSON object to be stored in this
401
- # Document. Serialized to string to respect HTTP form input, up to 16KB.
402
- # @param [String] ttl New time-to-live of this Document in seconds. In the range
403
- # [1, 31 536 000 (1 year)], or 0 for infinity.
399
+ # @param [Hash] data A JSON string that represents an arbitrary, schema-less
400
+ # object that the Sync Document stores. Can be up to 16 KiB in length.
401
+ # @param [String] ttl How long, in seconds, before the Sync Document expires and
402
+ # is deleted (time-to-live). Can be an integer from 0 to 31,536,000 (1 year). The
403
+ # default value is `0`, which means the Document resource does not expire. The
404
+ # Document resource will be deleted automatically after it expires, but there can
405
+ # be a delay between the expiration time and the resources's deletion.
406
+ # @param [String] if_match The If-Match HTTP request header
404
407
  # @return [DocumentInstance] Updated DocumentInstance
405
- def update(data: :unset, ttl: :unset)
406
- context.update(data: data, ttl: ttl, )
408
+ def update(data: :unset, ttl: :unset, if_match: :unset)
409
+ context.update(data: data, ttl: ttl, if_match: if_match, )
407
410
  end
408
411
 
409
412
  ##