twilio-ruby 5.77.0 → 7.3.3

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