twilio-ruby 5.46.0 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1217) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +9 -1
  7. data/.rubocop.yml +2 -1
  8. data/.rubocop_todo.yml +91 -28
  9. data/CHANGES.md +2333 -0
  10. data/CONTRIBUTING.md +11 -9
  11. data/Dockerfile +2 -1
  12. data/Gemfile +6 -0
  13. data/LICENSE +1 -1
  14. data/Makefile +18 -11
  15. data/PULL_REQUEST_TEMPLATE.md +1 -1
  16. data/README.md +158 -38
  17. data/UPGRADE.md +21 -0
  18. data/advanced-examples/custom-http-client.md +170 -0
  19. data/cluster/cluster_oauth_spec.rb +19 -0
  20. data/cluster/cluster_orgs_spec.rb +40 -0
  21. data/cluster/cluster_spec.rb +75 -0
  22. data/examples/examples.rb +1 -1
  23. data/examples/public_oauth.rb +13 -0
  24. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  25. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  26. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  27. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  28. data/lib/twilio-ruby/base/client_base.rb +131 -0
  29. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  30. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  31. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  32. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  33. data/lib/twilio-ruby/framework/request.rb +8 -1
  34. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  35. data/lib/twilio-ruby/framework/rest/domain.rb +35 -0
  36. data/lib/twilio-ruby/framework/rest/error.rb +66 -0
  37. data/lib/twilio-ruby/framework/rest/page.rb +104 -0
  38. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  39. data/lib/twilio-ruby/framework/rest/resource.rb +39 -0
  40. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  41. data/lib/twilio-ruby/framework/rest/version.rb +240 -0
  42. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  43. data/lib/twilio-ruby/http/http_client.rb +42 -9
  44. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  45. data/lib/twilio-ruby/http.rb +5 -0
  46. data/lib/twilio-ruby/jwt/access_token.rb +13 -59
  47. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  48. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  50. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  51. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  52. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  53. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  54. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  55. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  56. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  57. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  58. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  60. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -514
  61. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  62. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1669 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1669 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +269 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +420 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -931
  82. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -713
  83. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  85. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  86. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  87. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -547
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -546
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -546
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -896
  92. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  93. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  94. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  95. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -612
  96. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  97. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  98. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  99. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  100. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  101. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  102. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -486
  107. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  108. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  123. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  124. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  136. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  137. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  138. data/lib/twilio-ruby/rest/api/v2010.rb +126 -147
  139. data/lib/twilio-ruby/rest/api.rb +26 -35
  140. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  153. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  154. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  155. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  156. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -287
  157. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -271
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -242
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -243
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -224
  161. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -53
  162. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  163. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  164. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  165. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  166. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  169. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  170. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  171. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  172. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  173. data/lib/twilio-ruby/rest/chat/v1.rb +57 -53
  174. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  175. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  176. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  177. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  181. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  182. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  183. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -413
  184. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  185. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  186. data/lib/twilio-ruby/rest/chat/v2.rb +57 -51
  187. data/lib/twilio-ruby/rest/chat/v3/channel.rb +452 -0
  188. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  189. data/lib/twilio-ruby/rest/chat.rb +10 -38
  190. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  191. data/lib/twilio-ruby/rest/client.rb +338 -540
  192. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  193. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +349 -0
  194. data/lib/twilio-ruby/rest/content/v1/content.rb +1921 -0
  195. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  196. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  197. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  198. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  199. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  200. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  201. data/lib/twilio-ruby/rest/content.rb +15 -0
  202. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +808 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  205. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  206. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  207. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -488
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -545
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  213. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +405 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  215. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  216. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -296
  217. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +470 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -271
  219. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  220. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -526
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -581
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +410 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  227. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +697 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -430
  229. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -424
  230. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +690 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -406
  232. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -107
  233. data/lib/twilio-ruby/rest/conversations.rb +24 -34
  234. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  235. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -281
  236. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +461 -283
  237. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  238. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  239. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  240. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -371
  241. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +621 -192
  242. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -380
  243. data/lib/twilio-ruby/rest/events/v1.rb +87 -83
  244. data/lib/twilio-ruby/rest/events.rb +5 -34
  245. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +697 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  248. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -440
  249. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -549
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +379 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +571 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +644 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +537 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  276. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -73
  277. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +266 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  280. data/lib/twilio-ruby/rest/flex_api.rb +33 -31
  281. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  282. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +463 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  284. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  285. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  286. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  287. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  288. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  289. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +516 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -228
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +726 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +672 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +693 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -477
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +445 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +84 -51
  306. data/lib/twilio-ruby/rest/insights.rb +24 -32
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  320. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  321. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  322. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  323. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  331. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  332. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  333. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -51
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  344. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  345. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  346. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -51
  347. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  348. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  351. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  352. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  353. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  354. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  355. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  356. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -38
  357. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  358. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  359. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +578 -0
  360. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  361. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  362. data/lib/twilio-ruby/rest/lookups/v2.rb +135 -0
  363. data/lib/twilio-ruby/rest/lookups.rb +2 -34
  364. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  368. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  369. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  370. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  371. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  372. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  373. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  374. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  375. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +575 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +768 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +477 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +271 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  386. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  389. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  391. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  392. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  393. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +944 -0
  394. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +236 -0
  395. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -645
  396. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1527 -0
  397. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +217 -0
  398. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -43
  399. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  400. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  401. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  402. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  403. data/lib/twilio-ruby/rest/messaging.rb +48 -27
  404. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  405. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  406. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  407. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -51
  408. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  409. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  410. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  411. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  412. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  413. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  414. data/lib/twilio-ruby/rest/notify/v1.rb +57 -53
  415. data/lib/twilio-ruby/rest/notify.rb +3 -34
  416. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +412 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +303 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -505
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -364
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  444. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  445. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  446. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  447. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  448. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  449. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  450. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  451. data/lib/twilio-ruby/rest/oauth/v1/token.rb +301 -0
  452. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  453. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  454. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  455. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  456. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  457. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  458. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  459. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  460. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  461. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -53
  462. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  463. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  464. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  465. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  466. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -51
  467. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  468. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  469. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  470. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  471. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -66
  472. data/lib/twilio-ruby/rest/preview.rb +10 -145
  473. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  474. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  475. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  476. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  477. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  478. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  479. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  480. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  481. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  482. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  483. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  484. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  485. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  486. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  487. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  488. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  490. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  491. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  492. data/lib/twilio-ruby/rest/pricing/v2/country.rb +467 -0
  493. data/lib/twilio-ruby/rest/pricing/v2/number.rb +389 -0
  494. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  495. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  496. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  497. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -28
  498. data/lib/twilio-ruby/rest/pricing.rb +22 -38
  499. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  500. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  501. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  502. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  503. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -453
  504. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -547
  505. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  506. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -37
  507. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  508. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +452 -0
  510. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +452 -0
  511. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +452 -0
  512. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  513. data/lib/twilio-ruby/rest/routes.rb +32 -0
  514. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  516. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  517. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  518. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -374
  519. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  520. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  521. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  522. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  523. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  524. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  525. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  526. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -486
  527. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -36
  528. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  529. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  530. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  531. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  532. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  533. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  534. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  538. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  539. data/lib/twilio-ruby/rest/studio/v1.rb +42 -36
  540. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -208
  541. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -205
  542. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -369
  543. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -450
  544. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -328
  545. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  546. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -480
  547. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -114
  548. data/lib/twilio-ruby/rest/studio/v2.rb +48 -43
  549. data/lib/twilio-ruby/rest/studio.rb +3 -41
  550. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +621 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -411
  553. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +634 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  555. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  556. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  557. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +349 -0
  558. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +338 -0
  559. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +296 -0
  560. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -388
  561. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +586 -0
  562. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +408 -328
  563. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -103
  564. data/lib/twilio-ruby/rest/supersim.rb +40 -40
  565. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -379
  567. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -442
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -497
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -378
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -459
  571. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -504
  572. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -376
  573. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -458
  574. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -138
  575. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -414
  576. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -575
  577. data/lib/twilio-ruby/rest/sync/v1.rb +42 -36
  578. data/lib/twilio-ruby/rest/sync.rb +2 -34
  579. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -388
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -732
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -637
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -366
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -566
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -728
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -619
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -374
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  601. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  602. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -354
  603. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  604. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  605. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -715
  606. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -36
  607. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  608. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  610. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  611. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  612. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  613. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  614. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -614
  615. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -37
  616. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  617. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +602 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +581 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +547 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +833 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +669 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +460 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +453 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +683 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +460 -0
  630. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +602 -0
  631. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +581 -0
  632. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +547 -0
  633. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +833 -0
  634. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  635. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  636. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  637. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  638. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +433 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +454 -108
  640. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +302 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +770 -449
  643. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  644. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +418 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -394
  646. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  647. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  648. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  649. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  650. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  651. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  652. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -349
  653. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +321 -181
  654. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -401
  655. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -693
  656. data/lib/twilio-ruby/rest/verify/v2/template.rb +320 -0
  657. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +566 -0
  658. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +410 -0
  659. data/lib/twilio-ruby/rest/verify/v2.rb +99 -53
  660. data/lib/twilio-ruby/rest/verify.rb +33 -31
  661. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  662. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -494
  663. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -655
  664. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  665. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -405
  666. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  667. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  669. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  670. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  671. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  672. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  673. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  674. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  675. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -542
  676. data/lib/twilio-ruby/rest/video/v1.rb +99 -95
  677. data/lib/twilio-ruby/rest/video.rb +7 -34
  678. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  679. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +302 -0
  680. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  681. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  682. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  683. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  684. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  685. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  686. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  687. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  688. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  689. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  690. data/lib/twilio-ruby/rest/voice/v1.rb +130 -92
  691. data/lib/twilio-ruby/rest/voice.rb +12 -31
  692. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  693. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  694. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  695. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  696. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  697. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -657
  698. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  699. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -73
  700. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  701. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  702. data/lib/twilio-ruby/rest.rb +14 -0
  703. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  704. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  705. data/lib/twilio-ruby/twiml/voice_response.rb +1287 -143
  706. data/lib/twilio-ruby/version.rb +1 -1
  707. data/lib/twilio-ruby.rb +6 -16
  708. data/sonar-project.properties +13 -0
  709. data/twilio-ruby.gemspec +5 -5
  710. metadata +334 -942
  711. data/.travis.yml +0 -45
  712. data/conf/cacert.pem +0 -3376
  713. data/lib/twilio-ruby/framework/domain.rb +0 -36
  714. data/lib/twilio-ruby/framework/error.rb +0 -51
  715. data/lib/twilio-ruby/framework/page.rb +0 -103
  716. data/lib/twilio-ruby/framework/resource.rb +0 -23
  717. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  718. data/lib/twilio-ruby/framework/version.rb +0 -153
  719. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  720. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  721. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  722. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  723. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  724. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  725. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  726. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  727. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  728. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  729. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  730. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  731. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  732. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  733. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  734. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  735. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  736. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  737. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  738. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  739. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  740. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  741. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  742. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  743. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  744. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  745. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  746. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  747. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  748. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  749. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -51
  750. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  751. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -314
  752. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  753. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  754. data/lib/twilio-ruby/rest/fax.rb +0 -47
  755. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -307
  756. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  757. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  758. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  759. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  760. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  761. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  762. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  763. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  764. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  765. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  766. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  767. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  768. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  769. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -410
  771. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  772. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  773. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  774. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  775. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  776. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  777. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  778. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  779. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  780. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  781. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  782. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  783. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  784. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  786. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  787. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  788. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  789. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  790. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  791. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  792. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  793. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  794. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  795. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  796. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  797. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  798. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  799. data/lib/twilio-ruby/rest/preview/understand.rb +0 -44
  800. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  801. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -205
  802. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
  803. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -406
  804. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  805. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  806. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  807. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -483
  808. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -150
  809. data/spec/framework/request_spec.rb +0 -36
  810. data/spec/framework/serialize_spec.rb +0 -80
  811. data/spec/framework/version_spec.rb +0 -219
  812. data/spec/holodeck/holodeck.rb +0 -66
  813. data/spec/holodeck/hologram.rb +0 -4
  814. data/spec/http/http_client_spec.rb +0 -122
  815. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  816. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  817. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  818. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  819. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  820. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  821. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  822. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  823. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  824. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  825. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  826. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  827. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  828. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  829. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  830. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  831. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  832. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  833. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  834. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  835. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  836. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  837. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  838. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  839. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  840. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  841. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  842. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  843. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  844. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  845. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  846. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  847. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  848. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  849. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  850. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  851. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  852. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  853. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  854. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  855. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  856. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  857. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  858. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  859. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  860. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  861. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  862. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  863. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  864. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  865. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  866. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  867. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  868. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  869. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  870. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  871. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  872. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  873. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  874. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  875. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  876. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  877. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  878. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  879. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  880. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  881. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  882. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  883. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  884. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  885. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  886. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  887. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  888. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  889. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  890. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  891. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  892. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  893. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  894. data/spec/integration/api/v2010/account_spec.rb +0 -327
  895. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  896. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  897. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  898. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  899. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  900. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  901. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  902. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  903. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  904. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  905. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  906. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  907. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  908. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  909. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  910. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  911. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  912. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  913. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  914. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  915. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  916. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  917. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  918. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  919. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  920. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  921. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  922. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  923. data/spec/integration/chat/v1/service_spec.rb +0 -295
  924. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  925. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  926. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  927. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  928. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  929. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  930. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  931. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  932. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  933. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  934. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  935. data/spec/integration/chat/v2/service_spec.rb +0 -350
  936. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  937. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  938. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  939. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  940. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  941. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  942. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  943. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  944. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  945. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  946. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  947. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  948. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  949. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  950. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  951. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  952. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  953. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  954. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  955. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  956. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  957. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  958. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  959. data/spec/integration/events/v1/schema_spec.rb +0 -46
  960. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  961. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  962. data/spec/integration/events/v1/sink_spec.rb +0 -231
  963. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  964. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  965. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  966. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  967. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  968. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  969. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  970. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  971. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  972. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  973. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  974. data/spec/integration/insights/v1/call_spec.rb +0 -46
  975. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  976. data/spec/integration/insights/v1/room_spec.rb +0 -164
  977. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  978. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  979. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  980. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  981. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  982. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  983. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  984. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  985. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  986. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  987. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  988. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  989. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  990. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  991. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  992. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  993. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  994. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  995. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  996. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  997. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  998. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  999. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  1000. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  1001. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  1002. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  1003. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  1004. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  1005. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  1006. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  1007. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  1008. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  1009. data/spec/integration/notify/v1/service_spec.rb +0 -289
  1010. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  1011. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  1012. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  1013. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  1014. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  1015. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  1016. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  1017. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  1018. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  1019. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  1020. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  1021. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  1022. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  1023. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  1024. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  1025. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  1026. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  1027. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  1028. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  1029. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  1030. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  1031. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  1032. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  1033. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  1034. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  1035. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  1036. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  1037. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  1038. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  1039. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  1040. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  1041. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  1042. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  1043. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  1044. data/spec/integration/preview/sync/service_spec.rb +0 -241
  1045. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  1046. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  1047. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  1048. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  1049. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  1050. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  1051. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  1052. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  1053. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  1054. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  1055. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  1056. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  1057. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  1058. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  1059. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  1060. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  1061. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  1062. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  1063. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  1064. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  1065. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  1066. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  1067. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  1068. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  1069. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  1070. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  1071. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  1072. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  1073. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  1074. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  1075. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  1076. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  1077. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  1078. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  1079. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  1080. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  1081. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  1082. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  1083. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  1084. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  1085. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  1086. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  1087. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  1088. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  1089. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  1090. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  1091. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  1092. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  1093. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  1094. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  1095. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  1096. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  1097. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  1098. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  1099. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  1100. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  1101. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  1102. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1103. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  1104. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  1105. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  1106. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  1107. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1108. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  1109. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  1110. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  1111. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  1112. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  1113. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  1114. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  1115. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  1116. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  1117. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  1118. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  1119. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  1120. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  1121. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  1122. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  1123. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  1124. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  1125. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  1126. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  1127. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  1128. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  1129. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  1130. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  1131. data/spec/integration/sync/v1/service_spec.rb +0 -261
  1132. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  1133. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  1134. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  1135. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  1136. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  1137. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  1138. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  1139. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  1140. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  1141. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  1142. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  1143. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  1144. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  1145. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  1146. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  1147. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  1148. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  1149. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  1150. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1151. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  1152. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  1153. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  1154. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1155. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  1156. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  1157. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  1158. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  1159. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  1160. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  1161. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  1162. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  1163. data/spec/integration/verify/v2/form_spec.rb +0 -47
  1164. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  1165. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  1166. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  1167. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  1168. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  1169. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  1170. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  1171. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  1172. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  1173. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  1174. data/spec/integration/verify/v2/service_spec.rb +0 -279
  1175. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  1176. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  1177. data/spec/integration/video/v1/composition_spec.rb +0 -347
  1178. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  1179. data/spec/integration/video/v1/recording_spec.rb +0 -176
  1180. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  1181. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  1182. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  1183. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  1184. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1185. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  1186. data/spec/integration/video/v1/room_spec.rb +0 -301
  1187. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  1188. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  1189. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  1190. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  1191. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  1192. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  1193. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  1194. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  1195. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  1196. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  1197. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  1198. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  1199. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  1200. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  1201. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  1202. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  1203. data/spec/jwt/access_token_spec.rb +0 -159
  1204. data/spec/jwt/client_capability_spec.rb +0 -104
  1205. data/spec/jwt/task_router_spec.rb +0 -172
  1206. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1207. data/spec/rest/client_spec.rb +0 -255
  1208. data/spec/security/request_validator_spec.rb +0 -125
  1209. data/spec/spec_helper.rb +0 -38
  1210. data/spec/support/fakeweb.rb +0 -2
  1211. data/spec/twilio_spec.rb +0 -17
  1212. data/spec/twiml/messaging_response_spec.rb +0 -235
  1213. data/spec/twiml/voice_response_spec.rb +0 -847
  1214. data/spec/util/configuration_spec.rb +0 -33
  1215. data/spec/util/url_encode_spec.rb +0 -12
  1216. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1217. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
@@ -1,724 +1,1135 @@
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`, and `speaker`. Separate
111
- # 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
- # `in-progress`, `completed`, and `failed`. Separate multiple values with a space.
134
- # The default value is `in-progress completed failed`.
135
- # @param [Array[String]] conference_recording_status_callback_event The conference
136
- # recording state changes that generate a call to
137
- # `conference_recording_status_callback`. Can be: `in-progress`, `completed`, and
138
- # `failed`. Separate multiple values with a space. The default value is
139
- # `in-progress completed failed`.
140
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
141
- # be: `true` or `false`. If not present, defaults to `false` unless
142
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
143
- # @param [String] call_sid_to_coach The SID of the participant who is being
144
- # `coached`. The participant being coached is the only participant who can hear
145
- # the participant who is `coaching`.
146
- # @param [String] jitter_buffer_size Jitter buffer size for the connecting
147
- # participant. Twilio will use this setting to apply Jitter Buffer before
148
- # participant's audio is mixed into the conference. Can be: `off`, `small`,
149
- # `medium`, and `large`. Default to `large`.
150
- # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
151
- # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
152
- # it will otherwise be ignored. (Beta)
153
- # @param [String] caller_id The phone number, Client identifier, or username
154
- # portion of SIP address that made this call. Phone numbers are in
155
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
156
- # +16175551212). Client identifiers are formatted `client:name`. If using a phone
157
- # number, it must be a Twilio number or a Verified {outgoing caller
158
- # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
159
- # If the `to` parameter is a phone number, `callerId` must also be a phone number.
160
- # If `to` is sip address, this value of `callerId` should be a username portion to
161
- # be used to populate the From header that is passed to the SIP endpoint.
162
- # @param [String] call_reason The Reason for the outgoing call. Use it to specify
163
- # the purpose of the call that is presented on the called party's phone. (Branded
164
- # Calls Beta)
165
- # @param [String] recording_track The audio track to record for the call. Can be:
166
- # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
167
- # audio that is received by Twilio. `outbound` records the audio that is sent from
168
- # Twilio. `both` records the audio that is received and sent by Twilio.
169
- # @return [ParticipantInstance] Created ParticipantInstance
170
- 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)
171
- data = Twilio::Values.of({
172
- 'From' => from,
173
- 'To' => to,
174
- 'StatusCallback' => status_callback,
175
- 'StatusCallbackMethod' => status_callback_method,
176
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
177
- 'Label' => label,
178
- 'Timeout' => timeout,
179
- 'Record' => record,
180
- 'Muted' => muted,
181
- 'Beep' => beep,
182
- 'StartConferenceOnEnter' => start_conference_on_enter,
183
- 'EndConferenceOnExit' => end_conference_on_exit,
184
- 'WaitUrl' => wait_url,
185
- 'WaitMethod' => wait_method,
186
- 'EarlyMedia' => early_media,
187
- 'MaxParticipants' => max_participants,
188
- 'ConferenceRecord' => conference_record,
189
- 'ConferenceTrim' => conference_trim,
190
- 'ConferenceStatusCallback' => conference_status_callback,
191
- 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
192
- 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
193
- 'RecordingChannels' => recording_channels,
194
- 'RecordingStatusCallback' => recording_status_callback,
195
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
196
- 'SipAuthUsername' => sip_auth_username,
197
- 'SipAuthPassword' => sip_auth_password,
198
- 'Region' => region,
199
- 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
200
- 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
201
- 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
202
- 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
203
- 'Coaching' => coaching,
204
- 'CallSidToCoach' => call_sid_to_coach,
205
- 'JitterBufferSize' => jitter_buffer_size,
206
- 'Byoc' => byoc,
207
- 'CallerId' => caller_id,
208
- 'CallReason' => call_reason,
209
- 'RecordingTrack' => recording_track,
210
- })
211
-
212
- payload = @version.create('POST', @uri, data: data)
213
-
214
- ParticipantInstance.new(
215
- @version,
216
- payload,
217
- account_sid: @solution[:account_sid],
218
- conference_sid: @solution[:conference_sid],
219
- )
220
- end
221
-
222
- ##
223
- # Lists ParticipantInstance records from the API as a list.
224
- # Unlike stream(), this operation is eager and will load `limit` records into
225
- # memory before returning.
226
- # @param [Boolean] muted Whether to return only participants that are muted. Can
227
- # be: `true` or `false`.
228
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
229
- # be: `true` or `false`.
230
- # @param [Boolean] coaching Whether to return only participants who are coaching
231
- # 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 [Array] Array of up to limit results
239
- def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
240
- self.stream(
241
- muted: muted,
242
- hold: hold,
243
- coaching: coaching,
244
- limit: limit,
245
- page_size: page_size
246
- ).entries
247
- end
248
-
249
- ##
250
- # Streams ParticipantInstance records from the API as an Enumerable.
251
- # This operation lazily loads records as efficiently as possible until the limit
252
- # is reached.
253
- # @param [Boolean] muted Whether to return only participants that are muted. Can
254
- # be: `true` or `false`.
255
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
256
- # be: `true` or `false`.
257
- # @param [Boolean] coaching Whether to return only participants who are coaching
258
- # another call. Can be: `true` or `false`.
259
- # @param [Integer] limit Upper limit for the number of records to return. stream()
260
- # guarantees to never return more than limit. Default is no limit.
261
- # @param [Integer] page_size Number of records to fetch per request, when
262
- # not set will use the default value of 50 records. If no page_size is defined
263
- # but a limit is defined, stream() will attempt to read the limit with the most
264
- # efficient page size, i.e. min(limit, 1000)
265
- # @return [Enumerable] Enumerable that will yield up to limit results
266
- def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
267
- limits = @version.read_limits(limit, page_size)
268
-
269
- page = self.page(muted: muted, hold: hold, coaching: coaching, page_size: limits[:page_size], )
270
-
271
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
272
- end
273
-
274
- ##
275
- # When passed a block, yields ParticipantInstance records from the API.
276
- # This operation lazily loads records as efficiently as possible until the limit
277
- # is reached.
278
- def each
279
- limits = @version.read_limits
280
-
281
- page = self.page(page_size: limits[:page_size], )
282
-
283
- @version.stream(page,
284
- limit: limits[:limit],
285
- page_limit: limits[:page_limit]).each {|x| yield x}
286
- end
287
-
288
- ##
289
- # Retrieve a single page of ParticipantInstance records from the API.
290
- # Request is executed immediately.
291
- # @param [Boolean] muted Whether to return only participants that are muted. Can
292
- # be: `true` or `false`.
293
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
294
- # be: `true` or `false`.
295
- # @param [Boolean] coaching Whether to return only participants who are coaching
296
- # another call. Can be: `true` or `false`.
297
- # @param [String] page_token PageToken provided by the API
298
- # @param [Integer] page_number Page Number, this value is simply for client state
299
- # @param [Integer] page_size Number of records to return, defaults to 50
300
- # @return [Page] Page of ParticipantInstance
301
- def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
302
- params = Twilio::Values.of({
303
- 'Muted' => muted,
304
- 'Hold' => hold,
305
- 'Coaching' => coaching,
306
- 'PageToken' => page_token,
307
- 'Page' => page_number,
308
- 'PageSize' => page_size,
309
- })
310
-
311
- response = @version.page('GET', @uri, params: params)
312
-
313
- ParticipantPage.new(@version, response, @solution)
314
- end
315
-
316
- ##
317
- # Retrieve a single page of ParticipantInstance records from the API.
318
- # Request is executed immediately.
319
- # @param [String] target_url API-generated URL for the requested results page
320
- # @return [Page] Page of ParticipantInstance
321
- def get_page(target_url)
322
- response = @version.domain.request(
323
- 'GET',
324
- target_url
325
- )
326
- ParticipantPage.new(@version, response, @solution)
327
- end
328
-
329
- ##
330
- # Provide a user friendly representation
331
- def to_s
332
- '#<Twilio.Api.V2010.ParticipantList>'
333
- end
334
- end
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+ class ConferenceContext < InstanceContext
335
22
 
336
- class ParticipantPage < Page
337
- ##
338
- # Initialize the ParticipantPage
339
- # @param [Version] version Version that contains the resource
340
- # @param [Response] response Response from the API
341
- # @param [Hash] solution Path solution for the resource
342
- # @return [ParticipantPage] ParticipantPage
343
- def initialize(version, response, solution)
344
- super(version, response)
345
-
346
- # Path Solution
347
- @solution = solution
348
- end
349
-
350
- ##
351
- # Build an instance of ParticipantInstance
352
- # @param [Hash] payload Payload response from the API
353
- # @return [ParticipantInstance] ParticipantInstance
354
- def get_instance(payload)
355
- ParticipantInstance.new(
356
- @version,
357
- payload,
358
- account_sid: @solution[:account_sid],
359
- conference_sid: @solution[:conference_sid],
360
- )
361
- end
362
-
363
- ##
364
- # Provide a user friendly representation
365
- def to_s
366
- '<Twilio.Api.V2010.ParticipantPage>'
367
- end
368
- end
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
+
32
+ # Path Solution
33
+ @solution = { account_sid: account_sid, conference_sid: conference_sid }
34
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
35
+
36
+ end
37
+ ##
38
+ # Create the ParticipantInstance
39
+ # @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.
40
+ # @param [String] to The phone number, SIP address, Client, TwiML App 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`. TwiML App identifiers are formatted `app:<APP_SID>`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
41
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
42
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
43
+ # @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`.
44
+ # @param [String] label A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
45
+ # @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.
46
+ # @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`.
47
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
48
+ # @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`.
49
+ # @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.
50
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
51
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
52
+ # @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.
53
+ # @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`.
54
+ # @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`.
55
+ # @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`.
56
+ # @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`.
57
+ # @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.
58
+ # @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`.
59
+ # @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`.
60
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
61
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
62
+ # @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`.
63
+ # @param [String] sip_auth_username The SIP username used for authentication.
64
+ # @param [String] sip_auth_password The SIP password for authentication.
65
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
66
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
67
+ # @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`.
68
+ # @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'`.
69
+ # @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'`
70
+ # @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.
71
+ # @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`.
72
+ # @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`.
73
+ # @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)
74
+ # @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.
75
+ # @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)
76
+ # @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.
77
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
78
+ # @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).
79
+ # @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.
80
+ # @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.
81
+ # @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.
82
+ # @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.
83
+ # @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.
84
+ # @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`.
85
+ # @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`.
86
+ # @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.
87
+ # @param [String] client_notification_url The URL that we should use to deliver `push call notification`.
88
+ # @param [String] caller_display_name The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
89
+ # @return [ParticipantInstance] Created ParticipantInstance
90
+ def create(
91
+ from: nil,
92
+ to: nil,
93
+ status_callback: :unset,
94
+ status_callback_method: :unset,
95
+ status_callback_event: :unset,
96
+ label: :unset,
97
+ timeout: :unset,
98
+ record: :unset,
99
+ muted: :unset,
100
+ beep: :unset,
101
+ start_conference_on_enter: :unset,
102
+ end_conference_on_exit: :unset,
103
+ wait_url: :unset,
104
+ wait_method: :unset,
105
+ early_media: :unset,
106
+ max_participants: :unset,
107
+ conference_record: :unset,
108
+ conference_trim: :unset,
109
+ conference_status_callback: :unset,
110
+ conference_status_callback_method: :unset,
111
+ conference_status_callback_event: :unset,
112
+ recording_channels: :unset,
113
+ recording_status_callback: :unset,
114
+ recording_status_callback_method: :unset,
115
+ sip_auth_username: :unset,
116
+ sip_auth_password: :unset,
117
+ region: :unset,
118
+ conference_recording_status_callback: :unset,
119
+ conference_recording_status_callback_method: :unset,
120
+ recording_status_callback_event: :unset,
121
+ conference_recording_status_callback_event: :unset,
122
+ coaching: :unset,
123
+ call_sid_to_coach: :unset,
124
+ jitter_buffer_size: :unset,
125
+ byoc: :unset,
126
+ caller_id: :unset,
127
+ call_reason: :unset,
128
+ recording_track: :unset,
129
+ time_limit: :unset,
130
+ machine_detection: :unset,
131
+ machine_detection_timeout: :unset,
132
+ machine_detection_speech_threshold: :unset,
133
+ machine_detection_speech_end_threshold: :unset,
134
+ machine_detection_silence_timeout: :unset,
135
+ amd_status_callback: :unset,
136
+ amd_status_callback_method: :unset,
137
+ trim: :unset,
138
+ call_token: :unset,
139
+ client_notification_url: :unset,
140
+ caller_display_name: :unset
141
+ )
369
142
 
370
- class ParticipantContext < InstanceContext
371
- ##
372
- # Initialize the ParticipantContext
373
- # @param [Version] version Version that contains the resource
374
- # @param [String] account_sid The SID of the
375
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
376
- # Participant resource to fetch.
377
- # @param [String] conference_sid The SID of the conference with the participant to
378
- # fetch.
379
- # @param [String] call_sid The
380
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
381
- # participant to fetch. Non URL safe characters in a label must be percent
382
- # encoded, for example, a space character is represented as %20.
383
- # @return [ParticipantContext] ParticipantContext
384
- def initialize(version, account_sid, conference_sid, call_sid)
385
- super(version)
386
-
387
- # Path Solution
388
- @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
389
- @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
390
- end
391
-
392
- ##
393
- # Fetch the ParticipantInstance
394
- # @return [ParticipantInstance] Fetched ParticipantInstance
395
- def fetch
396
- payload = @version.fetch('GET', @uri)
397
-
398
- ParticipantInstance.new(
399
- @version,
400
- payload,
401
- account_sid: @solution[:account_sid],
402
- conference_sid: @solution[:conference_sid],
403
- call_sid: @solution[:call_sid],
404
- )
405
- end
406
-
407
- ##
408
- # Update the ParticipantInstance
409
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
410
- # `false`. `true` will mute the participant, and `false` will un-mute them.
411
- # Anything value other than `true` or `false` is interpreted as `false`.
412
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
413
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
414
- # the conference.
415
- # @param [String] hold_url The URL we call using the `hold_method` for music that
416
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
417
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
418
- # commands.
419
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
420
- # Can be: `GET` or `POST` and the default is `GET`.
421
- # @param [String] announce_url The URL we call using the `announce_method` for an
422
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
423
- # a TwiML document that contains `<Play>` or `<Say>` commands.
424
- # @param [String] announce_method The HTTP method we should use to call
425
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
426
- # @param [String] wait_url The URL we should call using the `wait_method` for the
427
- # music to play while participants are waiting for the conference to start. The
428
- # default value is the URL of our standard hold music. {Learn more about hold
429
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
430
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
431
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
432
- # file, this should be `GET` so that we can cache the file.
433
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
434
- # conference when the participant exits. Can be: `true` or `false`.
435
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
436
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
437
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
438
- # be: `true` or `false`. If not present, defaults to `false` unless
439
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
440
- # @param [String] call_sid_to_coach The SID of the participant who is being
441
- # `coached`. The participant being coached is the only participant who can hear
442
- # the participant who is `coaching`.
443
- # @return [ParticipantInstance] Updated ParticipantInstance
444
- 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)
445
- data = Twilio::Values.of({
446
- 'Muted' => muted,
447
- 'Hold' => hold,
448
- 'HoldUrl' => hold_url,
449
- 'HoldMethod' => hold_method,
450
- 'AnnounceUrl' => announce_url,
451
- 'AnnounceMethod' => announce_method,
452
- 'WaitUrl' => wait_url,
453
- 'WaitMethod' => wait_method,
454
- 'BeepOnExit' => beep_on_exit,
455
- 'EndConferenceOnExit' => end_conference_on_exit,
456
- 'Coaching' => coaching,
457
- 'CallSidToCoach' => call_sid_to_coach,
458
- })
459
-
460
- payload = @version.update('POST', @uri, data: data)
461
-
462
- ParticipantInstance.new(
463
- @version,
464
- payload,
465
- account_sid: @solution[:account_sid],
466
- conference_sid: @solution[:conference_sid],
467
- call_sid: @solution[:call_sid],
468
- )
469
- end
470
-
471
- ##
472
- # Delete the ParticipantInstance
473
- # @return [Boolean] true if delete succeeds, false otherwise
474
- def delete
475
- @version.delete('DELETE', @uri)
476
- end
477
-
478
- ##
479
- # Provide a user friendly representation
480
- def to_s
481
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
482
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
483
- end
484
-
485
- ##
486
- # Provide a detailed, user friendly representation
487
- def inspect
488
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
489
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
490
- end
491
- end
143
+ data = Twilio::Values.of({
144
+ 'From' => from,
145
+ 'To' => to,
146
+ 'StatusCallback' => status_callback,
147
+ 'StatusCallbackMethod' => status_callback_method,
148
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
149
+ 'Label' => label,
150
+ 'Timeout' => timeout,
151
+ 'Record' => record,
152
+ 'Muted' => muted,
153
+ 'Beep' => beep,
154
+ 'StartConferenceOnEnter' => start_conference_on_enter,
155
+ 'EndConferenceOnExit' => end_conference_on_exit,
156
+ 'WaitUrl' => wait_url,
157
+ 'WaitMethod' => wait_method,
158
+ 'EarlyMedia' => early_media,
159
+ 'MaxParticipants' => max_participants,
160
+ 'ConferenceRecord' => conference_record,
161
+ 'ConferenceTrim' => conference_trim,
162
+ 'ConferenceStatusCallback' => conference_status_callback,
163
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
164
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
165
+ 'RecordingChannels' => recording_channels,
166
+ 'RecordingStatusCallback' => recording_status_callback,
167
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
168
+ 'SipAuthUsername' => sip_auth_username,
169
+ 'SipAuthPassword' => sip_auth_password,
170
+ 'Region' => region,
171
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
172
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
173
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
174
+ 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
175
+ 'Coaching' => coaching,
176
+ 'CallSidToCoach' => call_sid_to_coach,
177
+ 'JitterBufferSize' => jitter_buffer_size,
178
+ 'Byoc' => byoc,
179
+ 'CallerId' => caller_id,
180
+ 'CallReason' => call_reason,
181
+ 'RecordingTrack' => recording_track,
182
+ 'TimeLimit' => time_limit,
183
+ 'MachineDetection' => machine_detection,
184
+ 'MachineDetectionTimeout' => machine_detection_timeout,
185
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
186
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
187
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
188
+ 'AmdStatusCallback' => amd_status_callback,
189
+ 'AmdStatusCallbackMethod' => amd_status_callback_method,
190
+ 'Trim' => trim,
191
+ 'CallToken' => call_token,
192
+ 'ClientNotificationUrl' => client_notification_url,
193
+ 'CallerDisplayName' => caller_display_name,
194
+ })
195
+
196
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
197
+
198
+
199
+
200
+
201
+
202
+ payload = @version.create('POST', @uri, data: data, headers: headers)
203
+ ParticipantInstance.new(
204
+ @version,
205
+ payload,
206
+ account_sid: @solution[:account_sid],
207
+ conference_sid: @solution[:conference_sid],
208
+ )
209
+ end
210
+
211
+ ##
212
+ # Create the ParticipantInstanceMetadata
213
+ # @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.
214
+ # @param [String] to The phone number, SIP address, Client, TwiML App 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`. TwiML App identifiers are formatted `app:<APP_SID>`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
215
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
216
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
217
+ # @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`.
218
+ # @param [String] label A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
219
+ # @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.
220
+ # @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`.
221
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
222
+ # @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`.
223
+ # @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.
224
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
225
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
226
+ # @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.
227
+ # @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`.
228
+ # @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`.
229
+ # @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`.
230
+ # @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`.
231
+ # @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.
232
+ # @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`.
233
+ # @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`.
234
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
235
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
236
+ # @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`.
237
+ # @param [String] sip_auth_username The SIP username used for authentication.
238
+ # @param [String] sip_auth_password The SIP password for authentication.
239
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
240
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
241
+ # @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`.
242
+ # @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'`.
243
+ # @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'`
244
+ # @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.
245
+ # @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`.
246
+ # @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`.
247
+ # @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)
248
+ # @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.
249
+ # @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)
250
+ # @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.
251
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
252
+ # @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).
253
+ # @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.
254
+ # @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.
255
+ # @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.
256
+ # @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.
257
+ # @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.
258
+ # @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`.
259
+ # @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`.
260
+ # @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.
261
+ # @param [String] client_notification_url The URL that we should use to deliver `push call notification`.
262
+ # @param [String] caller_display_name The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
263
+ # @return [ParticipantInstance] Created ParticipantInstance
264
+ def create_with_metadata(
265
+ from: nil,
266
+ to: nil,
267
+ status_callback: :unset,
268
+ status_callback_method: :unset,
269
+ status_callback_event: :unset,
270
+ label: :unset,
271
+ timeout: :unset,
272
+ record: :unset,
273
+ muted: :unset,
274
+ beep: :unset,
275
+ start_conference_on_enter: :unset,
276
+ end_conference_on_exit: :unset,
277
+ wait_url: :unset,
278
+ wait_method: :unset,
279
+ early_media: :unset,
280
+ max_participants: :unset,
281
+ conference_record: :unset,
282
+ conference_trim: :unset,
283
+ conference_status_callback: :unset,
284
+ conference_status_callback_method: :unset,
285
+ conference_status_callback_event: :unset,
286
+ recording_channels: :unset,
287
+ recording_status_callback: :unset,
288
+ recording_status_callback_method: :unset,
289
+ sip_auth_username: :unset,
290
+ sip_auth_password: :unset,
291
+ region: :unset,
292
+ conference_recording_status_callback: :unset,
293
+ conference_recording_status_callback_method: :unset,
294
+ recording_status_callback_event: :unset,
295
+ conference_recording_status_callback_event: :unset,
296
+ coaching: :unset,
297
+ call_sid_to_coach: :unset,
298
+ jitter_buffer_size: :unset,
299
+ byoc: :unset,
300
+ caller_id: :unset,
301
+ call_reason: :unset,
302
+ recording_track: :unset,
303
+ time_limit: :unset,
304
+ machine_detection: :unset,
305
+ machine_detection_timeout: :unset,
306
+ machine_detection_speech_threshold: :unset,
307
+ machine_detection_speech_end_threshold: :unset,
308
+ machine_detection_silence_timeout: :unset,
309
+ amd_status_callback: :unset,
310
+ amd_status_callback_method: :unset,
311
+ trim: :unset,
312
+ call_token: :unset,
313
+ client_notification_url: :unset,
314
+ caller_display_name: :unset
315
+ )
316
+
317
+ data = Twilio::Values.of({
318
+ 'From' => from,
319
+ 'To' => to,
320
+ 'StatusCallback' => status_callback,
321
+ 'StatusCallbackMethod' => status_callback_method,
322
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
323
+ 'Label' => label,
324
+ 'Timeout' => timeout,
325
+ 'Record' => record,
326
+ 'Muted' => muted,
327
+ 'Beep' => beep,
328
+ 'StartConferenceOnEnter' => start_conference_on_enter,
329
+ 'EndConferenceOnExit' => end_conference_on_exit,
330
+ 'WaitUrl' => wait_url,
331
+ 'WaitMethod' => wait_method,
332
+ 'EarlyMedia' => early_media,
333
+ 'MaxParticipants' => max_participants,
334
+ 'ConferenceRecord' => conference_record,
335
+ 'ConferenceTrim' => conference_trim,
336
+ 'ConferenceStatusCallback' => conference_status_callback,
337
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
338
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
339
+ 'RecordingChannels' => recording_channels,
340
+ 'RecordingStatusCallback' => recording_status_callback,
341
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
342
+ 'SipAuthUsername' => sip_auth_username,
343
+ 'SipAuthPassword' => sip_auth_password,
344
+ 'Region' => region,
345
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
346
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
347
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
348
+ 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
349
+ 'Coaching' => coaching,
350
+ 'CallSidToCoach' => call_sid_to_coach,
351
+ 'JitterBufferSize' => jitter_buffer_size,
352
+ 'Byoc' => byoc,
353
+ 'CallerId' => caller_id,
354
+ 'CallReason' => call_reason,
355
+ 'RecordingTrack' => recording_track,
356
+ 'TimeLimit' => time_limit,
357
+ 'MachineDetection' => machine_detection,
358
+ 'MachineDetectionTimeout' => machine_detection_timeout,
359
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
360
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
361
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
362
+ 'AmdStatusCallback' => amd_status_callback,
363
+ 'AmdStatusCallbackMethod' => amd_status_callback_method,
364
+ 'Trim' => trim,
365
+ 'CallToken' => call_token,
366
+ 'ClientNotificationUrl' => client_notification_url,
367
+ 'CallerDisplayName' => caller_display_name,
368
+ })
369
+
370
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
371
+
372
+
373
+
374
+
375
+
376
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
377
+ participant_instance = ParticipantInstance.new(
378
+ @version,
379
+ response.body,
380
+ account_sid: @solution[:account_sid],
381
+ conference_sid: @solution[:conference_sid],
382
+ )
383
+ ParticipantInstanceMetadata.new(
384
+ @version,
385
+ participant_instance,
386
+ response.headers,
387
+ response.status_code
388
+ )
389
+ end
390
+
391
+
392
+ ##
393
+ # Lists ParticipantInstance records from the API as a list.
394
+ # Unlike stream(), this operation is eager and will load `limit` records into
395
+ # memory before returning.
396
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
397
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
398
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
399
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
400
+ # guarantees to never return more than limit. Default is no limit
401
+ # @param [Integer] page_size Number of records to fetch per request, when
402
+ # not set will use the default value of 50 records. If no page_size is defined
403
+ # but a limit is defined, stream() will attempt to read the limit with the most
404
+ # efficient page size, i.e. min(limit, 1000)
405
+ # @return [Array] Array of up to limit results
406
+ def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
407
+ self.stream(
408
+ muted: muted,
409
+ hold: hold,
410
+ coaching: coaching,
411
+ limit: limit,
412
+ page_size: page_size
413
+ ).entries
414
+ end
415
+
416
+ ##
417
+ # Streams Instance records from the API as an Enumerable.
418
+ # This operation lazily loads records as efficiently as possible until the limit
419
+ # is reached.
420
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
421
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
422
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
423
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
424
+ # guarantees to never return more than limit. Default is no limit
425
+ # @param [Integer] page_size Number of records to fetch per request, when
426
+ # not set will use the default value of 50 records. If no page_size is defined
427
+ # but a limit is defined, stream() will attempt to read the limit with the most
428
+ # efficient page size, i.e. min(limit, 1000)
429
+ # @return [Enumerable] Enumerable that will yield up to limit results
430
+ def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
431
+ limits = @version.read_limits(limit, page_size)
432
+
433
+ page = self.page(
434
+ muted: muted,
435
+ hold: hold,
436
+ coaching: coaching,
437
+ page_size: limits[:page_size], )
438
+
439
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
440
+ end
441
+
442
+ ##
443
+ # Lists ParticipantPageMetadata records from the API as a list.
444
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
445
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
446
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
447
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
448
+ # guarantees to never return more than limit. Default is no limit
449
+ # @param [Integer] page_size Number of records to fetch per request, when
450
+ # not set will use the default value of 50 records. If no page_size is defined
451
+ # but a limit is defined, stream() will attempt to read the limit with the most
452
+ # efficient page size, i.e. min(limit, 1000)
453
+ # @return [Array] Array of up to limit results
454
+ def list_with_metadata(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
455
+ limits = @version.read_limits(limit, page_size)
456
+ params = Twilio::Values.of({
457
+ 'Muted' => muted,
458
+ 'Hold' => hold,
459
+ 'Coaching' => coaching,
460
+
461
+ 'PageSize' => limits[:page_size],
462
+ });
463
+ headers = Twilio::Values.of({})
464
+
465
+ response = @version.page('GET', @uri, params: params, headers: headers)
466
+
467
+ ParticipantPageMetadata.new(@version, response, @solution, limits[:limit])
468
+ end
469
+
470
+ ##
471
+ # When passed a block, yields ParticipantInstance records from the API.
472
+ # This operation lazily loads records as efficiently as possible until the limit
473
+ # is reached.
474
+ def each
475
+ limits = @version.read_limits
476
+
477
+ page = self.page(page_size: limits[:page_size], )
478
+
479
+ @version.stream(page,
480
+ limit: limits[:limit],
481
+ page_limit: limits[:page_limit]).each {|x| yield x}
482
+ end
483
+
484
+ ##
485
+ # Retrieve a single page of ParticipantInstance records from the API.
486
+ # Request is executed immediately.
487
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
488
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
489
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
490
+ # @param [String] page_token PageToken provided by the API
491
+ # @param [Integer] page_number Page Number, this value is simply for client state
492
+ # @param [Integer] page_size Number of records to return, defaults to 50
493
+ # @return [Page] Page of ParticipantInstance
494
+ def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
495
+ params = Twilio::Values.of({
496
+ 'Muted' => muted,
497
+ 'Hold' => hold,
498
+ 'Coaching' => coaching,
499
+ 'PageToken' => page_token,
500
+ 'Page' => page_number,
501
+ 'PageSize' => page_size,
502
+ })
503
+ headers = Twilio::Values.of({})
504
+
505
+
506
+
507
+ response = @version.page('GET', @uri, params: params, headers: headers)
508
+
509
+ ParticipantPage.new(@version, response, @solution)
510
+ end
511
+
512
+ ##
513
+ # Retrieve a single page of ParticipantInstance records from the API.
514
+ # Request is executed immediately.
515
+ # @param [String] target_url API-generated URL for the requested results page
516
+ # @return [Page] Page of ParticipantInstance
517
+ def get_page(target_url)
518
+ response = @version.domain.request(
519
+ 'GET',
520
+ target_url
521
+ )
522
+ ParticipantPage.new(@version, response, @solution)
523
+ end
524
+
525
+
526
+
527
+ # Provide a user friendly representation
528
+ def to_s
529
+ '#<Twilio.Api.V2010.ParticipantList>'
530
+ end
531
+ end
532
+
533
+
534
+ class ParticipantContext < InstanceContext
535
+ ##
536
+ # Initialize the ParticipantContext
537
+ # @param [Version] version Version that contains the resource
538
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.
539
+ # @param [String] conference_sid The SID of the conference with the participant to update.
540
+ # @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.
541
+ # @return [ParticipantContext] ParticipantContext
542
+ def initialize(version, account_sid, conference_sid, call_sid)
543
+ super(version)
544
+
545
+
546
+ # Path Solution
547
+ @solution = { account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
548
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
549
+
550
+
551
+ end
552
+ ##
553
+ # Delete the ParticipantInstance
554
+ # @return [Boolean] True if delete succeeds, false otherwise
555
+ def delete
556
+
557
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
558
+
559
+
560
+
561
+
562
+ @version.delete('DELETE', @uri, headers: headers)
563
+ end
564
+
565
+ ##
566
+ # Delete the ParticipantInstanceMetadata
567
+ # @return [Boolean] True if delete succeeds, false otherwise
568
+ def delete_with_metadata
569
+
570
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
571
+
572
+
573
+
574
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
575
+ participant_instance = ParticipantInstance.new(
576
+ @version,
577
+ response.body,
578
+ account_sid: @solution[:account_sid],
579
+ sid: @solution[:sid],
580
+ )
581
+ ParticipantInstanceMetadata.new(@version, participant_instance, response.headers, response.status_code)
582
+ end
583
+
584
+ ##
585
+ # Fetch the ParticipantInstance
586
+ # @return [ParticipantInstance] Fetched ParticipantInstance
587
+ def fetch
588
+
589
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
590
+
591
+
592
+
593
+
594
+
595
+ payload = @version.fetch('GET', @uri, headers: headers)
596
+ ParticipantInstance.new(
597
+ @version,
598
+ payload,
599
+ account_sid: @solution[:account_sid],
600
+ conference_sid: @solution[:conference_sid],
601
+ call_sid: @solution[:call_sid],
602
+ )
603
+ end
604
+
605
+ ##
606
+ # Fetch the ParticipantInstanceMetadata
607
+ # @return [ParticipantInstance] Fetched ParticipantInstance
608
+ def fetch_with_metadata
609
+
610
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
611
+
612
+
613
+
614
+
615
+
616
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
617
+ participant_instance = ParticipantInstance.new(
618
+ @version,
619
+ response.body,
620
+ account_sid: @solution[:account_sid],
621
+ conference_sid: @solution[:conference_sid],
622
+ call_sid: @solution[:call_sid],
623
+ )
624
+ ParticipantInstanceMetadata.new(
625
+ @version,
626
+ participant_instance,
627
+ response.headers,
628
+ response.status_code
629
+ )
630
+ end
631
+
632
+ ##
633
+ # Update the ParticipantInstance
634
+ # @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`.
635
+ # @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.
636
+ # @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.
637
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
638
+ # @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.
639
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
640
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
641
+ # @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.
642
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
643
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
644
+ # @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.
645
+ # @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`.
646
+ # @return [ParticipantInstance] Updated ParticipantInstance
647
+ def update(
648
+ muted: :unset,
649
+ hold: :unset,
650
+ hold_url: :unset,
651
+ hold_method: :unset,
652
+ announce_url: :unset,
653
+ announce_method: :unset,
654
+ wait_url: :unset,
655
+ wait_method: :unset,
656
+ beep_on_exit: :unset,
657
+ end_conference_on_exit: :unset,
658
+ coaching: :unset,
659
+ call_sid_to_coach: :unset
660
+ )
661
+
662
+ data = Twilio::Values.of({
663
+ 'Muted' => muted,
664
+ 'Hold' => hold,
665
+ 'HoldUrl' => hold_url,
666
+ 'HoldMethod' => hold_method,
667
+ 'AnnounceUrl' => announce_url,
668
+ 'AnnounceMethod' => announce_method,
669
+ 'WaitUrl' => wait_url,
670
+ 'WaitMethod' => wait_method,
671
+ 'BeepOnExit' => beep_on_exit,
672
+ 'EndConferenceOnExit' => end_conference_on_exit,
673
+ 'Coaching' => coaching,
674
+ 'CallSidToCoach' => call_sid_to_coach,
675
+ })
676
+
677
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
678
+
679
+
680
+
681
+
682
+
683
+ payload = @version.update('POST', @uri, data: data, headers: headers)
684
+ ParticipantInstance.new(
685
+ @version,
686
+ payload,
687
+ account_sid: @solution[:account_sid],
688
+ conference_sid: @solution[:conference_sid],
689
+ call_sid: @solution[:call_sid],
690
+ )
691
+ end
492
692
 
493
- class ParticipantInstance < InstanceResource
494
- ##
495
- # Initialize the ParticipantInstance
496
- # @param [Version] version Version that contains the resource
497
- # @param [Hash] payload payload that contains response from Twilio
498
- # @param [String] account_sid The SID of the
499
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
500
- # Participant resource.
501
- # @param [String] conference_sid The SID of the conference the participant is in.
502
- # @param [String] call_sid The
503
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
504
- # participant to fetch. Non URL safe characters in a label must be percent
505
- # encoded, for example, a space character is represented as %20.
506
- # @return [ParticipantInstance] ParticipantInstance
507
- def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
508
- super(version)
509
-
510
- # Marshaled Properties
511
- @properties = {
512
- 'account_sid' => payload['account_sid'],
513
- 'call_sid' => payload['call_sid'],
514
- 'label' => payload['label'],
515
- 'call_sid_to_coach' => payload['call_sid_to_coach'],
516
- 'coaching' => payload['coaching'],
517
- 'conference_sid' => payload['conference_sid'],
518
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
519
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
520
- 'end_conference_on_exit' => payload['end_conference_on_exit'],
521
- 'muted' => payload['muted'],
522
- 'hold' => payload['hold'],
523
- 'start_conference_on_enter' => payload['start_conference_on_enter'],
524
- 'status' => payload['status'],
525
- 'uri' => payload['uri'],
526
- }
527
-
528
- # Context
529
- @instance_context = nil
530
- @params = {
531
- 'account_sid' => account_sid,
532
- 'conference_sid' => conference_sid,
533
- 'call_sid' => call_sid || @properties['call_sid'],
534
- }
535
- end
536
-
537
- ##
538
- # Generate an instance context for the instance, the context is capable of
539
- # performing various actions. All instance actions are proxied to the context
540
- # @return [ParticipantContext] ParticipantContext for this ParticipantInstance
541
- def context
542
- unless @instance_context
543
- @instance_context = ParticipantContext.new(
544
- @version,
545
- @params['account_sid'],
546
- @params['conference_sid'],
547
- @params['call_sid'],
548
- )
693
+ ##
694
+ # Update the ParticipantInstanceMetadata
695
+ # @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`.
696
+ # @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.
697
+ # @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.
698
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
699
+ # @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.
700
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
701
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
702
+ # @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.
703
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
704
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
705
+ # @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.
706
+ # @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`.
707
+ # @return [ParticipantInstance] Updated ParticipantInstance
708
+ def update_with_metadata(
709
+ muted: :unset,
710
+ hold: :unset,
711
+ hold_url: :unset,
712
+ hold_method: :unset,
713
+ announce_url: :unset,
714
+ announce_method: :unset,
715
+ wait_url: :unset,
716
+ wait_method: :unset,
717
+ beep_on_exit: :unset,
718
+ end_conference_on_exit: :unset,
719
+ coaching: :unset,
720
+ call_sid_to_coach: :unset
721
+ )
722
+
723
+ data = Twilio::Values.of({
724
+ 'Muted' => muted,
725
+ 'Hold' => hold,
726
+ 'HoldUrl' => hold_url,
727
+ 'HoldMethod' => hold_method,
728
+ 'AnnounceUrl' => announce_url,
729
+ 'AnnounceMethod' => announce_method,
730
+ 'WaitUrl' => wait_url,
731
+ 'WaitMethod' => wait_method,
732
+ 'BeepOnExit' => beep_on_exit,
733
+ 'EndConferenceOnExit' => end_conference_on_exit,
734
+ 'Coaching' => coaching,
735
+ 'CallSidToCoach' => call_sid_to_coach,
736
+ })
737
+
738
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
739
+
740
+
741
+
742
+
743
+
744
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
745
+ participant_instance = ParticipantInstance.new(
746
+ @version,
747
+ response.body,
748
+ account_sid: @solution[:account_sid],
749
+ conference_sid: @solution[:conference_sid],
750
+ call_sid: @solution[:call_sid],
751
+ )
752
+ ParticipantInstanceMetadata.new(
753
+ @version,
754
+ participant_instance,
755
+ response.headers,
756
+ response.status_code
757
+ )
758
+ end
759
+
760
+
761
+ ##
762
+ # Provide a user friendly representation
763
+ def to_s
764
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
765
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
766
+ end
767
+
768
+ ##
769
+ # Provide a detailed, user friendly representation
770
+ def inspect
771
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
772
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
773
+ end
774
+ end
775
+
776
+ class ParticipantInstanceMetadata < InstanceResourceMetadata
777
+ ##
778
+ # Initializes a new ParticipantInstanceMetadata.
779
+ # @param [Version] version Version that contains the resource
780
+ # @param [}ParticipantInstance] participant_instance The instance associated with the metadata.
781
+ # @param [Hash] headers Header object with response headers.
782
+ # @param [Integer] status_code The HTTP status code of the response.
783
+ # @return [ParticipantInstanceMetadata] The initialized instance with metadata.
784
+ def initialize(version, participant_instance, headers, status_code)
785
+ super(version, headers, status_code)
786
+ @participant_instance = participant_instance
787
+ end
788
+
789
+ def participant
790
+ @participant_instance
791
+ end
792
+
793
+ def headers
794
+ @headers
795
+ end
796
+
797
+ def status_code
798
+ @status_code
799
+ end
800
+
801
+ def to_s
802
+ "<Twilio.Api.V2010.ParticipantInstanceMetadata status=#{@status_code}>"
803
+ end
804
+ end
805
+
806
+ class ParticipantListResponse < InstanceListResource
807
+ # @param [Array<ParticipantInstance>] instance
808
+ # @param [Hash{String => Object}] headers
809
+ # @param [Integer] status_code
810
+ def initialize(version, payload, key)
811
+ @participant_instance = payload.body[key].map do |data|
812
+ ParticipantInstance.new(version, data)
813
+ end
814
+ @headers = payload.headers
815
+ @status_code = payload.status_code
816
+ end
817
+
818
+ def participant_instance
819
+ @instance
820
+ end
821
+ end
822
+
823
+ class ParticipantPage < Page
824
+ ##
825
+ # Initialize the ParticipantPage
826
+ # @param [Version] version Version that contains the resource
827
+ # @param [Response] response Response from the API
828
+ # @param [Hash] solution Path solution for the resource
829
+ # @return [ParticipantPage] ParticipantPage
830
+ def initialize(version, response, solution)
831
+ super(version, response)
832
+
833
+
834
+ # Path Solution
835
+ @solution = solution
836
+ end
837
+
838
+ ##
839
+ # Build an instance of ParticipantInstance
840
+ # @param [Hash] payload Payload response from the API
841
+ # @return [ParticipantInstance] ParticipantInstance
842
+ def get_instance(payload)
843
+ ParticipantInstance.new(@version, payload, account_sid: @solution[:account_sid], conference_sid: @solution[:conference_sid])
844
+ end
845
+
846
+ ##
847
+ # Provide a user friendly representation
848
+ def to_s
849
+ '<Twilio.Api.V2010.ParticipantPage>'
850
+ end
851
+ end
852
+
853
+ class ParticipantPageMetadata < PageMetadata
854
+ attr_reader :participant_page
855
+
856
+ def initialize(version, response, solution, limit)
857
+ super(version, response)
858
+ @participant_page = []
859
+ @limit = limit
860
+ key = get_key(response.body)
861
+ records = 0
862
+ while( limit != :unset && records < limit )
863
+ @participant_page << ParticipantListResponse.new(version, @payload, key, limit - records)
864
+ @payload = self.next_page
865
+ break unless @payload
866
+ records += @payload.body[key].size
867
+ end
868
+ # Path Solution
869
+ @solution = solution
870
+ end
871
+
872
+ def each
873
+ @participant_page.each do |record|
874
+ yield record
875
+ end
876
+ end
877
+
878
+ def to_s
879
+ '<Twilio::REST::Api::V2010PageMetadata>';
880
+ end
549
881
  end
550
- @instance_context
551
- end
552
-
553
- ##
554
- # @return [String] The SID of the Account that created the resource
555
- def account_sid
556
- @properties['account_sid']
557
- end
558
-
559
- ##
560
- # @return [String] The SID of the Call the resource is associated with
561
- def call_sid
562
- @properties['call_sid']
563
- end
564
-
565
- ##
566
- # @return [String] The label of this participant
567
- def label
568
- @properties['label']
569
- end
570
-
571
- ##
572
- # @return [String] The SID of the participant who is being `coached`
573
- def call_sid_to_coach
574
- @properties['call_sid_to_coach']
575
- end
576
-
577
- ##
578
- # @return [Boolean] Indicates if the participant changed to coach
579
- def coaching
580
- @properties['coaching']
581
- end
582
-
583
- ##
584
- # @return [String] The SID of the conference the participant is in
585
- def conference_sid
586
- @properties['conference_sid']
587
- end
588
-
589
- ##
590
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
591
- def date_created
592
- @properties['date_created']
593
- end
594
-
595
- ##
596
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
597
- def date_updated
598
- @properties['date_updated']
599
- end
600
-
601
- ##
602
- # @return [Boolean] Whether the conference ends when the participant leaves
603
- def end_conference_on_exit
604
- @properties['end_conference_on_exit']
605
- end
606
-
607
- ##
608
- # @return [Boolean] Whether the participant is muted
609
- def muted
610
- @properties['muted']
611
- end
612
-
613
- ##
614
- # @return [Boolean] Whether the participant is on hold
615
- def hold
616
- @properties['hold']
617
- end
618
-
619
- ##
620
- # @return [Boolean] Whether the conference starts when the participant joins the conference
621
- def start_conference_on_enter
622
- @properties['start_conference_on_enter']
623
- end
624
-
625
- ##
626
- # @return [participant.Status] The status of the participant's call in a session
627
- def status
628
- @properties['status']
629
- end
630
-
631
- ##
632
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`
633
- def uri
634
- @properties['uri']
635
- end
636
-
637
- ##
638
- # Fetch the ParticipantInstance
639
- # @return [ParticipantInstance] Fetched ParticipantInstance
640
- def fetch
641
- context.fetch
642
- end
643
-
644
- ##
645
- # Update the ParticipantInstance
646
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
647
- # `false`. `true` will mute the participant, and `false` will un-mute them.
648
- # Anything value other than `true` or `false` is interpreted as `false`.
649
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
650
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
651
- # the conference.
652
- # @param [String] hold_url The URL we call using the `hold_method` for music that
653
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
654
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
655
- # commands.
656
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
657
- # Can be: `GET` or `POST` and the default is `GET`.
658
- # @param [String] announce_url The URL we call using the `announce_method` for an
659
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
660
- # a TwiML document that contains `<Play>` or `<Say>` commands.
661
- # @param [String] announce_method The HTTP method we should use to call
662
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
663
- # @param [String] wait_url The URL we should call using the `wait_method` for the
664
- # music to play while participants are waiting for the conference to start. The
665
- # default value is the URL of our standard hold music. {Learn more about hold
666
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
667
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
668
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
669
- # file, this should be `GET` so that we can cache the file.
670
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
671
- # conference when the participant exits. Can be: `true` or `false`.
672
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
673
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
674
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
675
- # be: `true` or `false`. If not present, defaults to `false` unless
676
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
677
- # @param [String] call_sid_to_coach The SID of the participant who is being
678
- # `coached`. The participant being coached is the only participant who can hear
679
- # the participant who is `coaching`.
680
- # @return [ParticipantInstance] Updated ParticipantInstance
681
- 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)
682
- context.update(
683
- muted: muted,
684
- hold: hold,
685
- hold_url: hold_url,
686
- hold_method: hold_method,
687
- announce_url: announce_url,
688
- announce_method: announce_method,
689
- wait_url: wait_url,
690
- wait_method: wait_method,
691
- beep_on_exit: beep_on_exit,
692
- end_conference_on_exit: end_conference_on_exit,
693
- coaching: coaching,
694
- call_sid_to_coach: call_sid_to_coach,
695
- )
696
- end
697
-
698
- ##
699
- # Delete the ParticipantInstance
700
- # @return [Boolean] true if delete succeeds, false otherwise
701
- def delete
702
- context.delete
703
- end
704
-
705
- ##
706
- # Provide a user friendly representation
707
- def to_s
708
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
709
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
710
- end
711
-
712
- ##
713
- # Provide a detailed, user friendly representation
714
- def inspect
715
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
716
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
717
- end
882
+ class ParticipantListResponse < InstanceListResource
883
+
884
+ # @param [Array<ParticipantInstance>] instance
885
+ # @param [Hash{String => Object}] headers
886
+ # @param [Integer] status_code
887
+ def initialize(version, payload, key, limit = :unset)
888
+ data_list = payload.body[key]
889
+ if limit != :unset
890
+ data_list = data_list[0, limit]
891
+ end
892
+ @participant = data_list.map do |data|
893
+ ParticipantInstance.new(version, data)
894
+ end
895
+ @headers = payload.headers
896
+ @status_code = payload.status_code
897
+ end
898
+
899
+ def participant
900
+ @participant
901
+ end
902
+
903
+ def headers
904
+ @headers
905
+ end
906
+
907
+ def status_code
908
+ @status_code
909
+ end
910
+ end
911
+
912
+ class ParticipantInstance < InstanceResource
913
+ ##
914
+ # Initialize the ParticipantInstance
915
+ # @param [Version] version Version that contains the resource
916
+ # @param [Hash] payload payload that contains response from Twilio
917
+ # @param [String] account_sid The SID of the
918
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Participant
919
+ # resource.
920
+ # @param [String] sid The SID of the Call resource to fetch.
921
+ # @return [ParticipantInstance] ParticipantInstance
922
+ def initialize(version, payload , account_sid: nil, conference_sid: nil, call_sid: nil)
923
+ super(version)
924
+
925
+
926
+ # Marshaled Properties
927
+ @properties = {
928
+ 'account_sid' => payload['account_sid'],
929
+ 'call_sid' => payload['call_sid'],
930
+ 'label' => payload['label'],
931
+ 'call_sid_to_coach' => payload['call_sid_to_coach'],
932
+ 'coaching' => payload['coaching'],
933
+ 'conference_sid' => payload['conference_sid'],
934
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
935
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
936
+ 'end_conference_on_exit' => payload['end_conference_on_exit'],
937
+ 'muted' => payload['muted'],
938
+ 'hold' => payload['hold'],
939
+ 'start_conference_on_enter' => payload['start_conference_on_enter'],
940
+ 'status' => payload['status'],
941
+ 'queue_time' => payload['queue_time'],
942
+ 'uri' => payload['uri'],
943
+ }
944
+
945
+ # Context
946
+ @instance_context = nil
947
+ @params = { 'account_sid' => account_sid ,'conference_sid' => conference_sid || @properties['conference_sid'] ,'call_sid' => call_sid || @properties['call_sid'] , }
948
+ end
949
+
950
+ ##
951
+ # Generate an instance context for the instance, the context is capable of
952
+ # performing various actions. All instance actions are proxied to the context
953
+ # @return [ParticipantContext] CallContext for this CallInstance
954
+ def context
955
+ unless @instance_context
956
+ @instance_context = ParticipantContext.new(@version , @params['account_sid'], @params['conference_sid'], @params['call_sid'])
957
+ end
958
+ @instance_context
959
+ end
960
+
961
+ ##
962
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource.
963
+ def account_sid
964
+ @properties['account_sid']
965
+ end
966
+
967
+ ##
968
+ # @return [String] The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Participant resource is associated with.
969
+ def call_sid
970
+ @properties['call_sid']
971
+ end
972
+
973
+ ##
974
+ # @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.
975
+ def label
976
+ @properties['label']
977
+ end
978
+
979
+ ##
980
+ # @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`.
981
+ def call_sid_to_coach
982
+ @properties['call_sid_to_coach']
983
+ end
984
+
985
+ ##
986
+ # @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.
987
+ def coaching
988
+ @properties['coaching']
989
+ end
990
+
991
+ ##
992
+ # @return [String] The SID of the conference the participant is in.
993
+ def conference_sid
994
+ @properties['conference_sid']
995
+ end
996
+
997
+ ##
998
+ # @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.
999
+ def date_created
1000
+ @properties['date_created']
1001
+ end
1002
+
1003
+ ##
1004
+ # @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.
1005
+ def date_updated
1006
+ @properties['date_updated']
1007
+ end
1008
+
1009
+ ##
1010
+ # @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.
1011
+ def end_conference_on_exit
1012
+ @properties['end_conference_on_exit']
1013
+ end
1014
+
1015
+ ##
1016
+ # @return [Boolean] Whether the participant is muted. Can be `true` or `false`.
1017
+ def muted
1018
+ @properties['muted']
1019
+ end
1020
+
1021
+ ##
1022
+ # @return [Boolean] Whether the participant is on hold. Can be `true` or `false`.
1023
+ def hold
1024
+ @properties['hold']
1025
+ end
1026
+
1027
+ ##
1028
+ # @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.
1029
+ def start_conference_on_enter
1030
+ @properties['start_conference_on_enter']
1031
+ end
1032
+
1033
+ ##
1034
+ # @return [Status]
1035
+ def status
1036
+ @properties['status']
1037
+ end
1038
+
1039
+ ##
1040
+ # @return [String] The wait time in milliseconds before participant's call is placed. Only available in the response to a create participant request.
1041
+ def queue_time
1042
+ @properties['queue_time']
1043
+ end
1044
+
1045
+ ##
1046
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`.
1047
+ def uri
1048
+ @properties['uri']
1049
+ end
1050
+
1051
+ ##
1052
+ # Delete the ParticipantInstance
1053
+ # @return [Boolean] True if delete succeeds, false otherwise
1054
+ def delete
1055
+
1056
+ context.delete
1057
+ end
1058
+
1059
+ ##
1060
+ # Fetch the ParticipantInstance
1061
+ # @return [ParticipantInstance] Fetched ParticipantInstance
1062
+ def fetch
1063
+
1064
+ context.fetch
1065
+ end
1066
+
1067
+ ##
1068
+ # Update the ParticipantInstance
1069
+ # @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`.
1070
+ # @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.
1071
+ # @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.
1072
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
1073
+ # @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.
1074
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
1075
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
1076
+ # @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.
1077
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
1078
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
1079
+ # @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.
1080
+ # @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`.
1081
+ # @return [ParticipantInstance] Updated ParticipantInstance
1082
+ def update(
1083
+ muted: :unset,
1084
+ hold: :unset,
1085
+ hold_url: :unset,
1086
+ hold_method: :unset,
1087
+ announce_url: :unset,
1088
+ announce_method: :unset,
1089
+ wait_url: :unset,
1090
+ wait_method: :unset,
1091
+ beep_on_exit: :unset,
1092
+ end_conference_on_exit: :unset,
1093
+ coaching: :unset,
1094
+ call_sid_to_coach: :unset
1095
+ )
1096
+
1097
+ context.update(
1098
+ muted: muted,
1099
+ hold: hold,
1100
+ hold_url: hold_url,
1101
+ hold_method: hold_method,
1102
+ announce_url: announce_url,
1103
+ announce_method: announce_method,
1104
+ wait_url: wait_url,
1105
+ wait_method: wait_method,
1106
+ beep_on_exit: beep_on_exit,
1107
+ end_conference_on_exit: end_conference_on_exit,
1108
+ coaching: coaching,
1109
+ call_sid_to_coach: call_sid_to_coach,
1110
+ )
1111
+ end
1112
+
1113
+ ##
1114
+ # Provide a user friendly representation
1115
+ def to_s
1116
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1117
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
1118
+ end
1119
+
1120
+ ##
1121
+ # Provide a detailed, user friendly representation
1122
+ def inspect
1123
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1124
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
1125
+ end
1126
+ end
1127
+
1128
+ end
1129
+ end
718
1130
  end
719
- end
720
1131
  end
721
- end
722
1132
  end
723
- end
724
- end
1133
+ end
1134
+
1135
+