twilio-ruby 5.6.0 → 5.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 TwiML
@@ -16,6 +18,18 @@ module Twilio
16
18
  yield(self) if block_given?
17
19
  end
18
20
 
21
+ ##
22
+ # Create a new <Connect> element
23
+ # action:: Action URL
24
+ # method:: Action URL method
25
+ # keyword_args:: additional attributes
26
+ def connect(action: nil, method: nil, **keyword_args)
27
+ connect = Connect.new(action: action, method: method, **keyword_args)
28
+
29
+ yield(connect) if block_given?
30
+ append(connect)
31
+ end
32
+
19
33
  ##
20
34
  # Create a new <Dial> element
21
35
  # number:: Phone number to dial
@@ -79,9 +93,12 @@ module Twilio
79
93
  # language:: Language to use
80
94
  # hints:: Speech recognition hints
81
95
  # barge_in:: Stop playing media upon speech
96
+ # debug:: Allow debug for gather
97
+ # action_on_empty_result:: Force webhook to the action URL event if there is no input
98
+ # speech_model:: Specify the model that is best suited for your use case
82
99
  # keyword_args:: additional attributes
83
- def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, **keyword_args)
84
- gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, **keyword_args)
100
+ def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, action_on_empty_result: nil, speech_model: nil, **keyword_args)
101
+ gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, action_on_empty_result: action_on_empty_result, speech_model: speech_model, **keyword_args)
85
102
 
86
103
  yield(gather) if block_given?
87
104
  append(gather)
@@ -142,11 +159,12 @@ module Twilio
142
159
  # trim:: Trim the recording
143
160
  # recording_status_callback:: Status callback URL
144
161
  # recording_status_callback_method:: Status callback URL method
162
+ # recording_status_callback_event:: Recording status callback events
145
163
  # transcribe:: Transcribe the recording
146
164
  # transcribe_callback:: Transcribe callback URL
147
165
  # keyword_args:: additional attributes
148
- def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
149
- append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
166
+ def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
167
+ append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
150
168
  end
151
169
 
152
170
  ##
@@ -173,8 +191,11 @@ module Twilio
173
191
  # loop:: Times to loop message
174
192
  # language:: Message langauge
175
193
  # keyword_args:: additional attributes
176
- def say(message, voice: nil, loop: nil, language: nil, **keyword_args)
177
- append(Say.new(message, voice: voice, loop: loop, language: language, **keyword_args))
194
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
195
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
196
+
197
+ yield(say) if block_given?
198
+ append(say)
178
199
  end
179
200
 
180
201
  ##
@@ -189,15 +210,302 @@ module Twilio
189
210
  def sms(message, to: nil, from: nil, action: nil, method: nil, status_callback: nil, **keyword_args)
190
211
  append(Sms.new(message, to: to, from: from, action: action, method: method, status_callback: status_callback, **keyword_args))
191
212
  end
213
+
214
+ ##
215
+ # Create a new <Pay> element
216
+ # input:: Input type Twilio should accept
217
+ # action:: Action URL
218
+ # bank_account_type:: Bank account type for ach transactions. If set, payment method attribute must be provided and value should be set to ach-debit. defaults to consumer-checking
219
+ # status_callback:: Status callback URL
220
+ # status_callback_method:: Status callback method
221
+ # timeout:: Time to wait to gather input
222
+ # max_attempts:: Maximum number of allowed retries when gathering input
223
+ # security_code:: Prompt for security code
224
+ # postal_code:: Prompt for postal code and it should be true/false or default postal code
225
+ # min_postal_code_length:: Prompt for minimum postal code length
226
+ # payment_connector:: Unique name for payment connector
227
+ # payment_method:: Payment method to be used. defaults to credit-card
228
+ # token_type:: Type of token
229
+ # charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
230
+ # currency:: Currency of the amount attribute
231
+ # description:: Details regarding the payment
232
+ # valid_card_types:: Comma separated accepted card types
233
+ # language:: Language to use
234
+ # keyword_args:: additional attributes
235
+ def pay(input: nil, action: nil, bank_account_type: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, min_postal_code_length: nil, payment_connector: nil, payment_method: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
236
+ pay = Pay.new(input: input, action: action, bank_account_type: bank_account_type, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, min_postal_code_length: min_postal_code_length, payment_connector: payment_connector, payment_method: payment_method, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
237
+
238
+ yield(pay) if block_given?
239
+ append(pay)
240
+ end
241
+
242
+ ##
243
+ # Create a new <Prompt> element
244
+ # for_:: Name of the payment source data element
245
+ # error_type:: Type of error
246
+ # card_type:: Type of the credit card
247
+ # attempt:: Current attempt count
248
+ # keyword_args:: additional attributes
249
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
250
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
251
+
252
+ yield(prompt) if block_given?
253
+ append(prompt)
254
+ end
255
+
256
+ ##
257
+ # Create a new <Start> element
258
+ # action:: Action URL
259
+ # method:: Action URL method
260
+ # keyword_args:: additional attributes
261
+ def start(action: nil, method: nil, **keyword_args)
262
+ start = Start.new(action: action, method: method, **keyword_args)
263
+
264
+ yield(start) if block_given?
265
+ append(start)
266
+ end
267
+
268
+ ##
269
+ # Create a new <Stop> element
270
+ # keyword_args:: additional attributes
271
+ def stop(**keyword_args)
272
+ stop = Stop.new(**keyword_args)
273
+
274
+ yield(stop) if block_given?
275
+ append(stop)
276
+ end
277
+
278
+ ##
279
+ # Create a new <Refer> element
280
+ # action:: Action URL
281
+ # method:: Action URL method
282
+ # keyword_args:: additional attributes
283
+ def refer(action: nil, method: nil, **keyword_args)
284
+ refer = Refer.new(action: action, method: method, **keyword_args)
285
+
286
+ yield(refer) if block_given?
287
+ append(refer)
288
+ end
192
289
  end
193
290
 
194
291
  ##
195
- # <Sms> TwiML Noun
196
- class Sms < TwiML
197
- def initialize(message, **keyword_args)
292
+ # <Refer> TwiML Verb
293
+ class Refer < TwiML
294
+ def initialize(**keyword_args)
198
295
  super(**keyword_args)
199
- @name = 'Sms'
200
- @value = message
296
+ @name = 'Refer'
297
+
298
+ yield(self) if block_given?
299
+ end
300
+
301
+ ##
302
+ # Create a new <Sip> element
303
+ # sip_url:: SIP URL
304
+ # keyword_args:: additional attributes
305
+ def sip(sip_url, **keyword_args)
306
+ append(ReferSip.new(sip_url, **keyword_args))
307
+ end
308
+ end
309
+
310
+ ##
311
+ # <Sip> TwiML Noun used in <Refer>
312
+ class ReferSip < TwiML
313
+ def initialize(sip_url, **keyword_args)
314
+ super(**keyword_args)
315
+ @name = 'Sip'
316
+ @value = sip_url
317
+ yield(self) if block_given?
318
+ end
319
+ end
320
+
321
+ ##
322
+ # <Stop> TwiML Verb
323
+ class Stop < TwiML
324
+ def initialize(**keyword_args)
325
+ super(**keyword_args)
326
+ @name = 'Stop'
327
+
328
+ yield(self) if block_given?
329
+ end
330
+
331
+ ##
332
+ # Create a new <Stream> element
333
+ # name:: Friendly name given to the Stream
334
+ # connector_name:: Unique name for Stream Connector
335
+ # url:: URL of the remote service where the Stream is routed
336
+ # track:: Track to be streamed to remote service
337
+ # keyword_args:: additional attributes
338
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
339
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
340
+
341
+ yield(stream) if block_given?
342
+ append(stream)
343
+ end
344
+
345
+ ##
346
+ # Create a new <Siprec> element
347
+ # name:: Friendly name given to SIPREC
348
+ # connector_name:: Unique name for Connector
349
+ # track:: Track to be streamed to remote service
350
+ # keyword_args:: additional attributes
351
+ def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
352
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
353
+
354
+ yield(siprec) if block_given?
355
+ append(siprec)
356
+ end
357
+ end
358
+
359
+ ##
360
+ # <Siprec> TwiML Noun
361
+ class Siprec < TwiML
362
+ def initialize(**keyword_args)
363
+ super(**keyword_args)
364
+ @name = 'Siprec'
365
+
366
+ yield(self) if block_given?
367
+ end
368
+
369
+ ##
370
+ # Create a new <Parameter> element
371
+ # name:: The name of the custom parameter
372
+ # value:: The value of the custom parameter
373
+ # keyword_args:: additional attributes
374
+ def parameter(name: nil, value: nil, **keyword_args)
375
+ append(Parameter.new(name: name, value: value, **keyword_args))
376
+ end
377
+ end
378
+
379
+ ##
380
+ # <Parameter> TwiML Noun
381
+ class Parameter < TwiML
382
+ def initialize(**keyword_args)
383
+ super(**keyword_args)
384
+ @name = 'Parameter'
385
+
386
+ yield(self) if block_given?
387
+ end
388
+ end
389
+
390
+ ##
391
+ # <Stream> TwiML Noun
392
+ class Stream < TwiML
393
+ def initialize(**keyword_args)
394
+ super(**keyword_args)
395
+ @name = 'Stream'
396
+
397
+ yield(self) if block_given?
398
+ end
399
+
400
+ ##
401
+ # Create a new <Parameter> element
402
+ # name:: The name of the custom parameter
403
+ # value:: The value of the custom parameter
404
+ # keyword_args:: additional attributes
405
+ def parameter(name: nil, value: nil, **keyword_args)
406
+ append(Parameter.new(name: name, value: value, **keyword_args))
407
+ end
408
+ end
409
+
410
+ ##
411
+ # <Start> TwiML Verb
412
+ class Start < TwiML
413
+ def initialize(**keyword_args)
414
+ super(**keyword_args)
415
+ @name = 'Start'
416
+
417
+ yield(self) if block_given?
418
+ end
419
+
420
+ ##
421
+ # Create a new <Stream> element
422
+ # name:: Friendly name given to the Stream
423
+ # connector_name:: Unique name for Stream Connector
424
+ # url:: URL of the remote service where the Stream is routed
425
+ # track:: Track to be streamed to remote service
426
+ # keyword_args:: additional attributes
427
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
428
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
429
+
430
+ yield(stream) if block_given?
431
+ append(stream)
432
+ end
433
+
434
+ ##
435
+ # Create a new <Siprec> element
436
+ # name:: Friendly name given to SIPREC
437
+ # connector_name:: Unique name for Connector
438
+ # track:: Track to be streamed to remote service
439
+ # keyword_args:: additional attributes
440
+ def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
441
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
442
+
443
+ yield(siprec) if block_given?
444
+ append(siprec)
445
+ end
446
+ end
447
+
448
+ ##
449
+ # <Prompt> Twiml Verb
450
+ class Prompt < TwiML
451
+ def initialize(**keyword_args)
452
+ super(**keyword_args)
453
+ @name = 'Prompt'
454
+
455
+ yield(self) if block_given?
456
+ end
457
+
458
+ ##
459
+ # Create a new <Say> element
460
+ # message:: Message to say
461
+ # voice:: Voice to use
462
+ # loop:: Times to loop message
463
+ # language:: Message langauge
464
+ # keyword_args:: additional attributes
465
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
466
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
467
+
468
+ yield(say) if block_given?
469
+ append(say)
470
+ end
471
+
472
+ ##
473
+ # Create a new <Play> element
474
+ # url:: Media URL
475
+ # loop:: Times to loop media
476
+ # digits:: Play DTMF tones for digits
477
+ # keyword_args:: additional attributes
478
+ def play(url: nil, loop: nil, digits: nil, **keyword_args)
479
+ append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
480
+ end
481
+
482
+ ##
483
+ # Create a new <Pause> element
484
+ # length:: Length in seconds to pause
485
+ # keyword_args:: additional attributes
486
+ def pause(length: nil, **keyword_args)
487
+ append(Pause.new(length: length, **keyword_args))
488
+ end
489
+ end
490
+
491
+ ##
492
+ # <Pause> TwiML Verb
493
+ class Pause < TwiML
494
+ def initialize(**keyword_args)
495
+ super(**keyword_args)
496
+ @name = 'Pause'
497
+
498
+ yield(self) if block_given?
499
+ end
500
+ end
501
+
502
+ ##
503
+ # <Play> TwiML Verb
504
+ class Play < TwiML
505
+ def initialize(url: nil, **keyword_args)
506
+ super(**keyword_args)
507
+ @name = 'Play'
508
+ @value = url unless url.nil?
201
509
  yield(self) if block_given?
202
510
  end
203
511
  end
@@ -205,9 +513,256 @@ module Twilio
205
513
  ##
206
514
  # <Say> TwiML Verb
207
515
  class Say < TwiML
208
- def initialize(message, **keyword_args)
516
+ def initialize(message: nil, **keyword_args)
209
517
  super(**keyword_args)
210
518
  @name = 'Say'
519
+ @value = message unless message.nil?
520
+ yield(self) if block_given?
521
+ end
522
+
523
+ ##
524
+ # Create a new <Break> element
525
+ # strength:: Set a pause based on strength
526
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
527
+ # keyword_args:: additional attributes
528
+ def break(strength: nil, time: nil, **keyword_args)
529
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
530
+ end
531
+
532
+ ##
533
+ # Create a new <Emphasis> element
534
+ # words:: Words to emphasize
535
+ # level:: Specify the degree of emphasis
536
+ # keyword_args:: additional attributes
537
+ def emphasis(words, level: nil, **keyword_args)
538
+ append(SsmlEmphasis.new(words, level: level, **keyword_args))
539
+ end
540
+
541
+ ##
542
+ # Create a new <Lang> element
543
+ # words:: Words to speak
544
+ # xmlLang:: Specify the language
545
+ # keyword_args:: additional attributes
546
+ def lang(words, xmlLang: nil, **keyword_args)
547
+ append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
548
+ end
549
+
550
+ ##
551
+ # Create a new <P> element
552
+ # words:: Words to speak
553
+ # keyword_args:: additional attributes
554
+ def p(words, **keyword_args)
555
+ append(SsmlP.new(words, **keyword_args))
556
+ end
557
+
558
+ ##
559
+ # Create a new <Phoneme> element
560
+ # words:: Words to speak
561
+ # alphabet:: Specify the phonetic alphabet
562
+ # ph:: Specifiy the phonetic symbols for pronunciation
563
+ # keyword_args:: additional attributes
564
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
565
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
566
+ end
567
+
568
+ ##
569
+ # Create a new <Prosody> element
570
+ # words:: Words to speak
571
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
572
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
573
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
574
+ # keyword_args:: additional attributes
575
+ def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
576
+ append(SsmlProsody.new(words, volume: volume, rate: rate, pitch: pitch, **keyword_args))
577
+ end
578
+
579
+ ##
580
+ # Create a new <S> element
581
+ # words:: Words to speak
582
+ # keyword_args:: additional attributes
583
+ def s(words, **keyword_args)
584
+ append(SsmlS.new(words, **keyword_args))
585
+ end
586
+
587
+ ##
588
+ # Create a new <Say-As> element
589
+ # words:: Words to be interpreted
590
+ # interpretAs:: Specify the type of words are spoken
591
+ # role:: Specify the format of the date when interpret-as is set to date
592
+ # keyword_args:: additional attributes
593
+ def say_as(words, interpretAs: nil, role: nil, **keyword_args)
594
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
595
+ end
596
+
597
+ ##
598
+ # Create a new <Sub> element
599
+ # words:: Words to be substituted
600
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
601
+ # keyword_args:: additional attributes
602
+ def sub(words, aliasAttribute: nil, **keyword_args)
603
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
604
+ end
605
+
606
+ ##
607
+ # Create a new <W> element
608
+ # words:: Words to speak
609
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
610
+ # keyword_args:: additional attributes
611
+ def w(words, role: nil, **keyword_args)
612
+ append(SsmlW.new(words, role: role, **keyword_args))
613
+ end
614
+ end
615
+
616
+ ##
617
+ # Improving Pronunciation by Specifying Parts of Speech in <Say>
618
+ class SsmlW < TwiML
619
+ def initialize(words, **keyword_args)
620
+ super(**keyword_args)
621
+ @name = 'w'
622
+ @value = words
623
+ yield(self) if block_given?
624
+ end
625
+ end
626
+
627
+ ##
628
+ # Pronouncing Acronyms and Abbreviations in <Say>
629
+ class SsmlSub < TwiML
630
+ def initialize(words, **keyword_args)
631
+ super(**keyword_args)
632
+ @name = 'sub'
633
+ @value = words
634
+ yield(self) if block_given?
635
+ end
636
+ end
637
+
638
+ ##
639
+ # Controlling How Special Types of Words Are Spoken in <Say>
640
+ class SsmlSayAs < TwiML
641
+ def initialize(words, **keyword_args)
642
+ super(**keyword_args)
643
+ @name = 'say-as'
644
+ @value = words
645
+ yield(self) if block_given?
646
+ end
647
+ end
648
+
649
+ ##
650
+ # Adding A Pause Between Sentences in <Say>
651
+ class SsmlS < TwiML
652
+ def initialize(words, **keyword_args)
653
+ super(**keyword_args)
654
+ @name = 's'
655
+ @value = words
656
+ yield(self) if block_given?
657
+ end
658
+ end
659
+
660
+ ##
661
+ # Controling Volume, Speaking Rate, and Pitch in <Say>
662
+ class SsmlProsody < TwiML
663
+ def initialize(words, **keyword_args)
664
+ super(**keyword_args)
665
+ @name = 'prosody'
666
+ @value = words
667
+ yield(self) if block_given?
668
+ end
669
+ end
670
+
671
+ ##
672
+ # Using Phonetic Pronunciation in <Say>
673
+ class SsmlPhoneme < TwiML
674
+ def initialize(words, **keyword_args)
675
+ super(**keyword_args)
676
+ @name = 'phoneme'
677
+ @value = words
678
+ yield(self) if block_given?
679
+ end
680
+ end
681
+
682
+ ##
683
+ # Adding a Pause Between Paragraphs in <Say>
684
+ class SsmlP < TwiML
685
+ def initialize(words, **keyword_args)
686
+ super(**keyword_args)
687
+ @name = 'p'
688
+ @value = words
689
+ yield(self) if block_given?
690
+ end
691
+ end
692
+
693
+ ##
694
+ # Specifying Another Language for Specific Words in <Say>
695
+ class SsmlLang < TwiML
696
+ def initialize(words, **keyword_args)
697
+ super(**keyword_args)
698
+ @name = 'lang'
699
+ @value = words
700
+ yield(self) if block_given?
701
+ end
702
+ end
703
+
704
+ ##
705
+ # Emphasizing Words in <Say>
706
+ class SsmlEmphasis < TwiML
707
+ def initialize(words, **keyword_args)
708
+ super(**keyword_args)
709
+ @name = 'emphasis'
710
+ @value = words
711
+ yield(self) if block_given?
712
+ end
713
+ end
714
+
715
+ ##
716
+ # Adding a Pause in <Say>
717
+ class SsmlBreak < TwiML
718
+ def initialize(**keyword_args)
719
+ super(**keyword_args)
720
+ @name = 'break'
721
+
722
+ yield(self) if block_given?
723
+ end
724
+ end
725
+
726
+ ##
727
+ # <Pay> Twiml Verb
728
+ class Pay < TwiML
729
+ def initialize(**keyword_args)
730
+ super(**keyword_args)
731
+ @name = 'Pay'
732
+
733
+ yield(self) if block_given?
734
+ end
735
+
736
+ ##
737
+ # Create a new <Prompt> element
738
+ # for_:: Name of the payment source data element
739
+ # error_type:: Type of error
740
+ # card_type:: Type of the credit card
741
+ # attempt:: Current attempt count
742
+ # keyword_args:: additional attributes
743
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
744
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
745
+
746
+ yield(prompt) if block_given?
747
+ append(prompt)
748
+ end
749
+
750
+ ##
751
+ # Create a new <Parameter> element
752
+ # name:: The name of the custom parameter
753
+ # value:: The value of the custom parameter
754
+ # keyword_args:: additional attributes
755
+ def parameter(name: nil, value: nil, **keyword_args)
756
+ append(Parameter.new(name: name, value: value, **keyword_args))
757
+ end
758
+ end
759
+
760
+ ##
761
+ # <Sms> TwiML Noun
762
+ class Sms < TwiML
763
+ def initialize(message, **keyword_args)
764
+ super(**keyword_args)
765
+ @name = 'Sms'
211
766
  @value = message
212
767
  yield(self) if block_given?
213
768
  end
@@ -257,28 +812,6 @@ module Twilio
257
812
  end
258
813
  end
259
814
 
260
- ##
261
- # <Play> TwiML Verb
262
- class Play < TwiML
263
- def initialize(url: nil, **keyword_args)
264
- super(**keyword_args)
265
- @name = 'Play'
266
- @value = url unless url.nil?
267
- yield(self) if block_given?
268
- end
269
- end
270
-
271
- ##
272
- # <Pause> TwiML Verb
273
- class Pause < TwiML
274
- def initialize(**keyword_args)
275
- super(**keyword_args)
276
- @name = 'Pause'
277
-
278
- yield(self) if block_given?
279
- end
280
- end
281
-
282
815
  ##
283
816
  # <Leave> TwiML Verb
284
817
  class Leave < TwiML
@@ -318,8 +851,11 @@ module Twilio
318
851
  # loop:: Times to loop message
319
852
  # language:: Message langauge
320
853
  # keyword_args:: additional attributes
321
- def say(message, voice: nil, loop: nil, language: nil, **keyword_args)
322
- append(Say.new(message, voice: voice, loop: loop, language: language, **keyword_args))
854
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
855
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
856
+
857
+ yield(say) if block_given?
858
+ append(say)
323
859
  end
324
860
 
325
861
  ##
@@ -396,15 +932,18 @@ module Twilio
396
932
 
397
933
  ##
398
934
  # Create a new <Client> element
399
- # name:: Client name
935
+ # identity:: Client identity
400
936
  # url:: Client URL
401
937
  # method:: Client URL Method
402
938
  # status_callback_event:: Events to trigger status callback
403
939
  # status_callback:: Status Callback URL
404
940
  # status_callback_method:: Status Callback URL Method
405
941
  # keyword_args:: additional attributes
406
- def client(name, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
407
- append(Client.new(name, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
942
+ def client(identity: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
943
+ client = Client.new(identity: identity, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
944
+
945
+ yield(client) if block_given?
946
+ append(client)
408
947
  end
409
948
 
410
949
  ##
@@ -419,7 +958,7 @@ module Twilio
419
958
  # max_participants:: Maximum number of participants
420
959
  # record:: Record the conference
421
960
  # region:: Conference region
422
- # whisper:: Call whisper
961
+ # coach:: Call coach
423
962
  # trim:: Trim the conference recording
424
963
  # status_callback_event:: Events to call status callback URL
425
964
  # status_callback:: Status callback URL
@@ -429,8 +968,8 @@ module Twilio
429
968
  # recording_status_callback_event:: Recording status callback events
430
969
  # event_callback_url:: Event callback URL
431
970
  # keyword_args:: additional attributes
432
- def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, whisper: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, **keyword_args)
433
- append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, whisper: whisper, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, **keyword_args))
971
+ def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, **keyword_args)
972
+ append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, **keyword_args))
434
973
  end
435
974
 
436
975
  ##
@@ -442,9 +981,10 @@ module Twilio
442
981
  # status_callback_event:: Events to call status callback
443
982
  # status_callback:: Status callback URL
444
983
  # status_callback_method:: Status callback URL method
984
+ # byoc:: BYOC trunk SID (Beta)
445
985
  # keyword_args:: additional attributes
446
- def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
447
- append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
986
+ def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, **keyword_args)
987
+ append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, **keyword_args))
448
988
  end
449
989
 
450
990
  ##
@@ -530,9 +1070,101 @@ module Twilio
530
1070
  ##
531
1071
  # <Client> TwiML Noun
532
1072
  class Client < TwiML
533
- def initialize(name, **keyword_args)
1073
+ def initialize(identity: nil, **keyword_args)
534
1074
  super(**keyword_args)
535
1075
  @name = 'Client'
1076
+ @value = identity unless identity.nil?
1077
+ yield(self) if block_given?
1078
+ end
1079
+
1080
+ ##
1081
+ # Create a new <Identity> element
1082
+ # client_identity:: Identity of the client to dial
1083
+ # keyword_args:: additional attributes
1084
+ def identity(client_identity, **keyword_args)
1085
+ append(Identity.new(client_identity, **keyword_args))
1086
+ end
1087
+
1088
+ ##
1089
+ # Create a new <Parameter> element
1090
+ # name:: The name of the custom parameter
1091
+ # value:: The value of the custom parameter
1092
+ # keyword_args:: additional attributes
1093
+ def parameter(name: nil, value: nil, **keyword_args)
1094
+ append(Parameter.new(name: name, value: value, **keyword_args))
1095
+ end
1096
+ end
1097
+
1098
+ ##
1099
+ # <Identity> TwiML Noun
1100
+ class Identity < TwiML
1101
+ def initialize(client_identity, **keyword_args)
1102
+ super(**keyword_args)
1103
+ @name = 'Identity'
1104
+ @value = client_identity
1105
+ yield(self) if block_given?
1106
+ end
1107
+ end
1108
+
1109
+ ##
1110
+ # <Connect> TwiML Verb
1111
+ class Connect < TwiML
1112
+ def initialize(**keyword_args)
1113
+ super(**keyword_args)
1114
+ @name = 'Connect'
1115
+
1116
+ yield(self) if block_given?
1117
+ end
1118
+
1119
+ ##
1120
+ # Create a new <Room> element
1121
+ # name:: Room name
1122
+ # participant_identity:: Participant identity when connecting to the Room
1123
+ # keyword_args:: additional attributes
1124
+ def room(name, participant_identity: nil, **keyword_args)
1125
+ append(Room.new(name, participant_identity: participant_identity, **keyword_args))
1126
+ end
1127
+
1128
+ ##
1129
+ # Create a new <Autopilot> element
1130
+ # name:: Autopilot assistant sid or unique name
1131
+ # keyword_args:: additional attributes
1132
+ def autopilot(name, **keyword_args)
1133
+ append(Autopilot.new(name, **keyword_args))
1134
+ end
1135
+
1136
+ ##
1137
+ # Create a new <Stream> element
1138
+ # name:: Friendly name given to the Stream
1139
+ # connector_name:: Unique name for Stream Connector
1140
+ # url:: URL of the remote service where the Stream is routed
1141
+ # track:: Track to be streamed to remote service
1142
+ # keyword_args:: additional attributes
1143
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
1144
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
1145
+
1146
+ yield(stream) if block_given?
1147
+ append(stream)
1148
+ end
1149
+ end
1150
+
1151
+ ##
1152
+ # <Autopilot> TwiML Noun
1153
+ class Autopilot < TwiML
1154
+ def initialize(name, **keyword_args)
1155
+ super(**keyword_args)
1156
+ @name = 'Autopilot'
1157
+ @value = name
1158
+ yield(self) if block_given?
1159
+ end
1160
+ end
1161
+
1162
+ ##
1163
+ # <Room> TwiML Noun
1164
+ class Room < TwiML
1165
+ def initialize(name, **keyword_args)
1166
+ super(**keyword_args)
1167
+ @name = 'Room'
536
1168
  @value = name
537
1169
  yield(self) if block_given?
538
1170
  end