twilio-ruby 7.3.3 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +10 -2
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +543 -0
  8. data/Dockerfile +2 -1
  9. data/Gemfile +2 -0
  10. data/Makefile +1 -1
  11. data/README.md +7 -2
  12. data/cluster/cluster_oauth_spec.rb +19 -0
  13. data/cluster/cluster_orgs_spec.rb +40 -0
  14. data/{cluster_spec.rb → cluster/cluster_spec.rb} +0 -2
  15. data/examples/public_oauth.rb +13 -0
  16. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  17. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  18. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  19. data/lib/twilio-ruby/base/client_base.rb +8 -1
  20. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  21. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  22. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  23. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  24. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  25. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  26. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  27. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  28. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  29. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  30. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  31. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  32. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  33. data/lib/twilio-ruby/http/http_client.rb +9 -0
  34. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  35. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +139 -0
  36. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +99 -1
  37. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +98 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +266 -2
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +266 -2
  40. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  41. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +164 -4
  43. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +161 -0
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +90 -2
  46. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +333 -7
  47. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +355 -2
  48. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +168 -2
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +129 -5
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +129 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +129 -5
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +129 -5
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +129 -5
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +129 -5
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +129 -5
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +168 -2
  57. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +92 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +90 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +177 -2
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +240 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +290 -2
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +792 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +792 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +235 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +103 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +176 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +428 -15
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +464 -8
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +238 -2
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +228 -3
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +248 -2
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +170 -2
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +228 -2
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +200 -2
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +200 -2
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +200 -2
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +413 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +227 -2
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +100 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +197 -2
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +354 -8
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +99 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +99 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +176 -2
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +231 -2
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +210 -2
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +269 -2
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +143 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +192 -2
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +191 -2
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +191 -2
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +209 -3
  93. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +224 -2
  94. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +227 -2
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +269 -2
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +263 -2
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +228 -2
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +228 -2
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +228 -2
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +228 -2
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +228 -2
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +335 -2
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +278 -2
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +263 -2
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +99 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +190 -2
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +102 -6
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +102 -6
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +102 -6
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +102 -6
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +102 -6
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +102 -6
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +102 -6
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +102 -6
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +102 -6
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +298 -7
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +114 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account.rb +245 -2
  124. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +197 -2
  125. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +190 -2
  126. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +126 -6
  127. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +100 -5
  128. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +282 -32
  129. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +90 -2
  130. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +140 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +309 -38
  132. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +94 -2
  133. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +90 -2
  134. data/lib/twilio-ruby/rest/assistants/v1/session.rb +167 -2
  135. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +292 -40
  136. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +168 -2
  137. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +142 -3
  138. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +163 -1
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +140 -0
  140. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +182 -0
  141. data/lib/twilio-ruby/rest/chat/v1/credential.rb +293 -2
  142. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +234 -2
  143. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +275 -2
  144. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +277 -2
  145. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +281 -2
  146. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +269 -2
  147. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +90 -2
  148. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +278 -2
  149. data/lib/twilio-ruby/rest/chat/v1/service.rb +419 -2
  150. data/lib/twilio-ruby/rest/chat/v2/credential.rb +293 -2
  151. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +196 -2
  152. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +234 -2
  153. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +309 -2
  154. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +308 -2
  155. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +299 -2
  156. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +306 -2
  157. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +269 -2
  158. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +194 -2
  159. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +238 -2
  160. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +282 -2
  161. data/lib/twilio-ruby/rest/chat/v2/service.rb +350 -2
  162. data/lib/twilio-ruby/rest/chat/v3/channel.rb +153 -0
  163. data/lib/twilio-ruby/rest/client.rb +10 -5
  164. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +97 -2
  165. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +140 -0
  166. data/lib/twilio-ruby/rest/content/v1/content.rb +1096 -126
  167. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +90 -2
  168. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +90 -2
  169. data/lib/twilio-ruby/rest/content/v2/content.rb +111 -2
  170. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +111 -2
  171. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +319 -2
  172. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +189 -3
  173. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +183 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +169 -2
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +311 -2
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +315 -2
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +293 -2
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +356 -25
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +296 -2
  181. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +94 -2
  182. data/lib/twilio-ruby/rest/conversations/v1/role.rb +266 -2
  183. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +199 -5
  184. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +212 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +185 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +201 -16
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +170 -2
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +314 -2
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +318 -2
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +296 -2
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +360 -26
  192. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +94 -2
  194. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +269 -2
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +235 -2
  196. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +285 -2
  197. data/lib/twilio-ruby/rest/conversations/v1/service.rb +261 -20
  198. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +233 -2
  199. data/lib/twilio-ruby/rest/conversations/v1/user.rb +282 -2
  200. data/lib/twilio-ruby/rest/conversations/v1.rb +6 -0
  201. data/lib/twilio-ruby/rest/events/v1/event_type.rb +169 -2
  202. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +168 -2
  203. data/lib/twilio-ruby/rest/events/v1/schema.rb +140 -0
  204. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +92 -0
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +99 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink.rb +270 -2
  207. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +266 -2
  208. data/lib/twilio-ruby/rest/events/v1/subscription.rb +270 -10
  209. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +253 -5
  210. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +251 -2
  211. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +175 -0
  212. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +358 -2
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +151 -5
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +94 -2
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +292 -2
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +240 -2
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +267 -2
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +97 -2
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +142 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +94 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +94 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +142 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +127 -2
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +219 -2
  226. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +235 -2
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +266 -1
  229. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +226 -2
  230. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +256 -2
  231. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +143 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +173 -2
  233. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +215 -2
  234. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +143 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +209 -2
  236. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +144 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +139 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +278 -2
  239. data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
  240. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +184 -39
  241. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +115 -0
  242. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +185 -0
  243. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +201 -0
  244. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +99 -2
  245. data/lib/twilio-ruby/rest/iam/v1/{key.rb → new_api_key.rb} +127 -20
  246. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  247. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  248. data/lib/twilio-ruby/rest/iam/v1.rb +25 -4
  249. data/lib/twilio-ruby/rest/iam_base.rb +1 -6
  250. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +194 -0
  251. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +146 -0
  252. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +92 -2
  253. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +94 -2
  254. data/lib/twilio-ruby/rest/insights/v1/call.rb +140 -0
  255. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +188 -4
  256. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +183 -2
  257. data/lib/twilio-ruby/rest/insights/v1/conference.rb +187 -2
  258. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +168 -2
  259. data/lib/twilio-ruby/rest/insights/v1/room.rb +179 -2
  260. data/lib/twilio-ruby/rest/insights/v1/setting.rb +186 -0
  261. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +275 -2
  262. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +171 -2
  263. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +163 -0
  264. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +140 -0
  265. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +167 -2
  266. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +171 -2
  267. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +330 -3
  268. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  269. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  270. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +146 -0
  271. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +183 -2
  272. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +97 -5
  273. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +292 -2
  274. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +293 -2
  275. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +234 -2
  276. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +275 -2
  277. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +277 -2
  278. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +281 -2
  279. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +269 -2
  280. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +90 -2
  281. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +278 -2
  282. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +419 -2
  283. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +293 -2
  284. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +196 -2
  285. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +234 -2
  286. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +309 -2
  287. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +308 -2
  288. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +299 -2
  289. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +306 -2
  290. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +269 -2
  291. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +194 -2
  292. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +235 -2
  293. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +282 -2
  294. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +350 -2
  295. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +133 -168
  296. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  297. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  298. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
  299. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  300. data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
  301. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +157 -2
  302. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  303. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  304. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +209 -15
  305. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  306. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  307. data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
  308. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +168 -2
  309. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +167 -2
  310. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +205 -2
  311. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +97 -2
  312. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +272 -2
  313. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  314. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +201 -0
  315. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +99 -63
  316. data/lib/twilio-ruby/rest/marketplace/v1.rb +8 -2
  317. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +92 -0
  318. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +209 -2
  319. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +261 -2
  320. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +145 -0
  321. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +198 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +185 -0
  323. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +140 -0
  324. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  325. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +104 -0
  326. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +163 -0
  327. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +140 -0
  328. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  329. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +226 -2
  330. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +226 -2
  331. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  332. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +226 -2
  333. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +226 -2
  334. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +326 -2
  335. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +98 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/service.rb +381 -6
  337. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +731 -7
  338. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +91 -0
  339. data/lib/twilio-ruby/rest/messaging/v1.rb +30 -0
  340. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  341. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  342. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  343. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  344. data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
  345. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +173 -2
  346. data/lib/twilio-ruby/rest/monitor/v1/event.rb +180 -3
  347. data/lib/twilio-ruby/rest/notify/v1/credential.rb +293 -2
  348. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +254 -2
  349. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +150 -0
  350. data/lib/twilio-ruby/rest/notify/v1/service.rb +340 -2
  351. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +170 -0
  352. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +93 -0
  353. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  354. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +330 -8
  355. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +163 -0
  356. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +149 -0
  357. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +93 -0
  358. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +133 -0
  359. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +124 -2
  360. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +91 -0
  361. data/lib/twilio-ruby/rest/numbers/v1.rb +6 -0
  362. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  363. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +98 -2
  364. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +243 -2
  365. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +176 -0
  366. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +153 -0
  367. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +411 -3
  368. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +126 -2
  369. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +197 -2
  370. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +226 -2
  371. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +99 -0
  372. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -2
  373. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +269 -2
  374. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +167 -2
  375. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +181 -2
  376. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +269 -2
  377. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +167 -2
  378. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  379. data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
  380. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  381. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  382. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  383. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +109 -0
  384. data/lib/twilio-ruby/rest/oauth/v1/token.rb +119 -0
  385. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  386. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  387. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  388. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  389. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +100 -2
  390. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +275 -2
  391. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +345 -2
  392. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +168 -2
  393. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +167 -2
  394. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +205 -2
  395. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +272 -2
  396. data/lib/twilio-ruby/rest/preview/wireless/command.rb +228 -2
  397. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +290 -2
  398. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +149 -0
  399. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +258 -2
  400. data/lib/twilio-ruby/rest/preview.rb +0 -9
  401. data/lib/twilio-ruby/rest/preview_base.rb +0 -5
  402. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  403. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  404. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  405. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  406. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  407. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  408. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  409. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  410. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  411. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  412. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +167 -2
  413. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  414. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +167 -2
  415. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  416. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +167 -2
  417. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +140 -0
  418. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  419. data/lib/twilio-ruby/rest/pricing/v2/country.rb +167 -2
  420. data/lib/twilio-ruby/rest/pricing/v2/number.rb +146 -0
  421. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +167 -2
  422. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +146 -0
  423. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  424. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +269 -2
  425. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +191 -2
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +211 -2
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +237 -2
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +284 -2
  429. data/lib/twilio-ruby/rest/proxy/v1/service.rb +302 -29
  430. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +179 -0
  431. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +179 -0
  432. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +179 -0
  433. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +169 -2
  434. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +263 -2
  435. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +141 -0
  436. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +235 -2
  437. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +209 -2
  438. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +176 -3
  439. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +272 -2
  440. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +229 -2
  441. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +142 -0
  442. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +169 -2
  443. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +263 -2
  444. data/lib/twilio-ruby/rest/serverless/v1/service.rb +275 -2
  445. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +141 -0
  446. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +142 -0
  447. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +183 -2
  448. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +232 -2
  449. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +141 -0
  450. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +142 -0
  451. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +183 -2
  452. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +273 -2
  453. data/lib/twilio-ruby/rest/studio/v1/flow.rb +189 -2
  454. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +141 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +142 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +183 -2
  457. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +273 -2
  458. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +168 -2
  459. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +176 -0
  460. data/lib/twilio-ruby/rest/studio/v2/flow.rb +278 -2
  461. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +107 -0
  462. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +217 -2
  463. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +282 -2
  464. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +225 -2
  465. data/lib/twilio-ruby/rest/supersim/v1/network.rb +173 -2
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +226 -2
  467. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +241 -2
  468. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +94 -2
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +90 -2
  470. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +90 -2
  471. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +262 -2
  472. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +217 -2
  473. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +106 -2
  474. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +235 -2
  475. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +275 -3
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +295 -2
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +235 -2
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +274 -4
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +298 -2
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +235 -2
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +274 -4
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +100 -0
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +267 -3
  484. data/lib/twilio-ruby/rest/sync/v1/service.rb +299 -5
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +270 -2
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +190 -2
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +374 -4
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +329 -3
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +272 -2
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +94 -0
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +159 -0
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +147 -0
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +159 -0
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +102 -2
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +301 -2
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +366 -4
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +210 -2
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +156 -0
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +155 -0
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +146 -0
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +164 -0
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +299 -2
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +159 -0
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +147 -0
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +159 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +292 -2
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +158 -0
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +146 -0
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +158 -0
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +295 -2
  511. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +226 -2
  512. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +226 -2
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +287 -2
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +227 -3
  515. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +179 -0
  516. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +309 -2
  517. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +195 -4
  518. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +299 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +255 -1
  520. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +233 -2
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +228 -2
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +204 -2
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +284 -2
  524. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +269 -2
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +167 -2
  526. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +167 -2
  527. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +269 -2
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +167 -2
  529. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +233 -2
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +228 -2
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +204 -2
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +284 -2
  533. data/lib/twilio-ruby/rest/verify/v2/form.rb +140 -0
  534. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +197 -0
  535. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +186 -0
  536. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  537. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +101 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +268 -2
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +253 -2
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +146 -0
  541. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +226 -2
  542. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +266 -2
  543. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  544. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  545. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +272 -2
  547. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +266 -2
  548. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +265 -0
  549. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +114 -0
  550. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +287 -2
  551. data/lib/twilio-ruby/rest/verify/v2/service.rb +547 -3
  552. data/lib/twilio-ruby/rest/verify/v2/template.rb +92 -2
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +186 -5
  554. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +163 -3
  555. data/lib/twilio-ruby/rest/video/v1/composition.rb +256 -2
  556. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +322 -2
  557. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +189 -0
  558. data/lib/twilio-ruby/rest/video/v1/recording.rb +202 -2
  559. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +189 -0
  560. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +141 -0
  561. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +169 -2
  562. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +130 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +169 -2
  564. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +213 -2
  565. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +128 -0
  566. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +198 -2
  567. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  568. data/lib/twilio-ruby/rest/video/v1/room.rb +341 -16
  569. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +133 -0
  570. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +314 -2
  571. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +287 -2
  572. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +260 -2
  573. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +98 -0
  574. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +90 -2
  575. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +179 -2
  576. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +174 -0
  577. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  578. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +266 -2
  579. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +263 -2
  580. data/lib/twilio-ruby/rest/wireless/v1/command.rb +250 -2
  581. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +300 -3
  582. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +90 -2
  583. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +96 -2
  584. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +286 -2
  585. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +96 -2
  586. data/lib/twilio-ruby/twiml/voice_response.rb +305 -10
  587. data/lib/twilio-ruby/version.rb +1 -1
  588. data/twilio-ruby.gemspec +1 -1
  589. metadata +76 -32
  590. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -365
  591. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -358
  592. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -209
  593. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -381
  594. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -374
  595. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -430
  596. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  597. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  598. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -394
  599. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -455
  600. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -450
  601. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -394
  602. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -431
  603. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -453
  604. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -394
  605. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -431
  606. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -512
  607. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -413
@@ -25,6 +25,7 @@ module Twilio
25
25
  # @return [CompositionHookList] CompositionHookList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
  @uri = "/CompositionHooks"
@@ -71,6 +72,10 @@ module Twilio
71
72
 
72
73
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
73
74
 
75
+
76
+
77
+
78
+
74
79
  payload = @version.create('POST', @uri, data: data, headers: headers)
75
80
  CompositionHookInstance.new(
76
81
  @version,
@@ -78,6 +83,64 @@ module Twilio
78
83
  )
79
84
  end
80
85
 
86
+ ##
87
+ # Create the CompositionHookInstanceMetadata
88
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
89
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered.
90
+ # @param [Object] video_layout An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
91
+ # @param [Array[String]] audio_sources An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
92
+ # @param [Array[String]] audio_sources_excluded An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
93
+ # @param [String] resolution A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. The string's format is `{width}x{height}` where: * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600 Typical values are: * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240` Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
94
+ # @param [Format] format
95
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
96
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
97
+ # @param [Boolean] trim Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
98
+ # @return [CompositionHookInstance] Created CompositionHookInstance
99
+ def create_with_metadata(
100
+ friendly_name: nil,
101
+ enabled: :unset,
102
+ video_layout: :unset,
103
+ audio_sources: :unset,
104
+ audio_sources_excluded: :unset,
105
+ resolution: :unset,
106
+ format: :unset,
107
+ status_callback: :unset,
108
+ status_callback_method: :unset,
109
+ trim: :unset
110
+ )
111
+
112
+ data = Twilio::Values.of({
113
+ 'FriendlyName' => friendly_name,
114
+ 'Enabled' => enabled,
115
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
116
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
117
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
118
+ 'Resolution' => resolution,
119
+ 'Format' => format,
120
+ 'StatusCallback' => status_callback,
121
+ 'StatusCallbackMethod' => status_callback_method,
122
+ 'Trim' => trim,
123
+ })
124
+
125
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
126
+
127
+
128
+
129
+
130
+
131
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
132
+ composition_hook_instance = CompositionHookInstance.new(
133
+ @version,
134
+ response.body,
135
+ )
136
+ CompositionHookInstanceMetadata.new(
137
+ @version,
138
+ composition_hook_instance,
139
+ response.headers,
140
+ response.status_code
141
+ )
142
+ end
143
+
81
144
 
82
145
  ##
83
146
  # Lists CompositionHookInstance records from the API as a list.
@@ -133,6 +196,36 @@ module Twilio
133
196
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
134
197
  end
135
198
 
199
+ ##
200
+ # Lists CompositionHookPageMetadata records from the API as a list.
201
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
202
+ # @param [Time] date_created_after Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
203
+ # @param [Time] date_created_before Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
204
+ # @param [String] friendly_name Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match.
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_with_metadata(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
213
+ limits = @version.read_limits(limit, page_size)
214
+ params = Twilio::Values.of({
215
+ 'Enabled' => enabled,
216
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
217
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
218
+ 'FriendlyName' => friendly_name,
219
+
220
+ 'PageSize' => limits[:page_size],
221
+ });
222
+ headers = Twilio::Values.of({})
223
+
224
+ response = @version.page('GET', @uri, params: params, headers: headers)
225
+
226
+ CompositionHookPageMetadata.new(@version, response, @solution, limits[:limit])
227
+ end
228
+
136
229
  ##
137
230
  # When passed a block, yields CompositionHookInstance records from the API.
138
231
  # This operation lazily loads records as efficiently as possible until the limit
@@ -158,7 +251,7 @@ module Twilio
158
251
  # @param [Integer] page_number Page Number, this value is simply for client state
159
252
  # @param [Integer] page_size Number of records to return, defaults to 50
160
253
  # @return [Page] Page of CompositionHookInstance
161
- def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
254
+ def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
162
255
  params = Twilio::Values.of({
163
256
  'Enabled' => enabled,
164
257
  'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
@@ -168,8 +261,11 @@ module Twilio
168
261
  'Page' => page_number,
169
262
  'PageSize' => page_size,
170
263
  })
264
+ headers = Twilio::Values.of({})
265
+
266
+
171
267
 
172
- response = @version.page('GET', @uri, params: params)
268
+ response = @version.page('GET', @uri, params: params, headers: headers)
173
269
 
174
270
  CompositionHookPage.new(@version, response, @solution)
175
271
  end
@@ -204,6 +300,7 @@ module Twilio
204
300
  # @return [CompositionHookContext] CompositionHookContext
205
301
  def initialize(version, sid)
206
302
  super(version)
303
+
207
304
 
208
305
  # Path Solution
209
306
  @solution = { sid: sid, }
@@ -218,9 +315,31 @@ module Twilio
218
315
 
219
316
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
220
317
 
318
+
319
+
320
+
221
321
  @version.delete('DELETE', @uri, headers: headers)
222
322
  end
223
323
 
324
+ ##
325
+ # Delete the CompositionHookInstanceMetadata
326
+ # @return [Boolean] True if delete succeeds, false otherwise
327
+ def delete_with_metadata
328
+
329
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
330
+
331
+
332
+
333
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
334
+ compositionHook_instance = CompositionHookInstance.new(
335
+ @version,
336
+ response.body,
337
+ account_sid: @solution[:account_sid],
338
+ sid: @solution[:sid],
339
+ )
340
+ CompositionHookInstanceMetadata.new(@version, compositionHook_instance, response.headers, response.status_code)
341
+ end
342
+
224
343
  ##
225
344
  # Fetch the CompositionHookInstance
226
345
  # @return [CompositionHookInstance] Fetched CompositionHookInstance
@@ -228,6 +347,10 @@ module Twilio
228
347
 
229
348
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
230
349
 
350
+
351
+
352
+
353
+
231
354
  payload = @version.fetch('GET', @uri, headers: headers)
232
355
  CompositionHookInstance.new(
233
356
  @version,
@@ -236,6 +359,31 @@ module Twilio
236
359
  )
237
360
  end
238
361
 
362
+ ##
363
+ # Fetch the CompositionHookInstanceMetadata
364
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
365
+ def fetch_with_metadata
366
+
367
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
368
+
369
+
370
+
371
+
372
+
373
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
374
+ composition_hook_instance = CompositionHookInstance.new(
375
+ @version,
376
+ response.body,
377
+ sid: @solution[:sid],
378
+ )
379
+ CompositionHookInstanceMetadata.new(
380
+ @version,
381
+ composition_hook_instance,
382
+ response.headers,
383
+ response.status_code
384
+ )
385
+ end
386
+
239
387
  ##
240
388
  # Update the CompositionHookInstance
241
389
  # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
@@ -277,6 +425,10 @@ module Twilio
277
425
 
278
426
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
279
427
 
428
+
429
+
430
+
431
+
280
432
  payload = @version.update('POST', @uri, data: data, headers: headers)
281
433
  CompositionHookInstance.new(
282
434
  @version,
@@ -285,6 +437,65 @@ module Twilio
285
437
  )
286
438
  end
287
439
 
440
+ ##
441
+ # Update the CompositionHookInstanceMetadata
442
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
443
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers.
444
+ # @param [Object] video_layout A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
445
+ # @param [Array[String]] audio_sources An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
446
+ # @param [Array[String]] audio_sources_excluded An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
447
+ # @param [Boolean] trim Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
448
+ # @param [Format] format
449
+ # @param [String] resolution A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. The string's format is `{width}x{height}` where: * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600 Typical values are: * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240` Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
450
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
451
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
452
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
453
+ def update_with_metadata(
454
+ friendly_name: nil,
455
+ enabled: :unset,
456
+ video_layout: :unset,
457
+ audio_sources: :unset,
458
+ audio_sources_excluded: :unset,
459
+ trim: :unset,
460
+ format: :unset,
461
+ resolution: :unset,
462
+ status_callback: :unset,
463
+ status_callback_method: :unset
464
+ )
465
+
466
+ data = Twilio::Values.of({
467
+ 'FriendlyName' => friendly_name,
468
+ 'Enabled' => enabled,
469
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
470
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
471
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
472
+ 'Trim' => trim,
473
+ 'Format' => format,
474
+ 'Resolution' => resolution,
475
+ 'StatusCallback' => status_callback,
476
+ 'StatusCallbackMethod' => status_callback_method,
477
+ })
478
+
479
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
480
+
481
+
482
+
483
+
484
+
485
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
486
+ composition_hook_instance = CompositionHookInstance.new(
487
+ @version,
488
+ response.body,
489
+ sid: @solution[:sid],
490
+ )
491
+ CompositionHookInstanceMetadata.new(
492
+ @version,
493
+ composition_hook_instance,
494
+ response.headers,
495
+ response.status_code
496
+ )
497
+ end
498
+
288
499
 
289
500
  ##
290
501
  # Provide a user friendly representation
@@ -301,6 +512,53 @@ module Twilio
301
512
  end
302
513
  end
303
514
 
515
+ class CompositionHookInstanceMetadata < InstanceResourceMetadata
516
+ ##
517
+ # Initializes a new CompositionHookInstanceMetadata.
518
+ # @param [Version] version Version that contains the resource
519
+ # @param [}CompositionHookInstance] composition_hook_instance The instance associated with the metadata.
520
+ # @param [Hash] headers Header object with response headers.
521
+ # @param [Integer] status_code The HTTP status code of the response.
522
+ # @return [CompositionHookInstanceMetadata] The initialized instance with metadata.
523
+ def initialize(version, composition_hook_instance, headers, status_code)
524
+ super(version, headers, status_code)
525
+ @composition_hook_instance = composition_hook_instance
526
+ end
527
+
528
+ def composition_hook
529
+ @composition_hook_instance
530
+ end
531
+
532
+ def headers
533
+ @headers
534
+ end
535
+
536
+ def status_code
537
+ @status_code
538
+ end
539
+
540
+ def to_s
541
+ "<Twilio.Api.V2010.CompositionHookInstanceMetadata status=#{@status_code}>"
542
+ end
543
+ end
544
+
545
+ class CompositionHookListResponse < InstanceListResource
546
+ # @param [Array<CompositionHookInstance>] instance
547
+ # @param [Hash{String => Object}] headers
548
+ # @param [Integer] status_code
549
+ def initialize(version, payload, key)
550
+ @composition_hook_instance = payload.body[key].map do |data|
551
+ CompositionHookInstance.new(version, data)
552
+ end
553
+ @headers = payload.headers
554
+ @status_code = payload.status_code
555
+ end
556
+
557
+ def composition_hook_instance
558
+ @instance
559
+ end
560
+ end
561
+
304
562
  class CompositionHookPage < Page
305
563
  ##
306
564
  # Initialize the CompositionHookPage
@@ -310,6 +568,7 @@ module Twilio
310
568
  # @return [CompositionHookPage] CompositionHookPage
311
569
  def initialize(version, response, solution)
312
570
  super(version, response)
571
+
313
572
 
314
573
  # Path Solution
315
574
  @solution = solution
@@ -329,6 +588,66 @@ module Twilio
329
588
  '<Twilio.Video.V1.CompositionHookPage>'
330
589
  end
331
590
  end
591
+
592
+ class CompositionHookPageMetadata < PageMetadata
593
+ attr_reader :composition_hook_page
594
+
595
+ def initialize(version, response, solution, limit)
596
+ super(version, response)
597
+ @composition_hook_page = []
598
+ @limit = limit
599
+ key = get_key(response.body)
600
+ records = 0
601
+ while( limit != :unset && records < limit )
602
+ @composition_hook_page << CompositionHookListResponse.new(version, @payload, key, limit - records)
603
+ @payload = self.next_page
604
+ break unless @payload
605
+ records += @payload.body[key].size
606
+ end
607
+ # Path Solution
608
+ @solution = solution
609
+ end
610
+
611
+ def each
612
+ @composition_hook_page.each do |record|
613
+ yield record
614
+ end
615
+ end
616
+
617
+ def to_s
618
+ '<Twilio::REST::Video::V1PageMetadata>';
619
+ end
620
+ end
621
+ class CompositionHookListResponse < InstanceListResource
622
+
623
+ # @param [Array<CompositionHookInstance>] instance
624
+ # @param [Hash{String => Object}] headers
625
+ # @param [Integer] status_code
626
+ def initialize(version, payload, key, limit = :unset)
627
+ data_list = payload.body[key]
628
+ if limit != :unset
629
+ data_list = data_list[0, limit]
630
+ end
631
+ @composition_hook = data_list.map do |data|
632
+ CompositionHookInstance.new(version, data)
633
+ end
634
+ @headers = payload.headers
635
+ @status_code = payload.status_code
636
+ end
637
+
638
+ def composition_hook
639
+ @composition_hook
640
+ end
641
+
642
+ def headers
643
+ @headers
644
+ end
645
+
646
+ def status_code
647
+ @status_code
648
+ end
649
+ end
650
+
332
651
  class CompositionHookInstance < InstanceResource
333
652
  ##
334
653
  # Initialize the CompositionHookInstance
@@ -342,6 +661,7 @@ module Twilio
342
661
  def initialize(version, payload , sid: nil)
343
662
  super(version)
344
663
 
664
+
345
665
  # Marshaled Properties
346
666
  @properties = {
347
667
  'account_sid' => payload['account_sid'],