twilio-ruby 5.46.0 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1217) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +9 -1
  7. data/.rubocop.yml +2 -1
  8. data/.rubocop_todo.yml +91 -28
  9. data/CHANGES.md +2333 -0
  10. data/CONTRIBUTING.md +11 -9
  11. data/Dockerfile +2 -1
  12. data/Gemfile +6 -0
  13. data/LICENSE +1 -1
  14. data/Makefile +18 -11
  15. data/PULL_REQUEST_TEMPLATE.md +1 -1
  16. data/README.md +158 -38
  17. data/UPGRADE.md +21 -0
  18. data/advanced-examples/custom-http-client.md +170 -0
  19. data/cluster/cluster_oauth_spec.rb +19 -0
  20. data/cluster/cluster_orgs_spec.rb +40 -0
  21. data/cluster/cluster_spec.rb +75 -0
  22. data/examples/examples.rb +1 -1
  23. data/examples/public_oauth.rb +13 -0
  24. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  25. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  26. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  27. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  28. data/lib/twilio-ruby/base/client_base.rb +131 -0
  29. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  30. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  31. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  32. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  33. data/lib/twilio-ruby/framework/request.rb +8 -1
  34. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  35. data/lib/twilio-ruby/framework/rest/domain.rb +35 -0
  36. data/lib/twilio-ruby/framework/rest/error.rb +66 -0
  37. data/lib/twilio-ruby/framework/rest/page.rb +104 -0
  38. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  39. data/lib/twilio-ruby/framework/rest/resource.rb +39 -0
  40. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  41. data/lib/twilio-ruby/framework/rest/version.rb +240 -0
  42. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  43. data/lib/twilio-ruby/http/http_client.rb +42 -9
  44. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  45. data/lib/twilio-ruby/http.rb +5 -0
  46. data/lib/twilio-ruby/jwt/access_token.rb +13 -59
  47. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  48. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  50. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  51. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  52. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  53. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  54. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  55. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  56. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  57. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  58. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  60. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -514
  61. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  62. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1669 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1669 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +269 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +420 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -931
  82. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -713
  83. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  85. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  86. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  87. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -547
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -546
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -546
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -896
  92. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  93. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  94. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  95. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -612
  96. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  97. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  98. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  99. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  100. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  101. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  102. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -486
  107. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  108. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  123. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  124. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  136. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  137. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  138. data/lib/twilio-ruby/rest/api/v2010.rb +126 -147
  139. data/lib/twilio-ruby/rest/api.rb +26 -35
  140. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  153. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  154. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  155. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  156. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -287
  157. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -271
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -242
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -243
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -224
  161. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -53
  162. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  163. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  164. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  165. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  166. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  169. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  170. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  171. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  172. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  173. data/lib/twilio-ruby/rest/chat/v1.rb +57 -53
  174. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  175. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  176. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  177. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  181. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  182. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  183. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -413
  184. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  185. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  186. data/lib/twilio-ruby/rest/chat/v2.rb +57 -51
  187. data/lib/twilio-ruby/rest/chat/v3/channel.rb +452 -0
  188. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  189. data/lib/twilio-ruby/rest/chat.rb +10 -38
  190. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  191. data/lib/twilio-ruby/rest/client.rb +338 -540
  192. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  193. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +349 -0
  194. data/lib/twilio-ruby/rest/content/v1/content.rb +1921 -0
  195. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  196. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  197. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  198. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  199. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  200. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  201. data/lib/twilio-ruby/rest/content.rb +15 -0
  202. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +808 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  205. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  206. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  207. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -488
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -545
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  213. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +405 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  215. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  216. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -296
  217. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +470 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -271
  219. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  220. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -526
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -581
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +410 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  227. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +697 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -430
  229. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -424
  230. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +690 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -406
  232. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -107
  233. data/lib/twilio-ruby/rest/conversations.rb +24 -34
  234. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  235. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -281
  236. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +461 -283
  237. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  238. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  239. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  240. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -371
  241. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +621 -192
  242. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -380
  243. data/lib/twilio-ruby/rest/events/v1.rb +87 -83
  244. data/lib/twilio-ruby/rest/events.rb +5 -34
  245. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +697 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  248. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -440
  249. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -549
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +379 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +571 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +644 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +537 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  276. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -73
  277. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +266 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  280. data/lib/twilio-ruby/rest/flex_api.rb +33 -31
  281. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  282. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +463 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  284. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  285. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  286. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  287. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  288. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  289. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +516 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -228
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +726 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +672 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +693 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -477
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +445 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +84 -51
  306. data/lib/twilio-ruby/rest/insights.rb +24 -32
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  320. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  321. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  322. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  323. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  331. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  332. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  333. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -51
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  344. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  345. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  346. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -51
  347. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  348. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  351. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  352. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  353. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  354. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  355. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  356. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -38
  357. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  358. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  359. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +578 -0
  360. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  361. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  362. data/lib/twilio-ruby/rest/lookups/v2.rb +135 -0
  363. data/lib/twilio-ruby/rest/lookups.rb +2 -34
  364. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  368. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  369. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  370. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  371. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  372. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  373. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  374. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  375. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +575 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +768 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +477 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +271 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  386. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  389. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  391. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  392. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  393. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +944 -0
  394. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +236 -0
  395. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -645
  396. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1527 -0
  397. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +217 -0
  398. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -43
  399. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  400. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  401. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  402. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  403. data/lib/twilio-ruby/rest/messaging.rb +48 -27
  404. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  405. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  406. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  407. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -51
  408. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  409. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  410. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  411. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  412. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  413. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  414. data/lib/twilio-ruby/rest/notify/v1.rb +57 -53
  415. data/lib/twilio-ruby/rest/notify.rb +3 -34
  416. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +412 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +303 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -505
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -364
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  444. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  445. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  446. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  447. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  448. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  449. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  450. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  451. data/lib/twilio-ruby/rest/oauth/v1/token.rb +301 -0
  452. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  453. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  454. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  455. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  456. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  457. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  458. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  459. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  460. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  461. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -53
  462. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  463. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  464. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  465. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  466. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -51
  467. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  468. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  469. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  470. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  471. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -66
  472. data/lib/twilio-ruby/rest/preview.rb +10 -145
  473. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  474. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  475. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  476. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  477. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  478. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  479. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  480. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  481. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  482. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  483. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  484. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  485. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  486. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  487. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  488. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  490. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  491. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  492. data/lib/twilio-ruby/rest/pricing/v2/country.rb +467 -0
  493. data/lib/twilio-ruby/rest/pricing/v2/number.rb +389 -0
  494. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  495. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  496. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  497. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -28
  498. data/lib/twilio-ruby/rest/pricing.rb +22 -38
  499. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  500. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  501. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  502. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  503. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -453
  504. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -547
  505. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  506. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -37
  507. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  508. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +452 -0
  510. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +452 -0
  511. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +452 -0
  512. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  513. data/lib/twilio-ruby/rest/routes.rb +32 -0
  514. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  516. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  517. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  518. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -374
  519. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  520. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  521. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  522. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  523. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  524. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  525. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  526. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -486
  527. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -36
  528. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  529. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  530. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  531. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  532. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  533. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  534. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  538. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  539. data/lib/twilio-ruby/rest/studio/v1.rb +42 -36
  540. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -208
  541. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -205
  542. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -369
  543. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -450
  544. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -328
  545. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  546. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -480
  547. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -114
  548. data/lib/twilio-ruby/rest/studio/v2.rb +48 -43
  549. data/lib/twilio-ruby/rest/studio.rb +3 -41
  550. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +621 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -411
  553. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +634 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  555. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  556. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  557. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +349 -0
  558. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +338 -0
  559. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +296 -0
  560. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -388
  561. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +586 -0
  562. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +408 -328
  563. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -103
  564. data/lib/twilio-ruby/rest/supersim.rb +40 -40
  565. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -379
  567. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -442
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -497
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -378
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -459
  571. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -504
  572. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -376
  573. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -458
  574. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -138
  575. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -414
  576. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -575
  577. data/lib/twilio-ruby/rest/sync/v1.rb +42 -36
  578. data/lib/twilio-ruby/rest/sync.rb +2 -34
  579. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -388
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -732
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -637
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -366
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -566
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -728
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -619
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -374
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  601. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  602. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -354
  603. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  604. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  605. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -715
  606. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -36
  607. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  608. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  610. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  611. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  612. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  613. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  614. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -614
  615. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -37
  616. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  617. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +602 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +581 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +547 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +833 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +669 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +460 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +453 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +683 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +460 -0
  630. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +602 -0
  631. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +581 -0
  632. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +547 -0
  633. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +833 -0
  634. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  635. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  636. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  637. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  638. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +433 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +454 -108
  640. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +302 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +770 -449
  643. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  644. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +418 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -394
  646. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  647. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  648. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  649. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  650. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  651. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  652. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -349
  653. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +321 -181
  654. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -401
  655. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -693
  656. data/lib/twilio-ruby/rest/verify/v2/template.rb +320 -0
  657. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +566 -0
  658. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +410 -0
  659. data/lib/twilio-ruby/rest/verify/v2.rb +99 -53
  660. data/lib/twilio-ruby/rest/verify.rb +33 -31
  661. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  662. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -494
  663. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -655
  664. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  665. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -405
  666. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  667. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  669. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  670. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  671. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  672. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  673. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  674. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  675. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -542
  676. data/lib/twilio-ruby/rest/video/v1.rb +99 -95
  677. data/lib/twilio-ruby/rest/video.rb +7 -34
  678. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  679. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +302 -0
  680. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  681. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  682. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  683. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  684. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  685. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  686. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  687. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  688. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  689. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  690. data/lib/twilio-ruby/rest/voice/v1.rb +130 -92
  691. data/lib/twilio-ruby/rest/voice.rb +12 -31
  692. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  693. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  694. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  695. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  696. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  697. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -657
  698. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  699. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -73
  700. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  701. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  702. data/lib/twilio-ruby/rest.rb +14 -0
  703. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  704. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  705. data/lib/twilio-ruby/twiml/voice_response.rb +1287 -143
  706. data/lib/twilio-ruby/version.rb +1 -1
  707. data/lib/twilio-ruby.rb +6 -16
  708. data/sonar-project.properties +13 -0
  709. data/twilio-ruby.gemspec +5 -5
  710. metadata +334 -942
  711. data/.travis.yml +0 -45
  712. data/conf/cacert.pem +0 -3376
  713. data/lib/twilio-ruby/framework/domain.rb +0 -36
  714. data/lib/twilio-ruby/framework/error.rb +0 -51
  715. data/lib/twilio-ruby/framework/page.rb +0 -103
  716. data/lib/twilio-ruby/framework/resource.rb +0 -23
  717. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  718. data/lib/twilio-ruby/framework/version.rb +0 -153
  719. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  720. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  721. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  722. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  723. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  724. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  725. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  726. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  727. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  728. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  729. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  730. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  731. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  732. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  733. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  734. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  735. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  736. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  737. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  738. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  739. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  740. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  741. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  742. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  743. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  744. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  745. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  746. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  747. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  748. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  749. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -51
  750. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  751. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -314
  752. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  753. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  754. data/lib/twilio-ruby/rest/fax.rb +0 -47
  755. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -307
  756. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  757. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  758. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  759. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  760. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  761. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  762. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  763. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  764. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  765. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  766. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  767. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  768. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  769. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -410
  771. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  772. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  773. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  774. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  775. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  776. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  777. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  778. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  779. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  780. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  781. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  782. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  783. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  784. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  786. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  787. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  788. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  789. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  790. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  791. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  792. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  793. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  794. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  795. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  796. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  797. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  798. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  799. data/lib/twilio-ruby/rest/preview/understand.rb +0 -44
  800. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  801. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -205
  802. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
  803. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -406
  804. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  805. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  806. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  807. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -483
  808. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -150
  809. data/spec/framework/request_spec.rb +0 -36
  810. data/spec/framework/serialize_spec.rb +0 -80
  811. data/spec/framework/version_spec.rb +0 -219
  812. data/spec/holodeck/holodeck.rb +0 -66
  813. data/spec/holodeck/hologram.rb +0 -4
  814. data/spec/http/http_client_spec.rb +0 -122
  815. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  816. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  817. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  818. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  819. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  820. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  821. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  822. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  823. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  824. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  825. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  826. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  827. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  828. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  829. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  830. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  831. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  832. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  833. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  834. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  835. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  836. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  837. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  838. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  839. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  840. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  841. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  842. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  843. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  844. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  845. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  846. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  847. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  848. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  849. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  850. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  851. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  852. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  853. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  854. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  855. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  856. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  857. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  858. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  859. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  860. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  861. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  862. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  863. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  864. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  865. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  866. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  867. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  868. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  869. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  870. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  871. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  872. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  873. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  874. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  875. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  876. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  877. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  878. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  879. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  880. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  881. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  882. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  883. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  884. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  885. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  886. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  887. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  888. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  889. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  890. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  891. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  892. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  893. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  894. data/spec/integration/api/v2010/account_spec.rb +0 -327
  895. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  896. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  897. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  898. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  899. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  900. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  901. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  902. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  903. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  904. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  905. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  906. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  907. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  908. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  909. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  910. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  911. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  912. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  913. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  914. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  915. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  916. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  917. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  918. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  919. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  920. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  921. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  922. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  923. data/spec/integration/chat/v1/service_spec.rb +0 -295
  924. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  925. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  926. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  927. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  928. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  929. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  930. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  931. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  932. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  933. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  934. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  935. data/spec/integration/chat/v2/service_spec.rb +0 -350
  936. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  937. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  938. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  939. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  940. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  941. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  942. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  943. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  944. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  945. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  946. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  947. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  948. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  949. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  950. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  951. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  952. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  953. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  954. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  955. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  956. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  957. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  958. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  959. data/spec/integration/events/v1/schema_spec.rb +0 -46
  960. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  961. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  962. data/spec/integration/events/v1/sink_spec.rb +0 -231
  963. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  964. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  965. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  966. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  967. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  968. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  969. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  970. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  971. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  972. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  973. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  974. data/spec/integration/insights/v1/call_spec.rb +0 -46
  975. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  976. data/spec/integration/insights/v1/room_spec.rb +0 -164
  977. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  978. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  979. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  980. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  981. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  982. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  983. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  984. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  985. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  986. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  987. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  988. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  989. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  990. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  991. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  992. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  993. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  994. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  995. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  996. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  997. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  998. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  999. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  1000. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  1001. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  1002. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  1003. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  1004. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  1005. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  1006. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  1007. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  1008. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  1009. data/spec/integration/notify/v1/service_spec.rb +0 -289
  1010. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  1011. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  1012. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  1013. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  1014. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  1015. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  1016. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  1017. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  1018. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  1019. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  1020. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  1021. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  1022. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  1023. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  1024. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  1025. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  1026. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  1027. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  1028. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  1029. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  1030. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  1031. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  1032. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  1033. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  1034. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  1035. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  1036. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  1037. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  1038. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  1039. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  1040. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  1041. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  1042. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  1043. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  1044. data/spec/integration/preview/sync/service_spec.rb +0 -241
  1045. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  1046. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  1047. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  1048. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  1049. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  1050. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  1051. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  1052. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  1053. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  1054. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  1055. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  1056. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  1057. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  1058. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  1059. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  1060. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  1061. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  1062. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  1063. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  1064. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  1065. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  1066. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  1067. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  1068. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  1069. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  1070. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  1071. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  1072. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  1073. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  1074. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  1075. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  1076. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  1077. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  1078. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  1079. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  1080. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  1081. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  1082. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  1083. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  1084. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  1085. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  1086. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  1087. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  1088. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  1089. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  1090. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  1091. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  1092. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  1093. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  1094. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  1095. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  1096. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  1097. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  1098. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  1099. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  1100. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  1101. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  1102. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1103. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  1104. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  1105. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  1106. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  1107. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1108. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  1109. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  1110. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  1111. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  1112. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  1113. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  1114. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  1115. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  1116. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  1117. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  1118. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  1119. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  1120. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  1121. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  1122. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  1123. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  1124. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  1125. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  1126. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  1127. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  1128. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  1129. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  1130. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  1131. data/spec/integration/sync/v1/service_spec.rb +0 -261
  1132. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  1133. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  1134. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  1135. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  1136. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  1137. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  1138. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  1139. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  1140. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  1141. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  1142. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  1143. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  1144. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  1145. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  1146. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  1147. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  1148. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  1149. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  1150. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1151. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  1152. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  1153. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  1154. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1155. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  1156. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  1157. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  1158. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  1159. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  1160. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  1161. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  1162. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  1163. data/spec/integration/verify/v2/form_spec.rb +0 -47
  1164. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  1165. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  1166. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  1167. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  1168. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  1169. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  1170. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  1171. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  1172. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  1173. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  1174. data/spec/integration/verify/v2/service_spec.rb +0 -279
  1175. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  1176. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  1177. data/spec/integration/video/v1/composition_spec.rb +0 -347
  1178. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  1179. data/spec/integration/video/v1/recording_spec.rb +0 -176
  1180. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  1181. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  1182. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  1183. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  1184. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1185. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  1186. data/spec/integration/video/v1/room_spec.rb +0 -301
  1187. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  1188. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  1189. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  1190. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  1191. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  1192. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  1193. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  1194. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  1195. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  1196. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  1197. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  1198. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  1199. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  1200. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  1201. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  1202. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  1203. data/spec/jwt/access_token_spec.rb +0 -159
  1204. data/spec/jwt/client_capability_spec.rb +0 -104
  1205. data/spec/jwt/task_router_spec.rb +0 -172
  1206. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1207. data/spec/rest/client_spec.rb +0 -255
  1208. data/spec/security/request_validator_spec.rb +0 -125
  1209. data/spec/spec_helper.rb +0 -38
  1210. data/spec/support/fakeweb.rb +0 -2
  1211. data/spec/twilio_spec.rb +0 -17
  1212. data/spec/twiml/messaging_response_spec.rb +0 -235
  1213. data/spec/twiml/voice_response_spec.rb +0 -847
  1214. data/spec/util/configuration_spec.rb +0 -33
  1215. data/spec/util/url_encode_spec.rb +0 -12
  1216. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1217. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
@@ -48,9 +48,12 @@ module Twilio
48
48
  # ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
49
49
  # recording_track:: To indicate which audio track should be recorded
50
50
  # sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
51
+ # refer_url:: Webhook that will receive future SIP REFER requests
52
+ # refer_method:: The HTTP method to use for the refer Webhook
53
+ # events:: Subscription to events
51
54
  # keyword_args:: additional attributes
52
- def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, **keyword_args)
53
- dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, **keyword_args)
55
+ def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, events: nil, **keyword_args)
56
+ dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, events: events, **keyword_args)
54
57
 
55
58
  yield(dial) if block_given?
56
59
  append(dial)
@@ -67,13 +70,14 @@ module Twilio
67
70
  # Create a new <Enqueue> element
68
71
  # name:: Friendly name
69
72
  # action:: Action URL
73
+ # max_queue_size:: Maximum size of queue
70
74
  # method:: Action URL method
71
75
  # wait_url:: Wait URL
72
76
  # wait_url_method:: Wait URL method
73
77
  # workflow_sid:: TaskRouter Workflow SID
74
78
  # keyword_args:: additional attributes
75
- def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
76
- enqueue = Enqueue.new(name: name, action: action, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
79
+ def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
80
+ enqueue = Enqueue.new(name: name, action: action, max_queue_size: max_queue_size, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
77
81
 
78
82
  yield(enqueue) if block_given?
79
83
  append(enqueue)
@@ -111,7 +115,10 @@ module Twilio
111
115
  # Create a new <Hangup> element
112
116
  # keyword_args:: additional attributes
113
117
  def hangup(**keyword_args)
114
- append(Hangup.new(**keyword_args))
118
+ hangup = Hangup.new(**keyword_args)
119
+
120
+ yield(hangup) if block_given?
121
+ append(hangup)
115
122
  end
116
123
 
117
124
  ##
@@ -184,7 +191,10 @@ module Twilio
184
191
  # reason:: Rejection reason
185
192
  # keyword_args:: additional attributes
186
193
  def reject(reason: nil, **keyword_args)
187
- append(Reject.new(reason: reason, **keyword_args))
194
+ reject = Reject.new(reason: reason, **keyword_args)
195
+
196
+ yield(reject) if block_given?
197
+ append(reject)
188
198
  end
189
199
 
190
200
  ##
@@ -192,7 +202,7 @@ module Twilio
192
202
  # message:: Message to say
193
203
  # voice:: Voice to use
194
204
  # loop:: Times to loop message
195
- # language:: Message langauge
205
+ # language:: Message language
196
206
  # keyword_args:: additional attributes
197
207
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
198
208
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -248,9 +258,10 @@ module Twilio
248
258
  # error_type:: Type of error
249
259
  # card_type:: Type of the credit card
250
260
  # attempt:: Current attempt count
261
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
251
262
  # keyword_args:: additional attributes
252
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
253
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
263
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
264
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
254
265
 
255
266
  yield(prompt) if block_given?
256
267
  append(prompt)
@@ -337,9 +348,11 @@ module Twilio
337
348
  # connector_name:: Unique name for Stream Connector
338
349
  # url:: URL of the remote service where the Stream is routed
339
350
  # track:: Track to be streamed to remote service
351
+ # status_callback:: Status Callback URL
352
+ # status_callback_method:: Status Callback URL method
340
353
  # keyword_args:: additional attributes
341
- def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
342
- stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
354
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
355
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
343
356
 
344
357
  yield(stream) if block_given?
345
358
  append(stream)
@@ -350,25 +363,60 @@ module Twilio
350
363
  # name:: Friendly name given to SIPREC
351
364
  # connector_name:: Unique name for Connector
352
365
  # track:: Track to be streamed to remote service
366
+ # status_callback:: Status Callback URL
367
+ # status_callback_method:: Status Callback URL method
353
368
  # keyword_args:: additional attributes
354
- def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
355
- siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
369
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
370
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
356
371
 
357
372
  yield(siprec) if block_given?
358
373
  append(siprec)
359
374
  end
375
+
376
+ ##
377
+ # Create a new <Transcription> element
378
+ # name:: Friendly name given to the Transcription
379
+ # track:: Track to be analyze by the provider
380
+ # status_callback_url:: Status Callback URL
381
+ # status_callback_method:: Status Callback URL method
382
+ # inbound_track_label:: Friendly name given to the Inbound Track
383
+ # outbound_track_label:: Friendly name given to the Outbound Track Label
384
+ # partial_results:: Indicates if partial results are going to be send to the customer
385
+ # language_code:: Language Code used by the transcription engine
386
+ # transcription_engine:: Transcription Engine to be used
387
+ # profanity_filter:: Enable Profanity Filter
388
+ # speech_model:: Speech Model used by the transcription engine
389
+ # hints:: Hints to be provided to the transcription engine
390
+ # enable_automatic_punctuation:: Enable Automatic Punctuation
391
+ # intelligence_service:: The SID or the unique name of the Intelligence Service to be used
392
+ # keyword_args:: additional attributes
393
+ def transcription(name: nil, track: nil, status_callback_url: nil, status_callback_method: nil, inbound_track_label: nil, outbound_track_label: nil, partial_results: nil, language_code: nil, transcription_engine: nil, profanity_filter: nil, speech_model: nil, hints: nil, enable_automatic_punctuation: nil, intelligence_service: nil, **keyword_args)
394
+ transcription = Transcription.new(name: name, track: track, status_callback_url: status_callback_url, status_callback_method: status_callback_method, inbound_track_label: inbound_track_label, outbound_track_label: outbound_track_label, partial_results: partial_results, language_code: language_code, transcription_engine: transcription_engine, profanity_filter: profanity_filter, speech_model: speech_model, hints: hints, enable_automatic_punctuation: enable_automatic_punctuation, intelligence_service: intelligence_service, **keyword_args)
395
+
396
+ yield(transcription) if block_given?
397
+ append(transcription)
398
+ end
360
399
  end
361
400
 
362
401
  ##
363
- # <Siprec> TwiML Noun
364
- class Siprec < TwiML
402
+ # <Transcription> TwiML Noun
403
+ class Transcription < TwiML
365
404
  def initialize(**keyword_args)
366
405
  super(**keyword_args)
367
- @name = 'Siprec'
406
+ @name = 'Transcription'
368
407
 
369
408
  yield(self) if block_given?
370
409
  end
371
410
 
411
+ ##
412
+ # Create a new <Config> element
413
+ # name:: The name of the custom config
414
+ # value:: The value of the custom config
415
+ # keyword_args:: additional attributes
416
+ def config(name: nil, value: nil, **keyword_args)
417
+ append(Config.new(name: name, value: value, **keyword_args))
418
+ end
419
+
372
420
  ##
373
421
  # Create a new <Parameter> element
374
422
  # name:: The name of the custom parameter
@@ -390,6 +438,37 @@ module Twilio
390
438
  end
391
439
  end
392
440
 
441
+ ##
442
+ # <Config> TwiML Noun
443
+ class Config < TwiML
444
+ def initialize(**keyword_args)
445
+ super(**keyword_args)
446
+ @name = 'Config'
447
+
448
+ yield(self) if block_given?
449
+ end
450
+ end
451
+
452
+ ##
453
+ # <Siprec> TwiML Noun
454
+ class Siprec < TwiML
455
+ def initialize(**keyword_args)
456
+ super(**keyword_args)
457
+ @name = 'Siprec'
458
+
459
+ yield(self) if block_given?
460
+ end
461
+
462
+ ##
463
+ # Create a new <Parameter> element
464
+ # name:: The name of the custom parameter
465
+ # value:: The value of the custom parameter
466
+ # keyword_args:: additional attributes
467
+ def parameter(name: nil, value: nil, **keyword_args)
468
+ append(Parameter.new(name: name, value: value, **keyword_args))
469
+ end
470
+ end
471
+
393
472
  ##
394
473
  # <Stream> TwiML Noun
395
474
  class Stream < TwiML
@@ -426,9 +505,11 @@ module Twilio
426
505
  # connector_name:: Unique name for Stream Connector
427
506
  # url:: URL of the remote service where the Stream is routed
428
507
  # track:: Track to be streamed to remote service
508
+ # status_callback:: Status Callback URL
509
+ # status_callback_method:: Status Callback URL method
429
510
  # keyword_args:: additional attributes
430
- def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
431
- stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
511
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
512
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
432
513
 
433
514
  yield(stream) if block_given?
434
515
  append(stream)
@@ -439,13 +520,63 @@ module Twilio
439
520
  # name:: Friendly name given to SIPREC
440
521
  # connector_name:: Unique name for Connector
441
522
  # track:: Track to be streamed to remote service
523
+ # status_callback:: Status Callback URL
524
+ # status_callback_method:: Status Callback URL method
442
525
  # keyword_args:: additional attributes
443
- def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
444
- siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
526
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
527
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
445
528
 
446
529
  yield(siprec) if block_given?
447
530
  append(siprec)
448
531
  end
532
+
533
+ ##
534
+ # Create a new <Transcription> element
535
+ # name:: Friendly name given to the Transcription
536
+ # track:: Track to be analyze by the provider
537
+ # status_callback_url:: Status Callback URL
538
+ # status_callback_method:: Status Callback URL method
539
+ # inbound_track_label:: Friendly name given to the Inbound Track
540
+ # outbound_track_label:: Friendly name given to the Outbound Track Label
541
+ # partial_results:: Indicates if partial results are going to be send to the customer
542
+ # language_code:: Language Code used by the transcription engine
543
+ # transcription_engine:: Transcription Engine to be used
544
+ # profanity_filter:: Enable Profanity Filter
545
+ # speech_model:: Speech Model used by the transcription engine
546
+ # hints:: Hints to be provided to the transcription engine
547
+ # enable_automatic_punctuation:: Enable Automatic Punctuation
548
+ # intelligence_service:: The SID or the unique name of the Intelligence Service to be used
549
+ # keyword_args:: additional attributes
550
+ def transcription(name: nil, track: nil, status_callback_url: nil, status_callback_method: nil, inbound_track_label: nil, outbound_track_label: nil, partial_results: nil, language_code: nil, transcription_engine: nil, profanity_filter: nil, speech_model: nil, hints: nil, enable_automatic_punctuation: nil, intelligence_service: nil, **keyword_args)
551
+ transcription = Transcription.new(name: name, track: track, status_callback_url: status_callback_url, status_callback_method: status_callback_method, inbound_track_label: inbound_track_label, outbound_track_label: outbound_track_label, partial_results: partial_results, language_code: language_code, transcription_engine: transcription_engine, profanity_filter: profanity_filter, speech_model: speech_model, hints: hints, enable_automatic_punctuation: enable_automatic_punctuation, intelligence_service: intelligence_service, **keyword_args)
552
+
553
+ yield(transcription) if block_given?
554
+ append(transcription)
555
+ end
556
+
557
+ ##
558
+ # Create a new <Recording> element
559
+ # recording_status_callback:: Recording Status Callback URL
560
+ # recording_status_callback_method:: Recording Status Callback URL method
561
+ # recording_status_callback_event:: Recording Status Callback Events
562
+ # trim:: Trim the recording
563
+ # track:: To indicate which audio track should be recorded
564
+ # channels:: The recording channels for the final recording
565
+ # keyword_args:: additional attributes
566
+ def recording(recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, trim: nil, track: nil, channels: nil, **keyword_args)
567
+ append(Recording.new(recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, trim: trim, track: track, channels: channels, **keyword_args))
568
+ end
569
+ end
570
+
571
+ ##
572
+ # <Recording> TwiML Noun
573
+ class Recording < TwiML
574
+ def initialize(**keyword_args)
575
+ super(**keyword_args)
576
+ @name = 'Recording'
577
+
578
+ yield(self) if block_given?
579
+ end
449
580
  end
450
581
 
451
582
  ##
@@ -463,7 +594,7 @@ module Twilio
463
594
  # message:: Message to say
464
595
  # voice:: Voice to use
465
596
  # loop:: Times to loop message
466
- # language:: Message langauge
597
+ # language:: Message language
467
598
  # keyword_args:: additional attributes
468
599
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
469
600
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -537,8 +668,11 @@ module Twilio
537
668
  # words:: Words to emphasize
538
669
  # level:: Specify the degree of emphasis
539
670
  # keyword_args:: additional attributes
540
- def emphasis(words, level: nil, **keyword_args)
541
- append(SsmlEmphasis.new(words, level: level, **keyword_args))
671
+ def emphasis(words: nil, level: nil, **keyword_args)
672
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
673
+
674
+ yield(emphasis) if block_given?
675
+ append(emphasis)
542
676
  end
543
677
 
544
678
  ##
@@ -546,16 +680,22 @@ module Twilio
546
680
  # words:: Words to speak
547
681
  # xmlLang:: Specify the language
548
682
  # keyword_args:: additional attributes
549
- def lang(words, xmlLang: nil, **keyword_args)
550
- append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
683
+ def lang(words: nil, xmlLang: nil, **keyword_args)
684
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
685
+
686
+ yield(lang) if block_given?
687
+ append(lang)
551
688
  end
552
689
 
553
690
  ##
554
691
  # Create a new <P> element
555
692
  # words:: Words to speak
556
693
  # keyword_args:: additional attributes
557
- def p(words, **keyword_args)
558
- append(SsmlP.new(words, **keyword_args))
694
+ def p(words: nil, **keyword_args)
695
+ p = SsmlP.new(words: words, **keyword_args)
696
+
697
+ yield(p) if block_given?
698
+ append(p)
559
699
  end
560
700
 
561
701
  ##
@@ -575,26 +715,32 @@ module Twilio
575
715
  # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
576
716
  # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
577
717
  # keyword_args:: additional attributes
578
- def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
579
- append(SsmlProsody.new(words, volume: volume, rate: rate, pitch: pitch, **keyword_args))
718
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
719
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
720
+
721
+ yield(prosody) if block_given?
722
+ append(prosody)
580
723
  end
581
724
 
582
725
  ##
583
726
  # Create a new <S> element
584
727
  # words:: Words to speak
585
728
  # keyword_args:: additional attributes
586
- def s(words, **keyword_args)
587
- append(SsmlS.new(words, **keyword_args))
729
+ def s(words: nil, **keyword_args)
730
+ s = SsmlS.new(words: words, **keyword_args)
731
+
732
+ yield(s) if block_given?
733
+ append(s)
588
734
  end
589
735
 
590
736
  ##
591
737
  # Create a new <Say-As> element
592
738
  # words:: Words to be interpreted
593
739
  # interpretAs:: Specify the type of words are spoken
594
- # role:: Specify the format of the date when interpret-as is set to date
740
+ # format:: Specify the format of the date when interpret-as is set to date
595
741
  # keyword_args:: additional attributes
596
- def say_as(words, interpretAs: nil, role: nil, **keyword_args)
597
- append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
742
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
743
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
598
744
  end
599
745
 
600
746
  ##
@@ -611,20 +757,87 @@ module Twilio
611
757
  # words:: Words to speak
612
758
  # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
613
759
  # keyword_args:: additional attributes
614
- def w(words, role: nil, **keyword_args)
615
- append(SsmlW.new(words, role: role, **keyword_args))
760
+ def w(words: nil, role: nil, **keyword_args)
761
+ w = SsmlW.new(words: words, role: role, **keyword_args)
762
+
763
+ yield(w) if block_given?
764
+ append(w)
616
765
  end
617
766
  end
618
767
 
619
768
  ##
620
769
  # Improving Pronunciation by Specifying Parts of Speech in <Say>
621
770
  class SsmlW < TwiML
622
- def initialize(words, **keyword_args)
771
+ def initialize(words: nil, **keyword_args)
623
772
  super(**keyword_args)
624
773
  @name = 'w'
625
- @value = words
774
+ @value = words unless words.nil?
626
775
  yield(self) if block_given?
627
776
  end
777
+
778
+ ##
779
+ # Create a new <Break> element
780
+ # strength:: Set a pause based on strength
781
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
782
+ # keyword_args:: additional attributes
783
+ def break(strength: nil, time: nil, **keyword_args)
784
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
785
+ end
786
+
787
+ ##
788
+ # Create a new <Emphasis> element
789
+ # words:: Words to emphasize
790
+ # level:: Specify the degree of emphasis
791
+ # keyword_args:: additional attributes
792
+ def emphasis(words: nil, level: nil, **keyword_args)
793
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
794
+
795
+ yield(emphasis) if block_given?
796
+ append(emphasis)
797
+ end
798
+
799
+ ##
800
+ # Create a new <Phoneme> element
801
+ # words:: Words to speak
802
+ # alphabet:: Specify the phonetic alphabet
803
+ # ph:: Specifiy the phonetic symbols for pronunciation
804
+ # keyword_args:: additional attributes
805
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
806
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
807
+ end
808
+
809
+ ##
810
+ # Create a new <Prosody> element
811
+ # words:: Words to speak
812
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
813
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
814
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
815
+ # keyword_args:: additional attributes
816
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
817
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
818
+
819
+ yield(prosody) if block_given?
820
+ append(prosody)
821
+ end
822
+
823
+ ##
824
+ # Create a new <Say-As> element
825
+ # words:: Words to be interpreted
826
+ # interpretAs:: Specify the type of words are spoken
827
+ # format:: Specify the format of the date when interpret-as is set to date
828
+ # keyword_args:: additional attributes
829
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
830
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
831
+ end
832
+
833
+ ##
834
+ # Create a new <Sub> element
835
+ # words:: Words to be substituted
836
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
837
+ # keyword_args:: additional attributes
838
+ def sub(words, aliasAttribute: nil, **keyword_args)
839
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
840
+ end
628
841
  end
629
842
 
630
843
  ##
@@ -649,137 +862,642 @@ module Twilio
649
862
  end
650
863
  end
651
864
 
652
- ##
653
- # Adding A Pause Between Sentences in <Say>
654
- class SsmlS < TwiML
655
- def initialize(words, **keyword_args)
656
- super(**keyword_args)
657
- @name = 's'
658
- @value = words
659
- yield(self) if block_given?
660
- end
661
- end
662
-
663
865
  ##
664
866
  # Controling Volume, Speaking Rate, and Pitch in <Say>
665
867
  class SsmlProsody < TwiML
666
- def initialize(words, **keyword_args)
868
+ def initialize(words: nil, **keyword_args)
667
869
  super(**keyword_args)
668
870
  @name = 'prosody'
669
- @value = words
871
+ @value = words unless words.nil?
670
872
  yield(self) if block_given?
671
873
  end
672
- end
673
874
 
674
- ##
675
- # Using Phonetic Pronunciation in <Say>
676
- class SsmlPhoneme < TwiML
677
- def initialize(words, **keyword_args)
678
- super(**keyword_args)
679
- @name = 'phoneme'
680
- @value = words
681
- yield(self) if block_given?
875
+ ##
876
+ # Create a new <Break> element
877
+ # strength:: Set a pause based on strength
878
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
879
+ # keyword_args:: additional attributes
880
+ def break(strength: nil, time: nil, **keyword_args)
881
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
682
882
  end
683
- end
684
883
 
685
- ##
686
- # Adding a Pause Between Paragraphs in <Say>
687
- class SsmlP < TwiML
688
- def initialize(words, **keyword_args)
689
- super(**keyword_args)
690
- @name = 'p'
691
- @value = words
692
- yield(self) if block_given?
693
- end
694
- end
884
+ ##
885
+ # Create a new <Emphasis> element
886
+ # words:: Words to emphasize
887
+ # level:: Specify the degree of emphasis
888
+ # keyword_args:: additional attributes
889
+ def emphasis(words: nil, level: nil, **keyword_args)
890
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
695
891
 
696
- ##
697
- # Specifying Another Language for Specific Words in <Say>
698
- class SsmlLang < TwiML
699
- def initialize(words, **keyword_args)
700
- super(**keyword_args)
701
- @name = 'lang'
702
- @value = words
703
- yield(self) if block_given?
892
+ yield(emphasis) if block_given?
893
+ append(emphasis)
704
894
  end
705
- end
706
895
 
707
- ##
708
- # Emphasizing Words in <Say>
709
- class SsmlEmphasis < TwiML
710
- def initialize(words, **keyword_args)
711
- super(**keyword_args)
712
- @name = 'emphasis'
713
- @value = words
714
- yield(self) if block_given?
896
+ ##
897
+ # Create a new <Lang> element
898
+ # words:: Words to speak
899
+ # xmlLang:: Specify the language
900
+ # keyword_args:: additional attributes
901
+ def lang(words: nil, xmlLang: nil, **keyword_args)
902
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
903
+
904
+ yield(lang) if block_given?
905
+ append(lang)
715
906
  end
716
- end
717
907
 
718
- ##
719
- # Adding a Pause in <Say>
720
- class SsmlBreak < TwiML
721
- def initialize(**keyword_args)
722
- super(**keyword_args)
723
- @name = 'break'
908
+ ##
909
+ # Create a new <P> element
910
+ # words:: Words to speak
911
+ # keyword_args:: additional attributes
912
+ def p(words: nil, **keyword_args)
913
+ p = SsmlP.new(words: words, **keyword_args)
724
914
 
725
- yield(self) if block_given?
915
+ yield(p) if block_given?
916
+ append(p)
726
917
  end
727
- end
728
-
729
- ##
730
- # <Pay> Twiml Verb
731
- class Pay < TwiML
732
- def initialize(**keyword_args)
733
- super(**keyword_args)
734
- @name = 'Pay'
735
918
 
736
- yield(self) if block_given?
919
+ ##
920
+ # Create a new <Phoneme> element
921
+ # words:: Words to speak
922
+ # alphabet:: Specify the phonetic alphabet
923
+ # ph:: Specifiy the phonetic symbols for pronunciation
924
+ # keyword_args:: additional attributes
925
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
926
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
737
927
  end
738
928
 
739
929
  ##
740
- # Create a new <Prompt> element
741
- # for_:: Name of the payment source data element
742
- # error_type:: Type of error
743
- # card_type:: Type of the credit card
744
- # attempt:: Current attempt count
930
+ # Create a new <Prosody> element
931
+ # words:: Words to speak
932
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
933
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
934
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
745
935
  # keyword_args:: additional attributes
746
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
747
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
936
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
937
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
748
938
 
749
- yield(prompt) if block_given?
750
- append(prompt)
939
+ yield(prosody) if block_given?
940
+ append(prosody)
751
941
  end
752
942
 
753
943
  ##
754
- # Create a new <Parameter> element
755
- # name:: The name of the custom parameter
756
- # value:: The value of the custom parameter
944
+ # Create a new <S> element
945
+ # words:: Words to speak
757
946
  # keyword_args:: additional attributes
758
- def parameter(name: nil, value: nil, **keyword_args)
759
- append(Parameter.new(name: name, value: value, **keyword_args))
760
- end
761
- end
947
+ def s(words: nil, **keyword_args)
948
+ s = SsmlS.new(words: words, **keyword_args)
762
949
 
763
- ##
764
- # <Sms> TwiML Noun
765
- class Sms < TwiML
766
- def initialize(message, **keyword_args)
767
- super(**keyword_args)
768
- @name = 'Sms'
769
- @value = message
770
- yield(self) if block_given?
950
+ yield(s) if block_given?
951
+ append(s)
771
952
  end
772
- end
773
953
 
774
- ##
775
- # <Reject> TwiML Verb
776
- class Reject < TwiML
777
- def initialize(**keyword_args)
954
+ ##
955
+ # Create a new <Say-As> element
956
+ # words:: Words to be interpreted
957
+ # interpretAs:: Specify the type of words are spoken
958
+ # format:: Specify the format of the date when interpret-as is set to date
959
+ # keyword_args:: additional attributes
960
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
961
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
962
+ end
963
+
964
+ ##
965
+ # Create a new <Sub> element
966
+ # words:: Words to be substituted
967
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
968
+ # keyword_args:: additional attributes
969
+ def sub(words, aliasAttribute: nil, **keyword_args)
970
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
971
+ end
972
+
973
+ ##
974
+ # Create a new <W> element
975
+ # words:: Words to speak
976
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
977
+ # keyword_args:: additional attributes
978
+ def w(words: nil, role: nil, **keyword_args)
979
+ w = SsmlW.new(words: words, role: role, **keyword_args)
980
+
981
+ yield(w) if block_given?
982
+ append(w)
983
+ end
984
+ end
985
+
986
+ ##
987
+ # Adding A Pause Between Sentences in <Say>
988
+ class SsmlS < TwiML
989
+ def initialize(words: nil, **keyword_args)
990
+ super(**keyword_args)
991
+ @name = 's'
992
+ @value = words unless words.nil?
993
+ yield(self) if block_given?
994
+ end
995
+
996
+ ##
997
+ # Create a new <Break> element
998
+ # strength:: Set a pause based on strength
999
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1000
+ # keyword_args:: additional attributes
1001
+ def break(strength: nil, time: nil, **keyword_args)
1002
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1003
+ end
1004
+
1005
+ ##
1006
+ # Create a new <Emphasis> element
1007
+ # words:: Words to emphasize
1008
+ # level:: Specify the degree of emphasis
1009
+ # keyword_args:: additional attributes
1010
+ def emphasis(words: nil, level: nil, **keyword_args)
1011
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1012
+
1013
+ yield(emphasis) if block_given?
1014
+ append(emphasis)
1015
+ end
1016
+
1017
+ ##
1018
+ # Create a new <Lang> element
1019
+ # words:: Words to speak
1020
+ # xmlLang:: Specify the language
1021
+ # keyword_args:: additional attributes
1022
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1023
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1024
+
1025
+ yield(lang) if block_given?
1026
+ append(lang)
1027
+ end
1028
+
1029
+ ##
1030
+ # Create a new <Phoneme> element
1031
+ # words:: Words to speak
1032
+ # alphabet:: Specify the phonetic alphabet
1033
+ # ph:: Specifiy the phonetic symbols for pronunciation
1034
+ # keyword_args:: additional attributes
1035
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1036
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1037
+ end
1038
+
1039
+ ##
1040
+ # Create a new <Prosody> element
1041
+ # words:: Words to speak
1042
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1043
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1044
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1045
+ # keyword_args:: additional attributes
1046
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1047
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1048
+
1049
+ yield(prosody) if block_given?
1050
+ append(prosody)
1051
+ end
1052
+
1053
+ ##
1054
+ # Create a new <Say-As> element
1055
+ # words:: Words to be interpreted
1056
+ # interpretAs:: Specify the type of words are spoken
1057
+ # format:: Specify the format of the date when interpret-as is set to date
1058
+ # keyword_args:: additional attributes
1059
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1060
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1061
+ end
1062
+
1063
+ ##
1064
+ # Create a new <Sub> element
1065
+ # words:: Words to be substituted
1066
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1067
+ # keyword_args:: additional attributes
1068
+ def sub(words, aliasAttribute: nil, **keyword_args)
1069
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1070
+ end
1071
+
1072
+ ##
1073
+ # Create a new <W> element
1074
+ # words:: Words to speak
1075
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1076
+ # keyword_args:: additional attributes
1077
+ def w(words: nil, role: nil, **keyword_args)
1078
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1079
+
1080
+ yield(w) if block_given?
1081
+ append(w)
1082
+ end
1083
+ end
1084
+
1085
+ ##
1086
+ # Using Phonetic Pronunciation in <Say>
1087
+ class SsmlPhoneme < TwiML
1088
+ def initialize(words, **keyword_args)
1089
+ super(**keyword_args)
1090
+ @name = 'phoneme'
1091
+ @value = words
1092
+ yield(self) if block_given?
1093
+ end
1094
+ end
1095
+
1096
+ ##
1097
+ # Specifying Another Language for Specific Words in <Say>
1098
+ class SsmlLang < TwiML
1099
+ def initialize(words: nil, **keyword_args)
1100
+ super(**keyword_args)
1101
+ @name = 'lang'
1102
+ @value = words unless words.nil?
1103
+ yield(self) if block_given?
1104
+ end
1105
+
1106
+ ##
1107
+ # Create a new <Break> element
1108
+ # strength:: Set a pause based on strength
1109
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1110
+ # keyword_args:: additional attributes
1111
+ def break(strength: nil, time: nil, **keyword_args)
1112
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1113
+ end
1114
+
1115
+ ##
1116
+ # Create a new <Emphasis> element
1117
+ # words:: Words to emphasize
1118
+ # level:: Specify the degree of emphasis
1119
+ # keyword_args:: additional attributes
1120
+ def emphasis(words: nil, level: nil, **keyword_args)
1121
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1122
+
1123
+ yield(emphasis) if block_given?
1124
+ append(emphasis)
1125
+ end
1126
+
1127
+ ##
1128
+ # Create a new <Lang> element
1129
+ # words:: Words to speak
1130
+ # xmlLang:: Specify the language
1131
+ # keyword_args:: additional attributes
1132
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1133
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1134
+
1135
+ yield(lang) if block_given?
1136
+ append(lang)
1137
+ end
1138
+
1139
+ ##
1140
+ # Create a new <P> element
1141
+ # words:: Words to speak
1142
+ # keyword_args:: additional attributes
1143
+ def p(words: nil, **keyword_args)
1144
+ p = SsmlP.new(words: words, **keyword_args)
1145
+
1146
+ yield(p) if block_given?
1147
+ append(p)
1148
+ end
1149
+
1150
+ ##
1151
+ # Create a new <Phoneme> element
1152
+ # words:: Words to speak
1153
+ # alphabet:: Specify the phonetic alphabet
1154
+ # ph:: Specifiy the phonetic symbols for pronunciation
1155
+ # keyword_args:: additional attributes
1156
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1157
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1158
+ end
1159
+
1160
+ ##
1161
+ # Create a new <Prosody> element
1162
+ # words:: Words to speak
1163
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1164
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1165
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1166
+ # keyword_args:: additional attributes
1167
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1168
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1169
+
1170
+ yield(prosody) if block_given?
1171
+ append(prosody)
1172
+ end
1173
+
1174
+ ##
1175
+ # Create a new <S> element
1176
+ # words:: Words to speak
1177
+ # keyword_args:: additional attributes
1178
+ def s(words: nil, **keyword_args)
1179
+ s = SsmlS.new(words: words, **keyword_args)
1180
+
1181
+ yield(s) if block_given?
1182
+ append(s)
1183
+ end
1184
+
1185
+ ##
1186
+ # Create a new <Say-As> element
1187
+ # words:: Words to be interpreted
1188
+ # interpretAs:: Specify the type of words are spoken
1189
+ # format:: Specify the format of the date when interpret-as is set to date
1190
+ # keyword_args:: additional attributes
1191
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1192
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1193
+ end
1194
+
1195
+ ##
1196
+ # Create a new <Sub> element
1197
+ # words:: Words to be substituted
1198
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1199
+ # keyword_args:: additional attributes
1200
+ def sub(words, aliasAttribute: nil, **keyword_args)
1201
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1202
+ end
1203
+
1204
+ ##
1205
+ # Create a new <W> element
1206
+ # words:: Words to speak
1207
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1208
+ # keyword_args:: additional attributes
1209
+ def w(words: nil, role: nil, **keyword_args)
1210
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1211
+
1212
+ yield(w) if block_given?
1213
+ append(w)
1214
+ end
1215
+ end
1216
+
1217
+ ##
1218
+ # Adding a Pause Between Paragraphs in <Say>
1219
+ class SsmlP < TwiML
1220
+ def initialize(words: nil, **keyword_args)
1221
+ super(**keyword_args)
1222
+ @name = 'p'
1223
+ @value = words unless words.nil?
1224
+ yield(self) if block_given?
1225
+ end
1226
+
1227
+ ##
1228
+ # Create a new <Break> element
1229
+ # strength:: Set a pause based on strength
1230
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1231
+ # keyword_args:: additional attributes
1232
+ def break(strength: nil, time: nil, **keyword_args)
1233
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1234
+ end
1235
+
1236
+ ##
1237
+ # Create a new <Emphasis> element
1238
+ # words:: Words to emphasize
1239
+ # level:: Specify the degree of emphasis
1240
+ # keyword_args:: additional attributes
1241
+ def emphasis(words: nil, level: nil, **keyword_args)
1242
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1243
+
1244
+ yield(emphasis) if block_given?
1245
+ append(emphasis)
1246
+ end
1247
+
1248
+ ##
1249
+ # Create a new <Lang> element
1250
+ # words:: Words to speak
1251
+ # xmlLang:: Specify the language
1252
+ # keyword_args:: additional attributes
1253
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1254
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1255
+
1256
+ yield(lang) if block_given?
1257
+ append(lang)
1258
+ end
1259
+
1260
+ ##
1261
+ # Create a new <Phoneme> element
1262
+ # words:: Words to speak
1263
+ # alphabet:: Specify the phonetic alphabet
1264
+ # ph:: Specifiy the phonetic symbols for pronunciation
1265
+ # keyword_args:: additional attributes
1266
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1267
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1268
+ end
1269
+
1270
+ ##
1271
+ # Create a new <Prosody> element
1272
+ # words:: Words to speak
1273
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1274
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1275
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1276
+ # keyword_args:: additional attributes
1277
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1278
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1279
+
1280
+ yield(prosody) if block_given?
1281
+ append(prosody)
1282
+ end
1283
+
1284
+ ##
1285
+ # Create a new <S> element
1286
+ # words:: Words to speak
1287
+ # keyword_args:: additional attributes
1288
+ def s(words: nil, **keyword_args)
1289
+ s = SsmlS.new(words: words, **keyword_args)
1290
+
1291
+ yield(s) if block_given?
1292
+ append(s)
1293
+ end
1294
+
1295
+ ##
1296
+ # Create a new <Say-As> element
1297
+ # words:: Words to be interpreted
1298
+ # interpretAs:: Specify the type of words are spoken
1299
+ # format:: Specify the format of the date when interpret-as is set to date
1300
+ # keyword_args:: additional attributes
1301
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1302
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1303
+ end
1304
+
1305
+ ##
1306
+ # Create a new <Sub> element
1307
+ # words:: Words to be substituted
1308
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1309
+ # keyword_args:: additional attributes
1310
+ def sub(words, aliasAttribute: nil, **keyword_args)
1311
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1312
+ end
1313
+
1314
+ ##
1315
+ # Create a new <W> element
1316
+ # words:: Words to speak
1317
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1318
+ # keyword_args:: additional attributes
1319
+ def w(words: nil, role: nil, **keyword_args)
1320
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1321
+
1322
+ yield(w) if block_given?
1323
+ append(w)
1324
+ end
1325
+ end
1326
+
1327
+ ##
1328
+ # Emphasizing Words in <Say>
1329
+ class SsmlEmphasis < TwiML
1330
+ def initialize(words: nil, **keyword_args)
1331
+ super(**keyword_args)
1332
+ @name = 'emphasis'
1333
+ @value = words unless words.nil?
1334
+ yield(self) if block_given?
1335
+ end
1336
+
1337
+ ##
1338
+ # Create a new <Break> element
1339
+ # strength:: Set a pause based on strength
1340
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1341
+ # keyword_args:: additional attributes
1342
+ def break(strength: nil, time: nil, **keyword_args)
1343
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1344
+ end
1345
+
1346
+ ##
1347
+ # Create a new <Emphasis> element
1348
+ # words:: Words to emphasize
1349
+ # level:: Specify the degree of emphasis
1350
+ # keyword_args:: additional attributes
1351
+ def emphasis(words: nil, level: nil, **keyword_args)
1352
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1353
+
1354
+ yield(emphasis) if block_given?
1355
+ append(emphasis)
1356
+ end
1357
+
1358
+ ##
1359
+ # Create a new <Lang> element
1360
+ # words:: Words to speak
1361
+ # xmlLang:: Specify the language
1362
+ # keyword_args:: additional attributes
1363
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1364
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1365
+
1366
+ yield(lang) if block_given?
1367
+ append(lang)
1368
+ end
1369
+
1370
+ ##
1371
+ # Create a new <Phoneme> element
1372
+ # words:: Words to speak
1373
+ # alphabet:: Specify the phonetic alphabet
1374
+ # ph:: Specifiy the phonetic symbols for pronunciation
1375
+ # keyword_args:: additional attributes
1376
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1377
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1378
+ end
1379
+
1380
+ ##
1381
+ # Create a new <Prosody> element
1382
+ # words:: Words to speak
1383
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1384
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1385
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1386
+ # keyword_args:: additional attributes
1387
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1388
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1389
+
1390
+ yield(prosody) if block_given?
1391
+ append(prosody)
1392
+ end
1393
+
1394
+ ##
1395
+ # Create a new <Say-As> element
1396
+ # words:: Words to be interpreted
1397
+ # interpretAs:: Specify the type of words are spoken
1398
+ # format:: Specify the format of the date when interpret-as is set to date
1399
+ # keyword_args:: additional attributes
1400
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1401
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1402
+ end
1403
+
1404
+ ##
1405
+ # Create a new <Sub> element
1406
+ # words:: Words to be substituted
1407
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1408
+ # keyword_args:: additional attributes
1409
+ def sub(words, aliasAttribute: nil, **keyword_args)
1410
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1411
+ end
1412
+
1413
+ ##
1414
+ # Create a new <W> element
1415
+ # words:: Words to speak
1416
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1417
+ # keyword_args:: additional attributes
1418
+ def w(words: nil, role: nil, **keyword_args)
1419
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1420
+
1421
+ yield(w) if block_given?
1422
+ append(w)
1423
+ end
1424
+ end
1425
+
1426
+ ##
1427
+ # Adding a Pause in <Say>
1428
+ class SsmlBreak < TwiML
1429
+ def initialize(**keyword_args)
1430
+ super(**keyword_args)
1431
+ @name = 'break'
1432
+
1433
+ yield(self) if block_given?
1434
+ end
1435
+ end
1436
+
1437
+ ##
1438
+ # <Pay> Twiml Verb
1439
+ class Pay < TwiML
1440
+ def initialize(**keyword_args)
1441
+ super(**keyword_args)
1442
+ @name = 'Pay'
1443
+
1444
+ yield(self) if block_given?
1445
+ end
1446
+
1447
+ ##
1448
+ # Create a new <Prompt> element
1449
+ # for_:: Name of the payment source data element
1450
+ # error_type:: Type of error
1451
+ # card_type:: Type of the credit card
1452
+ # attempt:: Current attempt count
1453
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
1454
+ # keyword_args:: additional attributes
1455
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1456
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
1457
+
1458
+ yield(prompt) if block_given?
1459
+ append(prompt)
1460
+ end
1461
+
1462
+ ##
1463
+ # Create a new <Parameter> element
1464
+ # name:: The name of the custom parameter
1465
+ # value:: The value of the custom parameter
1466
+ # keyword_args:: additional attributes
1467
+ def parameter(name: nil, value: nil, **keyword_args)
1468
+ append(Parameter.new(name: name, value: value, **keyword_args))
1469
+ end
1470
+ end
1471
+
1472
+ ##
1473
+ # <Sms> TwiML Noun
1474
+ class Sms < TwiML
1475
+ def initialize(message, **keyword_args)
1476
+ super(**keyword_args)
1477
+ @name = 'Sms'
1478
+ @value = message
1479
+ yield(self) if block_given?
1480
+ end
1481
+ end
1482
+
1483
+ ##
1484
+ # <Reject> TwiML Verb
1485
+ class Reject < TwiML
1486
+ def initialize(**keyword_args)
778
1487
  super(**keyword_args)
779
1488
  @name = 'Reject'
780
1489
 
781
1490
  yield(self) if block_given?
782
1491
  end
1492
+
1493
+ ##
1494
+ # Create a new <Parameter> element
1495
+ # name:: The name of the custom parameter
1496
+ # value:: The value of the custom parameter
1497
+ # keyword_args:: additional attributes
1498
+ def parameter(name: nil, value: nil, **keyword_args)
1499
+ append(Parameter.new(name: name, value: value, **keyword_args))
1500
+ end
783
1501
  end
784
1502
 
785
1503
  ##
@@ -835,6 +1553,15 @@ module Twilio
835
1553
 
836
1554
  yield(self) if block_given?
837
1555
  end
1556
+
1557
+ ##
1558
+ # Create a new <Parameter> element
1559
+ # name:: The name of the custom parameter
1560
+ # value:: The value of the custom parameter
1561
+ # keyword_args:: additional attributes
1562
+ def parameter(name: nil, value: nil, **keyword_args)
1563
+ append(Parameter.new(name: name, value: value, **keyword_args))
1564
+ end
838
1565
  end
839
1566
 
840
1567
  ##
@@ -852,7 +1579,7 @@ module Twilio
852
1579
  # message:: Message to say
853
1580
  # voice:: Voice to use
854
1581
  # loop:: Times to loop message
855
- # language:: Message langauge
1582
+ # language:: Message language
856
1583
  # keyword_args:: additional attributes
857
1584
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
858
1585
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -987,9 +1714,16 @@ module Twilio
987
1714
  # status_callback:: Status callback URL
988
1715
  # status_callback_method:: Status callback URL method
989
1716
  # byoc:: BYOC trunk SID (Beta)
1717
+ # machine_detection:: Enable machine detection or end of greeting detection
1718
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1719
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1720
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1721
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1722
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1723
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
990
1724
  # keyword_args:: additional attributes
991
- 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)
992
- 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))
1725
+ def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1726
+ 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, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
993
1727
  end
994
1728
 
995
1729
  ##
@@ -1022,19 +1756,174 @@ module Twilio
1022
1756
  # status_callback_event:: Status callback events
1023
1757
  # status_callback:: Status callback URL
1024
1758
  # status_callback_method:: Status callback URL method
1759
+ # machine_detection:: Enable machine detection or end of greeting detection
1760
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1761
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1762
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1763
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1764
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1765
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1766
+ # keyword_args:: additional attributes
1767
+ def sip(sip_url: nil, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1768
+ sip = Sip.new(sip_url: sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args)
1769
+
1770
+ yield(sip) if block_given?
1771
+ append(sip)
1772
+ end
1773
+
1774
+ ##
1775
+ # Create a new <Application> element
1776
+ # application_sid:: Application sid
1777
+ # url:: TwiML URL
1778
+ # method:: TwiML URL Method
1779
+ # status_callback_event:: Events to trigger status callback
1780
+ # status_callback:: Status Callback URL
1781
+ # status_callback_method:: Status Callback URL Method
1782
+ # customer_id:: Identity of the customer calling application
1783
+ # copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
1784
+ # keyword_args:: additional attributes
1785
+ def application(application_sid: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, customer_id: nil, copy_parent_to: nil, **keyword_args)
1786
+ application = Application.new(application_sid: application_sid, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, customer_id: customer_id, copy_parent_to: copy_parent_to, **keyword_args)
1787
+
1788
+ yield(application) if block_given?
1789
+ append(application)
1790
+ end
1791
+
1792
+ ##
1793
+ # Create a new <WhatsApp> element
1794
+ # phone_number:: WhatsApp Phone Number to dial
1795
+ # url:: TwiML URL
1796
+ # method:: TwiML URL Method
1797
+ # status_callback_event:: Events to trigger status callback
1798
+ # status_callback:: Status Callback URL
1799
+ # status_callback_method:: Status Callback URL Method
1800
+ # keyword_args:: additional attributes
1801
+ def whats_app(phone_number, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1802
+ append(WhatsApp.new(phone_number, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1803
+ end
1804
+ end
1805
+
1806
+ ##
1807
+ # <WhatsApp> TwiML Noun
1808
+ class WhatsApp < TwiML
1809
+ def initialize(phone_number, **keyword_args)
1810
+ super(**keyword_args)
1811
+ @name = 'WhatsApp'
1812
+ @value = phone_number
1813
+ yield(self) if block_given?
1814
+ end
1815
+ end
1816
+
1817
+ ##
1818
+ # <Application> TwiML Noun
1819
+ class Application < TwiML
1820
+ def initialize(application_sid: nil, **keyword_args)
1821
+ super(**keyword_args)
1822
+ @name = 'Application'
1823
+ @value = application_sid unless application_sid.nil?
1824
+ yield(self) if block_given?
1825
+ end
1826
+
1827
+ ##
1828
+ # Create a new <ApplicationSid> element
1829
+ # sid:: Application sid to dial
1830
+ # keyword_args:: additional attributes
1831
+ def application_sid(sid, **keyword_args)
1832
+ append(ApplicationSid.new(sid, **keyword_args))
1833
+ end
1834
+
1835
+ ##
1836
+ # Create a new <Parameter> element
1837
+ # name:: The name of the custom parameter
1838
+ # value:: The value of the custom parameter
1025
1839
  # keyword_args:: additional attributes
1026
- def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1027
- append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1840
+ def parameter(name: nil, value: nil, **keyword_args)
1841
+ append(Parameter.new(name: name, value: value, **keyword_args))
1842
+ end
1843
+ end
1844
+
1845
+ ##
1846
+ # <ApplicationSid> TwiML Noun
1847
+ class ApplicationSid < TwiML
1848
+ def initialize(sid, **keyword_args)
1849
+ super(**keyword_args)
1850
+ @name = 'ApplicationSid'
1851
+ @value = sid
1852
+ yield(self) if block_given?
1028
1853
  end
1029
1854
  end
1030
1855
 
1031
1856
  ##
1032
1857
  # <Sip> TwiML Noun
1033
1858
  class Sip < TwiML
1034
- def initialize(sip_url, **keyword_args)
1859
+ def initialize(sip_url: nil, **keyword_args)
1035
1860
  super(**keyword_args)
1036
1861
  @name = 'Sip'
1037
- @value = sip_url
1862
+ @value = sip_url unless sip_url.nil?
1863
+ yield(self) if block_given?
1864
+ end
1865
+
1866
+ ##
1867
+ # Create a new <Uri> element
1868
+ # sip_url:: The SIP URI
1869
+ # priority:: The priority of this SIP URI
1870
+ # weight:: The weight of this SIP URI
1871
+ # username:: The username for authentication
1872
+ # password:: The password for authentication
1873
+ # keyword_args:: additional attributes
1874
+ def uri(sip_url: nil, priority: nil, weight: nil, username: nil, password: nil, **keyword_args)
1875
+ append(SipUri.new(sip_url: sip_url, priority: priority, weight: weight, username: username, password: password, **keyword_args))
1876
+ end
1877
+
1878
+ ##
1879
+ # Create a new <Headers> element
1880
+ # keyword_args:: additional attributes
1881
+ def headers(**keyword_args)
1882
+ headers = Headers.new(**keyword_args)
1883
+
1884
+ yield(headers) if block_given?
1885
+ append(headers)
1886
+ end
1887
+ end
1888
+
1889
+ ##
1890
+ # The SIP headers to include in the request
1891
+ class Headers < TwiML
1892
+ def initialize(**keyword_args)
1893
+ super(**keyword_args)
1894
+ @name = 'Headers'
1895
+
1896
+ yield(self) if block_given?
1897
+ end
1898
+
1899
+ ##
1900
+ # Create a new <Header> element
1901
+ # name:: The name of the custom header
1902
+ # value:: The value of the custom header
1903
+ # keyword_args:: additional attributes
1904
+ def header(name: nil, value: nil, **keyword_args)
1905
+ append(Header.new(name: name, value: value, **keyword_args))
1906
+ end
1907
+ end
1908
+
1909
+ ##
1910
+ # A custom SIP header to include in the request
1911
+ class Header < TwiML
1912
+ def initialize(**keyword_args)
1913
+ super(**keyword_args)
1914
+ @name = 'Header'
1915
+
1916
+ yield(self) if block_given?
1917
+ end
1918
+ end
1919
+
1920
+ ##
1921
+ # The SIP URI to dial. Multiple Uri elements can be provided, in which case they will be attempted in priority order. URIs with the same priority will be selected proportionally based on its weight.
1922
+ class SipUri < TwiML
1923
+ def initialize(sip_url: nil, **keyword_args)
1924
+ super(**keyword_args)
1925
+ @name = 'Uri'
1926
+ @value = sip_url unless sip_url.nil?
1038
1927
  yield(self) if block_given?
1039
1928
  end
1040
1929
  end
@@ -1144,13 +2033,268 @@ module Twilio
1144
2033
  # connector_name:: Unique name for Stream Connector
1145
2034
  # url:: URL of the remote service where the Stream is routed
1146
2035
  # track:: Track to be streamed to remote service
2036
+ # status_callback:: Status Callback URL
2037
+ # status_callback_method:: Status Callback URL method
1147
2038
  # keyword_args:: additional attributes
1148
- def stream(name: nil, connector_name: nil, url: nil, track: nil, **keyword_args)
1149
- stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, **keyword_args)
2039
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
2040
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1150
2041
 
1151
2042
  yield(stream) if block_given?
1152
2043
  append(stream)
1153
2044
  end
2045
+
2046
+ ##
2047
+ # Create a new <VirtualAgent> element
2048
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
2049
+ # language:: Language to be used by Dialogflow to transcribe speech
2050
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
2051
+ # status_callback:: URL to post status callbacks from Twilio
2052
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
2053
+ # keyword_args:: additional attributes
2054
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
2055
+ virtual_agent = VirtualAgent.new(connector_name: connector_name, language: language, sentiment_analysis: sentiment_analysis, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
2056
+
2057
+ yield(virtual_agent) if block_given?
2058
+ append(virtual_agent)
2059
+ end
2060
+
2061
+ ##
2062
+ # Create a new <Conversation> element
2063
+ # service_instance_sid:: Service instance Sid
2064
+ # inbound_autocreation:: Inbound autocreation
2065
+ # routing_assignment_timeout:: Routing assignment timeout
2066
+ # inbound_timeout:: Inbound timeout
2067
+ # url:: TwiML URL
2068
+ # method:: TwiML URL method
2069
+ # record:: Record
2070
+ # trim:: Trim
2071
+ # recording_status_callback:: Recording status callback URL
2072
+ # recording_status_callback_method:: Recording status callback URL method
2073
+ # recording_status_callback_event:: Recording status callback events
2074
+ # status_callback:: Status callback URL
2075
+ # status_callback_method:: Status callback URL method
2076
+ # status_callback_event:: Events to call status callback URL
2077
+ # keyword_args:: additional attributes
2078
+ def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: nil, url: nil, method: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, status_callback: nil, status_callback_method: nil, status_callback_event: nil, **keyword_args)
2079
+ append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, url: url, method: method, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, status_callback_event: status_callback_event, **keyword_args))
2080
+ end
2081
+
2082
+ ##
2083
+ # Create a new <ConversationRelay> element
2084
+ # url:: URL of the remote service where the session is connected to
2085
+ # language:: Language to be used for both text-to-speech and transcription
2086
+ # tts_language:: Language to be used for text-to-speech
2087
+ # transcription_language:: Language to be used for transcription
2088
+ # tts_provider:: Provider to be used for text-to-speech
2089
+ # voice:: Voice to be used for text-to-speech
2090
+ # transcription_provider:: Provider to be used for transcription
2091
+ # speech_model:: Speech model to be used for transcription
2092
+ # profanity_filter:: Whether profanities should be filtered out of the speech transcription
2093
+ # dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
2094
+ # welcome_greeting:: The sentence to be played automatically when the session is connected
2095
+ # partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
2096
+ # welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
2097
+ # interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
2098
+ # preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
2099
+ # hints:: Phrases to help better accuracy in speech recognition of these pharases
2100
+ # intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
2101
+ # report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
2102
+ # elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
2103
+ # interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
2104
+ # debug:: Multiple debug options to be used for troubleshooting
2105
+ # keyword_args:: additional attributes
2106
+ def conversation_relay(url: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
2107
+ conversation_relay = ConversationRelay.new(url: url, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
2108
+
2109
+ yield(conversation_relay) if block_given?
2110
+ append(conversation_relay)
2111
+ end
2112
+
2113
+ ##
2114
+ # Create a new <Assistant> element
2115
+ # id:: The assistant ID of the AI Assistant
2116
+ # language:: Language to be used for both text-to-speech and transcription
2117
+ # tts_language:: Language to be used for text-to-speech
2118
+ # transcription_language:: Language to be used for transcription
2119
+ # tts_provider:: Provider to be used for text-to-speech
2120
+ # voice:: Voice to be used for text-to-speech
2121
+ # transcription_provider:: Provider to be used for transcription
2122
+ # speech_model:: Speech model to be used for transcription
2123
+ # profanity_filter:: Whether profanities should be filtered out of the speech transcription
2124
+ # dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
2125
+ # welcome_greeting:: The sentence to be played automatically when the session is connected
2126
+ # partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
2127
+ # welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
2128
+ # interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
2129
+ # preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
2130
+ # hints:: Phrases to help better accuracy in speech recognition of these pharases
2131
+ # intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
2132
+ # report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
2133
+ # elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
2134
+ # interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
2135
+ # debug:: Multiple debug options to be used for troubleshooting
2136
+ # keyword_args:: additional attributes
2137
+ def assistant(id: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
2138
+ assistant = Assistant.new(id: id, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
2139
+
2140
+ yield(assistant) if block_given?
2141
+ append(assistant)
2142
+ end
2143
+
2144
+ ##
2145
+ # Create a new <AiSession> element
2146
+ # ai_connector:: The unique name or installed add-on sid that identifies the installed addon resource for the AI Connector
2147
+ # ai_session_configuration:: The unique name or id of the AiSession Configuration resource.
2148
+ # keyword_args:: additional attributes
2149
+ def ai_session(ai_connector: nil, ai_session_configuration: nil, **keyword_args)
2150
+ append(AiSession.new(ai_connector: ai_connector, ai_session_configuration: ai_session_configuration, **keyword_args))
2151
+ end
2152
+
2153
+ ##
2154
+ # Create a new <ConversationRelaySession> element
2155
+ # connector:: The unique name or installed add-on sid that identifies the installed addon resource for the ConversationRelaySession Connector
2156
+ # session_configuration:: The unique name or id of the ConversationRelaySession Configuration resource.
2157
+ # keyword_args:: additional attributes
2158
+ def conversation_relay_session(connector: nil, session_configuration: nil, **keyword_args)
2159
+ append(ConversationRelaySession.new(connector: connector, session_configuration: session_configuration, **keyword_args))
2160
+ end
2161
+ end
2162
+
2163
+ ##
2164
+ # <ConversationRelaySession> TwiML Noun
2165
+ class ConversationRelaySession < TwiML
2166
+ def initialize(**keyword_args)
2167
+ super(**keyword_args)
2168
+ @name = 'ConversationRelaySession'
2169
+
2170
+ yield(self) if block_given?
2171
+ end
2172
+ end
2173
+
2174
+ ##
2175
+ # <AiSession> TwiML Noun
2176
+ class AiSession < TwiML
2177
+ def initialize(**keyword_args)
2178
+ super(**keyword_args)
2179
+ @name = 'AiSession'
2180
+
2181
+ yield(self) if block_given?
2182
+ end
2183
+ end
2184
+
2185
+ ##
2186
+ # <Assistant> TwiML Noun
2187
+ class Assistant < TwiML
2188
+ def initialize(**keyword_args)
2189
+ super(**keyword_args)
2190
+ @name = 'Assistant'
2191
+
2192
+ yield(self) if block_given?
2193
+ end
2194
+
2195
+ ##
2196
+ # Create a new <Language> element
2197
+ # code:: Language code of this language setting is for
2198
+ # tts_provider:: Provider to be used for text-to-speech of this language
2199
+ # voice:: Voice to be used for text-to-speech of this language
2200
+ # transcription_provider:: Provider to be used for transcription of this language
2201
+ # speech_model:: Speech model to be used for transcription of this language
2202
+ # keyword_args:: additional attributes
2203
+ def language(code: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, **keyword_args)
2204
+ append(Language.new(code: code, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, **keyword_args))
2205
+ end
2206
+
2207
+ ##
2208
+ # Create a new <Parameter> element
2209
+ # name:: The name of the custom parameter
2210
+ # value:: The value of the custom parameter
2211
+ # keyword_args:: additional attributes
2212
+ def parameter(name: nil, value: nil, **keyword_args)
2213
+ append(Parameter.new(name: name, value: value, **keyword_args))
2214
+ end
2215
+ end
2216
+
2217
+ ##
2218
+ # <Language> TwiML Noun
2219
+ class Language < TwiML
2220
+ def initialize(**keyword_args)
2221
+ super(**keyword_args)
2222
+ @name = 'Language'
2223
+
2224
+ yield(self) if block_given?
2225
+ end
2226
+ end
2227
+
2228
+ ##
2229
+ # <ConversationRelay> TwiML Noun
2230
+ class ConversationRelay < TwiML
2231
+ def initialize(**keyword_args)
2232
+ super(**keyword_args)
2233
+ @name = 'ConversationRelay'
2234
+
2235
+ yield(self) if block_given?
2236
+ end
2237
+
2238
+ ##
2239
+ # Create a new <Language> element
2240
+ # code:: Language code of this language setting is for
2241
+ # tts_provider:: Provider to be used for text-to-speech of this language
2242
+ # voice:: Voice to be used for text-to-speech of this language
2243
+ # transcription_provider:: Provider to be used for transcription of this language
2244
+ # speech_model:: Speech model to be used for transcription of this language
2245
+ # keyword_args:: additional attributes
2246
+ def language(code: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, **keyword_args)
2247
+ append(Language.new(code: code, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, **keyword_args))
2248
+ end
2249
+
2250
+ ##
2251
+ # Create a new <Parameter> element
2252
+ # name:: The name of the custom parameter
2253
+ # value:: The value of the custom parameter
2254
+ # keyword_args:: additional attributes
2255
+ def parameter(name: nil, value: nil, **keyword_args)
2256
+ append(Parameter.new(name: name, value: value, **keyword_args))
2257
+ end
2258
+ end
2259
+
2260
+ ##
2261
+ # <Conversation> TwiML Noun
2262
+ class Conversation < TwiML
2263
+ def initialize(**keyword_args)
2264
+ super(**keyword_args)
2265
+ @name = 'Conversation'
2266
+
2267
+ yield(self) if block_given?
2268
+ end
2269
+ end
2270
+
2271
+ ##
2272
+ # <VirtualAgent> TwiML Noun
2273
+ class VirtualAgent < TwiML
2274
+ def initialize(**keyword_args)
2275
+ super(**keyword_args)
2276
+ @name = 'VirtualAgent'
2277
+
2278
+ yield(self) if block_given?
2279
+ end
2280
+
2281
+ ##
2282
+ # Create a new <Config> element
2283
+ # name:: The name of the custom config
2284
+ # value:: The value of the custom config
2285
+ # keyword_args:: additional attributes
2286
+ def config(name: nil, value: nil, **keyword_args)
2287
+ append(Config.new(name: name, value: value, **keyword_args))
2288
+ end
2289
+
2290
+ ##
2291
+ # Create a new <Parameter> element
2292
+ # name:: The name of the custom parameter
2293
+ # value:: The value of the custom parameter
2294
+ # keyword_args:: additional attributes
2295
+ def parameter(name: nil, value: nil, **keyword_args)
2296
+ append(Parameter.new(name: name, value: value, **keyword_args))
2297
+ end
1154
2298
  end
1155
2299
 
1156
2300
  ##