twilio-ruby 5.10.7 → 7.6.2

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