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 [ConversationList] ConversationList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
  @uri = "/Conversations"
@@ -76,6 +77,10 @@ module Twilio
76
77
 
77
78
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
78
79
 
80
+
81
+
82
+
83
+
79
84
  payload = @version.create('POST', @uri, data: data, headers: headers)
80
85
  ConversationInstance.new(
81
86
  @version,
@@ -83,6 +88,69 @@ module Twilio
83
88
  )
84
89
  end
85
90
 
91
+ ##
92
+ # Create the ConversationInstanceMetadata
93
+ # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
94
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
95
+ # @param [Time] date_created The date that this resource was created.
96
+ # @param [Time] date_updated The date that this resource was last updated.
97
+ # @param [String] messaging_service_sid The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to.
98
+ # @param [String] attributes An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
99
+ # @param [State] state
100
+ # @param [String] timers_inactive ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
101
+ # @param [String] timers_closed ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
102
+ # @param [String] bindings_email_address The default email address that will be used when sending outbound emails in this conversation.
103
+ # @param [String] bindings_email_name The default name that will be used when sending outbound emails in this conversation.
104
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
105
+ # @return [ConversationInstance] Created ConversationInstance
106
+ def create_with_metadata(
107
+ friendly_name: :unset,
108
+ unique_name: :unset,
109
+ date_created: :unset,
110
+ date_updated: :unset,
111
+ messaging_service_sid: :unset,
112
+ attributes: :unset,
113
+ state: :unset,
114
+ timers_inactive: :unset,
115
+ timers_closed: :unset,
116
+ bindings_email_address: :unset,
117
+ bindings_email_name: :unset,
118
+ x_twilio_webhook_enabled: :unset
119
+ )
120
+
121
+ data = Twilio::Values.of({
122
+ 'FriendlyName' => friendly_name,
123
+ 'UniqueName' => unique_name,
124
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
125
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
126
+ 'MessagingServiceSid' => messaging_service_sid,
127
+ 'Attributes' => attributes,
128
+ 'State' => state,
129
+ 'Timers.Inactive' => timers_inactive,
130
+ 'Timers.Closed' => timers_closed,
131
+ 'Bindings.Email.Address' => bindings_email_address,
132
+ 'Bindings.Email.Name' => bindings_email_name,
133
+ })
134
+
135
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
136
+
137
+
138
+
139
+
140
+
141
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
142
+ conversation_instance = ConversationInstance.new(
143
+ @version,
144
+ response.body,
145
+ )
146
+ ConversationInstanceMetadata.new(
147
+ @version,
148
+ conversation_instance,
149
+ response.headers,
150
+ response.status_code
151
+ )
152
+ end
153
+
86
154
 
87
155
  ##
88
156
  # Lists ConversationInstance records from the API as a list.
@@ -134,6 +202,34 @@ module Twilio
134
202
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
135
203
  end
136
204
 
205
+ ##
206
+ # Lists ConversationPageMetadata records from the API as a list.
207
+ # @param [String] start_date Specifies the beginning of the date range for filtering Conversations based on their creation date. Conversations that were created on or after this date will be included in the results. The date must be in ISO8601 format, specifically starting at the beginning of the specified date (YYYY-MM-DDT00:00:00Z), for precise filtering. This parameter can be combined with other filters. If this filter is used, the returned list is sorted by latest conversation creation date in descending order.
208
+ # @param [String] end_date Defines the end of the date range for filtering conversations by their creation date. Only conversations that were created on or before this date will appear in the results. The date must be in ISO8601 format, specifically capturing up to the end of the specified date (YYYY-MM-DDT23:59:59Z), to ensure that conversations from the entire end day are included. This parameter can be combined with other filters. If this filter is used, the returned list is sorted by latest conversation creation date in descending order.
209
+ # @param [State] state State for sorting and filtering list of Conversations. Can be `active`, `inactive` or `closed`
210
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
211
+ # guarantees to never return more than limit. Default is no limit
212
+ # @param [Integer] page_size Number of records to fetch per request, when
213
+ # not set will use the default value of 50 records. If no page_size is defined
214
+ # but a limit is defined, stream() will attempt to read the limit with the most
215
+ # efficient page size, i.e. min(limit, 1000)
216
+ # @return [Array] Array of up to limit results
217
+ def list_with_metadata(start_date: :unset, end_date: :unset, state: :unset, limit: nil, page_size: nil)
218
+ limits = @version.read_limits(limit, page_size)
219
+ params = Twilio::Values.of({
220
+ 'StartDate' => start_date,
221
+ 'EndDate' => end_date,
222
+ 'State' => state,
223
+
224
+ 'PageSize' => limits[:page_size],
225
+ });
226
+ headers = Twilio::Values.of({})
227
+
228
+ response = @version.page('GET', @uri, params: params, headers: headers)
229
+
230
+ ConversationPageMetadata.new(@version, response, @solution, limits[:limit])
231
+ end
232
+
137
233
  ##
138
234
  # When passed a block, yields ConversationInstance records from the API.
139
235
  # This operation lazily loads records as efficiently as possible until the limit
@@ -158,7 +254,7 @@ module Twilio
158
254
  # @param [Integer] page_number Page Number, this value is simply for client state
159
255
  # @param [Integer] page_size Number of records to return, defaults to 50
160
256
  # @return [Page] Page of ConversationInstance
161
- def page(start_date: :unset, end_date: :unset, state: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
257
+ def page(start_date: :unset, end_date: :unset, state: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
162
258
  params = Twilio::Values.of({
163
259
  'StartDate' => start_date,
164
260
  'EndDate' => end_date,
@@ -167,8 +263,11 @@ module Twilio
167
263
  'Page' => page_number,
168
264
  'PageSize' => page_size,
169
265
  })
266
+ headers = Twilio::Values.of({})
267
+
268
+
170
269
 
171
- response = @version.page('GET', @uri, params: params)
270
+ response = @version.page('GET', @uri, params: params, headers: headers)
172
271
 
173
272
  ConversationPage.new(@version, response, @solution)
174
273
  end
@@ -203,15 +302,16 @@ module Twilio
203
302
  # @return [ConversationContext] ConversationContext
204
303
  def initialize(version, sid)
205
304
  super(version)
305
+
206
306
 
207
307
  # Path Solution
208
308
  @solution = { sid: sid, }
209
309
  @uri = "/Conversations/#{@solution[:sid]}"
210
310
 
211
311
  # Dependents
212
- @webhooks = nil
213
312
  @messages = nil
214
313
  @participants = nil
314
+ @webhooks = nil
215
315
  end
216
316
  ##
217
317
  # Delete the ConversationInstance
@@ -223,9 +323,34 @@ module Twilio
223
323
 
224
324
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
225
325
 
326
+
327
+
328
+
226
329
  @version.delete('DELETE', @uri, headers: headers)
227
330
  end
228
331
 
332
+ ##
333
+ # Delete the ConversationInstanceMetadata
334
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
335
+ # @return [Boolean] True if delete succeeds, false otherwise
336
+ def delete_with_metadata(
337
+ x_twilio_webhook_enabled: :unset
338
+ )
339
+
340
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
341
+
342
+
343
+
344
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
345
+ conversation_instance = ConversationInstance.new(
346
+ @version,
347
+ response.body,
348
+ account_sid: @solution[:account_sid],
349
+ sid: @solution[:sid],
350
+ )
351
+ ConversationInstanceMetadata.new(@version, conversation_instance, response.headers, response.status_code)
352
+ end
353
+
229
354
  ##
230
355
  # Fetch the ConversationInstance
231
356
  # @return [ConversationInstance] Fetched ConversationInstance
@@ -233,6 +358,10 @@ module Twilio
233
358
 
234
359
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
235
360
 
361
+
362
+
363
+
364
+
236
365
  payload = @version.fetch('GET', @uri, headers: headers)
237
366
  ConversationInstance.new(
238
367
  @version,
@@ -241,6 +370,31 @@ module Twilio
241
370
  )
242
371
  end
243
372
 
373
+ ##
374
+ # Fetch the ConversationInstanceMetadata
375
+ # @return [ConversationInstance] Fetched ConversationInstance
376
+ def fetch_with_metadata
377
+
378
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
379
+
380
+
381
+
382
+
383
+
384
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
385
+ conversation_instance = ConversationInstance.new(
386
+ @version,
387
+ response.body,
388
+ sid: @solution[:sid],
389
+ )
390
+ ConversationInstanceMetadata.new(
391
+ @version,
392
+ conversation_instance,
393
+ response.headers,
394
+ response.status_code
395
+ )
396
+ end
397
+
244
398
  ##
245
399
  # Update the ConversationInstance
246
400
  # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
@@ -287,6 +441,10 @@ module Twilio
287
441
 
288
442
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
289
443
 
444
+
445
+
446
+
447
+
290
448
  payload = @version.update('POST', @uri, data: data, headers: headers)
291
449
  ConversationInstance.new(
292
450
  @version,
@@ -296,24 +454,69 @@ module Twilio
296
454
  end
297
455
 
298
456
  ##
299
- # Access the webhooks
300
- # @return [WebhookList]
301
- # @return [WebhookContext] if sid was passed.
302
- def webhooks(sid=:unset)
303
-
304
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
305
-
306
- if sid != :unset
307
- return WebhookContext.new(@version, @solution[:sid],sid )
308
- end
457
+ # Update the ConversationInstanceMetadata
458
+ # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
459
+ # @param [Time] date_created The date that this resource was created.
460
+ # @param [Time] date_updated The date that this resource was last updated.
461
+ # @param [String] attributes An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
462
+ # @param [String] messaging_service_sid The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to.
463
+ # @param [State] state
464
+ # @param [String] timers_inactive ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
465
+ # @param [String] timers_closed ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
466
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
467
+ # @param [String] bindings_email_address The default email address that will be used when sending outbound emails in this conversation.
468
+ # @param [String] bindings_email_name The default name that will be used when sending outbound emails in this conversation.
469
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
470
+ # @return [ConversationInstance] Updated ConversationInstance
471
+ def update_with_metadata(
472
+ friendly_name: :unset,
473
+ date_created: :unset,
474
+ date_updated: :unset,
475
+ attributes: :unset,
476
+ messaging_service_sid: :unset,
477
+ state: :unset,
478
+ timers_inactive: :unset,
479
+ timers_closed: :unset,
480
+ unique_name: :unset,
481
+ bindings_email_address: :unset,
482
+ bindings_email_name: :unset,
483
+ x_twilio_webhook_enabled: :unset
484
+ )
309
485
 
310
- unless @webhooks
311
- @webhooks = WebhookList.new(
312
- @version, conversation_sid: @solution[:sid], )
313
- end
486
+ data = Twilio::Values.of({
487
+ 'FriendlyName' => friendly_name,
488
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
489
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
490
+ 'Attributes' => attributes,
491
+ 'MessagingServiceSid' => messaging_service_sid,
492
+ 'State' => state,
493
+ 'Timers.Inactive' => timers_inactive,
494
+ 'Timers.Closed' => timers_closed,
495
+ 'UniqueName' => unique_name,
496
+ 'Bindings.Email.Address' => bindings_email_address,
497
+ 'Bindings.Email.Name' => bindings_email_name,
498
+ })
314
499
 
315
- @webhooks
500
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
501
+
502
+
503
+
504
+
505
+
506
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
507
+ conversation_instance = ConversationInstance.new(
508
+ @version,
509
+ response.body,
510
+ sid: @solution[:sid],
511
+ )
512
+ ConversationInstanceMetadata.new(
513
+ @version,
514
+ conversation_instance,
515
+ response.headers,
516
+ response.status_code
517
+ )
316
518
  end
519
+
317
520
  ##
318
521
  # Access the messages
319
522
  # @return [MessageList]
@@ -352,6 +555,25 @@ module Twilio
352
555
 
353
556
  @participants
354
557
  end
558
+ ##
559
+ # Access the webhooks
560
+ # @return [WebhookList]
561
+ # @return [WebhookContext] if sid was passed.
562
+ def webhooks(sid=:unset)
563
+
564
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
565
+
566
+ if sid != :unset
567
+ return WebhookContext.new(@version, @solution[:sid],sid )
568
+ end
569
+
570
+ unless @webhooks
571
+ @webhooks = WebhookList.new(
572
+ @version, conversation_sid: @solution[:sid], )
573
+ end
574
+
575
+ @webhooks
576
+ end
355
577
 
356
578
  ##
357
579
  # Provide a user friendly representation
@@ -368,6 +590,53 @@ module Twilio
368
590
  end
369
591
  end
370
592
 
593
+ class ConversationInstanceMetadata < InstanceResourceMetadata
594
+ ##
595
+ # Initializes a new ConversationInstanceMetadata.
596
+ # @param [Version] version Version that contains the resource
597
+ # @param [}ConversationInstance] conversation_instance The instance associated with the metadata.
598
+ # @param [Hash] headers Header object with response headers.
599
+ # @param [Integer] status_code The HTTP status code of the response.
600
+ # @return [ConversationInstanceMetadata] The initialized instance with metadata.
601
+ def initialize(version, conversation_instance, headers, status_code)
602
+ super(version, headers, status_code)
603
+ @conversation_instance = conversation_instance
604
+ end
605
+
606
+ def conversation
607
+ @conversation_instance
608
+ end
609
+
610
+ def headers
611
+ @headers
612
+ end
613
+
614
+ def status_code
615
+ @status_code
616
+ end
617
+
618
+ def to_s
619
+ "<Twilio.Api.V2010.ConversationInstanceMetadata status=#{@status_code}>"
620
+ end
621
+ end
622
+
623
+ class ConversationListResponse < InstanceListResource
624
+ # @param [Array<ConversationInstance>] instance
625
+ # @param [Hash{String => Object}] headers
626
+ # @param [Integer] status_code
627
+ def initialize(version, payload, key)
628
+ @conversation_instance = payload.body[key].map do |data|
629
+ ConversationInstance.new(version, data)
630
+ end
631
+ @headers = payload.headers
632
+ @status_code = payload.status_code
633
+ end
634
+
635
+ def conversation_instance
636
+ @instance
637
+ end
638
+ end
639
+
371
640
  class ConversationPage < Page
372
641
  ##
373
642
  # Initialize the ConversationPage
@@ -377,6 +646,7 @@ module Twilio
377
646
  # @return [ConversationPage] ConversationPage
378
647
  def initialize(version, response, solution)
379
648
  super(version, response)
649
+
380
650
 
381
651
  # Path Solution
382
652
  @solution = solution
@@ -396,6 +666,66 @@ module Twilio
396
666
  '<Twilio.Conversations.V1.ConversationPage>'
397
667
  end
398
668
  end
669
+
670
+ class ConversationPageMetadata < PageMetadata
671
+ attr_reader :conversation_page
672
+
673
+ def initialize(version, response, solution, limit)
674
+ super(version, response)
675
+ @conversation_page = []
676
+ @limit = limit
677
+ key = get_key(response.body)
678
+ records = 0
679
+ while( limit != :unset && records < limit )
680
+ @conversation_page << ConversationListResponse.new(version, @payload, key, limit - records)
681
+ @payload = self.next_page
682
+ break unless @payload
683
+ records += @payload.body[key].size
684
+ end
685
+ # Path Solution
686
+ @solution = solution
687
+ end
688
+
689
+ def each
690
+ @conversation_page.each do |record|
691
+ yield record
692
+ end
693
+ end
694
+
695
+ def to_s
696
+ '<Twilio::REST::Conversations::V1PageMetadata>';
697
+ end
698
+ end
699
+ class ConversationListResponse < InstanceListResource
700
+
701
+ # @param [Array<ConversationInstance>] instance
702
+ # @param [Hash{String => Object}] headers
703
+ # @param [Integer] status_code
704
+ def initialize(version, payload, key, limit = :unset)
705
+ data_list = payload.body[key]
706
+ if limit != :unset
707
+ data_list = data_list[0, limit]
708
+ end
709
+ @conversation = data_list.map do |data|
710
+ ConversationInstance.new(version, data)
711
+ end
712
+ @headers = payload.headers
713
+ @status_code = payload.status_code
714
+ end
715
+
716
+ def conversation
717
+ @conversation
718
+ end
719
+
720
+ def headers
721
+ @headers
722
+ end
723
+
724
+ def status_code
725
+ @status_code
726
+ end
727
+ end
728
+
399
729
  class ConversationInstance < InstanceResource
400
730
  ##
401
731
  # Initialize the ConversationInstance
@@ -409,6 +739,7 @@ module Twilio
409
739
  def initialize(version, payload , sid: nil)
410
740
  super(version)
411
741
 
742
+
412
743
  # Marshaled Properties
413
744
  @properties = {
414
745
  'account_sid' => payload['account_sid'],
@@ -594,13 +925,6 @@ module Twilio
594
925
  )
595
926
  end
596
927
 
597
- ##
598
- # Access the webhooks
599
- # @return [webhooks] webhooks
600
- def webhooks
601
- context.webhooks
602
- end
603
-
604
928
  ##
605
929
  # Access the messages
606
930
  # @return [messages] messages
@@ -615,6 +939,13 @@ module Twilio
615
939
  context.participants
616
940
  end
617
941
 
942
+ ##
943
+ # Access the webhooks
944
+ # @return [webhooks] webhooks
945
+ def webhooks
946
+ context.webhooks
947
+ end
948
+
618
949
  ##
619
950
  # Provide a user friendly representation
620
951
  def to_s