twilio-ruby 5.6.0 → 5.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (846) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +3 -0
  4. data/.rubocop.yml +14 -3
  5. data/.rubocop_todo.yml +87 -55
  6. data/.travis.yml +25 -10
  7. data/CHANGES.md +1134 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/CONTRIBUTING.md +2 -0
  10. data/Dockerfile +9 -0
  11. data/Gemfile +0 -8
  12. data/ISSUE_TEMPLATE.md +13 -13
  13. data/LICENSE.md +2 -2
  14. data/Makefile +17 -13
  15. data/PULL_REQUEST_TEMPLATE.md +31 -0
  16. data/README.md +59 -52
  17. data/Rakefile +0 -54
  18. data/VERSIONS.md +9 -10
  19. data/examples/print_call_log.rb +1 -1
  20. data/githooks/pre-commit +0 -0
  21. data/lib/rack/twilio_webhook_authentication.rb +2 -0
  22. data/lib/twilio-ruby/framework/domain.rb +3 -1
  23. data/lib/twilio-ruby/framework/error.rb +33 -15
  24. data/lib/twilio-ruby/framework/helper.rb +2 -0
  25. data/lib/twilio-ruby/framework/obsolete_client.rb +2 -0
  26. data/lib/twilio-ruby/framework/page.rb +3 -1
  27. data/lib/twilio-ruby/framework/request.rb +2 -0
  28. data/lib/twilio-ruby/framework/resource.rb +2 -0
  29. data/lib/twilio-ruby/framework/response.rb +2 -0
  30. data/lib/twilio-ruby/framework/serialize.rb +2 -0
  31. data/lib/twilio-ruby/framework/twilio_response.rb +2 -0
  32. data/lib/twilio-ruby/framework/values.rb +2 -0
  33. data/lib/twilio-ruby/framework/version.rb +3 -10
  34. data/lib/twilio-ruby/http/http_client.rb +17 -12
  35. data/lib/twilio-ruby/jwt/access_token.rb +5 -1
  36. data/lib/twilio-ruby/jwt/client_capability.rb +3 -1
  37. data/lib/twilio-ruby/jwt/jwt.rb +2 -0
  38. data/lib/twilio-ruby/jwt/task_router.rb +4 -2
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -26
  40. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +43 -32
  41. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +11 -8
  42. data/lib/twilio-ruby/rest/accounts/v1.rb +2 -0
  43. data/lib/twilio-ruby/rest/accounts.rb +2 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -32
  45. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +111 -63
  46. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +167 -147
  47. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +34 -21
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +177 -80
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +177 -80
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +177 -80
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +177 -80
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +177 -80
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +177 -80
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +177 -80
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +27 -12
  56. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +131 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +58 -25
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +54 -33
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +70 -55
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +359 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +163 -37
  62. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +340 -167
  63. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +272 -91
  64. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +481 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +134 -61
  66. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +92 -53
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +45 -28
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +46 -32
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +156 -66
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +155 -66
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +155 -66
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +291 -229
  73. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +36 -21
  74. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +22 -12
  75. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +45 -29
  76. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +137 -68
  77. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +12 -9
  78. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +12 -9
  79. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +53 -41
  80. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +54 -39
  81. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +52 -23
  82. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +61 -37
  83. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +49 -32
  84. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +43 -27
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +49 -26
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +91 -50
  87. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +81 -59
  88. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +31 -12
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +50 -27
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +36 -21
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +361 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +361 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +361 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +41 -24
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +40 -24
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +169 -73
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +87 -32
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +32 -21
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +15 -11
  103. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -12
  104. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +41 -26
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +79 -28
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +79 -28
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +79 -28
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +79 -28
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +79 -28
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +79 -28
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +79 -28
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +79 -28
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +82 -49
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +103 -74
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +8 -5
  116. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +31 -15
  117. data/lib/twilio-ruby/rest/api/v2010/account.rb +104 -65
  118. data/lib/twilio-ruby/rest/api/v2010.rb +6 -0
  119. data/lib/twilio-ruby/rest/api.rb +39 -26
  120. data/lib/twilio-ruby/rest/authy/v1/form.rb +197 -0
  121. data/lib/twilio-ruby/rest/{preview/proxy/service/session/participant/message_interaction.rb → authy/v1/service/entity/factor/challenge.rb} +204 -163
  122. data/lib/twilio-ruby/rest/{preview/proxy/service/session/participant.rb → authy/v1/service/entity/factor.rb} +196 -208
  123. data/lib/twilio-ruby/rest/{preview/proxy/service/short_code.rb → authy/v1/service/entity.rb} +122 -83
  124. data/lib/twilio-ruby/rest/{preview/acc_security → authy/v1}/service.rb +97 -79
  125. data/lib/twilio-ruby/rest/authy/v1.rb +59 -0
  126. data/lib/twilio-ruby/rest/authy.rb +55 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +230 -0
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +220 -0
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/export_assistant.rb +222 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +408 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +435 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +409 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +470 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +228 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +399 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +466 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +265 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +243 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +524 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +437 -0
  141. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +683 -0
  142. data/lib/twilio-ruby/rest/autopilot/v1.rb +44 -0
  143. data/lib/twilio-ruby/rest/autopilot.rb +47 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +316 -0
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +298 -0
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +253 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +254 -0
  148. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +242 -0
  149. data/lib/twilio-ruby/rest/bulkexports/v1.rb +58 -0
  150. data/lib/twilio-ruby/rest/bulkexports.rb +54 -0
  151. data/lib/twilio-ruby/rest/chat/v1/credential.rb +88 -40
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +70 -29
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +87 -35
  154. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +76 -39
  155. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +83 -47
  156. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +61 -32
  157. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +22 -14
  158. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +72 -41
  159. data/lib/twilio-ruby/rest/chat/v1/service.rb +342 -312
  160. data/lib/twilio-ruby/rest/chat/v1.rb +6 -2
  161. data/lib/twilio-ruby/rest/chat/v2/credential.rb +86 -40
  162. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +74 -33
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +65 -29
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +144 -46
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +118 -51
  166. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +492 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +144 -55
  168. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +63 -32
  169. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +68 -29
  170. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +213 -17
  171. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +83 -44
  172. data/lib/twilio-ruby/rest/chat/v2/service.rb +238 -136
  173. data/lib/twilio-ruby/rest/chat/v2.rb +4 -2
  174. data/lib/twilio-ruby/rest/chat.rb +6 -2
  175. data/lib/twilio-ruby/rest/client.rb +142 -36
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +456 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +431 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +432 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +505 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +272 -0
  181. data/lib/twilio-ruby/rest/conversations/v1.rb +51 -0
  182. data/lib/twilio-ruby/rest/conversations.rb +53 -0
  183. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +34 -25
  184. data/lib/twilio-ruby/rest/fax/v1/fax.rb +114 -84
  185. data/lib/twilio-ruby/rest/fax/v1.rb +4 -1
  186. data/lib/twilio-ruby/rest/fax.rb +4 -1
  187. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +352 -0
  188. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +466 -0
  189. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +555 -0
  190. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +358 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1.rb +80 -0
  192. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  193. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → insights/v1/call/event.rb} +103 -62
  194. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +254 -0
  195. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +305 -0
  196. data/lib/twilio-ruby/rest/insights/v1/call.rb +242 -0
  197. data/lib/twilio-ruby/rest/insights/v1.rb +43 -0
  198. data/lib/twilio-ruby/rest/insights.rb +46 -0
  199. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +88 -40
  200. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +70 -29
  201. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +87 -35
  202. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +76 -39
  203. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +83 -47
  204. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +61 -32
  205. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +22 -14
  206. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +72 -41
  207. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +342 -312
  208. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -2
  209. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +86 -40
  210. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +74 -33
  211. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +65 -29
  212. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +144 -46
  213. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +118 -51
  214. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +492 -0
  215. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +144 -55
  216. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +63 -32
  217. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +68 -29
  218. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +213 -17
  219. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +83 -44
  220. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +238 -136
  221. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +4 -2
  222. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -4
  223. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -24
  224. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -1
  225. data/lib/twilio-ruby/rest/lookups.rb +5 -1
  226. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +47 -25
  227. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +47 -26
  228. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +42 -26
  229. data/lib/twilio-ruby/rest/messaging/v1/service.rb +150 -84
  230. data/lib/twilio-ruby/rest/messaging/v1.rb +3 -1
  231. data/lib/twilio-ruby/rest/messaging.rb +4 -1
  232. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +74 -50
  233. data/lib/twilio-ruby/rest/monitor/v1/event.rb +78 -42
  234. data/lib/twilio-ruby/rest/monitor/v1.rb +4 -2
  235. data/lib/twilio-ruby/rest/monitor.rb +6 -2
  236. data/lib/twilio-ruby/rest/notify/v1/credential.rb +79 -40
  237. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -47
  238. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +118 -42
  239. data/lib/twilio-ruby/rest/notify/v1/service.rb +158 -132
  240. data/lib/twilio-ruby/rest/notify/v1.rb +6 -2
  241. data/lib/twilio-ruby/rest/notify.rb +6 -2
  242. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +333 -0
  243. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +482 -0
  244. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +361 -0
  245. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +281 -0
  246. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +322 -0
  247. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +374 -0
  248. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +281 -0
  249. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  250. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  251. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  252. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +122 -15
  253. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +298 -0
  254. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +253 -0
  255. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +66 -13
  256. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +37 -20
  257. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +4 -2
  258. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +22 -13
  259. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -14
  260. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +20 -11
  261. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -14
  262. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +30 -21
  263. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +2 -0
  264. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +402 -0
  265. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +97 -35
  266. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +97 -36
  267. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +2 -0
  268. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +27 -15
  269. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +27 -20
  270. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -20
  271. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +52 -44
  272. data/lib/twilio-ruby/rest/preview/marketplace.rb +4 -4
  273. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +16 -7
  274. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +24 -15
  275. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +17 -8
  276. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +16 -7
  277. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -13
  278. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +18 -9
  279. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +16 -7
  280. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -13
  281. data/lib/twilio-ruby/rest/preview/sync/service.rb +26 -17
  282. data/lib/twilio-ruby/rest/preview/sync.rb +2 -0
  283. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +248 -0
  284. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +264 -0
  285. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +111 -0
  286. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +219 -0
  287. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  288. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +263 -0
  289. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +347 -0
  290. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +72 -0
  291. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +222 -0
  292. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +222 -0
  293. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +212 -0
  294. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type/field_value.rb +64 -40
  295. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type.rb +67 -42
  296. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/model_build.rb +76 -37
  297. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/query.rb +92 -60
  298. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +222 -0
  299. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/field.rb +63 -48
  300. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/sample.rb +100 -62
  301. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +251 -0
  302. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +231 -0
  303. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +512 -0
  304. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +646 -0
  305. data/lib/twilio-ruby/rest/preview/understand.rb +10 -7
  306. data/lib/twilio-ruby/rest/preview/wireless/command.rb +16 -7
  307. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +22 -13
  308. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +16 -7
  309. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +17 -8
  310. data/lib/twilio-ruby/rest/preview/wireless.rb +2 -0
  311. data/lib/twilio-ruby/rest/preview.rb +58 -34
  312. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +29 -16
  313. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +9 -5
  314. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +28 -15
  315. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +9 -5
  316. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +29 -16
  317. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +24 -15
  318. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +12 -8
  319. data/lib/twilio-ruby/rest/pricing/v1.rb +2 -0
  320. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +290 -0
  321. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +231 -0
  322. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  323. data/lib/twilio-ruby/rest/pricing/v2.rb +35 -0
  324. data/lib/twilio-ruby/rest/pricing.rb +11 -2
  325. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +106 -32
  326. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +55 -79
  327. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +58 -38
  328. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +57 -92
  329. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +88 -101
  330. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +80 -29
  331. data/lib/twilio-ruby/rest/proxy/v1/service.rb +170 -71
  332. data/lib/twilio-ruby/rest/proxy/v1.rb +4 -1
  333. data/lib/twilio-ruby/rest/proxy.rb +4 -1
  334. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +342 -0
  335. data/lib/twilio-ruby/rest/{preview/understand/service/intent.rb → serverless/v1/service/asset.rb} +132 -149
  336. data/lib/twilio-ruby/rest/{preview/proxy/service/phone_number.rb → serverless/v1/service/build.rb} +130 -101
  337. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +362 -0
  338. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +395 -0
  339. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +424 -0
  340. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -0
  341. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +247 -0
  342. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +372 -0
  343. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +404 -0
  344. data/lib/twilio-ruby/rest/{preview/understand → serverless/v1}/service.rb +159 -149
  345. data/lib/twilio-ruby/rest/{preview/proxy.rb → serverless/v1.rb} +10 -8
  346. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  347. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +216 -0
  348. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +231 -0
  349. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement/step.rb +63 -37
  350. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement.rb +82 -52
  351. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +217 -0
  352. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +234 -0
  353. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +380 -0
  354. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +447 -0
  355. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow.rb +64 -44
  356. data/lib/twilio-ruby/rest/{preview/studio.rb → studio/v1.rb} +10 -8
  357. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +224 -0
  358. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +239 -0
  359. data/lib/twilio-ruby/rest/{notify/v1/service/user/user_binding.rb → studio/v2/flow/execution/execution_step.rb} +126 -170
  360. data/lib/twilio-ruby/rest/{notify/v1/service/user.rb → studio/v2/flow/execution.rb} +167 -159
  361. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +343 -0
  362. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +215 -0
  363. data/lib/twilio-ruby/rest/studio/v2/flow.rb +500 -0
  364. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +126 -0
  365. data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
  366. data/lib/twilio-ruby/rest/studio.rb +60 -0
  367. data/lib/twilio-ruby/rest/supersim/v1/command.rb +381 -0
  368. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +390 -0
  369. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +380 -0
  370. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +274 -0
  371. data/lib/twilio-ruby/rest/supersim/v1.rb +80 -0
  372. data/lib/twilio-ruby/rest/supersim.rb +70 -0
  373. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +56 -42
  374. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +70 -38
  375. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +128 -45
  376. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +55 -42
  377. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +79 -39
  378. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +140 -47
  379. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +53 -42
  380. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +78 -39
  381. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -10
  382. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +73 -37
  383. data/lib/twilio-ruby/rest/sync/v1/service.rb +146 -47
  384. data/lib/twilio-ruby/rest/sync/v1.rb +3 -1
  385. data/lib/twilio-ruby/rest/sync.rb +4 -1
  386. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +85 -37
  387. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +127 -56
  388. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +304 -135
  389. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +182 -78
  390. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +126 -19
  391. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +79 -39
  392. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -23
  393. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -24
  394. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -27
  395. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +124 -62
  396. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +300 -135
  397. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +55 -37
  398. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +56 -22
  399. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +58 -29
  400. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +33 -17
  401. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +56 -27
  402. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +146 -68
  403. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +81 -40
  404. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +46 -20
  405. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -24
  406. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +118 -55
  407. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +82 -39
  408. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +41 -21
  409. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +58 -23
  410. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +141 -68
  411. data/lib/twilio-ruby/rest/taskrouter/v1.rb +3 -1
  412. data/lib/twilio-ruby/rest/taskrouter.rb +4 -1
  413. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +46 -24
  414. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +36 -23
  415. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +85 -42
  416. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +62 -43
  417. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +154 -56
  418. data/lib/twilio-ruby/rest/trunking/v1.rb +4 -1
  419. data/lib/twilio-ruby/rest/trunking.rb +4 -1
  420. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +387 -0
  421. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +416 -0
  422. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +408 -0
  423. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +366 -0
  424. data/lib/twilio-ruby/rest/{preview/acc_security → verify/v2}/service/verification_check.rb +59 -29
  425. data/lib/twilio-ruby/rest/verify/v2/service.rb +574 -0
  426. data/lib/twilio-ruby/rest/{preview/acc_security.rb → verify/v2.rb} +11 -8
  427. data/lib/twilio-ruby/rest/verify.rb +47 -0
  428. data/lib/twilio-ruby/rest/video/v1/composition.rb +512 -0
  429. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +673 -0
  430. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +285 -0
  431. data/lib/twilio-ruby/rest/video/v1/recording.rb +92 -42
  432. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +285 -0
  433. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +92 -43
  434. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +37 -20
  435. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +191 -0
  436. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +348 -0
  437. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +129 -41
  438. data/lib/twilio-ruby/rest/video/v1/room.rb +100 -58
  439. data/lib/twilio-ruby/rest/video/v1.rb +48 -2
  440. data/lib/twilio-ruby/rest/video.rb +36 -2
  441. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +133 -0
  442. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +192 -0
  443. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +412 -0
  444. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +207 -0
  445. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +132 -0
  446. data/lib/twilio-ruby/rest/voice/v1.rb +35 -0
  447. data/lib/twilio-ruby/rest/voice.rb +44 -0
  448. data/lib/twilio-ruby/rest/wireless/v1/command.rb +125 -48
  449. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +84 -55
  450. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +45 -32
  451. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +43 -25
  452. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +203 -91
  453. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +231 -0
  454. data/lib/twilio-ruby/rest/wireless/v1.rb +12 -3
  455. data/lib/twilio-ruby/rest/wireless.rb +14 -3
  456. data/lib/twilio-ruby/security/request_validator.rb +104 -8
  457. data/lib/twilio-ruby/twiml/fax_response.rb +7 -2
  458. data/lib/twilio-ruby/twiml/messaging_response.rb +2 -0
  459. data/lib/twilio-ruby/twiml/twiml.rb +59 -12
  460. data/lib/twilio-ruby/twiml/voice_response.rb +677 -45
  461. data/lib/twilio-ruby/util/configuration.rb +12 -5
  462. data/lib/twilio-ruby/util.rb +2 -0
  463. data/lib/twilio-ruby/version.rb +1 -1
  464. data/lib/twilio-ruby.rb +11 -7
  465. data/spec/http/http_client_spec.rb +2 -2
  466. data/spec/integration/accounts/v1/credential/aws_spec.rb +14 -12
  467. data/spec/integration/accounts/v1/credential/public_key_spec.rb +14 -12
  468. data/spec/integration/accounts/v1/credential_spec.rb +2 -0
  469. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +9 -7
  470. data/spec/integration/api/v2010/account/address_spec.rb +36 -30
  471. data/spec/integration/api/v2010/account/application_spec.rb +32 -37
  472. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +11 -9
  473. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +9 -7
  474. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +9 -7
  475. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +9 -7
  476. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +9 -7
  477. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +9 -7
  478. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +9 -7
  479. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +9 -7
  480. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +11 -9
  481. data/spec/integration/api/v2010/account/balance_spec.rb +45 -0
  482. data/spec/integration/api/v2010/account/call/feedback_spec.rb +19 -17
  483. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +15 -13
  484. data/spec/integration/api/v2010/account/call/notification_spec.rb +24 -58
  485. data/spec/integration/api/v2010/account/call/payment_spec.rb +135 -0
  486. data/spec/integration/api/v2010/account/call/recording_spec.rb +124 -23
  487. data/spec/integration/api/v2010/account/call_spec.rb +419 -77
  488. data/spec/integration/api/v2010/account/conference/participant_spec.rb +309 -54
  489. data/spec/integration/api/v2010/account/conference/recording_spec.rb +237 -0
  490. data/spec/integration/api/v2010/account/conference_spec.rb +292 -36
  491. data/spec/integration/api/v2010/account/connect_app_spec.rb +44 -20
  492. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +21 -19
  493. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +31 -29
  494. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +20 -12
  495. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +20 -12
  496. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +20 -12
  497. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +32 -26
  498. data/spec/integration/api/v2010/account/key_spec.rb +21 -19
  499. data/spec/integration/api/v2010/account/message/feedback_spec.rb +7 -5
  500. data/spec/integration/api/v2010/account/message/media_spec.rb +23 -21
  501. data/spec/integration/api/v2010/account/message_spec.rb +247 -67
  502. data/spec/integration/api/v2010/account/new_key_spec.rb +5 -3
  503. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +5 -3
  504. data/spec/integration/api/v2010/account/notification_spec.rb +14 -46
  505. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +21 -19
  506. data/spec/integration/api/v2010/account/queue/member_spec.rb +74 -31
  507. data/spec/integration/api/v2010/account/queue_spec.rb +43 -35
  508. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +30 -28
  509. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +23 -21
  510. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +23 -21
  511. data/spec/integration/api/v2010/account/recording_spec.rb +16 -16
  512. data/spec/integration/api/v2010/account/short_code_spec.rb +16 -14
  513. data/spec/integration/api/v2010/account/signing_key_spec.rb +21 -19
  514. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +38 -36
  515. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +28 -26
  516. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +220 -0
  517. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +220 -0
  518. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +12 -0
  519. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +220 -0
  520. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +12 -0
  521. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +12 -0
  522. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +31 -29
  523. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +31 -29
  524. data/spec/integration/api/v2010/account/sip/domain_spec.rb +54 -40
  525. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +50 -50
  526. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +28 -26
  527. data/spec/integration/api/v2010/account/sip_spec.rb +2 -0
  528. data/spec/integration/api/v2010/account/token_spec.rb +8 -4
  529. data/spec/integration/api/v2010/account/transcription_spec.rb +16 -14
  530. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +7 -4
  531. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +7 -4
  532. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +7 -4
  533. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +7 -4
  534. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +7 -4
  535. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +7 -4
  536. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +7 -4
  537. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +7 -4
  538. data/spec/integration/api/v2010/account/usage/record_spec.rb +7 -4
  539. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +29 -27
  540. data/spec/integration/api/v2010/account/usage_spec.rb +2 -0
  541. data/spec/integration/api/v2010/account/validation_request_spec.rb +8 -6
  542. data/spec/integration/api/v2010/account_spec.rb +152 -75
  543. data/spec/integration/authy/v1/form_spec.rb +48 -0
  544. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +353 -0
  545. data/spec/integration/authy/v1/service/entity/factor_spec.rb +298 -0
  546. data/spec/integration/authy/v1/service/entity_spec.rb +201 -0
  547. data/spec/integration/authy/v1/service_spec.rb +231 -0
  548. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +81 -0
  549. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +47 -0
  550. data/spec/integration/autopilot/v1/assistant/export_assistant_spec.rb +49 -0
  551. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +210 -0
  552. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +246 -0
  553. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +241 -0
  554. data/spec/integration/autopilot/v1/assistant/query_spec.rb +294 -0
  555. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +81 -0
  556. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +207 -0
  557. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +253 -0
  558. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +87 -0
  559. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +50 -0
  560. data/spec/integration/autopilot/v1/assistant/task_spec.rb +262 -0
  561. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +246 -0
  562. data/spec/integration/autopilot/v1/assistant_spec.rb +286 -0
  563. data/spec/integration/bulkexports/v1/export/day_spec.rb +117 -0
  564. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +129 -0
  565. data/spec/integration/bulkexports/v1/export/job_spec.rb +80 -0
  566. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +79 -0
  567. data/spec/integration/bulkexports/v1/export_spec.rb +45 -0
  568. data/spec/integration/chat/v1/credential_spec.rb +14 -12
  569. data/spec/integration/chat/v1/service/channel/invite_spec.rb +35 -33
  570. data/spec/integration/chat/v1/service/channel/member_spec.rb +41 -39
  571. data/spec/integration/chat/v1/service/channel/message_spec.rb +41 -39
  572. data/spec/integration/chat/v1/service/channel_spec.rb +24 -22
  573. data/spec/integration/chat/v1/service/role_spec.rb +29 -27
  574. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +9 -7
  575. data/spec/integration/chat/v1/service/user_spec.rb +27 -25
  576. data/spec/integration/chat/v1/service_spec.rb +14 -12
  577. data/spec/integration/chat/v2/credential_spec.rb +14 -12
  578. data/spec/integration/chat/v2/service/binding_spec.rb +16 -14
  579. data/spec/integration/chat/v2/service/channel/invite_spec.rb +35 -33
  580. data/spec/integration/chat/v2/service/channel/member_spec.rb +42 -36
  581. data/spec/integration/chat/v2/service/channel/message_spec.rb +43 -41
  582. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +307 -0
  583. data/spec/integration/chat/v2/service/channel_spec.rb +28 -22
  584. data/spec/integration/chat/v2/service/role_spec.rb +29 -27
  585. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +23 -21
  586. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +166 -7
  587. data/spec/integration/chat/v2/service/user_spec.rb +27 -25
  588. data/spec/integration/chat/v2/service_spec.rb +15 -12
  589. data/spec/integration/conversations/v1/conversation/message_spec.rb +293 -0
  590. data/spec/integration/conversations/v1/conversation/participant_spec.rb +290 -0
  591. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +286 -0
  592. data/spec/integration/conversations/v1/conversation_spec.rb +222 -0
  593. data/spec/integration/conversations/v1/webhook_spec.rb +88 -0
  594. data/spec/integration/fax/v1/fax/fax_media_spec.rb +15 -13
  595. data/spec/integration/fax/v1/fax_spec.rb +18 -16
  596. data/spec/integration/flex_api/v1/channel_spec.rb +191 -0
  597. data/spec/integration/flex_api/v1/configuration_spec.rb +602 -0
  598. data/spec/integration/flex_api/v1/flex_flow_spec.rb +263 -0
  599. data/spec/integration/flex_api/v1/web_channel_spec.rb +220 -0
  600. data/spec/integration/insights/v1/call/event_spec.rb +167 -0
  601. data/spec/integration/insights/v1/call/metric_spec.rb +155 -0
  602. data/spec/integration/insights/v1/call/summary_spec.rb +63 -0
  603. data/spec/integration/insights/v1/call_spec.rb +47 -0
  604. data/spec/integration/ip_messaging/v1/credential_spec.rb +16 -14
  605. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +35 -33
  606. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +41 -39
  607. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +41 -39
  608. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +24 -22
  609. data/spec/integration/ip_messaging/v1/service/role_spec.rb +29 -27
  610. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +9 -7
  611. data/spec/integration/ip_messaging/v1/service/user_spec.rb +27 -25
  612. data/spec/integration/ip_messaging/v1/service_spec.rb +16 -14
  613. data/spec/integration/ip_messaging/v2/credential_spec.rb +16 -14
  614. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +16 -14
  615. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +35 -33
  616. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +42 -36
  617. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +43 -41
  618. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +307 -0
  619. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +28 -22
  620. data/spec/integration/ip_messaging/v2/service/role_spec.rb +29 -27
  621. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +23 -21
  622. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +166 -7
  623. data/spec/integration/ip_messaging/v2/service/user_spec.rb +27 -25
  624. data/spec/integration/ip_messaging/v2/service_spec.rb +17 -14
  625. data/spec/integration/lookups/v1/phone_number_spec.rb +283 -6
  626. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +30 -22
  627. data/spec/integration/messaging/v1/service/phone_number_spec.rb +23 -21
  628. data/spec/integration/messaging/v1/service/short_code_spec.rb +30 -22
  629. data/spec/integration/messaging/v1/service_spec.rb +26 -16
  630. data/spec/integration/monitor/v1/alert_spec.rb +16 -37
  631. data/spec/integration/monitor/v1/event_spec.rb +5 -3
  632. data/spec/integration/notify/v1/credential_spec.rb +14 -12
  633. data/spec/integration/notify/v1/service/binding_spec.rb +26 -24
  634. data/spec/integration/notify/v1/service/notification_spec.rb +6 -4
  635. data/spec/integration/notify/v1/service_spec.rb +19 -9
  636. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +198 -0
  637. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +226 -0
  638. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +214 -0
  639. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +143 -0
  640. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +183 -0
  641. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +226 -0
  642. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +133 -0
  643. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
  644. data/spec/integration/preview/bulk_exports/export/day_spec.rb +71 -10
  645. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +129 -0
  646. data/spec/integration/preview/bulk_exports/export/job_spec.rb +80 -0
  647. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +6 -4
  648. data/spec/integration/preview/bulk_exports/export_spec.rb +4 -2
  649. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +27 -25
  650. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +24 -22
  651. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +24 -22
  652. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +24 -22
  653. data/spec/integration/preview/deployed_devices/fleet_spec.rb +11 -9
  654. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +111 -0
  655. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +28 -12
  656. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +69 -28
  657. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +11 -9
  658. data/spec/integration/preview/marketplace/available_add_on_spec.rb +5 -3
  659. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +17 -15
  660. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +14 -12
  661. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +31 -29
  662. data/spec/integration/preview/sync/service/document_spec.rb +25 -23
  663. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +39 -37
  664. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +31 -29
  665. data/spec/integration/preview/sync/service/sync_list_spec.rb +19 -17
  666. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +43 -41
  667. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +31 -29
  668. data/spec/integration/preview/sync/service/sync_map_spec.rb +19 -17
  669. data/spec/integration/preview/sync/service_spec.rb +11 -9
  670. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +59 -0
  671. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +57 -0
  672. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +12 -0
  673. data/spec/integration/preview/trusted_comms/business_spec.rb +46 -0
  674. data/spec/integration/preview/trusted_comms/cps_spec.rb +43 -0
  675. data/spec/integration/preview/trusted_comms/current_call_spec.rb +54 -0
  676. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +59 -0
  677. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +81 -0
  678. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +81 -0
  679. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +47 -0
  680. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +210 -0
  681. data/spec/integration/preview/understand/{service → assistant}/field_type_spec.rb +43 -41
  682. data/spec/integration/preview/understand/{service → assistant}/model_build_spec.rb +50 -40
  683. data/spec/integration/preview/understand/{service → assistant}/query_spec.rb +55 -49
  684. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +81 -0
  685. data/spec/integration/preview/understand/{service/intent → assistant/task}/field_spec.rb +44 -42
  686. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +253 -0
  687. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +87 -0
  688. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +50 -0
  689. data/spec/integration/preview/understand/assistant/task_spec.rb +262 -0
  690. data/spec/integration/preview/understand/assistant_spec.rb +274 -0
  691. data/spec/integration/preview/wireless/command_spec.rb +12 -10
  692. data/spec/integration/preview/wireless/rate_plan_spec.rb +11 -9
  693. data/spec/integration/preview/wireless/sim/usage_spec.rb +5 -3
  694. data/spec/integration/preview/wireless/sim_spec.rb +12 -10
  695. data/spec/integration/pricing/v1/messaging/country_spec.rb +16 -14
  696. data/spec/integration/pricing/v1/messaging_spec.rb +2 -0
  697. data/spec/integration/pricing/v1/phone_number/country_spec.rb +21 -19
  698. data/spec/integration/pricing/v1/phone_number_spec.rb +2 -0
  699. data/spec/integration/pricing/v1/voice/country_spec.rb +25 -151
  700. data/spec/integration/pricing/v1/voice/number_spec.rb +9 -7
  701. data/spec/integration/pricing/v1/voice_spec.rb +2 -0
  702. data/spec/integration/pricing/v2/voice/country_spec.rb +181 -0
  703. data/spec/integration/pricing/v2/voice/number_spec.rb +62 -0
  704. data/spec/integration/pricing/v2/voice_spec.rb +12 -0
  705. data/spec/integration/proxy/v1/service/phone_number_spec.rb +75 -21
  706. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +22 -20
  707. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +27 -25
  708. data/spec/integration/proxy/v1/service/session/participant_spec.rb +95 -79
  709. data/spec/integration/proxy/v1/service/session_spec.rb +31 -29
  710. data/spec/integration/proxy/v1/service/short_code_spec.rb +71 -22
  711. data/spec/integration/proxy/v1/service_spec.rb +20 -15
  712. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +95 -0
  713. data/spec/integration/serverless/v1/service/asset_spec.rb +205 -0
  714. data/spec/integration/serverless/v1/service/build_spec.rb +212 -0
  715. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +136 -0
  716. data/spec/integration/serverless/v1/service/environment/log_spec.rb +98 -0
  717. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +211 -0
  718. data/spec/integration/serverless/v1/service/environment_spec.rb +173 -0
  719. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +52 -0
  720. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +98 -0
  721. data/spec/integration/serverless/v1/service/function_spec.rb +205 -0
  722. data/spec/integration/serverless/v1/service_spec.rb +209 -0
  723. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +51 -0
  724. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +54 -0
  725. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +101 -0
  726. data/spec/integration/{preview/studio → studio/v1}/flow/engagement_spec.rb +32 -32
  727. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +51 -0
  728. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +54 -0
  729. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +101 -0
  730. data/spec/integration/studio/v1/flow/execution_spec.rb +171 -0
  731. data/spec/integration/{preview/studio → studio/v1}/flow_spec.rb +16 -14
  732. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +51 -0
  733. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +54 -0
  734. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +101 -0
  735. data/spec/integration/studio/v2/flow/execution_spec.rb +169 -0
  736. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +112 -0
  737. data/spec/integration/studio/v2/flow/test_user_spec.rb +86 -0
  738. data/spec/integration/studio/v2/flow_spec.rb +250 -0
  739. data/spec/integration/studio/v2/flow_validate_spec.rb +46 -0
  740. data/spec/integration/supersim/v1/command_spec.rb +186 -0
  741. data/spec/integration/supersim/v1/fleet_spec.rb +208 -0
  742. data/spec/integration/supersim/v1/sim_spec.rb +231 -0
  743. data/spec/integration/supersim/v1/usage_record_spec.rb +203 -0
  744. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +31 -29
  745. data/spec/integration/sync/v1/service/document_spec.rb +24 -22
  746. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +36 -34
  747. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +31 -29
  748. data/spec/integration/sync/v1/service/sync_list_spec.rb +24 -22
  749. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +42 -40
  750. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +31 -29
  751. data/spec/integration/sync/v1/service/sync_map_spec.rb +24 -22
  752. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +10 -8
  753. data/spec/integration/sync/v1/service/sync_stream_spec.rb +24 -22
  754. data/spec/integration/sync/v1/service_spec.rb +27 -13
  755. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +27 -25
  756. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +21 -13
  757. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +54 -21
  758. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +208 -19
  759. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +13 -5
  760. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +10 -5
  761. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +8 -6
  762. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +11 -9
  763. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +31 -33
  764. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +35 -29
  765. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +23 -21
  766. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +23 -36
  767. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +7 -5
  768. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +7 -5
  769. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +7 -5
  770. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +5 -3
  771. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +31 -29
  772. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +7 -5
  773. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +8 -5
  774. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +8 -6
  775. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +31 -31
  776. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +5 -3
  777. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +6 -3
  778. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +6 -4
  779. data/spec/integration/taskrouter/v1/workspace_spec.rb +18 -16
  780. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +31 -29
  781. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +37 -35
  782. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +43 -41
  783. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +22 -20
  784. data/spec/integration/trunking/v1/trunk_spec.rb +43 -37
  785. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +231 -0
  786. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +249 -0
  787. data/spec/integration/verify/v2/service/rate_limit_spec.rb +221 -0
  788. data/spec/integration/verify/v2/service/verification_check_spec.rb +80 -0
  789. data/spec/integration/verify/v2/service/verification_spec.rb +319 -0
  790. data/spec/integration/verify/v2/service_spec.rb +247 -0
  791. data/spec/integration/video/v1/composition_hook_spec.rb +410 -0
  792. data/spec/integration/video/v1/composition_settings_spec.rb +86 -0
  793. data/spec/integration/video/v1/composition_spec.rb +350 -0
  794. data/spec/integration/video/v1/recording_settings_spec.rb +86 -0
  795. data/spec/integration/video/v1/recording_spec.rb +20 -10
  796. data/spec/integration/video/v1/room/recording_spec.rb +53 -11
  797. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +14 -12
  798. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +105 -0
  799. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +97 -0
  800. data/spec/integration/video/v1/room/room_participant_spec.rb +27 -19
  801. data/spec/integration/video/v1/room_spec.rb +11 -9
  802. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +45 -0
  803. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +61 -0
  804. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +112 -0
  805. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +77 -0
  806. data/spec/integration/voice/v1/dialing_permissions_spec.rb +12 -0
  807. data/spec/integration/wireless/v1/command_spec.rb +137 -12
  808. data/spec/integration/wireless/v1/rate_plan_spec.rb +35 -21
  809. data/spec/integration/wireless/v1/sim/data_session_spec.rb +11 -7
  810. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +58 -8
  811. data/spec/integration/wireless/v1/sim_spec.rb +125 -10
  812. data/spec/integration/wireless/v1/usage_record_spec.rb +111 -0
  813. data/spec/jwt/access_token_spec.rb +2 -0
  814. data/spec/rest/client_spec.rb +34 -0
  815. data/spec/security/request_validator_spec.rb +73 -61
  816. data/spec/spec_helper.rb +6 -0
  817. data/spec/twilio_spec.rb +3 -1
  818. data/spec/twiml/messaging_response_spec.rb +186 -46
  819. data/spec/twiml/voice_response_spec.rb +625 -257
  820. data/spec/util/configuration_spec.rb +6 -0
  821. data/twilio-ruby.gemspec +10 -6
  822. metadata +521 -91
  823. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -260
  824. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -183
  825. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -435
  826. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -495
  827. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -462
  828. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  829. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -116
  830. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -266
  831. data/spec/integration/notify/v1/service/user_spec.rb +0 -211
  832. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -50
  833. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -50
  834. data/spec/integration/preview/acc_security/service_spec.rb +0 -183
  835. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -171
  836. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  837. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  838. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -224
  839. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  840. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -171
  841. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  842. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -96
  843. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +0 -205
  844. data/spec/integration/preview/understand/service/intent/sample_spec.rb +0 -247
  845. data/spec/integration/preview/understand/service/intent_spec.rb +0 -252
  846. data/spec/integration/preview/understand/service_spec.rb +0 -256
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -14,10 +16,10 @@ module Twilio
14
16
  ##
15
17
  # Initialize the ParticipantList
16
18
  # @param [Version] version Version that contains the resource
17
- # @param [String] account_sid The unique id of the Account that created this
18
- # conference
19
- # @param [String] conference_sid A 34 character string that identifies the
20
- # conference this participant is in
19
+ # @param [String] account_sid The SID of the
20
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created the
21
+ # Participant resource.
22
+ # @param [String] conference_sid The SID of the conference the participant is in.
21
23
  # @return [ParticipantList] ParticipantList
22
24
  def initialize(version, account_sid: nil, conference_sid: nil)
23
25
  super(version)
@@ -30,45 +32,107 @@ module Twilio
30
32
  ##
31
33
  # Retrieve a single page of ParticipantInstance records from the API.
32
34
  # Request is executed immediately.
33
- # @param [String] from The from
34
- # @param [String] to The to
35
- # @param [String] status_callback The status_callback
36
- # @param [String] status_callback_method The status_callback_method
37
- # @param [String] status_callback_event The status_callback_event
38
- # @param [String] timeout The timeout
39
- # @param [Boolean] record The record
40
- # @param [Boolean] muted The muted
41
- # @param [String] beep The beep
42
- # @param [Boolean] start_conference_on_enter The start_conference_on_enter
43
- # @param [Boolean] end_conference_on_exit The end_conference_on_exit
44
- # @param [String] wait_url The wait_url
45
- # @param [String] wait_method The wait_method
46
- # @param [Boolean] early_media The early_media
47
- # @param [String] max_participants The max_participants
48
- # @param [String] conference_record The conference_record
49
- # @param [String] conference_trim The conference_trim
50
- # @param [String] conference_status_callback The conference_status_callback
51
- # @param [String] conference_status_callback_method The
52
- # conference_status_callback_method
53
- # @param [String] conference_status_callback_event The
54
- # conference_status_callback_event
55
- # @param [String] recording_channels The recording_channels
56
- # @param [String] recording_status_callback The recording_status_callback
57
- # @param [String] recording_status_callback_method The
58
- # recording_status_callback_method
59
- # @param [String] sip_auth_username The sip_auth_username
60
- # @param [String] sip_auth_password The sip_auth_password
61
- # @param [String] region The region
62
- # @param [String] conference_recording_status_callback The
63
- # conference_recording_status_callback
64
- # @param [String] conference_recording_status_callback_method The
65
- # conference_recording_status_callback_method
66
- # @param [String] recording_status_callback_event The
67
- # recording_status_callback_event
68
- # @param [String] conference_recording_status_callback_event The
69
- # conference_recording_status_callback_event
35
+ # @param [String] from The `from` phone number that will dial the new conference
36
+ # participant. Can be a phone number or a client id.
37
+ # @param [String] to The phone number, client id, or sip address to invite to the
38
+ # conference. [Custom
39
+ # parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
40
+ # @param [String] status_callback The URL we should call using the
41
+ # `status_callback_method` to send status information to your application.
42
+ # @param [String] status_callback_method The HTTP method we should use to call
43
+ # `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
44
+ # @param [String] status_callback_event The conference state changes that should
45
+ # generate a call to `status_callback`. Can be: `initiated`, `ringing`,
46
+ # `answered`, and `completed`. Separate multiple values with a space. The default
47
+ # value is `completed`.
48
+ # @param [String] timeout The number of seconds that we should allow the phone to
49
+ # ring before assuming there is no answer. Can be an integer between `5` and
50
+ # `600`, inclusive. The default value is `60`. We always add a 5-second timeout
51
+ # buffer to outgoing calls, so value of 10 would result in an actual timeout that
52
+ # was closer to 15 seconds.
53
+ # @param [Boolean] record Whether to record the participant and their conferences,
54
+ # including the time between conferences. Can be `true` or `false` and the default
55
+ # is `false`.
56
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be
57
+ # `true` or `false` and the default is `false`.
58
+ # @param [String] beep Whether to play a notification beep to the conference when
59
+ # the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The
60
+ # default value is `true`.
61
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when
62
+ # the participant joins, if it has not already started. Can be: `true` or `false`
63
+ # and the default is `true`. If `false` and the conference has not started, the
64
+ # participant is muted and hears background music until another participant starts
65
+ # the conference.
66
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
67
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
68
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
69
+ # music to play while participants are waiting for the conference to start. The
70
+ # default value is the URL of our standard hold music. [Learn more about hold
71
+ # music](https://www.twilio.com/labs/twimlets/holdmusic).
72
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
73
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
74
+ # file, this should be `GET` so that we can cache the file.
75
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the
76
+ # outbound call, including ringing or disconnect messages. Can be: `true` or
77
+ # `false` and defaults to `true`.
78
+ # @param [String] max_participants The maximum number of participants in the
79
+ # conference. Can be a positive integer from `2` to `250`. The default value is
80
+ # `250`.
81
+ # @param [String] conference_record Whether to record the conference the
82
+ # participant is joining. Can be: `true`, `false`, `record-from-start`, and
83
+ # `do-not-record`. The default value is `false`.
84
+ # @param [String] conference_trim Whether to trim leading and trailing silence
85
+ # from your recorded conference audio files. Can be: `trim-silence` or
86
+ # `do-not-trim` and defaults to `trim-silence`.
87
+ # @param [String] conference_status_callback The URL we should call using the
88
+ # `conference_status_callback_method` when the conference events in
89
+ # `conference_status_callback_event` occur. Only the value set by the first
90
+ # participant to join the conference is used. Subsequent
91
+ # `conference_status_callback` values are ignored.
92
+ # @param [String] conference_status_callback_method The HTTP method we should use
93
+ # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
94
+ # `POST`.
95
+ # @param [String] conference_status_callback_event The conference state changes
96
+ # that should generate a call to `conference_status_callback`. Can be: `start`,
97
+ # `end`, `join`, `leave`, `mute`, `hold`, and `speaker`. Separate multiple values
98
+ # with a space. Defaults to `start end`.
99
+ # @param [String] recording_channels The recording channels for the final
100
+ # recording. Can be: `mono` or `dual` and the default is `mono`.
101
+ # @param [String] recording_status_callback The URL that we should call using the
102
+ # `recording_status_callback_method` when the recording status changes.
103
+ # @param [String] recording_status_callback_method The HTTP method we should use
104
+ # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
105
+ # to `POST`.
106
+ # @param [String] sip_auth_username The SIP username used for authentication.
107
+ # @param [String] sip_auth_password The SIP password for authentication.
108
+ # @param [String] region The
109
+ # [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
110
+ # @param [String] conference_recording_status_callback The URL we should call
111
+ # using the `conference_recording_status_callback_method` when the conference
112
+ # recording is available.
113
+ # @param [String] conference_recording_status_callback_method The HTTP method we
114
+ # should use to call `conference_recording_status_callback`. Can be: `GET` or
115
+ # `POST` and defaults to `POST`.
116
+ # @param [String] recording_status_callback_event The recording state changes that
117
+ # should generate a call to `recording_status_callback`. Can be: `in-progress`,
118
+ # `completed`, and `failed`. Separate multiple values with a space. The default
119
+ # value is `in-progress completed failed`.
120
+ # @param [String] conference_recording_status_callback_event The conference
121
+ # recording state changes that generate a call to
122
+ # `conference_recording_status_callback`. Can be: `in-progress`, `completed`, and
123
+ # `failed`. Separate multiple values with a space. The default value is
124
+ # `in-progress completed failed`.
125
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
126
+ # be: `true` or `false`. If not present, defaults to `false` unless
127
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
128
+ # @param [String] call_sid_to_coach The SID of the participant who is being
129
+ # `coached`. The participant being coached is the only participant who can hear
130
+ # the participant who is `coaching`.
131
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
132
+ # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
133
+ # it will otherwise be ignored. (Beta)
70
134
  # @return [ParticipantInstance] Newly created ParticipantInstance
71
- def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset)
135
+ def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, byoc: :unset)
72
136
  data = Twilio::Values.of({
73
137
  'From' => from,
74
138
  'To' => to,
@@ -100,6 +164,9 @@ module Twilio
100
164
  'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
101
165
  'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
102
166
  'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
167
+ 'Coaching' => coaching,
168
+ 'CallSidToCoach' => call_sid_to_coach,
169
+ 'Byoc' => byoc,
103
170
  })
104
171
 
105
172
  payload = @version.create(
@@ -120,8 +187,12 @@ module Twilio
120
187
  # Lists ParticipantInstance records from the API as a list.
121
188
  # Unlike stream(), this operation is eager and will load `limit` records into
122
189
  # memory before returning.
123
- # @param [Boolean] muted Only show participants that are muted or unmuted
124
- # @param [Boolean] hold The hold
190
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
191
+ # be: `true` or `false`.
192
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
193
+ # be: `true` or `false`.
194
+ # @param [Boolean] coaching Whether to return only participants who are coaching
195
+ # another call. Can be: `true` or `false`.
125
196
  # @param [Integer] limit Upper limit for the number of records to return. stream()
126
197
  # guarantees to never return more than limit. Default is no limit
127
198
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -129,16 +200,26 @@ module Twilio
129
200
  # but a limit is defined, stream() will attempt to read the limit with the most
130
201
  # efficient page size, i.e. min(limit, 1000)
131
202
  # @return [Array] Array of up to limit results
132
- def list(muted: :unset, hold: :unset, limit: nil, page_size: nil)
133
- self.stream(muted: muted, hold: hold, limit: limit, page_size: page_size).entries
203
+ def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
204
+ self.stream(
205
+ muted: muted,
206
+ hold: hold,
207
+ coaching: coaching,
208
+ limit: limit,
209
+ page_size: page_size
210
+ ).entries
134
211
  end
135
212
 
136
213
  ##
137
214
  # Streams ParticipantInstance records from the API as an Enumerable.
138
215
  # This operation lazily loads records as efficiently as possible until the limit
139
216
  # is reached.
140
- # @param [Boolean] muted Only show participants that are muted or unmuted
141
- # @param [Boolean] hold The hold
217
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
218
+ # be: `true` or `false`.
219
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
220
+ # be: `true` or `false`.
221
+ # @param [Boolean] coaching Whether to return only participants who are coaching
222
+ # another call. Can be: `true` or `false`.
142
223
  # @param [Integer] limit Upper limit for the number of records to return. stream()
143
224
  # guarantees to never return more than limit. Default is no limit.
144
225
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -146,10 +227,10 @@ module Twilio
146
227
  # but a limit is defined, stream() will attempt to read the limit with the most
147
228
  # efficient page size, i.e. min(limit, 1000)
148
229
  # @return [Enumerable] Enumerable that will yield up to limit results
149
- def stream(muted: :unset, hold: :unset, limit: nil, page_size: nil)
230
+ def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
150
231
  limits = @version.read_limits(limit, page_size)
151
232
 
152
- page = self.page(muted: muted, hold: hold, page_size: limits[:page_size])
233
+ page = self.page(muted: muted, hold: hold, coaching: coaching, page_size: limits[:page_size], )
153
234
 
154
235
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
155
236
  end
@@ -161,7 +242,7 @@ module Twilio
161
242
  def each
162
243
  limits = @version.read_limits
163
244
 
164
- page = self.page(page_size: limits[:page_size])
245
+ page = self.page(page_size: limits[:page_size], )
165
246
 
166
247
  @version.stream(page,
167
248
  limit: limits[:limit],
@@ -171,16 +252,21 @@ module Twilio
171
252
  ##
172
253
  # Retrieve a single page of ParticipantInstance records from the API.
173
254
  # Request is executed immediately.
174
- # @param [Boolean] muted Only show participants that are muted or unmuted
175
- # @param [Boolean] hold The hold
255
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
256
+ # be: `true` or `false`.
257
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
258
+ # be: `true` or `false`.
259
+ # @param [Boolean] coaching Whether to return only participants who are coaching
260
+ # another call. Can be: `true` or `false`.
176
261
  # @param [String] page_token PageToken provided by the API
177
262
  # @param [Integer] page_number Page Number, this value is simply for client state
178
263
  # @param [Integer] page_size Number of records to return, defaults to 50
179
264
  # @return [Page] Page of ParticipantInstance
180
- def page(muted: :unset, hold: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
265
+ def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
181
266
  params = Twilio::Values.of({
182
267
  'Muted' => muted,
183
268
  'Hold' => hold,
269
+ 'Coaching' => coaching,
184
270
  'PageToken' => page_token,
185
271
  'Page' => page_number,
186
272
  'PageSize' => page_size,
@@ -251,16 +337,20 @@ module Twilio
251
337
  ##
252
338
  # Initialize the ParticipantContext
253
339
  # @param [Version] version Version that contains the resource
254
- # @param [String] account_sid The account_sid
255
- # @param [String] conference_sid The string that uniquely identifies the
256
- # conference this participant is in
257
- # @param [String] call_sid The call_sid
340
+ # @param [String] account_sid The SID of the
341
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created the
342
+ # Participant resource to fetch.
343
+ # @param [String] conference_sid The SID of the conference with the participant to
344
+ # fetch.
345
+ # @param [String] call_sid The
346
+ # [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource
347
+ # to fetch.
258
348
  # @return [ParticipantContext] ParticipantContext
259
349
  def initialize(version, account_sid, conference_sid, call_sid)
260
350
  super(version)
261
351
 
262
352
  # Path Solution
263
- @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid}
353
+ @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
264
354
  @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
265
355
  end
266
356
 
@@ -287,14 +377,42 @@ module Twilio
287
377
 
288
378
  ##
289
379
  # Update the ParticipantInstance
290
- # @param [Boolean] muted Indicates if the participant should be muted
291
- # @param [Boolean] hold The hold
292
- # @param [String] hold_url The hold_url
293
- # @param [String] hold_method The hold_method
294
- # @param [String] announce_url The announce_url
295
- # @param [String] announce_method The announce_method
380
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
381
+ # `false`. `true` will mute the participant, and `false` will un-mute them.
382
+ # Anything value other than `true` or `false` is interpreted as `false`.
383
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
384
+ # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
385
+ # the conference.
386
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
387
+ # plays when the participant is on hold. The URL may return an MP3 file, a WAV
388
+ # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
389
+ # commands.
390
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`.
391
+ # Can be: `GET` or `POST` and the default is `GET`.
392
+ # @param [String] announce_url The URL we call using the `announce_method` for an
393
+ # announcement to the participant. The URL must return an MP3 file, a WAV file, or
394
+ # a TwiML document that contains `<Play>` or `<Say>` commands.
395
+ # @param [String] announce_method The HTTP method we should use to call
396
+ # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
397
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
398
+ # music to play while participants are waiting for the conference to start. The
399
+ # default value is the URL of our standard hold music. [Learn more about hold
400
+ # music](https://www.twilio.com/labs/twimlets/holdmusic).
401
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
402
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
403
+ # file, this should be `GET` so that we can cache the file.
404
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the
405
+ # conference when the participant exits. Can be: `true` or `false`.
406
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
407
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
408
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
409
+ # be: `true` or `false`. If not present, defaults to `false` unless
410
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
411
+ # @param [String] call_sid_to_coach The SID of the participant who is being
412
+ # `coached`. The participant being coached is the only participant who can hear
413
+ # the participant who is `coaching`.
296
414
  # @return [ParticipantInstance] Updated ParticipantInstance
297
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
415
+ def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
298
416
  data = Twilio::Values.of({
299
417
  'Muted' => muted,
300
418
  'Hold' => hold,
@@ -302,6 +420,12 @@ module Twilio
302
420
  'HoldMethod' => hold_method,
303
421
  'AnnounceUrl' => announce_url,
304
422
  'AnnounceMethod' => announce_method,
423
+ 'WaitUrl' => wait_url,
424
+ 'WaitMethod' => wait_method,
425
+ 'BeepOnExit' => beep_on_exit,
426
+ 'EndConferenceOnExit' => end_conference_on_exit,
427
+ 'Coaching' => coaching,
428
+ 'CallSidToCoach' => call_sid_to_coach,
305
429
  })
306
430
 
307
431
  payload = @version.update(
@@ -321,7 +445,7 @@ module Twilio
321
445
 
322
446
  ##
323
447
  # Deletes the ParticipantInstance
324
- # @return [Boolean] true if delete succeeds, true otherwise
448
+ # @return [Boolean] true if delete succeeds, false otherwise
325
449
  def delete
326
450
  @version.delete('delete', @uri)
327
451
  end
@@ -332,6 +456,13 @@ module Twilio
332
456
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
333
457
  "#<Twilio.Api.V2010.ParticipantContext #{context}>"
334
458
  end
459
+
460
+ ##
461
+ # Provide a detailed, user friendly representation
462
+ def inspect
463
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
464
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
465
+ end
335
466
  end
336
467
 
337
468
  class ParticipantInstance < InstanceResource
@@ -339,11 +470,13 @@ module Twilio
339
470
  # Initialize the ParticipantInstance
340
471
  # @param [Version] version Version that contains the resource
341
472
  # @param [Hash] payload payload that contains response from Twilio
342
- # @param [String] account_sid The unique id of the Account that created this
343
- # conference
344
- # @param [String] conference_sid A 34 character string that identifies the
345
- # conference this participant is in
346
- # @param [String] call_sid The call_sid
473
+ # @param [String] account_sid The SID of the
474
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created the
475
+ # Participant resource.
476
+ # @param [String] conference_sid The SID of the conference the participant is in.
477
+ # @param [String] call_sid The
478
+ # [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource
479
+ # to fetch.
347
480
  # @return [ParticipantInstance] ParticipantInstance
348
481
  def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
349
482
  super(version)
@@ -352,6 +485,8 @@ module Twilio
352
485
  @properties = {
353
486
  'account_sid' => payload['account_sid'],
354
487
  'call_sid' => payload['call_sid'],
488
+ 'call_sid_to_coach' => payload['call_sid_to_coach'],
489
+ 'coaching' => payload['coaching'],
355
490
  'conference_sid' => payload['conference_sid'],
356
491
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
357
492
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
@@ -389,67 +524,79 @@ module Twilio
389
524
  end
390
525
 
391
526
  ##
392
- # @return [String] The unique sid that identifies this account
527
+ # @return [String] The SID of the Account that created the resource
393
528
  def account_sid
394
529
  @properties['account_sid']
395
530
  end
396
531
 
397
532
  ##
398
- # @return [String] A string that uniquely identifies this call
533
+ # @return [String] The SID of the Call the resource is associated with
399
534
  def call_sid
400
535
  @properties['call_sid']
401
536
  end
402
537
 
403
538
  ##
404
- # @return [String] A string that uniquely identifies this conference
539
+ # @return [String] The SID of the participant who is being `coached`
540
+ def call_sid_to_coach
541
+ @properties['call_sid_to_coach']
542
+ end
543
+
544
+ ##
545
+ # @return [Boolean] Indicates if the participant changed to coach
546
+ def coaching
547
+ @properties['coaching']
548
+ end
549
+
550
+ ##
551
+ # @return [String] The SID of the conference the participant is in
405
552
  def conference_sid
406
553
  @properties['conference_sid']
407
554
  end
408
555
 
409
556
  ##
410
- # @return [Time] The date this resource was created
557
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was created
411
558
  def date_created
412
559
  @properties['date_created']
413
560
  end
414
561
 
415
562
  ##
416
- # @return [Time] The date this resource was last updated
563
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
417
564
  def date_updated
418
565
  @properties['date_updated']
419
566
  end
420
567
 
421
568
  ##
422
- # @return [Boolean] Indicates if the endConferenceOnExit was set
569
+ # @return [Boolean] Whether the conference ends when the participant leaves
423
570
  def end_conference_on_exit
424
571
  @properties['end_conference_on_exit']
425
572
  end
426
573
 
427
574
  ##
428
- # @return [Boolean] Indicates if the participant is muted
575
+ # @return [Boolean] Whether the participant is muted
429
576
  def muted
430
577
  @properties['muted']
431
578
  end
432
579
 
433
580
  ##
434
- # @return [Boolean] The hold
581
+ # @return [Boolean] Whether the participant is on hold
435
582
  def hold
436
583
  @properties['hold']
437
584
  end
438
585
 
439
586
  ##
440
- # @return [Boolean] Indicates if the startConferenceOnEnter attribute was set
587
+ # @return [Boolean] Whether the conference starts when the participant joins the conference
441
588
  def start_conference_on_enter
442
589
  @properties['start_conference_on_enter']
443
590
  end
444
591
 
445
592
  ##
446
- # @return [participant.Status] The status
593
+ # @return [participant.Status] The status of the participant's call in a session
447
594
  def status
448
595
  @properties['status']
449
596
  end
450
597
 
451
598
  ##
452
- # @return [String] The URI for this resource
599
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`
453
600
  def uri
454
601
  @properties['uri']
455
602
  end
@@ -463,14 +610,42 @@ module Twilio
463
610
 
464
611
  ##
465
612
  # Update the ParticipantInstance
466
- # @param [Boolean] muted Indicates if the participant should be muted
467
- # @param [Boolean] hold The hold
468
- # @param [String] hold_url The hold_url
469
- # @param [String] hold_method The hold_method
470
- # @param [String] announce_url The announce_url
471
- # @param [String] announce_method The announce_method
613
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
614
+ # `false`. `true` will mute the participant, and `false` will un-mute them.
615
+ # Anything value other than `true` or `false` is interpreted as `false`.
616
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
617
+ # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
618
+ # the conference.
619
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
620
+ # plays when the participant is on hold. The URL may return an MP3 file, a WAV
621
+ # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
622
+ # commands.
623
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`.
624
+ # Can be: `GET` or `POST` and the default is `GET`.
625
+ # @param [String] announce_url The URL we call using the `announce_method` for an
626
+ # announcement to the participant. The URL must return an MP3 file, a WAV file, or
627
+ # a TwiML document that contains `<Play>` or `<Say>` commands.
628
+ # @param [String] announce_method The HTTP method we should use to call
629
+ # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
630
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
631
+ # music to play while participants are waiting for the conference to start. The
632
+ # default value is the URL of our standard hold music. [Learn more about hold
633
+ # music](https://www.twilio.com/labs/twimlets/holdmusic).
634
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
635
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
636
+ # file, this should be `GET` so that we can cache the file.
637
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the
638
+ # conference when the participant exits. Can be: `true` or `false`.
639
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
640
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
641
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
642
+ # be: `true` or `false`. If not present, defaults to `false` unless
643
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
644
+ # @param [String] call_sid_to_coach The SID of the participant who is being
645
+ # `coached`. The participant being coached is the only participant who can hear
646
+ # the participant who is `coaching`.
472
647
  # @return [ParticipantInstance] Updated ParticipantInstance
473
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
648
+ def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
474
649
  context.update(
475
650
  muted: muted,
476
651
  hold: hold,
@@ -478,12 +653,18 @@ module Twilio
478
653
  hold_method: hold_method,
479
654
  announce_url: announce_url,
480
655
  announce_method: announce_method,
656
+ wait_url: wait_url,
657
+ wait_method: wait_method,
658
+ beep_on_exit: beep_on_exit,
659
+ end_conference_on_exit: end_conference_on_exit,
660
+ coaching: coaching,
661
+ call_sid_to_coach: call_sid_to_coach,
481
662
  )
482
663
  end
483
664
 
484
665
  ##
485
666
  # Deletes the ParticipantInstance
486
- # @return [Boolean] true if delete succeeds, true otherwise
667
+ # @return [Boolean] true if delete succeeds, false otherwise
487
668
  def delete
488
669
  context.delete
489
670
  end