twilio-ruby 5.72.0 → 6.0.2

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