twilio-ruby 5.74.4 → 7.7.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 (769) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +3 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1073 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  30. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  31. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  32. data/lib/twilio-ruby/http/client_token_manager.rb +28 -0
  33. data/lib/twilio-ruby/http/http_client.rb +22 -5
  34. data/lib/twilio-ruby/http/org_token_manager.rb +28 -0
  35. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  36. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +205 -178
  37. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +137 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +137 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +397 -332
  40. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +397 -332
  41. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -114
  42. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +186 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +225 -192
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +63 -42
  45. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  46. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +374 -365
  48. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +583 -530
  49. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +641 -605
  50. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +323 -320
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +398 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +398 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +398 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +398 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +398 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +398 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +398 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +442 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +143 -118
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +206 -194
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +410 -417
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +302 -342
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +520 -511
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +852 -641
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +852 -641
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +318 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -153
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -240
  69. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +972 -1050
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +685 -756
  71. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +471 -458
  72. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +505 -493
  73. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +446 -407
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +330 -352
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +416 -418
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +546 -554
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +546 -553
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +546 -553
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +867 -903
  80. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +355 -302
  81. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +174 -166
  82. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +354 -350
  83. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +644 -641
  84. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +164 -138
  85. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +164 -138
  86. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +410 -399
  87. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +388 -358
  88. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +356 -338
  89. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +452 -390
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +204 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +393 -380
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +382 -385
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +378 -372
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +521 -513
  95. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +433 -408
  96. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +355 -306
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +401 -368
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +425 -373
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +366 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +366 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +366 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +95 -103
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +359 -339
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +359 -338
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +675 -645
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +438 -421
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +425 -374
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +142 -150
  111. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +178 -154
  112. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +378 -350
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +318 -339
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +318 -339
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +318 -339
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +318 -339
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +318 -339
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +318 -339
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +318 -339
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +318 -339
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +385 -416
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +511 -484
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +113 -104
  124. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +179 -161
  125. data/lib/twilio-ruby/rest/api/v2010/account.rb +1001 -943
  126. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  127. data/lib/twilio-ruby/rest/api.rb +25 -34
  128. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  129. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +371 -0
  130. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +371 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +311 -0
  132. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +206 -0
  133. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +687 -0
  134. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +232 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +213 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +629 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +267 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +267 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/session.rb +335 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +605 -0
  141. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  142. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  143. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +309 -279
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +308 -279
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +282 -248
  147. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  148. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +256 -216
  149. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  150. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  151. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  152. data/lib/twilio-ruby/rest/chat/v1/credential.rb +445 -403
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +394 -391
  154. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +448 -440
  155. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +464 -437
  156. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +560 -515
  157. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +422 -367
  158. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +248 -239
  159. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +491 -440
  160. data/lib/twilio-ruby/rest/chat/v1/service.rb +887 -894
  161. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  162. data/lib/twilio-ruby/rest/chat/v2/credential.rb +445 -401
  163. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +385 -370
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +394 -386
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +509 -527
  166. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +536 -533
  167. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +466 -467
  168. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +629 -605
  169. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +422 -369
  170. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +378 -381
  171. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +425 -419
  172. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +533 -491
  173. data/lib/twilio-ruby/rest/chat/v2/service.rb +790 -778
  174. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  175. data/lib/twilio-ruby/rest/chat/v3/channel.rb +295 -267
  176. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  177. data/lib/twilio-ruby/rest/chat.rb +4 -48
  178. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  179. data/lib/twilio-ruby/rest/client.rb +333 -584
  180. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +190 -0
  181. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +206 -188
  182. data/lib/twilio-ruby/rest/content/v1/content.rb +964 -336
  183. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +255 -0
  184. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +261 -246
  185. data/lib/twilio-ruby/rest/content/v1.rb +54 -45
  186. data/lib/twilio-ruby/rest/content/v2/content.rb +319 -0
  187. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +312 -0
  188. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  189. data/lib/twilio-ruby/rest/content.rb +2 -40
  190. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +498 -444
  192. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +267 -227
  193. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +292 -252
  194. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +344 -344
  195. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +560 -510
  196. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +521 -495
  197. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +451 -403
  198. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +643 -552
  199. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +263 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +451 -409
  201. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +308 -304
  202. data/lib/twilio-ruby/rest/conversations/v1/role.rb +410 -356
  203. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +378 -373
  204. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +313 -289
  205. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +259 -235
  206. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +320 -279
  207. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +351 -371
  208. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +567 -550
  209. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +530 -530
  210. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +460 -438
  211. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +655 -588
  212. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +269 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +314 -317
  214. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +422 -380
  215. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -455
  216. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +507 -474
  217. data/lib/twilio-ruby/rest/conversations/v1/service.rb +515 -447
  218. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +465 -435
  219. data/lib/twilio-ruby/rest/conversations/v1/user.rb +495 -441
  220. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  221. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  222. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  223. data/lib/twilio-ruby/rest/events/v1/event_type.rb +326 -288
  224. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +309 -0
  225. data/lib/twilio-ruby/rest/events/v1/schema.rb +234 -218
  226. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +121 -100
  227. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +127 -103
  228. data/lib/twilio-ruby/rest/events/v1/sink.rb +460 -408
  229. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +391 -339
  230. data/lib/twilio-ruby/rest/events/v1/subscription.rb +436 -387
  231. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  232. data/lib/twilio-ruby/rest/events.rb +5 -34
  233. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +452 -301
  235. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +385 -330
  236. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +555 -496
  237. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +589 -570
  238. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +328 -306
  239. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +232 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +452 -384
  241. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +363 -303
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +448 -380
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +355 -403
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +213 -190
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +161 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -124
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +192 -166
  248. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +252 -227
  249. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +354 -319
  250. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +352 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +442 -398
  252. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +321 -225
  253. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +408 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +461 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +251 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +400 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +397 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +237 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +343 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +260 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +192 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +404 -331
  263. data/lib/twilio-ruby/rest/flex_api/v1.rb +313 -207
  264. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +339 -0
  265. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +152 -127
  266. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  267. data/lib/twilio-ruby/rest/flex_api.rb +21 -111
  268. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  269. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +255 -227
  270. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  271. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  272. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  273. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +280 -0
  274. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +233 -0
  275. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +181 -0
  276. data/lib/twilio-ruby/rest/iam/v1/token.rb +186 -0
  277. data/lib/twilio-ruby/rest/iam/v1.rb +67 -0
  278. data/lib/twilio-ruby/rest/iam.rb +6 -0
  279. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +323 -315
  281. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +357 -0
  282. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +273 -255
  283. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +245 -225
  284. data/lib/twilio-ruby/rest/insights/v1/call.rb +267 -236
  285. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +561 -433
  286. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +491 -467
  287. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -502
  288. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +386 -371
  289. data/lib/twilio-ruby/rest/insights/v1/room.rb +498 -489
  290. data/lib/twilio-ruby/rest/insights/v1/setting.rb +257 -205
  291. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  292. data/lib/twilio-ruby/rest/insights.rb +6 -34
  293. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  294. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +464 -0
  295. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +363 -0
  296. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +223 -0
  297. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +201 -0
  298. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +365 -0
  299. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +363 -0
  300. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +534 -0
  301. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +231 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +403 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +265 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +538 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  306. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  307. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +445 -364
  309. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +394 -359
  310. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +448 -397
  311. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +464 -409
  312. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +560 -488
  313. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +422 -347
  314. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +248 -233
  315. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +491 -418
  316. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +887 -779
  317. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  318. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +445 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +385 -343
  320. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +394 -359
  321. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +509 -451
  322. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +536 -479
  323. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +466 -411
  324. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +629 -555
  325. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +422 -347
  326. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +378 -351
  327. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +417 -384
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +533 -467
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +790 -689
  330. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  331. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  332. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  333. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +248 -237
  334. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  335. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +315 -0
  336. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +390 -0
  337. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +386 -342
  338. data/lib/twilio-ruby/rest/lookups/v2/query.rb +456 -0
  339. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +136 -0
  340. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  341. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  342. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +316 -0
  344. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +343 -0
  345. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +363 -0
  346. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +162 -0
  347. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +482 -0
  348. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +221 -0
  349. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +325 -0
  350. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +146 -0
  351. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  352. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  353. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  354. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +143 -0
  355. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +372 -346
  356. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +532 -443
  357. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +196 -0
  358. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +295 -0
  359. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +292 -259
  360. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +243 -0
  361. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +165 -144
  362. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +223 -0
  363. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +201 -0
  364. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +243 -0
  365. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +369 -335
  366. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +383 -0
  367. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +392 -0
  368. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +376 -341
  369. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +376 -336
  370. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +630 -521
  371. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +128 -115
  372. data/lib/twilio-ruby/rest/messaging/v1/service.rb +818 -763
  373. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +810 -699
  374. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +113 -94
  375. data/lib/twilio-ruby/rest/messaging/v1.rb +202 -124
  376. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +769 -0
  377. data/lib/twilio-ruby/rest/messaging/v2.rb +49 -0
  378. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  379. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  380. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +408 -395
  381. data/lib/twilio-ruby/rest/monitor/v1/event.rb +391 -390
  382. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  383. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  384. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  385. data/lib/twilio-ruby/rest/notify/v1/credential.rb +445 -408
  386. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +455 -452
  387. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +320 -362
  388. data/lib/twilio-ruby/rest/notify/v1/service.rb +650 -622
  389. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  390. data/lib/twilio-ruby/rest/notify.rb +3 -34
  391. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  392. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +249 -0
  393. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +132 -0
  394. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +325 -0
  395. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +328 -0
  396. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +260 -0
  397. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +153 -0
  398. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +170 -0
  399. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +280 -0
  400. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +165 -0
  401. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  402. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +347 -0
  403. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +421 -0
  404. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +274 -0
  405. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +281 -0
  406. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +613 -0
  407. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +288 -261
  408. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +340 -298
  409. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +353 -309
  410. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +201 -181
  411. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +630 -607
  412. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +417 -351
  413. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +300 -266
  414. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +349 -307
  415. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +445 -371
  416. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +300 -266
  417. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +178 -181
  418. data/lib/twilio-ruby/rest/numbers/v2.rb +93 -28
  419. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  420. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  421. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +148 -0
  422. data/lib/twilio-ruby/rest/oauth/v1/token.rb +180 -151
  423. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  424. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  425. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  426. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +374 -396
  427. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +466 -446
  428. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +634 -625
  429. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  430. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +309 -298
  431. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -309
  432. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +356 -330
  433. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +453 -398
  434. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  435. data/lib/twilio-ruby/rest/preview/wireless/command.rb +401 -364
  436. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +472 -398
  437. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +237 -205
  438. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +588 -523
  439. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  440. data/lib/twilio-ruby/rest/preview.rb +10 -87
  441. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  442. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +148 -0
  443. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +186 -0
  444. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  445. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +309 -0
  446. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +375 -0
  447. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +530 -0
  448. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +277 -0
  449. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  450. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  451. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  452. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +307 -275
  453. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +108 -119
  454. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +300 -268
  455. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +108 -119
  456. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +307 -275
  457. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +227 -197
  458. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +122 -135
  459. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  460. data/lib/twilio-ruby/rest/pricing/v2/country.rb +299 -270
  461. data/lib/twilio-ruby/rest/pricing/v2/number.rb +239 -217
  462. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +307 -275
  463. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +245 -220
  464. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +122 -138
  465. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  466. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  467. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  468. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +443 -403
  469. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +420 -418
  470. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +444 -449
  471. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +439 -442
  472. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +546 -506
  473. data/lib/twilio-ruby/rest/proxy/v1/service.rb +556 -596
  474. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  475. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  476. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  477. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +273 -227
  478. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +273 -223
  479. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +273 -227
  480. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  481. data/lib/twilio-ruby/rest/routes.rb +4 -34
  482. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  483. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +323 -323
  484. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +436 -380
  485. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +213 -208
  486. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +425 -384
  487. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +353 -338
  488. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +369 -383
  489. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +427 -396
  490. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +474 -447
  491. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +228 -234
  492. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +350 -353
  493. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +436 -380
  494. data/lib/twilio-ruby/rest/serverless/v1/service.rb +547 -493
  495. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  496. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  497. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  498. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +213 -199
  499. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +228 -218
  500. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +378 -355
  501. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +442 -394
  502. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +213 -200
  503. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -221
  504. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +378 -361
  505. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +494 -449
  506. data/lib/twilio-ruby/rest/studio/v1/flow.rb +394 -355
  507. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  508. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +213 -200
  509. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -221
  510. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +378 -361
  511. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +487 -442
  512. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +351 -320
  513. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +245 -0
  514. data/lib/twilio-ruby/rest/studio/v2/flow.rb +545 -472
  515. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +128 -99
  516. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  517. data/lib/twilio-ruby/rest/studio.rb +3 -41
  518. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  519. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +407 -362
  520. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +492 -483
  521. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +412 -409
  522. data/lib/twilio-ruby/rest/supersim/v1/network.rb +310 -297
  523. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +355 -332
  524. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +400 -351
  525. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +250 -237
  526. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +246 -224
  527. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +204 -188
  528. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +480 -453
  529. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +372 -361
  530. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +309 -344
  531. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  532. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  533. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +396 -371
  535. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +481 -423
  536. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +490 -490
  537. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +396 -370
  538. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +496 -445
  539. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +493 -495
  540. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +396 -368
  541. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +496 -444
  542. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +146 -132
  543. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +445 -400
  544. data/lib/twilio-ruby/rest/sync/v1/service.rb +601 -567
  545. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  546. data/lib/twilio-ruby/rest/sync.rb +2 -34
  547. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +431 -395
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +452 -464
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +720 -749
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +676 -661
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +435 -382
  553. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +168 -0
  554. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +366 -369
  555. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +286 -275
  556. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +237 -236
  557. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -258
  558. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +600 -572
  559. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +702 -732
  560. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +405 -388
  561. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +242 -239
  562. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +288 -265
  563. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +222 -193
  564. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +258 -234
  565. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +647 -637
  566. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +366 -375
  567. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -241
  568. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +237 -244
  569. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +549 -510
  570. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +360 -356
  571. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +238 -206
  572. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +248 -234
  573. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +746 -730
  574. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  575. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  576. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  577. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +362 -320
  578. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +362 -317
  579. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +466 -419
  580. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +495 -451
  581. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +237 -191
  582. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +656 -630
  583. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  584. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  585. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  586. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +257 -0
  587. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +365 -0
  588. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +224 -0
  589. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +377 -352
  590. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +361 -323
  591. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +349 -321
  592. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +558 -513
  593. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +409 -346
  594. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +292 -261
  595. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +285 -252
  596. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +423 -359
  597. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +292 -261
  598. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +377 -352
  599. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +361 -323
  600. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +349 -321
  601. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +558 -513
  602. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  603. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  604. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  605. data/lib/twilio-ruby/rest/verify/v2/form.rb +200 -183
  606. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +238 -207
  607. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +285 -254
  608. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +198 -192
  609. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +518 -531
  610. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +467 -453
  611. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +263 -283
  612. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +442 -414
  613. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +405 -363
  614. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +427 -388
  615. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +446 -384
  616. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +402 -371
  617. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +228 -205
  618. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +473 -412
  619. data/lib/twilio-ruby/rest/verify/v2/service.rb +876 -780
  620. data/lib/twilio-ruby/rest/verify/v2/template.rb +225 -205
  621. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +382 -387
  622. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +246 -226
  623. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  624. data/lib/twilio-ruby/rest/verify.rb +7 -34
  625. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  626. data/lib/twilio-ruby/rest/video/v1/composition.rb +497 -507
  627. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +551 -647
  628. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +294 -261
  629. data/lib/twilio-ruby/rest/video/v1/recording.rb +440 -426
  630. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +294 -261
  631. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +266 -0
  632. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +341 -0
  633. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +194 -0
  634. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +348 -0
  635. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +514 -0
  636. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +183 -0
  637. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +437 -0
  638. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +417 -0
  639. data/lib/twilio-ruby/rest/video/v1/room.rb +661 -602
  640. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  641. data/lib/twilio-ruby/rest/video.rb +7 -34
  642. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  643. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +163 -176
  644. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +527 -486
  645. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +466 -434
  646. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +417 -352
  647. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +142 -121
  648. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +199 -183
  649. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +383 -397
  650. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +228 -190
  651. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +123 -121
  652. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +403 -339
  653. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +386 -319
  654. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  655. data/lib/twilio-ruby/rest/voice.rb +7 -34
  656. data/lib/twilio-ruby/rest/voice_base.rb +33 -0
  657. data/lib/twilio-ruby/rest/wireless/v1/command.rb +428 -406
  658. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +492 -436
  659. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +302 -284
  660. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  661. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +654 -647
  662. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  663. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  664. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  665. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  666. data/lib/twilio-ruby/rest.rb +1 -0
  667. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  668. data/lib/twilio-ruby/twiml/voice_response.rb +263 -20
  669. data/lib/twilio-ruby/version.rb +1 -1
  670. data/sonar-project.properties +1 -1
  671. data/twilio-ruby.gemspec +3 -2
  672. metadata +201 -108
  673. data/conf/cacert.pem +0 -3376
  674. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  675. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  676. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  677. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  678. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  679. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  680. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  681. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  682. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  683. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  684. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  685. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  686. 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
  687. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  688. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  689. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  690. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  691. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  692. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  693. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  694. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  695. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  696. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  697. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  698. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  699. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  700. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  701. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  702. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  703. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  704. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  705. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  706. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  707. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  708. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  709. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  710. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  711. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  712. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  713. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  714. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  715. data/lib/twilio-ruby/rest/media.rb +0 -65
  716. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  717. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  718. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -317
  719. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -310
  720. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  721. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -342
  722. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -335
  723. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -393
  724. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -92
  725. data/lib/twilio-ruby/rest/microvisor.rb +0 -70
  726. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  727. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  728. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  729. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  730. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  731. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  732. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  735. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  736. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  737. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  738. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  739. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  740. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  741. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  742. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  743. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  744. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  745. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  746. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  747. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  748. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  749. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  750. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  751. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  752. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  753. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  754. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  755. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  756. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  757. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  758. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  759. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  760. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  761. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  762. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  763. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  764. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  765. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  766. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  767. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  768. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  769. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,767 +1,696 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
7
+ # Twilio - Api
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class ConferenceContext < InstanceContext
15
- class ParticipantList < ListResource
16
- ##
17
- # Initialize the ParticipantList
18
- # @param [Version] version Version that contains the resource
19
- # @param [String] account_sid The SID of the
20
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
21
- # Participant resource.
22
- # @param [String] conference_sid The SID of the conference the participant is in.
23
- # @return [ParticipantList] ParticipantList
24
- def initialize(version, account_sid: nil, conference_sid: nil)
25
- super(version)
26
-
27
- # Path Solution
28
- @solution = {account_sid: account_sid, conference_sid: conference_sid}
29
- @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
30
- end
31
-
32
- ##
33
- # Create the ParticipantInstance
34
- # @param [String] from The phone number, Client identifier, or username portion of
35
- # SIP address that made this call. Phone numbers are in
36
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
37
- # +16175551212). Client identifiers are formatted `client:name`. If using a phone
38
- # number, it must be a Twilio number or a Verified {outgoing caller
39
- # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
40
- # If the `to` parameter is a phone number, `from` must also be a phone number. If
41
- # `to` is sip address, this value of `from` should be a username portion to be
42
- # used to populate the P-Asserted-Identity header that is passed to the SIP
43
- # endpoint.
44
- # @param [String] to The phone number, SIP address, or Client identifier that
45
- # received this call. Phone numbers are in
46
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
47
- # +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client
48
- # identifiers are formatted `client:name`. {Custom
49
- # parameters}[https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters]
50
- # may also be specified.
51
- # @param [String] status_callback The URL we should call using the
52
- # `status_callback_method` to send status information to your application.
53
- # @param [String] status_callback_method The HTTP method we should use to call
54
- # `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
55
- # @param [Array[String]] status_callback_event The conference state changes that
56
- # should generate a call to `status_callback`. Can be: `initiated`, `ringing`,
57
- # `answered`, and `completed`. Separate multiple values with a space. The default
58
- # value is `completed`.
59
- # @param [String] label A label for this participant. If one is supplied, it may
60
- # subsequently be used to fetch, update or delete the participant.
61
- # @param [String] timeout The number of seconds that we should allow the phone to
62
- # ring before assuming there is no answer. Can be an integer between `5` and
63
- # `600`, inclusive. The default value is `60`. We always add a 5-second timeout
64
- # buffer to outgoing calls, so value of 10 would result in an actual timeout that
65
- # was closer to 15 seconds.
66
- # @param [Boolean] record Whether to record the participant and their conferences,
67
- # including the time between conferences. Can be `true` or `false` and the default
68
- # is `false`.
69
- # @param [Boolean] muted Whether the agent is muted in the conference. Can be
70
- # `true` or `false` and the default is `false`.
71
- # @param [String] beep Whether to play a notification beep to the conference when
72
- # the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The
73
- # default value is `true`.
74
- # @param [Boolean] start_conference_on_enter Whether to start the conference when
75
- # the participant joins, if it has not already started. Can be: `true` or `false`
76
- # and the default is `true`. If `false` and the conference has not started, the
77
- # participant is muted and hears background music until another participant starts
78
- # the conference.
79
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
80
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
81
- # @param [String] wait_url The URL we should call using the `wait_method` for the
82
- # music to play while participants are waiting for the conference to start. The
83
- # default value is the URL of our standard hold music. {Learn more about hold
84
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
85
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
86
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
87
- # file, this should be `GET` so that we can cache the file.
88
- # @param [Boolean] early_media Whether to allow an agent to hear the state of the
89
- # outbound call, including ringing or disconnect messages. Can be: `true` or
90
- # `false` and defaults to `true`.
91
- # @param [String] max_participants The maximum number of participants in the
92
- # conference. Can be a positive integer from `2` to `250`. The default value is
93
- # `250`.
94
- # @param [String] conference_record Whether to record the conference the
95
- # participant is joining. Can be: `true`, `false`, `record-from-start`, and
96
- # `do-not-record`. The default value is `false`.
97
- # @param [String] conference_trim Whether to trim leading and trailing silence
98
- # from your recorded conference audio files. Can be: `trim-silence` or
99
- # `do-not-trim` and defaults to `trim-silence`.
100
- # @param [String] conference_status_callback The URL we should call using the
101
- # `conference_status_callback_method` when the conference events in
102
- # `conference_status_callback_event` occur. Only the value set by the first
103
- # participant to join the conference is used. Subsequent
104
- # `conference_status_callback` values are ignored.
105
- # @param [String] conference_status_callback_method The HTTP method we should use
106
- # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
107
- # `POST`.
108
- # @param [Array[String]] conference_status_callback_event The conference state
109
- # changes that should generate a call to `conference_status_callback`. Can be:
110
- # `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and
111
- # `announcement`. Separate multiple values with a space. Defaults to `start end`.
112
- # @param [String] recording_channels The recording channels for the final
113
- # recording. Can be: `mono` or `dual` and the default is `mono`.
114
- # @param [String] recording_status_callback The URL that we should call using the
115
- # `recording_status_callback_method` when the recording status changes.
116
- # @param [String] recording_status_callback_method The HTTP method we should use
117
- # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
118
- # to `POST`.
119
- # @param [String] sip_auth_username The SIP username used for authentication.
120
- # @param [String] sip_auth_password The SIP password for authentication.
121
- # @param [String] region The
122
- # {region}[https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls]
123
- # where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`,
124
- # `br1`, `au1`, or `jp1`.
125
- # @param [String] conference_recording_status_callback The URL we should call
126
- # using the `conference_recording_status_callback_method` when the conference
127
- # recording is available.
128
- # @param [String] conference_recording_status_callback_method The HTTP method we
129
- # should use to call `conference_recording_status_callback`. Can be: `GET` or
130
- # `POST` and defaults to `POST`.
131
- # @param [Array[String]] recording_status_callback_event The recording state
132
- # changes that should generate a call to `recording_status_callback`. Can be:
133
- # `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`,
134
- # and `absent`. Separate multiple values with a space, ex: `'in-progress completed
135
- # failed'`.
136
- # @param [Array[String]] conference_recording_status_callback_event The conference
137
- # recording state changes that generate a call to
138
- # `conference_recording_status_callback`. Can be: `in-progress`, `completed`,
139
- # `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress
140
- # completed failed'`
141
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
142
- # be: `true` or `false`. If not present, defaults to `false` unless
143
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
144
- # @param [String] call_sid_to_coach The SID of the participant who is being
145
- # `coached`. The participant being coached is the only participant who can hear
146
- # the participant who is `coaching`.
147
- # @param [String] jitter_buffer_size Jitter buffer size for the connecting
148
- # participant. Twilio will use this setting to apply Jitter Buffer before
149
- # participant's audio is mixed into the conference. Can be: `off`, `small`,
150
- # `medium`, and `large`. Default to `large`.
151
- # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
152
- # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
153
- # it will otherwise be ignored. (Beta)
154
- # @param [String] caller_id The phone number, Client identifier, or username
155
- # portion of SIP address that made this call. Phone numbers are in
156
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
157
- # +16175551212). Client identifiers are formatted `client:name`. If using a phone
158
- # number, it must be a Twilio number or a Verified {outgoing caller
159
- # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
160
- # If the `to` parameter is a phone number, `callerId` must also be a phone number.
161
- # If `to` is sip address, this value of `callerId` should be a username portion to
162
- # be used to populate the From header that is passed to the SIP endpoint.
163
- # @param [String] call_reason The Reason for the outgoing call. Use it to specify
164
- # the purpose of the call that is presented on the called party's phone. (Branded
165
- # Calls Beta)
166
- # @param [String] recording_track The audio track to record for the call. Can be:
167
- # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
168
- # audio that is received by Twilio. `outbound` records the audio that is sent from
169
- # Twilio. `both` records the audio that is received and sent by Twilio.
170
- # @param [String] time_limit The maximum duration of the call in seconds.
171
- # Constraints depend on account and configuration.
172
- # @param [String] machine_detection Whether to detect if a human, answering
173
- # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
174
- # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
175
- # party is identified. Use `DetectMessageEnd`, if you would like to leave a
176
- # message on an answering machine. If `send_digits` is provided, this parameter is
177
- # ignored. For more information, see {Answering Machine
178
- # Detection}[https://www.twilio.com/docs/voice/answering-machine-detection].
179
- # @param [String] machine_detection_timeout The number of seconds that we should
180
- # attempt to detect an answering machine before timing out and sending a voice
181
- # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
182
- # @param [String] machine_detection_speech_threshold The number of milliseconds
183
- # that is used as the measuring stick for the length of the speech activity, where
184
- # durations lower than this value will be interpreted as a human and longer than
185
- # this value as a machine. Possible Values: 1000-6000. Default: 2400.
186
- # @param [String] machine_detection_speech_end_threshold The number of
187
- # milliseconds of silence after speech activity at which point the speech activity
188
- # is considered complete. Possible Values: 500-5000. Default: 1200.
189
- # @param [String] machine_detection_silence_timeout The number of milliseconds of
190
- # initial silence after which an `unknown` AnsweredBy result will be returned.
191
- # Possible Values: 2000-10000. Default: 5000.
192
- # @param [String] amd_status_callback The URL that we should call using the
193
- # `amd_status_callback_method` to notify customer application whether the call was
194
- # answered by human, machine or fax.
195
- # @param [String] amd_status_callback_method The HTTP method we should use when
196
- # calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default
197
- # is `POST`.
198
- # @return [ParticipantInstance] Created ParticipantInstance
199
- def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, time_limit: :unset, machine_detection: :unset, machine_detection_timeout: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, amd_status_callback: :unset, amd_status_callback_method: :unset)
200
- data = Twilio::Values.of({
201
- 'From' => from,
202
- 'To' => to,
203
- 'StatusCallback' => status_callback,
204
- 'StatusCallbackMethod' => status_callback_method,
205
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
206
- 'Label' => label,
207
- 'Timeout' => timeout,
208
- 'Record' => record,
209
- 'Muted' => muted,
210
- 'Beep' => beep,
211
- 'StartConferenceOnEnter' => start_conference_on_enter,
212
- 'EndConferenceOnExit' => end_conference_on_exit,
213
- 'WaitUrl' => wait_url,
214
- 'WaitMethod' => wait_method,
215
- 'EarlyMedia' => early_media,
216
- 'MaxParticipants' => max_participants,
217
- 'ConferenceRecord' => conference_record,
218
- 'ConferenceTrim' => conference_trim,
219
- 'ConferenceStatusCallback' => conference_status_callback,
220
- 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
221
- 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
222
- 'RecordingChannels' => recording_channels,
223
- 'RecordingStatusCallback' => recording_status_callback,
224
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
225
- 'SipAuthUsername' => sip_auth_username,
226
- 'SipAuthPassword' => sip_auth_password,
227
- 'Region' => region,
228
- 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
229
- 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
230
- 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
231
- 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
232
- 'Coaching' => coaching,
233
- 'CallSidToCoach' => call_sid_to_coach,
234
- 'JitterBufferSize' => jitter_buffer_size,
235
- 'Byoc' => byoc,
236
- 'CallerId' => caller_id,
237
- 'CallReason' => call_reason,
238
- 'RecordingTrack' => recording_track,
239
- 'TimeLimit' => time_limit,
240
- 'MachineDetection' => machine_detection,
241
- 'MachineDetectionTimeout' => machine_detection_timeout,
242
- 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
243
- 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
244
- 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
245
- 'AmdStatusCallback' => amd_status_callback,
246
- 'AmdStatusCallbackMethod' => amd_status_callback_method,
247
- })
248
-
249
- payload = @version.create('POST', @uri, data: data)
250
-
251
- ParticipantInstance.new(
252
- @version,
253
- payload,
254
- account_sid: @solution[:account_sid],
255
- conference_sid: @solution[:conference_sid],
256
- )
257
- end
258
-
259
- ##
260
- # Lists ParticipantInstance records from the API as a list.
261
- # Unlike stream(), this operation is eager and will load `limit` records into
262
- # memory before returning.
263
- # @param [Boolean] muted Whether to return only participants that are muted. Can
264
- # be: `true` or `false`.
265
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
266
- # be: `true` or `false`.
267
- # @param [Boolean] coaching Whether to return only participants who are coaching
268
- # another call. Can be: `true` or `false`.
269
- # @param [Integer] limit Upper limit for the number of records to return. stream()
270
- # guarantees to never return more than limit. Default is no limit
271
- # @param [Integer] page_size Number of records to fetch per request, when
272
- # not set will use the default value of 50 records. If no page_size is defined
273
- # but a limit is defined, stream() will attempt to read the limit with the most
274
- # efficient page size, i.e. min(limit, 1000)
275
- # @return [Array] Array of up to limit results
276
- def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
277
- self.stream(
278
- muted: muted,
279
- hold: hold,
280
- coaching: coaching,
281
- limit: limit,
282
- page_size: page_size
283
- ).entries
284
- end
285
-
286
- ##
287
- # Streams ParticipantInstance records from the API as an Enumerable.
288
- # This operation lazily loads records as efficiently as possible until the limit
289
- # is reached.
290
- # @param [Boolean] muted Whether to return only participants that are muted. Can
291
- # be: `true` or `false`.
292
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
293
- # be: `true` or `false`.
294
- # @param [Boolean] coaching Whether to return only participants who are coaching
295
- # another call. Can be: `true` or `false`.
296
- # @param [Integer] limit Upper limit for the number of records to return. stream()
297
- # guarantees to never return more than limit. Default is no limit.
298
- # @param [Integer] page_size Number of records to fetch per request, when
299
- # not set will use the default value of 50 records. If no page_size is defined
300
- # but a limit is defined, stream() will attempt to read the limit with the most
301
- # efficient page size, i.e. min(limit, 1000)
302
- # @return [Enumerable] Enumerable that will yield up to limit results
303
- def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
304
- limits = @version.read_limits(limit, page_size)
305
-
306
- page = self.page(muted: muted, hold: hold, coaching: coaching, page_size: limits[:page_size], )
307
-
308
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
309
- end
310
-
311
- ##
312
- # When passed a block, yields ParticipantInstance records from the API.
313
- # This operation lazily loads records as efficiently as possible until the limit
314
- # is reached.
315
- def each
316
- limits = @version.read_limits
317
-
318
- page = self.page(page_size: limits[:page_size], )
319
-
320
- @version.stream(page,
321
- limit: limits[:limit],
322
- page_limit: limits[:page_limit]).each {|x| yield x}
323
- end
324
-
325
- ##
326
- # Retrieve a single page of ParticipantInstance records from the API.
327
- # Request is executed immediately.
328
- # @param [Boolean] muted Whether to return only participants that are muted. Can
329
- # be: `true` or `false`.
330
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
331
- # be: `true` or `false`.
332
- # @param [Boolean] coaching Whether to return only participants who are coaching
333
- # another call. Can be: `true` or `false`.
334
- # @param [String] page_token PageToken provided by the API
335
- # @param [Integer] page_number Page Number, this value is simply for client state
336
- # @param [Integer] page_size Number of records to return, defaults to 50
337
- # @return [Page] Page of ParticipantInstance
338
- def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
339
- params = Twilio::Values.of({
340
- 'Muted' => muted,
341
- 'Hold' => hold,
342
- 'Coaching' => coaching,
343
- 'PageToken' => page_token,
344
- 'Page' => page_number,
345
- 'PageSize' => page_size,
346
- })
347
-
348
- response = @version.page('GET', @uri, params: params)
349
-
350
- ParticipantPage.new(@version, response, @solution)
351
- end
352
-
353
- ##
354
- # Retrieve a single page of ParticipantInstance records from the API.
355
- # Request is executed immediately.
356
- # @param [String] target_url API-generated URL for the requested results page
357
- # @return [Page] Page of ParticipantInstance
358
- def get_page(target_url)
359
- response = @version.domain.request(
360
- 'GET',
361
- target_url
362
- )
363
- ParticipantPage.new(@version, response, @solution)
364
- end
365
-
366
- ##
367
- # Provide a user friendly representation
368
- def to_s
369
- '#<Twilio.Api.V2010.ParticipantList>'
370
- end
371
- end
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+ class ConferenceContext < InstanceContext
22
+
23
+ class ParticipantList < ListResource
24
+
25
+ ##
26
+ # Initialize the ParticipantList
27
+ # @param [Version] version Version that contains the resource
28
+ # @return [ParticipantList] ParticipantList
29
+ def initialize(version, account_sid: nil, conference_sid: nil)
30
+ super(version)
31
+ # Path Solution
32
+ @solution = { account_sid: account_sid, conference_sid: conference_sid }
33
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
34
+
35
+ end
36
+ ##
37
+ # Create the ParticipantInstance
38
+ # @param [String] from The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `from` must also be a phone number. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.
39
+ # @param [String] to The phone number, SIP address, or Client identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
40
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
41
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
42
+ # @param [Array[String]] status_callback_event The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.
43
+ # @param [String] label A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
44
+ # @param [String] timeout The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.
45
+ # @param [Boolean] record Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
46
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
47
+ # @param [String] beep Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
48
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
49
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
50
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
51
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
52
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
53
+ # @param [String] max_participants The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
54
+ # @param [String] conference_record Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
55
+ # @param [String] conference_trim Whether to trim leading and trailing silence from the conference recording. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
56
+ # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
57
+ # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
58
+ # @param [Array[String]] conference_status_callback_event The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.
59
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
60
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
61
+ # @param [String] recording_status_callback_method The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
62
+ # @param [String] sip_auth_username The SIP username used for authentication.
63
+ # @param [String] sip_auth_password The SIP password for authentication.
64
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
65
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
66
+ # @param [String] conference_recording_status_callback_method The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
67
+ # @param [Array[String]] recording_status_callback_event The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`.
68
+ # @param [Array[String]] conference_recording_status_callback_event The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`
69
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
70
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
71
+ # @param [String] jitter_buffer_size Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`.
72
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
73
+ # @param [String] caller_id The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint.
74
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
75
+ # @param [String] recording_track The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is sent from Twilio. `both` records the audio that is received and sent by Twilio.
76
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
77
+ # @param [String] machine_detection Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
78
+ # @param [String] machine_detection_timeout The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
79
+ # @param [String] machine_detection_speech_threshold The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
80
+ # @param [String] machine_detection_speech_end_threshold The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
81
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
82
+ # @param [String] amd_status_callback The URL that we should call using the `amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
83
+ # @param [String] amd_status_callback_method The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
84
+ # @param [String] trim Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
85
+ # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
86
+ # @return [ParticipantInstance] Created ParticipantInstance
87
+ def create(
88
+ from: nil,
89
+ to: nil,
90
+ status_callback: :unset,
91
+ status_callback_method: :unset,
92
+ status_callback_event: :unset,
93
+ label: :unset,
94
+ timeout: :unset,
95
+ record: :unset,
96
+ muted: :unset,
97
+ beep: :unset,
98
+ start_conference_on_enter: :unset,
99
+ end_conference_on_exit: :unset,
100
+ wait_url: :unset,
101
+ wait_method: :unset,
102
+ early_media: :unset,
103
+ max_participants: :unset,
104
+ conference_record: :unset,
105
+ conference_trim: :unset,
106
+ conference_status_callback: :unset,
107
+ conference_status_callback_method: :unset,
108
+ conference_status_callback_event: :unset,
109
+ recording_channels: :unset,
110
+ recording_status_callback: :unset,
111
+ recording_status_callback_method: :unset,
112
+ sip_auth_username: :unset,
113
+ sip_auth_password: :unset,
114
+ region: :unset,
115
+ conference_recording_status_callback: :unset,
116
+ conference_recording_status_callback_method: :unset,
117
+ recording_status_callback_event: :unset,
118
+ conference_recording_status_callback_event: :unset,
119
+ coaching: :unset,
120
+ call_sid_to_coach: :unset,
121
+ jitter_buffer_size: :unset,
122
+ byoc: :unset,
123
+ caller_id: :unset,
124
+ call_reason: :unset,
125
+ recording_track: :unset,
126
+ time_limit: :unset,
127
+ machine_detection: :unset,
128
+ machine_detection_timeout: :unset,
129
+ machine_detection_speech_threshold: :unset,
130
+ machine_detection_speech_end_threshold: :unset,
131
+ machine_detection_silence_timeout: :unset,
132
+ amd_status_callback: :unset,
133
+ amd_status_callback_method: :unset,
134
+ trim: :unset,
135
+ call_token: :unset
136
+ )
137
+
138
+ data = Twilio::Values.of({
139
+ 'From' => from,
140
+ 'To' => to,
141
+ 'StatusCallback' => status_callback,
142
+ 'StatusCallbackMethod' => status_callback_method,
143
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
144
+ 'Label' => label,
145
+ 'Timeout' => timeout,
146
+ 'Record' => record,
147
+ 'Muted' => muted,
148
+ 'Beep' => beep,
149
+ 'StartConferenceOnEnter' => start_conference_on_enter,
150
+ 'EndConferenceOnExit' => end_conference_on_exit,
151
+ 'WaitUrl' => wait_url,
152
+ 'WaitMethod' => wait_method,
153
+ 'EarlyMedia' => early_media,
154
+ 'MaxParticipants' => max_participants,
155
+ 'ConferenceRecord' => conference_record,
156
+ 'ConferenceTrim' => conference_trim,
157
+ 'ConferenceStatusCallback' => conference_status_callback,
158
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
159
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
160
+ 'RecordingChannels' => recording_channels,
161
+ 'RecordingStatusCallback' => recording_status_callback,
162
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
163
+ 'SipAuthUsername' => sip_auth_username,
164
+ 'SipAuthPassword' => sip_auth_password,
165
+ 'Region' => region,
166
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
167
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
168
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
169
+ 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
170
+ 'Coaching' => coaching,
171
+ 'CallSidToCoach' => call_sid_to_coach,
172
+ 'JitterBufferSize' => jitter_buffer_size,
173
+ 'Byoc' => byoc,
174
+ 'CallerId' => caller_id,
175
+ 'CallReason' => call_reason,
176
+ 'RecordingTrack' => recording_track,
177
+ 'TimeLimit' => time_limit,
178
+ 'MachineDetection' => machine_detection,
179
+ 'MachineDetectionTimeout' => machine_detection_timeout,
180
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
181
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
182
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
183
+ 'AmdStatusCallback' => amd_status_callback,
184
+ 'AmdStatusCallbackMethod' => amd_status_callback_method,
185
+ 'Trim' => trim,
186
+ 'CallToken' => call_token,
187
+ })
188
+
189
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
190
+
191
+
192
+
193
+
194
+
195
+ payload = @version.create('POST', @uri, data: data, headers: headers)
196
+ ParticipantInstance.new(
197
+ @version,
198
+ payload,
199
+ account_sid: @solution[:account_sid],
200
+ conference_sid: @solution[:conference_sid],
201
+ )
202
+ end
203
+
204
+
205
+ ##
206
+ # Lists ParticipantInstance records from the API as a list.
207
+ # Unlike stream(), this operation is eager and will load `limit` records into
208
+ # memory before returning.
209
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
210
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
211
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
212
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
213
+ # guarantees to never return more than limit. Default is no limit
214
+ # @param [Integer] page_size Number of records to fetch per request, when
215
+ # not set will use the default value of 50 records. If no page_size is defined
216
+ # but a limit is defined, stream() will attempt to read the limit with the most
217
+ # efficient page size, i.e. min(limit, 1000)
218
+ # @return [Array] Array of up to limit results
219
+ def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
220
+ self.stream(
221
+ muted: muted,
222
+ hold: hold,
223
+ coaching: coaching,
224
+ limit: limit,
225
+ page_size: page_size
226
+ ).entries
227
+ end
228
+
229
+ ##
230
+ # Streams Instance records from the API as an Enumerable.
231
+ # This operation lazily loads records as efficiently as possible until the limit
232
+ # is reached.
233
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
234
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
235
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
236
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
237
+ # guarantees to never return more than limit. Default is no limit
238
+ # @param [Integer] page_size Number of records to fetch per request, when
239
+ # not set will use the default value of 50 records. If no page_size is defined
240
+ # but a limit is defined, stream() will attempt to read the limit with the most
241
+ # efficient page size, i.e. min(limit, 1000)
242
+ # @return [Enumerable] Enumerable that will yield up to limit results
243
+ def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
244
+ limits = @version.read_limits(limit, page_size)
245
+
246
+ page = self.page(
247
+ muted: muted,
248
+ hold: hold,
249
+ coaching: coaching,
250
+ page_size: limits[:page_size], )
251
+
252
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
253
+ end
254
+
255
+ ##
256
+ # When passed a block, yields ParticipantInstance records from the API.
257
+ # This operation lazily loads records as efficiently as possible until the limit
258
+ # is reached.
259
+ def each
260
+ limits = @version.read_limits
261
+
262
+ page = self.page(page_size: limits[:page_size], )
263
+
264
+ @version.stream(page,
265
+ limit: limits[:limit],
266
+ page_limit: limits[:page_limit]).each {|x| yield x}
267
+ end
268
+
269
+ ##
270
+ # Retrieve a single page of ParticipantInstance records from the API.
271
+ # Request is executed immediately.
272
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
273
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
274
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
275
+ # @param [String] page_token PageToken provided by the API
276
+ # @param [Integer] page_number Page Number, this value is simply for client state
277
+ # @param [Integer] page_size Number of records to return, defaults to 50
278
+ # @return [Page] Page of ParticipantInstance
279
+ def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
280
+ params = Twilio::Values.of({
281
+ 'Muted' => muted,
282
+ 'Hold' => hold,
283
+ 'Coaching' => coaching,
284
+ 'PageToken' => page_token,
285
+ 'Page' => page_number,
286
+ 'PageSize' => page_size,
287
+ })
288
+ headers = Twilio::Values.of({})
289
+
290
+
291
+
292
+ response = @version.page('GET', @uri, params: params, headers: headers)
293
+
294
+ ParticipantPage.new(@version, response, @solution)
295
+ end
296
+
297
+ ##
298
+ # Retrieve a single page of ParticipantInstance records from the API.
299
+ # Request is executed immediately.
300
+ # @param [String] target_url API-generated URL for the requested results page
301
+ # @return [Page] Page of ParticipantInstance
302
+ def get_page(target_url)
303
+ response = @version.domain.request(
304
+ 'GET',
305
+ target_url
306
+ )
307
+ ParticipantPage.new(@version, response, @solution)
308
+ end
309
+
310
+
311
+
312
+ # Provide a user friendly representation
313
+ def to_s
314
+ '#<Twilio.Api.V2010.ParticipantList>'
315
+ end
316
+ end
372
317
 
373
- class ParticipantPage < Page
374
- ##
375
- # Initialize the ParticipantPage
376
- # @param [Version] version Version that contains the resource
377
- # @param [Response] response Response from the API
378
- # @param [Hash] solution Path solution for the resource
379
- # @return [ParticipantPage] ParticipantPage
380
- def initialize(version, response, solution)
381
- super(version, response)
382
-
383
- # Path Solution
384
- @solution = solution
385
- end
386
-
387
- ##
388
- # Build an instance of ParticipantInstance
389
- # @param [Hash] payload Payload response from the API
390
- # @return [ParticipantInstance] ParticipantInstance
391
- def get_instance(payload)
392
- ParticipantInstance.new(
393
- @version,
394
- payload,
395
- account_sid: @solution[:account_sid],
396
- conference_sid: @solution[:conference_sid],
397
- )
398
- end
399
-
400
- ##
401
- # Provide a user friendly representation
402
- def to_s
403
- '<Twilio.Api.V2010.ParticipantPage>'
404
- end
405
- end
406
318
 
407
- class ParticipantContext < InstanceContext
408
- ##
409
- # Initialize the ParticipantContext
410
- # @param [Version] version Version that contains the resource
411
- # @param [String] account_sid The SID of the
412
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
413
- # Participant resource to fetch.
414
- # @param [String] conference_sid The SID of the conference with the participant to
415
- # fetch.
416
- # @param [String] call_sid The
417
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
418
- # participant to fetch. Non URL safe characters in a label must be percent
419
- # encoded, for example, a space character is represented as %20.
420
- # @return [ParticipantContext] ParticipantContext
421
- def initialize(version, account_sid, conference_sid, call_sid)
422
- super(version)
423
-
424
- # Path Solution
425
- @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
426
- @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
427
- end
428
-
429
- ##
430
- # Fetch the ParticipantInstance
431
- # @return [ParticipantInstance] Fetched ParticipantInstance
432
- def fetch
433
- payload = @version.fetch('GET', @uri)
434
-
435
- ParticipantInstance.new(
436
- @version,
437
- payload,
438
- account_sid: @solution[:account_sid],
439
- conference_sid: @solution[:conference_sid],
440
- call_sid: @solution[:call_sid],
441
- )
442
- end
443
-
444
- ##
445
- # Update the ParticipantInstance
446
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
447
- # `false`. `true` will mute the participant, and `false` will un-mute them.
448
- # Anything value other than `true` or `false` is interpreted as `false`.
449
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
450
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
451
- # the conference.
452
- # @param [String] hold_url The URL we call using the `hold_method` for music that
453
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
454
- # file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or
455
- # `<Redirect>` verbs.
456
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
457
- # Can be: `GET` or `POST` and the default is `GET`.
458
- # @param [String] announce_url The URL we call using the `announce_method` for an
459
- # announcement to the participant. The URL may return an MP3 file, a WAV file, or
460
- # a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>`
461
- # verbs.
462
- # @param [String] announce_method The HTTP method we should use to call
463
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
464
- # @param [String] wait_url The URL we call using the `wait_method` for the music
465
- # to play while participants are waiting for the conference to start. The URL may
466
- # return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`,
467
- # `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our
468
- # standard hold music. {Learn more about hold
469
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
470
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
471
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
472
- # file, this should be `GET` so that we can cache the file.
473
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
474
- # conference when the participant exits. Can be: `true` or `false`.
475
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
476
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
477
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
478
- # be: `true` or `false`. If not present, defaults to `false` unless
479
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
480
- # @param [String] call_sid_to_coach The SID of the participant who is being
481
- # `coached`. The participant being coached is the only participant who can hear
482
- # the participant who is `coaching`.
483
- # @return [ParticipantInstance] Updated ParticipantInstance
484
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
485
- data = Twilio::Values.of({
486
- 'Muted' => muted,
487
- 'Hold' => hold,
488
- 'HoldUrl' => hold_url,
489
- 'HoldMethod' => hold_method,
490
- 'AnnounceUrl' => announce_url,
491
- 'AnnounceMethod' => announce_method,
492
- 'WaitUrl' => wait_url,
493
- 'WaitMethod' => wait_method,
494
- 'BeepOnExit' => beep_on_exit,
495
- 'EndConferenceOnExit' => end_conference_on_exit,
496
- 'Coaching' => coaching,
497
- 'CallSidToCoach' => call_sid_to_coach,
498
- })
499
-
500
- payload = @version.update('POST', @uri, data: data)
501
-
502
- ParticipantInstance.new(
503
- @version,
504
- payload,
505
- account_sid: @solution[:account_sid],
506
- conference_sid: @solution[:conference_sid],
507
- call_sid: @solution[:call_sid],
508
- )
509
- end
510
-
511
- ##
512
- # Delete the ParticipantInstance
513
- # @return [Boolean] true if delete succeeds, false otherwise
514
- def delete
515
- @version.delete('DELETE', @uri)
516
- end
517
-
518
- ##
519
- # Provide a user friendly representation
520
- def to_s
521
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
522
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
523
- end
524
-
525
- ##
526
- # Provide a detailed, user friendly representation
527
- def inspect
528
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
529
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
530
- end
531
- end
319
+ class ParticipantContext < InstanceContext
320
+ ##
321
+ # Initialize the ParticipantContext
322
+ # @param [Version] version Version that contains the resource
323
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.
324
+ # @param [String] conference_sid The SID of the conference with the participant to update.
325
+ # @param [String] call_sid The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.
326
+ # @return [ParticipantContext] ParticipantContext
327
+ def initialize(version, account_sid, conference_sid, call_sid)
328
+ super(version)
329
+
330
+ # Path Solution
331
+ @solution = { account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
332
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
333
+
334
+
335
+ end
336
+ ##
337
+ # Delete the ParticipantInstance
338
+ # @return [Boolean] True if delete succeeds, false otherwise
339
+ def delete
340
+
341
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
342
+
343
+
344
+
345
+ @version.delete('DELETE', @uri, headers: headers)
346
+ end
347
+
348
+ ##
349
+ # Fetch the ParticipantInstance
350
+ # @return [ParticipantInstance] Fetched ParticipantInstance
351
+ def fetch
352
+
353
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
354
+
355
+
356
+
357
+
358
+
359
+ payload = @version.fetch('GET', @uri, headers: headers)
360
+ ParticipantInstance.new(
361
+ @version,
362
+ payload,
363
+ account_sid: @solution[:account_sid],
364
+ conference_sid: @solution[:conference_sid],
365
+ call_sid: @solution[:call_sid],
366
+ )
367
+ end
368
+
369
+ ##
370
+ # Update the ParticipantInstance
371
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
372
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
373
+ # @param [String] hold_url The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
374
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
375
+ # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
376
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
377
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
378
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
379
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
380
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
381
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
382
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
383
+ # @return [ParticipantInstance] Updated ParticipantInstance
384
+ def update(
385
+ muted: :unset,
386
+ hold: :unset,
387
+ hold_url: :unset,
388
+ hold_method: :unset,
389
+ announce_url: :unset,
390
+ announce_method: :unset,
391
+ wait_url: :unset,
392
+ wait_method: :unset,
393
+ beep_on_exit: :unset,
394
+ end_conference_on_exit: :unset,
395
+ coaching: :unset,
396
+ call_sid_to_coach: :unset
397
+ )
398
+
399
+ data = Twilio::Values.of({
400
+ 'Muted' => muted,
401
+ 'Hold' => hold,
402
+ 'HoldUrl' => hold_url,
403
+ 'HoldMethod' => hold_method,
404
+ 'AnnounceUrl' => announce_url,
405
+ 'AnnounceMethod' => announce_method,
406
+ 'WaitUrl' => wait_url,
407
+ 'WaitMethod' => wait_method,
408
+ 'BeepOnExit' => beep_on_exit,
409
+ 'EndConferenceOnExit' => end_conference_on_exit,
410
+ 'Coaching' => coaching,
411
+ 'CallSidToCoach' => call_sid_to_coach,
412
+ })
413
+
414
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
415
+
416
+
417
+
418
+
419
+
420
+ payload = @version.update('POST', @uri, data: data, headers: headers)
421
+ ParticipantInstance.new(
422
+ @version,
423
+ payload,
424
+ account_sid: @solution[:account_sid],
425
+ conference_sid: @solution[:conference_sid],
426
+ call_sid: @solution[:call_sid],
427
+ )
428
+ end
429
+
430
+
431
+ ##
432
+ # Provide a user friendly representation
433
+ def to_s
434
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
435
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
436
+ end
437
+
438
+ ##
439
+ # Provide a detailed, user friendly representation
440
+ def inspect
441
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
442
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
443
+ end
444
+ end
532
445
 
533
- class ParticipantInstance < InstanceResource
534
- ##
535
- # Initialize the ParticipantInstance
536
- # @param [Version] version Version that contains the resource
537
- # @param [Hash] payload payload that contains response from Twilio
538
- # @param [String] account_sid The SID of the
539
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
540
- # Participant resource.
541
- # @param [String] conference_sid The SID of the conference the participant is in.
542
- # @param [String] call_sid The
543
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
544
- # participant to fetch. Non URL safe characters in a label must be percent
545
- # encoded, for example, a space character is represented as %20.
546
- # @return [ParticipantInstance] ParticipantInstance
547
- def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
548
- super(version)
549
-
550
- # Marshaled Properties
551
- @properties = {
552
- 'account_sid' => payload['account_sid'],
553
- 'call_sid' => payload['call_sid'],
554
- 'label' => payload['label'],
555
- 'call_sid_to_coach' => payload['call_sid_to_coach'],
556
- 'coaching' => payload['coaching'],
557
- 'conference_sid' => payload['conference_sid'],
558
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
559
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
560
- 'end_conference_on_exit' => payload['end_conference_on_exit'],
561
- 'muted' => payload['muted'],
562
- 'hold' => payload['hold'],
563
- 'start_conference_on_enter' => payload['start_conference_on_enter'],
564
- 'status' => payload['status'],
565
- 'uri' => payload['uri'],
566
- }
567
-
568
- # Context
569
- @instance_context = nil
570
- @params = {
571
- 'account_sid' => account_sid,
572
- 'conference_sid' => conference_sid,
573
- 'call_sid' => call_sid || @properties['call_sid'],
574
- }
575
- end
576
-
577
- ##
578
- # Generate an instance context for the instance, the context is capable of
579
- # performing various actions. All instance actions are proxied to the context
580
- # @return [ParticipantContext] ParticipantContext for this ParticipantInstance
581
- def context
582
- unless @instance_context
583
- @instance_context = ParticipantContext.new(
584
- @version,
585
- @params['account_sid'],
586
- @params['conference_sid'],
587
- @params['call_sid'],
588
- )
446
+ class ParticipantPage < Page
447
+ ##
448
+ # Initialize the ParticipantPage
449
+ # @param [Version] version Version that contains the resource
450
+ # @param [Response] response Response from the API
451
+ # @param [Hash] solution Path solution for the resource
452
+ # @return [ParticipantPage] ParticipantPage
453
+ def initialize(version, response, solution)
454
+ super(version, response)
455
+
456
+ # Path Solution
457
+ @solution = solution
458
+ end
459
+
460
+ ##
461
+ # Build an instance of ParticipantInstance
462
+ # @param [Hash] payload Payload response from the API
463
+ # @return [ParticipantInstance] ParticipantInstance
464
+ def get_instance(payload)
465
+ ParticipantInstance.new(@version, payload, account_sid: @solution[:account_sid], conference_sid: @solution[:conference_sid])
466
+ end
467
+
468
+ ##
469
+ # Provide a user friendly representation
470
+ def to_s
471
+ '<Twilio.Api.V2010.ParticipantPage>'
472
+ end
473
+ end
474
+ class ParticipantInstance < InstanceResource
475
+ ##
476
+ # Initialize the ParticipantInstance
477
+ # @param [Version] version Version that contains the resource
478
+ # @param [Hash] payload payload that contains response from Twilio
479
+ # @param [String] account_sid The SID of the
480
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Participant
481
+ # resource.
482
+ # @param [String] sid The SID of the Call resource to fetch.
483
+ # @return [ParticipantInstance] ParticipantInstance
484
+ def initialize(version, payload , account_sid: nil, conference_sid: nil, call_sid: nil)
485
+ super(version)
486
+
487
+ # Marshaled Properties
488
+ @properties = {
489
+ 'account_sid' => payload['account_sid'],
490
+ 'call_sid' => payload['call_sid'],
491
+ 'label' => payload['label'],
492
+ 'call_sid_to_coach' => payload['call_sid_to_coach'],
493
+ 'coaching' => payload['coaching'],
494
+ 'conference_sid' => payload['conference_sid'],
495
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
496
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
497
+ 'end_conference_on_exit' => payload['end_conference_on_exit'],
498
+ 'muted' => payload['muted'],
499
+ 'hold' => payload['hold'],
500
+ 'start_conference_on_enter' => payload['start_conference_on_enter'],
501
+ 'status' => payload['status'],
502
+ 'queue_time' => payload['queue_time'],
503
+ 'uri' => payload['uri'],
504
+ }
505
+
506
+ # Context
507
+ @instance_context = nil
508
+ @params = { 'account_sid' => account_sid ,'conference_sid' => conference_sid || @properties['conference_sid'] ,'call_sid' => call_sid || @properties['call_sid'] , }
509
+ end
510
+
511
+ ##
512
+ # Generate an instance context for the instance, the context is capable of
513
+ # performing various actions. All instance actions are proxied to the context
514
+ # @return [ParticipantContext] CallContext for this CallInstance
515
+ def context
516
+ unless @instance_context
517
+ @instance_context = ParticipantContext.new(@version , @params['account_sid'], @params['conference_sid'], @params['call_sid'])
518
+ end
519
+ @instance_context
520
+ end
521
+
522
+ ##
523
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource.
524
+ def account_sid
525
+ @properties['account_sid']
526
+ end
527
+
528
+ ##
529
+ # @return [String] The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Participant resource is associated with.
530
+ def call_sid
531
+ @properties['call_sid']
532
+ end
533
+
534
+ ##
535
+ # @return [String] The user-specified label of this participant, if one was given when the participant was created. This may be used to fetch, update or delete the participant.
536
+ def label
537
+ @properties['label']
538
+ end
539
+
540
+ ##
541
+ # @return [String] The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
542
+ def call_sid_to_coach
543
+ @properties['call_sid_to_coach']
544
+ end
545
+
546
+ ##
547
+ # @return [Boolean] Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
548
+ def coaching
549
+ @properties['coaching']
550
+ end
551
+
552
+ ##
553
+ # @return [String] The SID of the conference the participant is in.
554
+ def conference_sid
555
+ @properties['conference_sid']
556
+ end
557
+
558
+ ##
559
+ # @return [Time] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
560
+ def date_created
561
+ @properties['date_created']
562
+ end
563
+
564
+ ##
565
+ # @return [Time] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
566
+ def date_updated
567
+ @properties['date_updated']
568
+ end
569
+
570
+ ##
571
+ # @return [Boolean] Whether the conference ends when the participant leaves. Can be: `true` or `false` and the default is `false`. If `true`, the conference ends and all other participants drop out when the participant leaves.
572
+ def end_conference_on_exit
573
+ @properties['end_conference_on_exit']
574
+ end
575
+
576
+ ##
577
+ # @return [Boolean] Whether the participant is muted. Can be `true` or `false`.
578
+ def muted
579
+ @properties['muted']
580
+ end
581
+
582
+ ##
583
+ # @return [Boolean] Whether the participant is on hold. Can be `true` or `false`.
584
+ def hold
585
+ @properties['hold']
586
+ end
587
+
588
+ ##
589
+ # @return [Boolean] Whether the conference starts when the participant joins the conference, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
590
+ def start_conference_on_enter
591
+ @properties['start_conference_on_enter']
592
+ end
593
+
594
+ ##
595
+ # @return [Status]
596
+ def status
597
+ @properties['status']
598
+ end
599
+
600
+ ##
601
+ # @return [String] The wait time in milliseconds before participant's call is placed. Only available in the response to a create participant request.
602
+ def queue_time
603
+ @properties['queue_time']
604
+ end
605
+
606
+ ##
607
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`.
608
+ def uri
609
+ @properties['uri']
610
+ end
611
+
612
+ ##
613
+ # Delete the ParticipantInstance
614
+ # @return [Boolean] True if delete succeeds, false otherwise
615
+ def delete
616
+
617
+ context.delete
618
+ end
619
+
620
+ ##
621
+ # Fetch the ParticipantInstance
622
+ # @return [ParticipantInstance] Fetched ParticipantInstance
623
+ def fetch
624
+
625
+ context.fetch
626
+ end
627
+
628
+ ##
629
+ # Update the ParticipantInstance
630
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
631
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
632
+ # @param [String] hold_url The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
633
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
634
+ # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
635
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
636
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
637
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
638
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
639
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
640
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
641
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
642
+ # @return [ParticipantInstance] Updated ParticipantInstance
643
+ def update(
644
+ muted: :unset,
645
+ hold: :unset,
646
+ hold_url: :unset,
647
+ hold_method: :unset,
648
+ announce_url: :unset,
649
+ announce_method: :unset,
650
+ wait_url: :unset,
651
+ wait_method: :unset,
652
+ beep_on_exit: :unset,
653
+ end_conference_on_exit: :unset,
654
+ coaching: :unset,
655
+ call_sid_to_coach: :unset
656
+ )
657
+
658
+ context.update(
659
+ muted: muted,
660
+ hold: hold,
661
+ hold_url: hold_url,
662
+ hold_method: hold_method,
663
+ announce_url: announce_url,
664
+ announce_method: announce_method,
665
+ wait_url: wait_url,
666
+ wait_method: wait_method,
667
+ beep_on_exit: beep_on_exit,
668
+ end_conference_on_exit: end_conference_on_exit,
669
+ coaching: coaching,
670
+ call_sid_to_coach: call_sid_to_coach,
671
+ )
672
+ end
673
+
674
+ ##
675
+ # Provide a user friendly representation
676
+ def to_s
677
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
678
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
679
+ end
680
+
681
+ ##
682
+ # Provide a detailed, user friendly representation
683
+ def inspect
684
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
685
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
686
+ end
589
687
  end
590
- @instance_context
591
- end
592
-
593
- ##
594
- # @return [String] The SID of the Account that created the resource
595
- def account_sid
596
- @properties['account_sid']
597
- end
598
-
599
- ##
600
- # @return [String] The SID of the Call the resource is associated with
601
- def call_sid
602
- @properties['call_sid']
603
- end
604
-
605
- ##
606
- # @return [String] The label of this participant
607
- def label
608
- @properties['label']
609
- end
610
-
611
- ##
612
- # @return [String] The SID of the participant who is being `coached`
613
- def call_sid_to_coach
614
- @properties['call_sid_to_coach']
615
- end
616
-
617
- ##
618
- # @return [Boolean] Indicates if the participant changed to coach
619
- def coaching
620
- @properties['coaching']
621
- end
622
-
623
- ##
624
- # @return [String] The SID of the conference the participant is in
625
- def conference_sid
626
- @properties['conference_sid']
627
- end
628
-
629
- ##
630
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
631
- def date_created
632
- @properties['date_created']
633
- end
634
-
635
- ##
636
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
637
- def date_updated
638
- @properties['date_updated']
639
- end
640
-
641
- ##
642
- # @return [Boolean] Whether the conference ends when the participant leaves
643
- def end_conference_on_exit
644
- @properties['end_conference_on_exit']
645
- end
646
-
647
- ##
648
- # @return [Boolean] Whether the participant is muted
649
- def muted
650
- @properties['muted']
651
- end
652
-
653
- ##
654
- # @return [Boolean] Whether the participant is on hold
655
- def hold
656
- @properties['hold']
657
- end
658
-
659
- ##
660
- # @return [Boolean] Whether the conference starts when the participant joins the conference
661
- def start_conference_on_enter
662
- @properties['start_conference_on_enter']
663
- end
664
-
665
- ##
666
- # @return [participant.Status] The status of the participant's call in a session
667
- def status
668
- @properties['status']
669
- end
670
-
671
- ##
672
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`
673
- def uri
674
- @properties['uri']
675
- end
676
-
677
- ##
678
- # Fetch the ParticipantInstance
679
- # @return [ParticipantInstance] Fetched ParticipantInstance
680
- def fetch
681
- context.fetch
682
- end
683
-
684
- ##
685
- # Update the ParticipantInstance
686
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
687
- # `false`. `true` will mute the participant, and `false` will un-mute them.
688
- # Anything value other than `true` or `false` is interpreted as `false`.
689
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
690
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
691
- # the conference.
692
- # @param [String] hold_url The URL we call using the `hold_method` for music that
693
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
694
- # file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or
695
- # `<Redirect>` verbs.
696
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
697
- # Can be: `GET` or `POST` and the default is `GET`.
698
- # @param [String] announce_url The URL we call using the `announce_method` for an
699
- # announcement to the participant. The URL may return an MP3 file, a WAV file, or
700
- # a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>`
701
- # verbs.
702
- # @param [String] announce_method The HTTP method we should use to call
703
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
704
- # @param [String] wait_url The URL we call using the `wait_method` for the music
705
- # to play while participants are waiting for the conference to start. The URL may
706
- # return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`,
707
- # `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our
708
- # standard hold music. {Learn more about hold
709
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
710
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
711
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
712
- # file, this should be `GET` so that we can cache the file.
713
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
714
- # conference when the participant exits. Can be: `true` or `false`.
715
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
716
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
717
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
718
- # be: `true` or `false`. If not present, defaults to `false` unless
719
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
720
- # @param [String] call_sid_to_coach The SID of the participant who is being
721
- # `coached`. The participant being coached is the only participant who can hear
722
- # the participant who is `coaching`.
723
- # @return [ParticipantInstance] Updated ParticipantInstance
724
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
725
- context.update(
726
- muted: muted,
727
- hold: hold,
728
- hold_url: hold_url,
729
- hold_method: hold_method,
730
- announce_url: announce_url,
731
- announce_method: announce_method,
732
- wait_url: wait_url,
733
- wait_method: wait_method,
734
- beep_on_exit: beep_on_exit,
735
- end_conference_on_exit: end_conference_on_exit,
736
- coaching: coaching,
737
- call_sid_to_coach: call_sid_to_coach,
738
- )
739
- end
740
-
741
- ##
742
- # Delete the ParticipantInstance
743
- # @return [Boolean] true if delete succeeds, false otherwise
744
- def delete
745
- context.delete
746
- end
747
-
748
- ##
749
- # Provide a user friendly representation
750
- def to_s
751
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
752
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
753
- end
754
-
755
- ##
756
- # Provide a detailed, user friendly representation
757
- def inspect
758
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
759
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
760
- end
688
+
689
+ end
690
+ end
761
691
  end
762
- end
763
692
  end
764
- end
765
693
  end
766
- end
767
- end
694
+ end
695
+
696
+