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 [RoleList] RoleList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
  @uri = "/Roles"
@@ -50,6 +51,10 @@ module Twilio
50
51
 
51
52
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
52
53
 
54
+
55
+
56
+
57
+
53
58
  payload = @version.create('POST', @uri, data: data, headers: headers)
54
59
  RoleInstance.new(
55
60
  @version,
@@ -57,6 +62,43 @@ module Twilio
57
62
  )
58
63
  end
59
64
 
65
+ ##
66
+ # Create the RoleInstanceMetadata
67
+ # @param [String] friendly_name A descriptive string that you create to describe the new resource. It can be up to 64 characters long.
68
+ # @param [RoleType] type
69
+ # @param [Array[String]] permission A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`.
70
+ # @return [RoleInstance] Created RoleInstance
71
+ def create_with_metadata(
72
+ friendly_name: nil,
73
+ type: nil,
74
+ permission: nil
75
+ )
76
+
77
+ data = Twilio::Values.of({
78
+ 'FriendlyName' => friendly_name,
79
+ 'Type' => type,
80
+ 'Permission' => Twilio.serialize_list(permission) { |e| e },
81
+ })
82
+
83
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
84
+
85
+
86
+
87
+
88
+
89
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
90
+ role_instance = RoleInstance.new(
91
+ @version,
92
+ response.body,
93
+ )
94
+ RoleInstanceMetadata.new(
95
+ @version,
96
+ role_instance,
97
+ response.headers,
98
+ response.status_code
99
+ )
100
+ end
101
+
60
102
 
61
103
  ##
62
104
  # Lists RoleInstance records from the API as a list.
@@ -96,6 +138,28 @@ module Twilio
96
138
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
97
139
  end
98
140
 
141
+ ##
142
+ # Lists RolePageMetadata records from the API as a list.
143
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
144
+ # guarantees to never return more than limit. Default is no limit
145
+ # @param [Integer] page_size Number of records to fetch per request, when
146
+ # not set will use the default value of 50 records. If no page_size is defined
147
+ # but a limit is defined, stream() will attempt to read the limit with the most
148
+ # efficient page size, i.e. min(limit, 1000)
149
+ # @return [Array] Array of up to limit results
150
+ def list_with_metadata(limit: nil, page_size: nil)
151
+ limits = @version.read_limits(limit, page_size)
152
+ params = Twilio::Values.of({
153
+
154
+ 'PageSize' => limits[:page_size],
155
+ });
156
+ headers = Twilio::Values.of({})
157
+
158
+ response = @version.page('GET', @uri, params: params, headers: headers)
159
+
160
+ RolePageMetadata.new(@version, response, @solution, limits[:limit])
161
+ end
162
+
99
163
  ##
100
164
  # When passed a block, yields RoleInstance records from the API.
101
165
  # This operation lazily loads records as efficiently as possible until the limit
@@ -117,14 +181,17 @@ module Twilio
117
181
  # @param [Integer] page_number Page Number, this value is simply for client state
118
182
  # @param [Integer] page_size Number of records to return, defaults to 50
119
183
  # @return [Page] Page of RoleInstance
120
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
184
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
121
185
  params = Twilio::Values.of({
122
186
  'PageToken' => page_token,
123
187
  'Page' => page_number,
124
188
  'PageSize' => page_size,
125
189
  })
190
+ headers = Twilio::Values.of({})
191
+
192
+
126
193
 
127
- response = @version.page('GET', @uri, params: params)
194
+ response = @version.page('GET', @uri, params: params, headers: headers)
128
195
 
129
196
  RolePage.new(@version, response, @solution)
130
197
  end
@@ -159,6 +226,7 @@ module Twilio
159
226
  # @return [RoleContext] RoleContext
160
227
  def initialize(version, sid)
161
228
  super(version)
229
+
162
230
 
163
231
  # Path Solution
164
232
  @solution = { sid: sid, }
@@ -173,9 +241,31 @@ module Twilio
173
241
 
174
242
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
175
243
 
244
+
245
+
246
+
176
247
  @version.delete('DELETE', @uri, headers: headers)
177
248
  end
178
249
 
250
+ ##
251
+ # Delete the RoleInstanceMetadata
252
+ # @return [Boolean] True if delete succeeds, false otherwise
253
+ def delete_with_metadata
254
+
255
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
256
+
257
+
258
+
259
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
260
+ role_instance = RoleInstance.new(
261
+ @version,
262
+ response.body,
263
+ account_sid: @solution[:account_sid],
264
+ sid: @solution[:sid],
265
+ )
266
+ RoleInstanceMetadata.new(@version, role_instance, response.headers, response.status_code)
267
+ end
268
+
179
269
  ##
180
270
  # Fetch the RoleInstance
181
271
  # @return [RoleInstance] Fetched RoleInstance
@@ -183,6 +273,10 @@ module Twilio
183
273
 
184
274
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
185
275
 
276
+
277
+
278
+
279
+
186
280
  payload = @version.fetch('GET', @uri, headers: headers)
187
281
  RoleInstance.new(
188
282
  @version,
@@ -191,6 +285,31 @@ module Twilio
191
285
  )
192
286
  end
193
287
 
288
+ ##
289
+ # Fetch the RoleInstanceMetadata
290
+ # @return [RoleInstance] Fetched RoleInstance
291
+ def fetch_with_metadata
292
+
293
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
294
+
295
+
296
+
297
+
298
+
299
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
300
+ role_instance = RoleInstance.new(
301
+ @version,
302
+ response.body,
303
+ sid: @solution[:sid],
304
+ )
305
+ RoleInstanceMetadata.new(
306
+ @version,
307
+ role_instance,
308
+ response.headers,
309
+ response.status_code
310
+ )
311
+ end
312
+
194
313
  ##
195
314
  # Update the RoleInstance
196
315
  # @param [Array[String]] permission A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.
@@ -205,6 +324,10 @@ module Twilio
205
324
 
206
325
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
207
326
 
327
+
328
+
329
+
330
+
208
331
  payload = @version.update('POST', @uri, data: data, headers: headers)
209
332
  RoleInstance.new(
210
333
  @version,
@@ -213,6 +336,38 @@ module Twilio
213
336
  )
214
337
  end
215
338
 
339
+ ##
340
+ # Update the RoleInstanceMetadata
341
+ # @param [Array[String]] permission A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.
342
+ # @return [RoleInstance] Updated RoleInstance
343
+ def update_with_metadata(
344
+ permission: nil
345
+ )
346
+
347
+ data = Twilio::Values.of({
348
+ 'Permission' => Twilio.serialize_list(permission) { |e| e },
349
+ })
350
+
351
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
352
+
353
+
354
+
355
+
356
+
357
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
358
+ role_instance = RoleInstance.new(
359
+ @version,
360
+ response.body,
361
+ sid: @solution[:sid],
362
+ )
363
+ RoleInstanceMetadata.new(
364
+ @version,
365
+ role_instance,
366
+ response.headers,
367
+ response.status_code
368
+ )
369
+ end
370
+
216
371
 
217
372
  ##
218
373
  # Provide a user friendly representation
@@ -229,6 +384,53 @@ module Twilio
229
384
  end
230
385
  end
231
386
 
387
+ class RoleInstanceMetadata < InstanceResourceMetadata
388
+ ##
389
+ # Initializes a new RoleInstanceMetadata.
390
+ # @param [Version] version Version that contains the resource
391
+ # @param [}RoleInstance] role_instance The instance associated with the metadata.
392
+ # @param [Hash] headers Header object with response headers.
393
+ # @param [Integer] status_code The HTTP status code of the response.
394
+ # @return [RoleInstanceMetadata] The initialized instance with metadata.
395
+ def initialize(version, role_instance, headers, status_code)
396
+ super(version, headers, status_code)
397
+ @role_instance = role_instance
398
+ end
399
+
400
+ def role
401
+ @role_instance
402
+ end
403
+
404
+ def headers
405
+ @headers
406
+ end
407
+
408
+ def status_code
409
+ @status_code
410
+ end
411
+
412
+ def to_s
413
+ "<Twilio.Api.V2010.RoleInstanceMetadata status=#{@status_code}>"
414
+ end
415
+ end
416
+
417
+ class RoleListResponse < InstanceListResource
418
+ # @param [Array<RoleInstance>] instance
419
+ # @param [Hash{String => Object}] headers
420
+ # @param [Integer] status_code
421
+ def initialize(version, payload, key)
422
+ @role_instance = payload.body[key].map do |data|
423
+ RoleInstance.new(version, data)
424
+ end
425
+ @headers = payload.headers
426
+ @status_code = payload.status_code
427
+ end
428
+
429
+ def role_instance
430
+ @instance
431
+ end
432
+ end
433
+
232
434
  class RolePage < Page
233
435
  ##
234
436
  # Initialize the RolePage
@@ -238,6 +440,7 @@ module Twilio
238
440
  # @return [RolePage] RolePage
239
441
  def initialize(version, response, solution)
240
442
  super(version, response)
443
+
241
444
 
242
445
  # Path Solution
243
446
  @solution = solution
@@ -257,6 +460,66 @@ module Twilio
257
460
  '<Twilio.Conversations.V1.RolePage>'
258
461
  end
259
462
  end
463
+
464
+ class RolePageMetadata < PageMetadata
465
+ attr_reader :role_page
466
+
467
+ def initialize(version, response, solution, limit)
468
+ super(version, response)
469
+ @role_page = []
470
+ @limit = limit
471
+ key = get_key(response.body)
472
+ records = 0
473
+ while( limit != :unset && records < limit )
474
+ @role_page << RoleListResponse.new(version, @payload, key, limit - records)
475
+ @payload = self.next_page
476
+ break unless @payload
477
+ records += @payload.body[key].size
478
+ end
479
+ # Path Solution
480
+ @solution = solution
481
+ end
482
+
483
+ def each
484
+ @role_page.each do |record|
485
+ yield record
486
+ end
487
+ end
488
+
489
+ def to_s
490
+ '<Twilio::REST::Conversations::V1PageMetadata>';
491
+ end
492
+ end
493
+ class RoleListResponse < InstanceListResource
494
+
495
+ # @param [Array<RoleInstance>] instance
496
+ # @param [Hash{String => Object}] headers
497
+ # @param [Integer] status_code
498
+ def initialize(version, payload, key, limit = :unset)
499
+ data_list = payload.body[key]
500
+ if limit != :unset
501
+ data_list = data_list[0, limit]
502
+ end
503
+ @role = data_list.map do |data|
504
+ RoleInstance.new(version, data)
505
+ end
506
+ @headers = payload.headers
507
+ @status_code = payload.status_code
508
+ end
509
+
510
+ def role
511
+ @role
512
+ end
513
+
514
+ def headers
515
+ @headers
516
+ end
517
+
518
+ def status_code
519
+ @status_code
520
+ end
521
+ end
522
+
260
523
  class RoleInstance < InstanceResource
261
524
  ##
262
525
  # Initialize the RoleInstance
@@ -270,6 +533,7 @@ module Twilio
270
533
  def initialize(version, payload , sid: nil)
271
534
  super(version)
272
535
 
536
+
273
537
  # Marshaled Properties
274
538
  @properties = {
275
539
  'sid' => payload['sid'],
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [BindingList] BindingList
28
28
  def initialize(version, chat_service_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { chat_service_sid: chat_service_sid }
32
33
  @uri = "/Services/#{@solution[:chat_service_sid]}/Bindings"
@@ -37,7 +38,7 @@ module Twilio
37
38
  # Lists BindingInstance records from the API as a list.
38
39
  # Unlike stream(), this operation is eager and will load `limit` records into
39
40
  # memory before returning.
40
- # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
41
+ # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, `fcm`, or `twilsock`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
41
42
  # @param [Array[String]] identity The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.
42
43
  # @param [Integer] limit Upper limit for the number of records to return. stream()
43
44
  # guarantees to never return more than limit. Default is no limit
@@ -59,7 +60,7 @@ module Twilio
59
60
  # Streams Instance records from the API as an Enumerable.
60
61
  # This operation lazily loads records as efficiently as possible until the limit
61
62
  # is reached.
62
- # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
63
+ # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, `fcm`, or `twilsock`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
63
64
  # @param [Array[String]] identity The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.
64
65
  # @param [Integer] limit Upper limit for the number of records to return. stream()
65
66
  # guarantees to never return more than limit. Default is no limit
@@ -79,6 +80,34 @@ module Twilio
79
80
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
80
81
  end
81
82
 
83
+ ##
84
+ # Lists BindingPageMetadata records from the API as a list.
85
+ # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, `fcm`, or `twilsock`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
86
+ # @param [Array[String]] identity The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Array] Array of up to limit results
94
+ def list_with_metadata(binding_type: :unset, identity: :unset, limit: nil, page_size: nil)
95
+ limits = @version.read_limits(limit, page_size)
96
+ params = Twilio::Values.of({
97
+
98
+ 'BindingType' => Twilio.serialize_list(binding_type) { |e| e },
99
+
100
+ 'Identity' => Twilio.serialize_list(identity) { |e| e },
101
+
102
+ 'PageSize' => limits[:page_size],
103
+ });
104
+ headers = Twilio::Values.of({})
105
+
106
+ response = @version.page('GET', @uri, params: params, headers: headers)
107
+
108
+ BindingPageMetadata.new(@version, response, @solution, limits[:limit])
109
+ end
110
+
82
111
  ##
83
112
  # When passed a block, yields BindingInstance records from the API.
84
113
  # This operation lazily loads records as efficiently as possible until the limit
@@ -96,13 +125,13 @@ module Twilio
96
125
  ##
97
126
  # Retrieve a single page of BindingInstance records from the API.
98
127
  # Request is executed immediately.
99
- # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
128
+ # @param [Array[BindingType]] binding_type The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, `fcm`, or `twilsock`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
100
129
  # @param [Array[String]] identity The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.
101
130
  # @param [String] page_token PageToken provided by the API
102
131
  # @param [Integer] page_number Page Number, this value is simply for client state
103
132
  # @param [Integer] page_size Number of records to return, defaults to 50
104
133
  # @return [Page] Page of BindingInstance
105
- def page(binding_type: :unset, identity: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
134
+ def page(binding_type: :unset, identity: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
106
135
  params = Twilio::Values.of({
107
136
 
108
137
  'BindingType' => Twilio.serialize_list(binding_type) { |e| e },
@@ -112,8 +141,11 @@ module Twilio
112
141
  'Page' => page_number,
113
142
  'PageSize' => page_size,
114
143
  })
144
+ headers = Twilio::Values.of({})
145
+
146
+
115
147
 
116
- response = @version.page('GET', @uri, params: params)
148
+ response = @version.page('GET', @uri, params: params, headers: headers)
117
149
 
118
150
  BindingPage.new(@version, response, @solution)
119
151
  end
@@ -149,6 +181,7 @@ module Twilio
149
181
  # @return [BindingContext] BindingContext
150
182
  def initialize(version, chat_service_sid, sid)
151
183
  super(version)
184
+
152
185
 
153
186
  # Path Solution
154
187
  @solution = { chat_service_sid: chat_service_sid, sid: sid, }
@@ -163,9 +196,31 @@ module Twilio
163
196
 
164
197
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
165
198
 
199
+
200
+
201
+
166
202
  @version.delete('DELETE', @uri, headers: headers)
167
203
  end
168
204
 
205
+ ##
206
+ # Delete the BindingInstanceMetadata
207
+ # @return [Boolean] True if delete succeeds, false otherwise
208
+ def delete_with_metadata
209
+
210
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
211
+
212
+
213
+
214
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
215
+ binding_instance = BindingInstance.new(
216
+ @version,
217
+ response.body,
218
+ account_sid: @solution[:account_sid],
219
+ sid: @solution[:sid],
220
+ )
221
+ BindingInstanceMetadata.new(@version, binding_instance, response.headers, response.status_code)
222
+ end
223
+
169
224
  ##
170
225
  # Fetch the BindingInstance
171
226
  # @return [BindingInstance] Fetched BindingInstance
@@ -173,6 +228,10 @@ module Twilio
173
228
 
174
229
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
175
230
 
231
+
232
+
233
+
234
+
176
235
  payload = @version.fetch('GET', @uri, headers: headers)
177
236
  BindingInstance.new(
178
237
  @version,
@@ -182,6 +241,32 @@ module Twilio
182
241
  )
183
242
  end
184
243
 
244
+ ##
245
+ # Fetch the BindingInstanceMetadata
246
+ # @return [BindingInstance] Fetched BindingInstance
247
+ def fetch_with_metadata
248
+
249
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
250
+
251
+
252
+
253
+
254
+
255
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
256
+ binding_instance = BindingInstance.new(
257
+ @version,
258
+ response.body,
259
+ chat_service_sid: @solution[:chat_service_sid],
260
+ sid: @solution[:sid],
261
+ )
262
+ BindingInstanceMetadata.new(
263
+ @version,
264
+ binding_instance,
265
+ response.headers,
266
+ response.status_code
267
+ )
268
+ end
269
+
185
270
 
186
271
  ##
187
272
  # Provide a user friendly representation
@@ -198,6 +283,53 @@ module Twilio
198
283
  end
199
284
  end
200
285
 
286
+ class BindingInstanceMetadata < InstanceResourceMetadata
287
+ ##
288
+ # Initializes a new BindingInstanceMetadata.
289
+ # @param [Version] version Version that contains the resource
290
+ # @param [}BindingInstance] binding_instance The instance associated with the metadata.
291
+ # @param [Hash] headers Header object with response headers.
292
+ # @param [Integer] status_code The HTTP status code of the response.
293
+ # @return [BindingInstanceMetadata] The initialized instance with metadata.
294
+ def initialize(version, binding_instance, headers, status_code)
295
+ super(version, headers, status_code)
296
+ @binding_instance = binding_instance
297
+ end
298
+
299
+ def binding
300
+ @binding_instance
301
+ end
302
+
303
+ def headers
304
+ @headers
305
+ end
306
+
307
+ def status_code
308
+ @status_code
309
+ end
310
+
311
+ def to_s
312
+ "<Twilio.Api.V2010.BindingInstanceMetadata status=#{@status_code}>"
313
+ end
314
+ end
315
+
316
+ class BindingListResponse < InstanceListResource
317
+ # @param [Array<BindingInstance>] instance
318
+ # @param [Hash{String => Object}] headers
319
+ # @param [Integer] status_code
320
+ def initialize(version, payload, key)
321
+ @binding_instance = payload.body[key].map do |data|
322
+ BindingInstance.new(version, data)
323
+ end
324
+ @headers = payload.headers
325
+ @status_code = payload.status_code
326
+ end
327
+
328
+ def binding_instance
329
+ @instance
330
+ end
331
+ end
332
+
201
333
  class BindingPage < Page
202
334
  ##
203
335
  # Initialize the BindingPage
@@ -207,6 +339,7 @@ module Twilio
207
339
  # @return [BindingPage] BindingPage
208
340
  def initialize(version, response, solution)
209
341
  super(version, response)
342
+
210
343
 
211
344
  # Path Solution
212
345
  @solution = solution
@@ -226,6 +359,66 @@ module Twilio
226
359
  '<Twilio.Conversations.V1.BindingPage>'
227
360
  end
228
361
  end
362
+
363
+ class BindingPageMetadata < PageMetadata
364
+ attr_reader :binding_page
365
+
366
+ def initialize(version, response, solution, limit)
367
+ super(version, response)
368
+ @binding_page = []
369
+ @limit = limit
370
+ key = get_key(response.body)
371
+ records = 0
372
+ while( limit != :unset && records < limit )
373
+ @binding_page << BindingListResponse.new(version, @payload, key, limit - records)
374
+ @payload = self.next_page
375
+ break unless @payload
376
+ records += @payload.body[key].size
377
+ end
378
+ # Path Solution
379
+ @solution = solution
380
+ end
381
+
382
+ def each
383
+ @binding_page.each do |record|
384
+ yield record
385
+ end
386
+ end
387
+
388
+ def to_s
389
+ '<Twilio::REST::Conversations::V1PageMetadata>';
390
+ end
391
+ end
392
+ class BindingListResponse < InstanceListResource
393
+
394
+ # @param [Array<BindingInstance>] instance
395
+ # @param [Hash{String => Object}] headers
396
+ # @param [Integer] status_code
397
+ def initialize(version, payload, key, limit = :unset)
398
+ data_list = payload.body[key]
399
+ if limit != :unset
400
+ data_list = data_list[0, limit]
401
+ end
402
+ @binding = data_list.map do |data|
403
+ BindingInstance.new(version, data)
404
+ end
405
+ @headers = payload.headers
406
+ @status_code = payload.status_code
407
+ end
408
+
409
+ def binding
410
+ @binding
411
+ end
412
+
413
+ def headers
414
+ @headers
415
+ end
416
+
417
+ def status_code
418
+ @status_code
419
+ end
420
+ end
421
+
229
422
  class BindingInstance < InstanceResource
230
423
  ##
231
424
  # Initialize the BindingInstance
@@ -239,6 +432,7 @@ module Twilio
239
432
  def initialize(version, payload , chat_service_sid: nil, sid: nil)
240
433
  super(version)
241
434
 
435
+
242
436
  # Marshaled Properties
243
437
  @properties = {
244
438
  'sid' => payload['sid'],