twilio-ruby 4.6.1 → 6.9.0

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