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
@@ -29,8 +29,8 @@ module Twilio
29
29
  end
30
30
  def to_json(options = {})
31
31
  {
32
- type: @type,
33
- copy_code_text: @copy_code_text,
32
+ "type": @type,
33
+ "copy_code_text": @copy_code_text,
34
34
  }.to_json(options)
35
35
  end
36
36
  end
@@ -41,21 +41,646 @@ module Twilio
41
41
  # @param [url]: [String]
42
42
  # @param [phone]: [String]
43
43
  # @param [code]: [String]
44
- attr_accessor :type, :title, :url, :phone, :code
44
+ # @param [id]: [String]
45
+ attr_accessor :type, :title, :url, :phone, :code, :id
46
+ def initialize(payload)
47
+ @type = payload["type"]
48
+ @title = payload["title"]
49
+ @url = payload["url"]
50
+ @phone = payload["phone"]
51
+ @code = payload["code"]
52
+ @id = payload["id"]
53
+ end
54
+ def to_json(options = {})
55
+ {
56
+ "type": @type,
57
+ "title": @title,
58
+ "url": @url,
59
+ "phone": @phone,
60
+ "code": @code,
61
+ "id": @id,
62
+ }.to_json(options)
63
+ end
64
+ end
65
+
66
+ class CardAction
67
+ # @param [type]: [CardActionType]
68
+ # @param [title]: [String]
69
+ # @param [url]: [String]
70
+ # @param [phone]: [String]
71
+ # @param [id]: [String]
72
+ # @param [code]: [String]
73
+ # @param [webview_size]: [WebviewSizeType]
74
+ attr_accessor :type, :title, :url, :phone, :id, :code, :webview_size
75
+ def initialize(payload)
76
+ @type = payload["type"]
77
+ @title = payload["title"]
78
+ @url = payload["url"]
79
+ @phone = payload["phone"]
80
+ @id = payload["id"]
81
+ @code = payload["code"]
82
+ @webview_size = payload["webview_size"]
83
+ end
84
+ def to_json(options = {})
85
+ {
86
+ "type": @type,
87
+ "title": @title,
88
+ "url": @url,
89
+ "phone": @phone,
90
+ "id": @id,
91
+ "code": @code,
92
+ "webview_size": @webview_size,
93
+ }.to_json(options)
94
+ end
95
+ end
96
+
97
+ class CarouselAction
98
+ # @param [type]: [CarouselActionType]
99
+ # @param [title]: [String]
100
+ # @param [url]: [String]
101
+ # @param [phone]: [String]
102
+ # @param [id]: [String]
103
+ attr_accessor :type, :title, :url, :phone, :id
104
+ def initialize(payload)
105
+ @type = payload["type"]
106
+ @title = payload["title"]
107
+ @url = payload["url"]
108
+ @phone = payload["phone"]
109
+ @id = payload["id"]
110
+ end
111
+ def to_json(options = {})
112
+ {
113
+ "type": @type,
114
+ "title": @title,
115
+ "url": @url,
116
+ "phone": @phone,
117
+ "id": @id,
118
+ }.to_json(options)
119
+ end
120
+ end
121
+
122
+ class CarouselCard
123
+ # @param [title]: [String]
124
+ # @param [body]: [String]
125
+ # @param [media]: [String]
126
+ # @param [actions]: [Array<ContentList.CarouselAction>]
127
+ attr_accessor :title, :body, :media, :actions
128
+ def initialize(payload)
129
+ @title = payload["title"]
130
+ @body = payload["body"]
131
+ @media = payload["media"]
132
+ @actions = payload["actions"]
133
+ end
134
+ def to_json(options = {})
135
+ {
136
+ "title": @title,
137
+ "body": @body,
138
+ "media": @media,
139
+ "actions": @actions,
140
+ }.to_json(options)
141
+ end
142
+ end
143
+
144
+ class CatalogItem
145
+ # @param [id]: [String]
146
+ # @param [section_title]: [String]
147
+ # @param [name]: [String]
148
+ # @param [media_url]: [String]
149
+ # @param [price]: [Float]
150
+ # @param [description]: [String]
151
+ attr_accessor :id, :section_title, :name, :media_url, :price, :description
152
+ def initialize(payload)
153
+ @id = payload["id"]
154
+ @section_title = payload["section_title"]
155
+ @name = payload["name"]
156
+ @media_url = payload["media_url"]
157
+ @price = payload["price"]
158
+ @description = payload["description"]
159
+ end
160
+ def to_json(options = {})
161
+ {
162
+ "id": @id,
163
+ "section_title": @section_title,
164
+ "name": @name,
165
+ "media_url": @media_url,
166
+ "price": @price,
167
+ "description": @description,
168
+ }.to_json(options)
169
+ end
170
+ end
171
+
172
+ class ContentCreateRequest
173
+ # @param [friendly_name]: [String] User defined name of the content
174
+ # @param [variables]: [Hash<String, String>] Key value pairs of variable name to value
175
+ # @param [language]: [String] Language code for the content
176
+ # @param [types]: [ContentList.Types]
177
+ attr_accessor :friendly_name, :variables, :language, :types
178
+ def initialize(payload)
179
+ @friendly_name = payload["friendly_name"]
180
+ @variables = payload["variables"]
181
+ @language = payload["language"]
182
+ @types = payload["types"]
183
+ end
184
+ def to_json(options = {})
185
+ {
186
+ "friendly_name": @friendly_name,
187
+ "variables": @variables,
188
+ "language": @language,
189
+ "types": @types,
190
+ }.to_json(options)
191
+ end
192
+ end
193
+
194
+ class ContentUpdateRequest
195
+ # @param [friendly_name]: [String] User defined name of the content
196
+ # @param [variables]: [Hash<String, String>] Key value pairs of variable name to value
197
+ # @param [language]: [String] Language code for the content
198
+ # @param [types]: [ContentList.Types]
199
+ attr_accessor :friendly_name, :variables, :language, :types
200
+ def initialize(payload)
201
+ @friendly_name = payload["friendly_name"]
202
+ @variables = payload["variables"]
203
+ @language = payload["language"]
204
+ @types = payload["types"]
205
+ end
206
+ def to_json(options = {})
207
+ {
208
+ "friendly_name": @friendly_name,
209
+ "variables": @variables,
210
+ "language": @language,
211
+ "types": @types,
212
+ }.to_json(options)
213
+ end
214
+ end
215
+
216
+ class FlowsPage
217
+ # @param [id]: [String]
218
+ # @param [next_page_id]: [String]
219
+ # @param [title]: [String]
220
+ # @param [subtitle]: [String]
221
+ # @param [layout]: [Array<ContentList.FlowsPageComponent>]
222
+ attr_accessor :id, :next_page_id, :title, :subtitle, :layout
223
+ def initialize(payload)
224
+ @id = payload["id"]
225
+ @next_page_id = payload["next_page_id"]
226
+ @title = payload["title"]
227
+ @subtitle = payload["subtitle"]
228
+ @layout = payload["layout"]
229
+ end
230
+ def to_json(options = {})
231
+ {
232
+ "id": @id,
233
+ "next_page_id": @next_page_id,
234
+ "title": @title,
235
+ "subtitle": @subtitle,
236
+ "layout": @layout,
237
+ }.to_json(options)
238
+ end
239
+ end
240
+
241
+ class FlowsPageComponent
242
+ # @param [label]: [String]
243
+ # @param [type]: [String]
244
+ attr_accessor :label, :type
245
+ def initialize(payload)
246
+ @label = payload["label"]
247
+ @type = payload["type"]
248
+ end
249
+ def to_json(options = {})
250
+ {
251
+ "label": @label,
252
+ "type": @type,
253
+ }.to_json(options)
254
+ end
255
+ end
256
+
257
+ class ListItem
258
+ # @param [id]: [String]
259
+ # @param [item]: [String]
260
+ # @param [description]: [String]
261
+ attr_accessor :id, :item, :description
262
+ def initialize(payload)
263
+ @id = payload["id"]
264
+ @item = payload["item"]
265
+ @description = payload["description"]
266
+ end
267
+ def to_json(options = {})
268
+ {
269
+ "id": @id,
270
+ "item": @item,
271
+ "description": @description,
272
+ }.to_json(options)
273
+ end
274
+ end
275
+
276
+ class QuickReplyAction
277
+ # @param [type]: [QuickReplyActionType]
278
+ # @param [title]: [String]
279
+ # @param [id]: [String]
280
+ attr_accessor :type, :title, :id
281
+ def initialize(payload)
282
+ @type = payload["type"]
283
+ @title = payload["title"]
284
+ @id = payload["id"]
285
+ end
286
+ def to_json(options = {})
287
+ {
288
+ "type": @type,
289
+ "title": @title,
290
+ "id": @id,
291
+ }.to_json(options)
292
+ end
293
+ end
294
+
295
+ class TwilioCallToAction
296
+ # @param [body]: [String]
297
+ # @param [actions]: [Array<ContentList.CallToActionAction>]
298
+ attr_accessor :body, :actions
299
+ def initialize(payload)
300
+ @body = payload["body"]
301
+ @actions = payload["actions"]
302
+ end
303
+ def to_json(options = {})
304
+ {
305
+ "body": @body,
306
+ "actions": @actions,
307
+ }.to_json(options)
308
+ end
309
+ end
310
+
311
+ class TwilioCard
312
+ # @param [title]: [String]
313
+ # @param [subtitle]: [String]
314
+ # @param [media]: [Array<String>]
315
+ # @param [actions]: [Array<ContentList.CardAction>]
316
+ attr_accessor :title, :subtitle, :media, :actions
317
+ def initialize(payload)
318
+ @title = payload["title"]
319
+ @subtitle = payload["subtitle"]
320
+ @media = payload["media"]
321
+ @actions = payload["actions"]
322
+ end
323
+ def to_json(options = {})
324
+ {
325
+ "title": @title,
326
+ "subtitle": @subtitle,
327
+ "media": @media,
328
+ "actions": @actions,
329
+ }.to_json(options)
330
+ end
331
+ end
332
+
333
+ class TwilioCarousel
334
+ # @param [body]: [String]
335
+ # @param [cards]: [Array<ContentList.CarouselCard>]
336
+ attr_accessor :body, :cards
337
+ def initialize(payload)
338
+ @body = payload["body"]
339
+ @cards = payload["cards"]
340
+ end
341
+ def to_json(options = {})
342
+ {
343
+ "body": @body,
344
+ "cards": @cards,
345
+ }.to_json(options)
346
+ end
347
+ end
348
+
349
+ class TwilioCatalog
350
+ # @param [title]: [String]
351
+ # @param [body]: [String]
352
+ # @param [subtitle]: [String]
353
+ # @param [id]: [String]
354
+ # @param [items]: [Array<ContentList.CatalogItem>]
355
+ # @param [dynamic_items]: [String]
356
+ attr_accessor :title, :body, :subtitle, :id, :items, :dynamic_items
357
+ def initialize(payload)
358
+ @title = payload["title"]
359
+ @body = payload["body"]
360
+ @subtitle = payload["subtitle"]
361
+ @id = payload["id"]
362
+ @items = payload["items"]
363
+ @dynamic_items = payload["dynamic_items"]
364
+ end
365
+ def to_json(options = {})
366
+ {
367
+ "title": @title,
368
+ "body": @body,
369
+ "subtitle": @subtitle,
370
+ "id": @id,
371
+ "items": @items,
372
+ "dynamic_items": @dynamic_items,
373
+ }.to_json(options)
374
+ end
375
+ end
376
+
377
+ class TwilioFlows
378
+ # @param [body]: [String]
379
+ # @param [button_text]: [String]
380
+ # @param [subtitle]: [String]
381
+ # @param [media_url]: [String]
382
+ # @param [pages]: [Array<ContentList.FlowsPage>]
383
+ # @param [type]: [String]
384
+ attr_accessor :body, :button_text, :subtitle, :media_url, :pages, :type
385
+ def initialize(payload)
386
+ @body = payload["body"]
387
+ @button_text = payload["button_text"]
388
+ @subtitle = payload["subtitle"]
389
+ @media_url = payload["media_url"]
390
+ @pages = payload["pages"]
391
+ @type = payload["type"]
392
+ end
393
+ def to_json(options = {})
394
+ {
395
+ "body": @body,
396
+ "button_text": @button_text,
397
+ "subtitle": @subtitle,
398
+ "media_url": @media_url,
399
+ "pages": @pages,
400
+ "type": @type,
401
+ }.to_json(options)
402
+ end
403
+ end
404
+
405
+ class TwilioListPicker
406
+ # @param [body]: [String]
407
+ # @param [button]: [String]
408
+ # @param [items]: [Array<ContentList.ListItem>]
409
+ attr_accessor :body, :button, :items
410
+ def initialize(payload)
411
+ @body = payload["body"]
412
+ @button = payload["button"]
413
+ @items = payload["items"]
414
+ end
415
+ def to_json(options = {})
416
+ {
417
+ "body": @body,
418
+ "button": @button,
419
+ "items": @items,
420
+ }.to_json(options)
421
+ end
422
+ end
423
+
424
+ class TwilioLocation
425
+ # @param [latitude]: [Float]
426
+ # @param [longitude]: [Float]
427
+ # @param [label]: [String]
428
+ # @param [id]: [String]
429
+ # @param [address]: [String]
430
+ attr_accessor :latitude, :longitude, :label, :id, :address
431
+ def initialize(payload)
432
+ @latitude = payload["latitude"]
433
+ @longitude = payload["longitude"]
434
+ @label = payload["label"]
435
+ @id = payload["id"]
436
+ @address = payload["address"]
437
+ end
438
+ def to_json(options = {})
439
+ {
440
+ "latitude": @latitude,
441
+ "longitude": @longitude,
442
+ "label": @label,
443
+ "id": @id,
444
+ "address": @address,
445
+ }.to_json(options)
446
+ end
447
+ end
448
+
449
+ class TwilioMedia
450
+ # @param [body]: [String]
451
+ # @param [media]: [Array<String>]
452
+ attr_accessor :body, :media
453
+ def initialize(payload)
454
+ @body = payload["body"]
455
+ @media = payload["media"]
456
+ end
457
+ def to_json(options = {})
458
+ {
459
+ "body": @body,
460
+ "media": @media,
461
+ }.to_json(options)
462
+ end
463
+ end
464
+
465
+ class TwilioQuickReply
466
+ # @param [body]: [String]
467
+ # @param [actions]: [Array<ContentList.QuickReplyAction>]
468
+ attr_accessor :body, :actions
469
+ def initialize(payload)
470
+ @body = payload["body"]
471
+ @actions = payload["actions"]
472
+ end
473
+ def to_json(options = {})
474
+ {
475
+ "body": @body,
476
+ "actions": @actions,
477
+ }.to_json(options)
478
+ end
479
+ end
480
+
481
+ class TwilioSchedule
482
+ # @param [id]: [String]
483
+ # @param [title]: [String]
484
+ # @param [time_slots]: [String]
485
+ attr_accessor :id, :title, :time_slots
486
+ def initialize(payload)
487
+ @id = payload["id"]
488
+ @title = payload["title"]
489
+ @time_slots = payload["time_slots"]
490
+ end
491
+ def to_json(options = {})
492
+ {
493
+ "id": @id,
494
+ "title": @title,
495
+ "timeSlots": @time_slots,
496
+ }.to_json(options)
497
+ end
498
+ end
499
+
500
+ class TwilioText
501
+ # @param [body]: [String]
502
+ attr_accessor :body
503
+ def initialize(payload)
504
+ @body = payload["body"]
505
+ end
506
+ def to_json(options = {})
507
+ {
508
+ "body": @body,
509
+ }.to_json(options)
510
+ end
511
+ end
512
+
513
+ class Types
514
+ # @param [twilio_text]: [ContentList.TwilioText]
515
+ # @param [twilio_media]: [ContentList.TwilioMedia]
516
+ # @param [twilio_location]: [ContentList.TwilioLocation]
517
+ # @param [twilio_list_picker]: [ContentList.TwilioListPicker]
518
+ # @param [twilio_call_to_action]: [ContentList.TwilioCallToAction]
519
+ # @param [twilio_quick_reply]: [ContentList.TwilioQuickReply]
520
+ # @param [twilio_card]: [ContentList.TwilioCard]
521
+ # @param [twilio_catalog]: [ContentList.TwilioCatalog]
522
+ # @param [twilio_carousel]: [ContentList.TwilioCarousel]
523
+ # @param [twilio_flows]: [ContentList.TwilioFlows]
524
+ # @param [twilio_schedule]: [ContentList.TwilioSchedule]
525
+ # @param [whatsapp_card]: [ContentList.WhatsappCard]
526
+ # @param [whatsapp_authentication]: [ContentList.WhatsappAuthentication]
527
+ # @param [whatsapp_flows]: [ContentList.WhatsappFlows]
528
+ attr_accessor :twilio_text, :twilio_media, :twilio_location, :twilio_list_picker, :twilio_call_to_action, :twilio_quick_reply, :twilio_card, :twilio_catalog, :twilio_carousel, :twilio_flows, :twilio_schedule, :whatsapp_card, :whatsapp_authentication, :whatsapp_flows
529
+ def initialize(payload)
530
+ @twilio_text = payload["twilio_text"]
531
+ @twilio_media = payload["twilio_media"]
532
+ @twilio_location = payload["twilio_location"]
533
+ @twilio_list_picker = payload["twilio_list_picker"]
534
+ @twilio_call_to_action = payload["twilio_call_to_action"]
535
+ @twilio_quick_reply = payload["twilio_quick_reply"]
536
+ @twilio_card = payload["twilio_card"]
537
+ @twilio_catalog = payload["twilio_catalog"]
538
+ @twilio_carousel = payload["twilio_carousel"]
539
+ @twilio_flows = payload["twilio_flows"]
540
+ @twilio_schedule = payload["twilio_schedule"]
541
+ @whatsapp_card = payload["whatsapp_card"]
542
+ @whatsapp_authentication = payload["whatsapp_authentication"]
543
+ @whatsapp_flows = payload["whatsapp_flows"]
544
+ end
545
+ def to_json(options = {})
546
+ {
547
+ "twilio/text": @twilio_text,
548
+ "twilio/media": @twilio_media,
549
+ "twilio/location": @twilio_location,
550
+ "twilio/list-picker": @twilio_list_picker,
551
+ "twilio/call-to-action": @twilio_call_to_action,
552
+ "twilio/quick-reply": @twilio_quick_reply,
553
+ "twilio/card": @twilio_card,
554
+ "twilio/catalog": @twilio_catalog,
555
+ "twilio/carousel": @twilio_carousel,
556
+ "twilio/flows": @twilio_flows,
557
+ "twilio/schedule": @twilio_schedule,
558
+ "whatsapp/card": @whatsapp_card,
559
+ "whatsapp/authentication": @whatsapp_authentication,
560
+ "whatsapp/flows": @whatsapp_flows,
561
+ }.to_json(options)
562
+ end
563
+ end
564
+
565
+ class WhatsappAuthentication
566
+ # @param [add_security_recommendation]: [Boolean]
567
+ # @param [code_expiration_minutes]: [Float]
568
+ # @param [actions]: [Array<ContentList.AuthenticationAction>]
569
+ attr_accessor :add_security_recommendation, :code_expiration_minutes, :actions
570
+ def initialize(payload)
571
+ @add_security_recommendation = payload["add_security_recommendation"]
572
+ @code_expiration_minutes = payload["code_expiration_minutes"]
573
+ @actions = payload["actions"]
574
+ end
575
+ def to_json(options = {})
576
+ {
577
+ "add_security_recommendation": @add_security_recommendation,
578
+ "code_expiration_minutes": @code_expiration_minutes,
579
+ "actions": @actions,
580
+ }.to_json(options)
581
+ end
582
+ end
583
+
584
+ class WhatsappCard
585
+ # @param [body]: [String]
586
+ # @param [footer]: [String]
587
+ # @param [media]: [Array<String>]
588
+ # @param [header_text]: [String]
589
+ # @param [actions]: [Array<ContentList.CardAction>]
590
+ attr_accessor :body, :footer, :media, :header_text, :actions
591
+ def initialize(payload)
592
+ @body = payload["body"]
593
+ @footer = payload["footer"]
594
+ @media = payload["media"]
595
+ @header_text = payload["header_text"]
596
+ @actions = payload["actions"]
597
+ end
598
+ def to_json(options = {})
599
+ {
600
+ "body": @body,
601
+ "footer": @footer,
602
+ "media": @media,
603
+ "header_text": @header_text,
604
+ "actions": @actions,
605
+ }.to_json(options)
606
+ end
607
+ end
608
+
609
+ class WhatsappFlows
610
+ # @param [body]: [String]
611
+ # @param [button_text]: [String]
612
+ # @param [subtitle]: [String]
613
+ # @param [media_url]: [String]
614
+ # @param [flow_id]: [String]
615
+ # @param [flow_token]: [String]
616
+ # @param [flow_first_page_id]: [String]
617
+ # @param [is_flow_first_page_endpoint]: [Boolean]
618
+ attr_accessor :body, :button_text, :subtitle, :media_url, :flow_id, :flow_token, :flow_first_page_id, :is_flow_first_page_endpoint
619
+ def initialize(payload)
620
+ @body = payload["body"]
621
+ @button_text = payload["button_text"]
622
+ @subtitle = payload["subtitle"]
623
+ @media_url = payload["media_url"]
624
+ @flow_id = payload["flow_id"]
625
+ @flow_token = payload["flow_token"]
626
+ @flow_first_page_id = payload["flow_first_page_id"]
627
+ @is_flow_first_page_endpoint = payload["is_flow_first_page_endpoint"]
628
+ end
629
+ def to_json(options = {})
630
+ {
631
+ "body": @body,
632
+ "button_text": @button_text,
633
+ "subtitle": @subtitle,
634
+ "media_url": @media_url,
635
+ "flow_id": @flow_id,
636
+ "flow_token": @flow_token,
637
+ "flow_first_page_id": @flow_first_page_id,
638
+ "is_flow_first_page_endpoint": @is_flow_first_page_endpoint,
639
+ }.to_json(options)
640
+ end
641
+ end
642
+
643
+
644
+ class AuthenticationAction
645
+ # @param [type]: [AuthenticationActionType]
646
+ # @param [copy_code_text]: [String]
647
+ attr_accessor :type, :copy_code_text
648
+ def initialize(payload)
649
+ @type = payload["type"]
650
+ @copy_code_text = payload["copy_code_text"]
651
+ end
652
+ def to_json(options = {})
653
+ {
654
+ "type": @type,
655
+ "copy_code_text": @copy_code_text,
656
+ }.to_json(options)
657
+ end
658
+ end
659
+
660
+ class CallToActionAction
661
+ # @param [type]: [CallToActionActionType]
662
+ # @param [title]: [String]
663
+ # @param [url]: [String]
664
+ # @param [phone]: [String]
665
+ # @param [code]: [String]
666
+ # @param [id]: [String]
667
+ attr_accessor :type, :title, :url, :phone, :code, :id
45
668
  def initialize(payload)
46
669
  @type = payload["type"]
47
670
  @title = payload["title"]
48
671
  @url = payload["url"]
49
672
  @phone = payload["phone"]
50
673
  @code = payload["code"]
674
+ @id = payload["id"]
51
675
  end
52
676
  def to_json(options = {})
53
677
  {
54
- type: @type,
55
- title: @title,
56
- url: @url,
57
- phone: @phone,
58
- code: @code,
678
+ "type": @type,
679
+ "title": @title,
680
+ "url": @url,
681
+ "phone": @phone,
682
+ "code": @code,
683
+ "id": @id,
59
684
  }.to_json(options)
60
685
  end
61
686
  end
@@ -67,7 +692,8 @@ module Twilio
67
692
  # @param [phone]: [String]
68
693
  # @param [id]: [String]
69
694
  # @param [code]: [String]
70
- attr_accessor :type, :title, :url, :phone, :id, :code
695
+ # @param [webview_size]: [WebviewSizeType]
696
+ attr_accessor :type, :title, :url, :phone, :id, :code, :webview_size
71
697
  def initialize(payload)
72
698
  @type = payload["type"]
73
699
  @title = payload["title"]
@@ -75,15 +701,17 @@ module Twilio
75
701
  @phone = payload["phone"]
76
702
  @id = payload["id"]
77
703
  @code = payload["code"]
704
+ @webview_size = payload["webview_size"]
78
705
  end
79
706
  def to_json(options = {})
80
707
  {
81
- type: @type,
82
- title: @title,
83
- url: @url,
84
- phone: @phone,
85
- id: @id,
86
- code: @code,
708
+ "type": @type,
709
+ "title": @title,
710
+ "url": @url,
711
+ "phone": @phone,
712
+ "id": @id,
713
+ "code": @code,
714
+ "webview_size": @webview_size,
87
715
  }.to_json(options)
88
716
  end
89
717
  end
@@ -104,11 +732,11 @@ module Twilio
104
732
  end
105
733
  def to_json(options = {})
106
734
  {
107
- type: @type,
108
- title: @title,
109
- url: @url,
110
- phone: @phone,
111
- id: @id,
735
+ "type": @type,
736
+ "title": @title,
737
+ "url": @url,
738
+ "phone": @phone,
739
+ "id": @id,
112
740
  }.to_json(options)
113
741
  end
114
742
  end
@@ -127,10 +755,10 @@ module Twilio
127
755
  end
128
756
  def to_json(options = {})
129
757
  {
130
- title: @title,
131
- body: @body,
132
- media: @media,
133
- actions: @actions,
758
+ "title": @title,
759
+ "body": @body,
760
+ "media": @media,
761
+ "actions": @actions,
134
762
  }.to_json(options)
135
763
  end
136
764
  end
@@ -153,12 +781,12 @@ module Twilio
153
781
  end
154
782
  def to_json(options = {})
155
783
  {
156
- id: @id,
157
- section_title: @section_title,
158
- name: @name,
159
- media_url: @media_url,
160
- price: @price,
161
- description: @description,
784
+ "id": @id,
785
+ "section_title": @section_title,
786
+ "name": @name,
787
+ "media_url": @media_url,
788
+ "price": @price,
789
+ "description": @description,
162
790
  }.to_json(options)
163
791
  end
164
792
  end
@@ -177,10 +805,32 @@ module Twilio
177
805
  end
178
806
  def to_json(options = {})
179
807
  {
180
- friendly_name: @friendly_name,
181
- variables: @variables,
182
- language: @language,
183
- types: @types,
808
+ "friendly_name": @friendly_name,
809
+ "variables": @variables,
810
+ "language": @language,
811
+ "types": @types,
812
+ }.to_json(options)
813
+ end
814
+ end
815
+
816
+ class ContentUpdateRequest
817
+ # @param [friendly_name]: [String] User defined name of the content
818
+ # @param [variables]: [Hash<String, String>] Key value pairs of variable name to value
819
+ # @param [language]: [String] Language code for the content
820
+ # @param [types]: [ContentList.Types]
821
+ attr_accessor :friendly_name, :variables, :language, :types
822
+ def initialize(payload)
823
+ @friendly_name = payload["friendly_name"]
824
+ @variables = payload["variables"]
825
+ @language = payload["language"]
826
+ @types = payload["types"]
827
+ end
828
+ def to_json(options = {})
829
+ {
830
+ "friendly_name": @friendly_name,
831
+ "variables": @variables,
832
+ "language": @language,
833
+ "types": @types,
184
834
  }.to_json(options)
185
835
  end
186
836
  end
@@ -201,11 +851,11 @@ module Twilio
201
851
  end
202
852
  def to_json(options = {})
203
853
  {
204
- id: @id,
205
- next_page_id: @next_page_id,
206
- title: @title,
207
- subtitle: @subtitle,
208
- layout: @layout,
854
+ "id": @id,
855
+ "next_page_id": @next_page_id,
856
+ "title": @title,
857
+ "subtitle": @subtitle,
858
+ "layout": @layout,
209
859
  }.to_json(options)
210
860
  end
211
861
  end
@@ -213,37 +863,15 @@ module Twilio
213
863
  class FlowsPageComponent
214
864
  # @param [label]: [String]
215
865
  # @param [type]: [String]
216
- # @param [text]: [String]
217
- # @param [options]: [Array<ContentList.FlowsPageComponentSelectItem>]
218
- attr_accessor :label, :type, :text, :options
866
+ attr_accessor :label, :type
219
867
  def initialize(payload)
220
868
  @label = payload["label"]
221
869
  @type = payload["type"]
222
- @text = payload["text"]
223
- @options = payload["options"]
224
- end
225
- def to_json(options = {})
226
- {
227
- label: @label,
228
- type: @type,
229
- text: @text,
230
- options: @options,
231
- }.to_json(options)
232
- end
233
- end
234
-
235
- class FlowsPageComponentSelectItem
236
- # @param [id]: [String]
237
- # @param [title]: [String]
238
- attr_accessor :id, :title
239
- def initialize(payload)
240
- @id = payload["id"]
241
- @title = payload["title"]
242
870
  end
243
871
  def to_json(options = {})
244
872
  {
245
- id: @id,
246
- title: @title,
873
+ "label": @label,
874
+ "type": @type,
247
875
  }.to_json(options)
248
876
  end
249
877
  end
@@ -260,9 +888,9 @@ module Twilio
260
888
  end
261
889
  def to_json(options = {})
262
890
  {
263
- id: @id,
264
- item: @item,
265
- description: @description,
891
+ "id": @id,
892
+ "item": @item,
893
+ "description": @description,
266
894
  }.to_json(options)
267
895
  end
268
896
  end
@@ -279,9 +907,9 @@ module Twilio
279
907
  end
280
908
  def to_json(options = {})
281
909
  {
282
- type: @type,
283
- title: @title,
284
- id: @id,
910
+ "type": @type,
911
+ "title": @title,
912
+ "id": @id,
285
913
  }.to_json(options)
286
914
  end
287
915
  end
@@ -296,8 +924,8 @@ module Twilio
296
924
  end
297
925
  def to_json(options = {})
298
926
  {
299
- body: @body,
300
- actions: @actions,
927
+ "body": @body,
928
+ "actions": @actions,
301
929
  }.to_json(options)
302
930
  end
303
931
  end
@@ -316,10 +944,10 @@ module Twilio
316
944
  end
317
945
  def to_json(options = {})
318
946
  {
319
- title: @title,
320
- subtitle: @subtitle,
321
- media: @media,
322
- actions: @actions,
947
+ "title": @title,
948
+ "subtitle": @subtitle,
949
+ "media": @media,
950
+ "actions": @actions,
323
951
  }.to_json(options)
324
952
  end
325
953
  end
@@ -334,8 +962,8 @@ module Twilio
334
962
  end
335
963
  def to_json(options = {})
336
964
  {
337
- body: @body,
338
- cards: @cards,
965
+ "body": @body,
966
+ "cards": @cards,
339
967
  }.to_json(options)
340
968
  end
341
969
  end
@@ -358,12 +986,12 @@ module Twilio
358
986
  end
359
987
  def to_json(options = {})
360
988
  {
361
- title: @title,
362
- body: @body,
363
- subtitle: @subtitle,
364
- id: @id,
365
- items: @items,
366
- dynamic_items: @dynamic_items,
989
+ "title": @title,
990
+ "body": @body,
991
+ "subtitle": @subtitle,
992
+ "id": @id,
993
+ "items": @items,
994
+ "dynamic_items": @dynamic_items,
367
995
  }.to_json(options)
368
996
  end
369
997
  end
@@ -386,12 +1014,12 @@ module Twilio
386
1014
  end
387
1015
  def to_json(options = {})
388
1016
  {
389
- body: @body,
390
- button_text: @button_text,
391
- subtitle: @subtitle,
392
- media_url: @media_url,
393
- pages: @pages,
394
- type: @type,
1017
+ "body": @body,
1018
+ "button_text": @button_text,
1019
+ "subtitle": @subtitle,
1020
+ "media_url": @media_url,
1021
+ "pages": @pages,
1022
+ "type": @type,
395
1023
  }.to_json(options)
396
1024
  end
397
1025
  end
@@ -408,9 +1036,9 @@ module Twilio
408
1036
  end
409
1037
  def to_json(options = {})
410
1038
  {
411
- body: @body,
412
- button: @button,
413
- items: @items,
1039
+ "body": @body,
1040
+ "button": @button,
1041
+ "items": @items,
414
1042
  }.to_json(options)
415
1043
  end
416
1044
  end
@@ -419,17 +1047,23 @@ module Twilio
419
1047
  # @param [latitude]: [Float]
420
1048
  # @param [longitude]: [Float]
421
1049
  # @param [label]: [String]
422
- attr_accessor :latitude, :longitude, :label
1050
+ # @param [id]: [String]
1051
+ # @param [address]: [String]
1052
+ attr_accessor :latitude, :longitude, :label, :id, :address
423
1053
  def initialize(payload)
424
1054
  @latitude = payload["latitude"]
425
1055
  @longitude = payload["longitude"]
426
1056
  @label = payload["label"]
1057
+ @id = payload["id"]
1058
+ @address = payload["address"]
427
1059
  end
428
1060
  def to_json(options = {})
429
1061
  {
430
- latitude: @latitude,
431
- longitude: @longitude,
432
- label: @label,
1062
+ "latitude": @latitude,
1063
+ "longitude": @longitude,
1064
+ "label": @label,
1065
+ "id": @id,
1066
+ "address": @address,
433
1067
  }.to_json(options)
434
1068
  end
435
1069
  end
@@ -444,8 +1078,8 @@ module Twilio
444
1078
  end
445
1079
  def to_json(options = {})
446
1080
  {
447
- body: @body,
448
- media: @media,
1081
+ "body": @body,
1082
+ "media": @media,
449
1083
  }.to_json(options)
450
1084
  end
451
1085
  end
@@ -460,8 +1094,27 @@ module Twilio
460
1094
  end
461
1095
  def to_json(options = {})
462
1096
  {
463
- body: @body,
464
- actions: @actions,
1097
+ "body": @body,
1098
+ "actions": @actions,
1099
+ }.to_json(options)
1100
+ end
1101
+ end
1102
+
1103
+ class TwilioSchedule
1104
+ # @param [id]: [String]
1105
+ # @param [title]: [String]
1106
+ # @param [time_slots]: [String]
1107
+ attr_accessor :id, :title, :time_slots
1108
+ def initialize(payload)
1109
+ @id = payload["id"]
1110
+ @title = payload["title"]
1111
+ @time_slots = payload["time_slots"]
1112
+ end
1113
+ def to_json(options = {})
1114
+ {
1115
+ "id": @id,
1116
+ "title": @title,
1117
+ "timeSlots": @time_slots,
465
1118
  }.to_json(options)
466
1119
  end
467
1120
  end
@@ -474,7 +1127,7 @@ module Twilio
474
1127
  end
475
1128
  def to_json(options = {})
476
1129
  {
477
- body: @body,
1130
+ "body": @body,
478
1131
  }.to_json(options)
479
1132
  end
480
1133
  end
@@ -490,9 +1143,11 @@ module Twilio
490
1143
  # @param [twilio_catalog]: [ContentList.TwilioCatalog]
491
1144
  # @param [twilio_carousel]: [ContentList.TwilioCarousel]
492
1145
  # @param [twilio_flows]: [ContentList.TwilioFlows]
1146
+ # @param [twilio_schedule]: [ContentList.TwilioSchedule]
493
1147
  # @param [whatsapp_card]: [ContentList.WhatsappCard]
494
1148
  # @param [whatsapp_authentication]: [ContentList.WhatsappAuthentication]
495
- attr_accessor :twilio_text, :twilio_media, :twilio_location, :twilio_list_picker, :twilio_call_to_action, :twilio_quick_reply, :twilio_card, :twilio_catalog, :twilio_carousel, :twilio_flows, :whatsapp_card, :whatsapp_authentication
1149
+ # @param [whatsapp_flows]: [ContentList.WhatsappFlows]
1150
+ attr_accessor :twilio_text, :twilio_media, :twilio_location, :twilio_list_picker, :twilio_call_to_action, :twilio_quick_reply, :twilio_card, :twilio_catalog, :twilio_carousel, :twilio_flows, :twilio_schedule, :whatsapp_card, :whatsapp_authentication, :whatsapp_flows
496
1151
  def initialize(payload)
497
1152
  @twilio_text = payload["twilio_text"]
498
1153
  @twilio_media = payload["twilio_media"]
@@ -504,23 +1159,27 @@ module Twilio
504
1159
  @twilio_catalog = payload["twilio_catalog"]
505
1160
  @twilio_carousel = payload["twilio_carousel"]
506
1161
  @twilio_flows = payload["twilio_flows"]
1162
+ @twilio_schedule = payload["twilio_schedule"]
507
1163
  @whatsapp_card = payload["whatsapp_card"]
508
1164
  @whatsapp_authentication = payload["whatsapp_authentication"]
1165
+ @whatsapp_flows = payload["whatsapp_flows"]
509
1166
  end
510
1167
  def to_json(options = {})
511
1168
  {
512
- twilio_text: @twilio_text,
513
- twilio_media: @twilio_media,
514
- twilio_location: @twilio_location,
515
- twilio_list_picker: @twilio_list_picker,
516
- twilio_call_to_action: @twilio_call_to_action,
517
- twilio_quick_reply: @twilio_quick_reply,
518
- twilio_card: @twilio_card,
519
- twilio_catalog: @twilio_catalog,
520
- twilio_carousel: @twilio_carousel,
521
- twilio_flows: @twilio_flows,
522
- whatsapp_card: @whatsapp_card,
523
- whatsapp_authentication: @whatsapp_authentication,
1169
+ "twilio/text": @twilio_text,
1170
+ "twilio/media": @twilio_media,
1171
+ "twilio/location": @twilio_location,
1172
+ "twilio/list-picker": @twilio_list_picker,
1173
+ "twilio/call-to-action": @twilio_call_to_action,
1174
+ "twilio/quick-reply": @twilio_quick_reply,
1175
+ "twilio/card": @twilio_card,
1176
+ "twilio/catalog": @twilio_catalog,
1177
+ "twilio/carousel": @twilio_carousel,
1178
+ "twilio/flows": @twilio_flows,
1179
+ "twilio/schedule": @twilio_schedule,
1180
+ "whatsapp/card": @whatsapp_card,
1181
+ "whatsapp/authentication": @whatsapp_authentication,
1182
+ "whatsapp/flows": @whatsapp_flows,
524
1183
  }.to_json(options)
525
1184
  end
526
1185
  end
@@ -537,9 +1196,9 @@ module Twilio
537
1196
  end
538
1197
  def to_json(options = {})
539
1198
  {
540
- add_security_recommendation: @add_security_recommendation,
541
- code_expiration_minutes: @code_expiration_minutes,
542
- actions: @actions,
1199
+ "add_security_recommendation": @add_security_recommendation,
1200
+ "code_expiration_minutes": @code_expiration_minutes,
1201
+ "actions": @actions,
543
1202
  }.to_json(options)
544
1203
  end
545
1204
  end
@@ -560,21 +1219,57 @@ module Twilio
560
1219
  end
561
1220
  def to_json(options = {})
562
1221
  {
563
- body: @body,
564
- footer: @footer,
565
- media: @media,
566
- header_text: @header_text,
567
- actions: @actions,
1222
+ "body": @body,
1223
+ "footer": @footer,
1224
+ "media": @media,
1225
+ "header_text": @header_text,
1226
+ "actions": @actions,
1227
+ }.to_json(options)
1228
+ end
1229
+ end
1230
+
1231
+ class WhatsappFlows
1232
+ # @param [body]: [String]
1233
+ # @param [button_text]: [String]
1234
+ # @param [subtitle]: [String]
1235
+ # @param [media_url]: [String]
1236
+ # @param [flow_id]: [String]
1237
+ # @param [flow_token]: [String]
1238
+ # @param [flow_first_page_id]: [String]
1239
+ # @param [is_flow_first_page_endpoint]: [Boolean]
1240
+ attr_accessor :body, :button_text, :subtitle, :media_url, :flow_id, :flow_token, :flow_first_page_id, :is_flow_first_page_endpoint
1241
+ def initialize(payload)
1242
+ @body = payload["body"]
1243
+ @button_text = payload["button_text"]
1244
+ @subtitle = payload["subtitle"]
1245
+ @media_url = payload["media_url"]
1246
+ @flow_id = payload["flow_id"]
1247
+ @flow_token = payload["flow_token"]
1248
+ @flow_first_page_id = payload["flow_first_page_id"]
1249
+ @is_flow_first_page_endpoint = payload["is_flow_first_page_endpoint"]
1250
+ end
1251
+ def to_json(options = {})
1252
+ {
1253
+ "body": @body,
1254
+ "button_text": @button_text,
1255
+ "subtitle": @subtitle,
1256
+ "media_url": @media_url,
1257
+ "flow_id": @flow_id,
1258
+ "flow_token": @flow_token,
1259
+ "flow_first_page_id": @flow_first_page_id,
1260
+ "is_flow_first_page_endpoint": @is_flow_first_page_endpoint,
568
1261
  }.to_json(options)
569
1262
  end
570
1263
  end
571
1264
 
1265
+
572
1266
  ##
573
1267
  # Initialize the ContentList
574
1268
  # @param [Version] version Version that contains the resource
575
1269
  # @return [ContentList] ContentList
576
1270
  def initialize(version)
577
1271
  super(version)
1272
+
578
1273
  # Path Solution
579
1274
  @solution = { }
580
1275
  @uri = "/Content"
@@ -589,6 +1284,10 @@ module Twilio
589
1284
 
590
1285
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
591
1286
  headers['Content-Type'] = 'application/json'
1287
+
1288
+
1289
+
1290
+
592
1291
  payload = @version.create('POST', @uri, headers: headers, data: content_create_request.to_json)
593
1292
  ContentInstance.new(
594
1293
  @version,
@@ -596,6 +1295,32 @@ module Twilio
596
1295
  )
597
1296
  end
598
1297
 
1298
+ ##
1299
+ # Create the ContentInstanceMetadata
1300
+ # @param [ContentCreateRequest] content_create_request
1301
+ # @return [ContentInstance] Created ContentInstance
1302
+ def create_with_metadata(content_create_request: nil
1303
+ )
1304
+
1305
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1306
+ headers['Content-Type'] = 'application/json'
1307
+
1308
+
1309
+
1310
+
1311
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: content_create_request.to_json)
1312
+ content_instance = ContentInstance.new(
1313
+ @version,
1314
+ response.body,
1315
+ )
1316
+ ContentInstanceMetadata.new(
1317
+ @version,
1318
+ content_instance,
1319
+ response.headers,
1320
+ response.status_code
1321
+ )
1322
+ end
1323
+
599
1324
 
600
1325
  ##
601
1326
  # Lists ContentInstance records from the API as a list.
@@ -635,6 +1360,28 @@ module Twilio
635
1360
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
636
1361
  end
637
1362
 
1363
+ ##
1364
+ # Lists ContentPageMetadata records from the API as a list.
1365
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
1366
+ # guarantees to never return more than limit. Default is no limit
1367
+ # @param [Integer] page_size Number of records to fetch per request, when
1368
+ # not set will use the default value of 50 records. If no page_size is defined
1369
+ # but a limit is defined, stream() will attempt to read the limit with the most
1370
+ # efficient page size, i.e. min(limit, 1000)
1371
+ # @return [Array] Array of up to limit results
1372
+ def list_with_metadata(limit: nil, page_size: nil)
1373
+ limits = @version.read_limits(limit, page_size)
1374
+ params = Twilio::Values.of({
1375
+
1376
+ 'PageSize' => limits[:page_size],
1377
+ });
1378
+ headers = Twilio::Values.of({})
1379
+
1380
+ response = @version.page('GET', @uri, params: params, headers: headers)
1381
+
1382
+ ContentPageMetadata.new(@version, response, @solution, limits[:limit])
1383
+ end
1384
+
638
1385
  ##
639
1386
  # When passed a block, yields ContentInstance records from the API.
640
1387
  # This operation lazily loads records as efficiently as possible until the limit
@@ -656,14 +1403,17 @@ module Twilio
656
1403
  # @param [Integer] page_number Page Number, this value is simply for client state
657
1404
  # @param [Integer] page_size Number of records to return, defaults to 50
658
1405
  # @return [Page] Page of ContentInstance
659
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
1406
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
660
1407
  params = Twilio::Values.of({
661
1408
  'PageToken' => page_token,
662
1409
  'Page' => page_number,
663
1410
  'PageSize' => page_size,
664
1411
  })
1412
+ headers = Twilio::Values.of({})
1413
+
1414
+
665
1415
 
666
- response = @version.page('GET', @uri, params: params)
1416
+ response = @version.page('GET', @uri, params: params, headers: headers)
667
1417
 
668
1418
  ContentPage.new(@version, response, @solution)
669
1419
  end
@@ -694,10 +1444,11 @@ module Twilio
694
1444
  ##
695
1445
  # Initialize the ContentContext
696
1446
  # @param [Version] version Version that contains the resource
697
- # @param [String] sid The Twilio-provided string that uniquely identifies the Content resource to fetch.
1447
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Content resource to update.
698
1448
  # @return [ContentContext] ContentContext
699
1449
  def initialize(version, sid)
700
1450
  super(version)
1451
+
701
1452
 
702
1453
  # Path Solution
703
1454
  @solution = { sid: sid, }
@@ -714,9 +1465,31 @@ module Twilio
714
1465
 
715
1466
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
716
1467
 
1468
+
1469
+
1470
+
717
1471
  @version.delete('DELETE', @uri, headers: headers)
718
1472
  end
719
1473
 
1474
+ ##
1475
+ # Delete the ContentInstanceMetadata
1476
+ # @return [Boolean] True if delete succeeds, false otherwise
1477
+ def delete_with_metadata
1478
+
1479
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1480
+
1481
+
1482
+
1483
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
1484
+ content_instance = ContentInstance.new(
1485
+ @version,
1486
+ response.body,
1487
+ account_sid: @solution[:account_sid],
1488
+ sid: @solution[:sid],
1489
+ )
1490
+ ContentInstanceMetadata.new(@version, content_instance, response.headers, response.status_code)
1491
+ end
1492
+
720
1493
  ##
721
1494
  # Fetch the ContentInstance
722
1495
  # @return [ContentInstance] Fetched ContentInstance
@@ -724,6 +1497,10 @@ module Twilio
724
1497
 
725
1498
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
726
1499
 
1500
+
1501
+
1502
+
1503
+
727
1504
  payload = @version.fetch('GET', @uri, headers: headers)
728
1505
  ContentInstance.new(
729
1506
  @version,
@@ -732,6 +1509,79 @@ module Twilio
732
1509
  )
733
1510
  end
734
1511
 
1512
+ ##
1513
+ # Fetch the ContentInstanceMetadata
1514
+ # @return [ContentInstance] Fetched ContentInstance
1515
+ def fetch_with_metadata
1516
+
1517
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
1524
+ content_instance = ContentInstance.new(
1525
+ @version,
1526
+ response.body,
1527
+ sid: @solution[:sid],
1528
+ )
1529
+ ContentInstanceMetadata.new(
1530
+ @version,
1531
+ content_instance,
1532
+ response.headers,
1533
+ response.status_code
1534
+ )
1535
+ end
1536
+
1537
+ ##
1538
+ # Update the ContentInstance
1539
+ # @param [ContentUpdateRequest] content_update_request
1540
+ # @return [ContentInstance] Updated ContentInstance
1541
+ def update(content_update_request: nil
1542
+ )
1543
+
1544
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1545
+ headers['Content-Type'] = 'application/json'
1546
+
1547
+
1548
+
1549
+
1550
+ payload = @version.update('PUT', @uri, headers: headers, data: content_update_request.to_json)
1551
+ ContentInstance.new(
1552
+ @version,
1553
+ payload,
1554
+ sid: @solution[:sid],
1555
+ )
1556
+ end
1557
+
1558
+ ##
1559
+ # Update the ContentInstanceMetadata
1560
+ # @param [ContentUpdateRequest] content_update_request
1561
+ # @return [ContentInstance] Updated ContentInstance
1562
+ def update_with_metadata(content_update_request: nil
1563
+ )
1564
+
1565
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1566
+ headers['Content-Type'] = 'application/json'
1567
+
1568
+
1569
+
1570
+
1571
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: content_update_request.to_json)
1572
+ content_instance = ContentInstance.new(
1573
+ @version,
1574
+ response.body,
1575
+ sid: @solution[:sid],
1576
+ )
1577
+ ContentInstanceMetadata.new(
1578
+ @version,
1579
+ content_instance,
1580
+ response.headers,
1581
+ response.status_code
1582
+ )
1583
+ end
1584
+
735
1585
  ##
736
1586
  # Access the approval_create
737
1587
  # @return [ApprovalCreateList]
@@ -769,6 +1619,53 @@ module Twilio
769
1619
  end
770
1620
  end
771
1621
 
1622
+ class ContentInstanceMetadata < InstanceResourceMetadata
1623
+ ##
1624
+ # Initializes a new ContentInstanceMetadata.
1625
+ # @param [Version] version Version that contains the resource
1626
+ # @param [}ContentInstance] content_instance The instance associated with the metadata.
1627
+ # @param [Hash] headers Header object with response headers.
1628
+ # @param [Integer] status_code The HTTP status code of the response.
1629
+ # @return [ContentInstanceMetadata] The initialized instance with metadata.
1630
+ def initialize(version, content_instance, headers, status_code)
1631
+ super(version, headers, status_code)
1632
+ @content_instance = content_instance
1633
+ end
1634
+
1635
+ def content
1636
+ @content_instance
1637
+ end
1638
+
1639
+ def headers
1640
+ @headers
1641
+ end
1642
+
1643
+ def status_code
1644
+ @status_code
1645
+ end
1646
+
1647
+ def to_s
1648
+ "<Twilio.Api.V2010.ContentInstanceMetadata status=#{@status_code}>"
1649
+ end
1650
+ end
1651
+
1652
+ class ContentListResponse < InstanceListResource
1653
+ # @param [Array<ContentInstance>] instance
1654
+ # @param [Hash{String => Object}] headers
1655
+ # @param [Integer] status_code
1656
+ def initialize(version, payload, key)
1657
+ @content_instance = payload.body[key].map do |data|
1658
+ ContentInstance.new(version, data)
1659
+ end
1660
+ @headers = payload.headers
1661
+ @status_code = payload.status_code
1662
+ end
1663
+
1664
+ def content_instance
1665
+ @instance
1666
+ end
1667
+ end
1668
+
772
1669
  class ContentPage < Page
773
1670
  ##
774
1671
  # Initialize the ContentPage
@@ -778,6 +1675,7 @@ module Twilio
778
1675
  # @return [ContentPage] ContentPage
779
1676
  def initialize(version, response, solution)
780
1677
  super(version, response)
1678
+
781
1679
 
782
1680
  # Path Solution
783
1681
  @solution = solution
@@ -797,6 +1695,66 @@ module Twilio
797
1695
  '<Twilio.Content.V1.ContentPage>'
798
1696
  end
799
1697
  end
1698
+
1699
+ class ContentPageMetadata < PageMetadata
1700
+ attr_reader :content_page
1701
+
1702
+ def initialize(version, response, solution, limit)
1703
+ super(version, response)
1704
+ @content_page = []
1705
+ @limit = limit
1706
+ key = get_key(response.body)
1707
+ records = 0
1708
+ while( limit != :unset && records < limit )
1709
+ @content_page << ContentListResponse.new(version, @payload, key, limit - records)
1710
+ @payload = self.next_page
1711
+ break unless @payload
1712
+ records += @payload.body[key].size
1713
+ end
1714
+ # Path Solution
1715
+ @solution = solution
1716
+ end
1717
+
1718
+ def each
1719
+ @content_page.each do |record|
1720
+ yield record
1721
+ end
1722
+ end
1723
+
1724
+ def to_s
1725
+ '<Twilio::REST::Content::V1PageMetadata>';
1726
+ end
1727
+ end
1728
+ class ContentListResponse < InstanceListResource
1729
+
1730
+ # @param [Array<ContentInstance>] instance
1731
+ # @param [Hash{String => Object}] headers
1732
+ # @param [Integer] status_code
1733
+ def initialize(version, payload, key, limit = :unset)
1734
+ data_list = payload.body[key]
1735
+ if limit != :unset
1736
+ data_list = data_list[0, limit]
1737
+ end
1738
+ @content = data_list.map do |data|
1739
+ ContentInstance.new(version, data)
1740
+ end
1741
+ @headers = payload.headers
1742
+ @status_code = payload.status_code
1743
+ end
1744
+
1745
+ def content
1746
+ @content
1747
+ end
1748
+
1749
+ def headers
1750
+ @headers
1751
+ end
1752
+
1753
+ def status_code
1754
+ @status_code
1755
+ end
1756
+ end
1757
+
800
1758
  class ContentInstance < InstanceResource
801
1759
  ##
802
1760
  # Initialize the ContentInstance
@@ -810,6 +1768,7 @@ module Twilio
810
1768
  def initialize(version, payload , sid: nil)
811
1769
  super(version)
812
1770
 
1771
+
813
1772
  # Marshaled Properties
814
1773
  @properties = {
815
1774
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
@@ -916,6 +1875,17 @@ module Twilio
916
1875
  context.fetch
917
1876
  end
918
1877
 
1878
+ ##
1879
+ # Update the ContentInstance
1880
+ # @param [ContentUpdateRequest] content_update_request
1881
+ # @return [ContentInstance] Updated ContentInstance
1882
+ def update(content_update_request: nil
1883
+ )
1884
+
1885
+ context.update(
1886
+ )
1887
+ end
1888
+
919
1889
  ##
920
1890
  # Access the approval_create
921
1891
  # @return [approval_create] approval_create