twilio-ruby 7.4.4 → 7.10.4

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 (590) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/workflows/test-and-deploy.yml +4 -3
  4. data/.gitignore +1 -0
  5. data/CHANGES.md +529 -0
  6. data/Dockerfile +3 -2
  7. data/README.md +2 -2
  8. data/cluster/cluster_oauth_spec.rb +4 -4
  9. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  10. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  11. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  12. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  13. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  14. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  15. data/lib/twilio-ruby/http/client_token_manager.rb +5 -2
  16. data/lib/twilio-ruby/http/org_token_manager.rb +5 -2
  17. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
  18. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +95 -1
  19. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
  20. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
  21. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
  22. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  23. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  24. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +154 -4
  25. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
  26. data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +313 -4
  29. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +125 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +125 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +125 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +125 -4
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +125 -4
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +125 -4
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +125 -4
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +245 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +237 -2
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +416 -20
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +446 -7
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +216 -2
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +395 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +336 -7
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +199 -2
  75. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
  76. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +214 -1
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +98 -5
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +98 -5
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +98 -5
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +98 -5
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +98 -5
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +98 -5
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +98 -5
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +98 -5
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +98 -5
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +280 -6
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
  106. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
  107. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
  108. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
  109. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
  110. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
  111. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
  112. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
  113. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
  114. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
  115. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
  116. data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
  117. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +134 -2
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +157 -1
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
  123. data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
  125. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
  126. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
  127. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
  128. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
  129. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
  130. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
  131. data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
  132. data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
  133. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
  137. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
  138. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
  139. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
  140. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
  141. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
  142. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
  143. data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
  144. data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
  145. data/lib/twilio-ruby/rest/client.rb +5 -5
  146. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
  147. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
  148. data/lib/twilio-ruby/rest/content/v1/content.rb +962 -6
  149. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
  150. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
  151. data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
  152. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
  153. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
  154. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
  157. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
  160. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
  161. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
  163. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
  164. data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
  165. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +189 -4
  166. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
  168. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
  169. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
  172. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
  173. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
  174. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
  176. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
  177. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
  178. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
  179. data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
  180. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
  181. data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
  182. data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
  183. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
  184. data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
  185. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
  186. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
  187. data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
  188. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
  189. data/lib/twilio-ruby/rest/events/v1/subscription.rb +253 -26
  190. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +241 -4
  191. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
  192. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
  193. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
  195. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +143 -4
  196. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
  197. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
  198. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
  199. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
  206. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
  207. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +223 -1
  209. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +258 -1
  210. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
  211. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
  212. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
  214. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
  217. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
  220. data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
  221. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -39
  222. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +111 -0
  223. data/lib/twilio-ruby/rest/flex_api_base.rb +1 -6
  224. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
  225. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
  226. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +95 -1
  227. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
  228. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  229. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  230. data/lib/twilio-ruby/rest/iam/v1.rb +21 -0
  231. data/lib/twilio-ruby/rest/iam_base.rb +1 -6
  232. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
  234. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
  235. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
  236. data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +184 -3
  238. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
  239. data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
  240. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
  241. data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
  242. data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
  243. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +570 -0
  244. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +641 -0
  245. data/lib/twilio-ruby/rest/insights/v2/report.rb +940 -0
  246. data/lib/twilio-ruby/rest/insights/v2.rb +79 -0
  247. data/lib/twilio-ruby/rest/insights_base.rb +6 -1
  248. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
  249. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
  250. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +169 -3
  253. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
  254. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +312 -2
  255. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  256. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  257. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
  258. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
  259. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +93 -4
  260. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +278 -1
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
  267. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
  268. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
  269. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
  280. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
  281. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
  282. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +129 -173
  283. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  284. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  285. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
  286. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  287. data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
  288. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +153 -2
  289. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  290. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  291. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +197 -13
  292. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  293. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  294. data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
  295. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
  296. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
  297. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
  298. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
  299. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
  300. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
  301. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
  302. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
  304. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
  305. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +245 -1
  306. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
  307. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
  308. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
  309. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
  310. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  311. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
  312. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
  313. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
  314. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
  316. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
  317. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +225 -3
  318. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
  319. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
  320. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +393 -12
  321. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/service.rb +336 -5
  323. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +717 -10
  324. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
  325. data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
  326. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  327. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  328. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  329. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  330. data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
  331. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
  332. data/lib/twilio-ruby/rest/monitor/v1/event.rb +172 -2
  333. data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
  334. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
  335. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
  336. data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
  337. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
  339. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  340. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  341. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +320 -8
  342. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
  343. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
  344. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
  345. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
  346. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  347. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
  348. data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +107 -20
  349. data/lib/twilio-ruby/rest/numbers/v1.rb +22 -4
  350. data/lib/twilio-ruby/rest/numbers/v2/application.rb +707 -0
  351. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
  352. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
  353. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
  354. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
  355. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
  356. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
  357. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
  358. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
  359. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
  360. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -3
  361. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
  362. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
  363. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
  364. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
  365. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
  366. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  367. data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
  368. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  369. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  370. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  371. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
  372. data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
  373. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  374. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  375. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  376. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  377. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
  378. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
  379. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
  380. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
  381. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
  382. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
  383. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
  384. data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
  385. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
  386. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
  387. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
  388. data/lib/twilio-ruby/rest/preview_base.rb +0 -5
  389. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
  390. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
  391. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
  392. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
  393. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +436 -1
  394. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
  395. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
  396. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  397. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
  398. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  399. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
  400. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
  401. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  402. data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
  403. data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
  405. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
  406. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  407. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
  408. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
  409. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
  412. data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -28
  413. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
  414. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
  415. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
  417. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
  418. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
  419. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
  420. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
  421. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +168 -2
  422. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
  423. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
  424. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
  426. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
  427. data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
  428. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
  429. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
  430. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +175 -1
  431. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
  432. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
  433. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
  434. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +175 -1
  435. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
  436. data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
  437. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
  438. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
  439. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +175 -1
  440. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +269 -1
  441. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +167 -1
  442. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
  443. data/lib/twilio-ruby/rest/studio/v2/flow.rb +267 -1
  444. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
  445. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
  446. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
  447. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
  448. data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
  449. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
  450. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
  451. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
  452. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
  453. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
  454. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
  455. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
  456. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
  457. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
  458. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
  459. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
  460. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
  461. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
  462. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
  463. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
  464. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
  465. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
  466. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
  467. data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
  468. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
  469. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
  470. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +362 -3
  471. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +311 -2
  472. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +354 -3
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
  494. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
  495. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
  496. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
  497. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +213 -2
  498. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
  499. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +291 -1
  500. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +187 -4
  501. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
  502. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +251 -1
  503. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
  504. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
  505. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
  506. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
  507. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
  508. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
  509. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
  510. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
  511. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
  512. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
  513. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
  514. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
  515. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
  516. data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
  517. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
  518. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
  519. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  520. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
  521. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
  522. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
  523. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +142 -0
  524. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
  525. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
  526. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  527. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  528. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  529. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
  530. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
  531. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +254 -1
  532. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
  533. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
  534. data/lib/twilio-ruby/rest/verify/v2/service.rb +529 -2
  535. data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
  536. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +178 -4
  537. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +159 -3
  538. data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
  539. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
  540. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
  541. data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
  542. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
  543. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
  544. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
  545. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
  546. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
  547. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
  548. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
  549. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
  550. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +657 -0
  551. data/lib/twilio-ruby/rest/video/v1/room.rb +311 -1
  552. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
  553. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
  554. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
  555. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
  556. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
  557. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
  558. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
  559. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
  560. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  561. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
  562. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
  563. data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
  564. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +282 -2
  565. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
  566. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
  567. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
  568. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
  569. data/lib/twilio-ruby/twiml/voice_response.rb +183 -18
  570. data/lib/twilio-ruby/version.rb +1 -1
  571. data/twilio-ruby.gemspec +1 -3
  572. metadata +50 -61
  573. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -382
  574. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -375
  575. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -213
  576. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -398
  577. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -391
  578. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -441
  579. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  580. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  581. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -407
  582. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -472
  583. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -467
  584. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -407
  585. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -444
  586. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -470
  587. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -407
  588. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -444
  589. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -529
  590. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -430
@@ -41,13 +41,637 @@ 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
  {
@@ -56,6 +680,7 @@ module Twilio
56
680
  "url": @url,
57
681
  "phone": @phone,
58
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,6 +701,7 @@ 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
  {
@@ -84,6 +711,7 @@ module Twilio
84
711
  "phone": @phone,
85
712
  "id": @id,
86
713
  "code": @code,
714
+ "webview_size": @webview_size,
87
715
  }.to_json(options)
88
716
  end
89
717
  end
@@ -185,6 +813,28 @@ module Twilio
185
813
  end
186
814
  end
187
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,
834
+ }.to_json(options)
835
+ end
836
+ end
837
+
188
838
  class FlowsPage
189
839
  # @param [id]: [String]
190
840
  # @param [next_page_id]: [String]
@@ -397,17 +1047,23 @@ module Twilio
397
1047
  # @param [latitude]: [Float]
398
1048
  # @param [longitude]: [Float]
399
1049
  # @param [label]: [String]
400
- attr_accessor :latitude, :longitude, :label
1050
+ # @param [id]: [String]
1051
+ # @param [address]: [String]
1052
+ attr_accessor :latitude, :longitude, :label, :id, :address
401
1053
  def initialize(payload)
402
1054
  @latitude = payload["latitude"]
403
1055
  @longitude = payload["longitude"]
404
1056
  @label = payload["label"]
1057
+ @id = payload["id"]
1058
+ @address = payload["address"]
405
1059
  end
406
1060
  def to_json(options = {})
407
1061
  {
408
1062
  "latitude": @latitude,
409
1063
  "longitude": @longitude,
410
1064
  "label": @label,
1065
+ "id": @id,
1066
+ "address": @address,
411
1067
  }.to_json(options)
412
1068
  end
413
1069
  end
@@ -490,7 +1146,8 @@ module Twilio
490
1146
  # @param [twilio_schedule]: [ContentList.TwilioSchedule]
491
1147
  # @param [whatsapp_card]: [ContentList.WhatsappCard]
492
1148
  # @param [whatsapp_authentication]: [ContentList.WhatsappAuthentication]
493
- 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
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
494
1151
  def initialize(payload)
495
1152
  @twilio_text = payload["twilio_text"]
496
1153
  @twilio_media = payload["twilio_media"]
@@ -505,6 +1162,7 @@ module Twilio
505
1162
  @twilio_schedule = payload["twilio_schedule"]
506
1163
  @whatsapp_card = payload["whatsapp_card"]
507
1164
  @whatsapp_authentication = payload["whatsapp_authentication"]
1165
+ @whatsapp_flows = payload["whatsapp_flows"]
508
1166
  end
509
1167
  def to_json(options = {})
510
1168
  {
@@ -521,6 +1179,7 @@ module Twilio
521
1179
  "twilio/schedule": @twilio_schedule,
522
1180
  "whatsapp/card": @whatsapp_card,
523
1181
  "whatsapp/authentication": @whatsapp_authentication,
1182
+ "whatsapp/flows": @whatsapp_flows,
524
1183
  }.to_json(options)
525
1184
  end
526
1185
  end
@@ -569,6 +1228,40 @@ module Twilio
569
1228
  end
570
1229
  end
571
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,
1261
+ }.to_json(options)
1262
+ end
1263
+ end
1264
+
572
1265
 
573
1266
  ##
574
1267
  # Initialize the ContentList
@@ -576,6 +1269,7 @@ module Twilio
576
1269
  # @return [ContentList] ContentList
577
1270
  def initialize(version)
578
1271
  super(version)
1272
+
579
1273
  # Path Solution
580
1274
  @solution = { }
581
1275
  @uri = "/Content"
@@ -601,6 +1295,32 @@ module Twilio
601
1295
  )
602
1296
  end
603
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
+
604
1324
 
605
1325
  ##
606
1326
  # Lists ContentInstance records from the API as a list.
@@ -640,6 +1360,28 @@ module Twilio
640
1360
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
641
1361
  end
642
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
+
643
1385
  ##
644
1386
  # When passed a block, yields ContentInstance records from the API.
645
1387
  # This operation lazily loads records as efficiently as possible until the limit
@@ -661,7 +1403,7 @@ module Twilio
661
1403
  # @param [Integer] page_number Page Number, this value is simply for client state
662
1404
  # @param [Integer] page_size Number of records to return, defaults to 50
663
1405
  # @return [Page] Page of ContentInstance
664
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
1406
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
665
1407
  params = Twilio::Values.of({
666
1408
  'PageToken' => page_token,
667
1409
  'Page' => page_number,
@@ -702,10 +1444,11 @@ module Twilio
702
1444
  ##
703
1445
  # Initialize the ContentContext
704
1446
  # @param [Version] version Version that contains the resource
705
- # @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.
706
1448
  # @return [ContentContext] ContentContext
707
1449
  def initialize(version, sid)
708
1450
  super(version)
1451
+
709
1452
 
710
1453
  # Path Solution
711
1454
  @solution = { sid: sid, }
@@ -724,9 +1467,29 @@ module Twilio
724
1467
 
725
1468
 
726
1469
 
1470
+
727
1471
  @version.delete('DELETE', @uri, headers: headers)
728
1472
  end
729
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
+
730
1493
  ##
731
1494
  # Fetch the ContentInstance
732
1495
  # @return [ContentInstance] Fetched ContentInstance
@@ -746,6 +1509,79 @@ module Twilio
746
1509
  )
747
1510
  end
748
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
+
749
1585
  ##
750
1586
  # Access the approval_create
751
1587
  # @return [ApprovalCreateList]
@@ -783,6 +1619,53 @@ module Twilio
783
1619
  end
784
1620
  end
785
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
+
786
1669
  class ContentPage < Page
787
1670
  ##
788
1671
  # Initialize the ContentPage
@@ -792,6 +1675,7 @@ module Twilio
792
1675
  # @return [ContentPage] ContentPage
793
1676
  def initialize(version, response, solution)
794
1677
  super(version, response)
1678
+
795
1679
 
796
1680
  # Path Solution
797
1681
  @solution = solution
@@ -811,6 +1695,66 @@ module Twilio
811
1695
  '<Twilio.Content.V1.ContentPage>'
812
1696
  end
813
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
+
814
1758
  class ContentInstance < InstanceResource
815
1759
  ##
816
1760
  # Initialize the ContentInstance
@@ -824,6 +1768,7 @@ module Twilio
824
1768
  def initialize(version, payload , sid: nil)
825
1769
  super(version)
826
1770
 
1771
+
827
1772
  # Marshaled Properties
828
1773
  @properties = {
829
1774
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
@@ -930,6 +1875,17 @@ module Twilio
930
1875
  context.fetch
931
1876
  end
932
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
+
933
1889
  ##
934
1890
  # Access the approval_create
935
1891
  # @return [approval_create] approval_create