twilio-ruby 6.8.0 → 7.10.7

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 (761) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +17 -8
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1303 -1
  8. data/Dockerfile +3 -2
  9. data/Gemfile +5 -0
  10. data/Makefile +4 -1
  11. data/README.md +7 -2
  12. data/UPGRADE.md +11 -0
  13. data/cluster/cluster_oauth_spec.rb +19 -0
  14. data/cluster/cluster_orgs_spec.rb +40 -0
  15. data/{cluster_spec.rb → cluster/cluster_spec.rb} +0 -2
  16. data/examples/public_oauth.rb +13 -0
  17. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  18. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  19. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  20. data/lib/twilio-ruby/base/client_base.rb +12 -2
  21. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  22. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  23. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  24. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  25. data/lib/twilio-ruby/framework/request.rb +8 -1
  26. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  27. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  28. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  29. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  30. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  31. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  32. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  33. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  34. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  35. data/lib/twilio-ruby/http/http_client.rb +22 -5
  36. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  37. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +143 -1
  38. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  40. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +295 -14
  41. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +295 -14
  42. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +64 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +177 -10
  45. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +168 -2
  46. data/lib/twilio-ruby/rest/accounts/v1.rb +29 -2
  47. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +102 -5
  48. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +385 -42
  49. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +427 -57
  50. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +183 -20
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +141 -8
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +141 -8
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +141 -8
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +141 -8
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +141 -8
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +141 -8
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +141 -8
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +183 -6
  59. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +96 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +102 -5
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +192 -6
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +283 -28
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +330 -19
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1004 -207
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1010 -213
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +559 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +109 -3
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +186 -5
  69. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +550 -120
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +572 -86
  71. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +263 -12
  72. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +274 -36
  73. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +285 -24
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +185 -8
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +250 -11
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +238 -29
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +238 -29
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +238 -29
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +507 -79
  80. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +250 -10
  81. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +105 -2
  82. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +215 -7
  83. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +421 -52
  84. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +104 -2
  85. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +104 -2
  86. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +191 -6
  87. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +254 -10
  88. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +232 -11
  89. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +299 -15
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +232 -8
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +209 -7
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +209 -7
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +229 -10
  95. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +254 -19
  96. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +250 -10
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +297 -13
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +290 -12
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +250 -9
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +250 -9
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +64 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +250 -9
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +64 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +64 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +250 -9
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +250 -9
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +398 -48
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +311 -18
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +290 -12
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +64 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +104 -2
  112. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +208 -7
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +114 -9
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +114 -9
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +114 -9
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +114 -9
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +114 -9
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +114 -9
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +114 -9
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +114 -9
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +114 -9
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +335 -27
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +64 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +124 -7
  125. data/lib/twilio-ruby/rest/api/v2010/account.rb +271 -13
  126. data/lib/twilio-ruby/rest/api/v2010.rb +1 -0
  127. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +558 -0
  128. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +558 -0
  129. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +431 -0
  130. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +927 -0
  132. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → assistants/v1/knowledge/chunk.rb} +145 -169
  133. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  134. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +871 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +364 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +360 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/session.rb +501 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +847 -0
  139. data/lib/twilio-ruby/rest/assistants/v1.rb +104 -0
  140. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  141. data/lib/twilio-ruby/rest/{autopilot_base.rb → assistants_base.rb} +6 -6
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +183 -6
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +163 -13
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +170 -3
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +144 -1
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +195 -8
  147. data/lib/twilio-ruby/rest/bulkexports/v1.rb +2 -0
  148. data/lib/twilio-ruby/rest/chat/v1/credential.rb +336 -28
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +257 -10
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +305 -15
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +308 -16
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +315 -19
  153. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +298 -14
  154. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +102 -5
  155. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +312 -19
  156. data/lib/twilio-ruby/rest/chat/v1/service.rb +552 -118
  157. data/lib/twilio-ruby/rest/chat/v1.rb +2 -0
  158. data/lib/twilio-ruby/rest/chat/v2/credential.rb +336 -28
  159. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +214 -7
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +257 -10
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +354 -33
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +353 -33
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +342 -28
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +351 -33
  165. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +298 -14
  166. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +212 -7
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +266 -16
  168. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +317 -22
  169. data/lib/twilio-ruby/rest/chat/v2/service.rb +437 -72
  170. data/lib/twilio-ruby/rest/chat/v2.rb +2 -0
  171. data/lib/twilio-ruby/rest/chat/v3/channel.rb +162 -7
  172. data/lib/twilio-ruby/rest/chat/v3.rb +6 -0
  173. data/lib/twilio-ruby/rest/client.rb +26 -11
  174. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  175. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +144 -3
  176. data/lib/twilio-ruby/rest/content/v1/content.rb +1577 -10
  177. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +102 -5
  178. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +102 -5
  179. data/lib/twilio-ruby/rest/content/v1.rb +1 -0
  180. data/lib/twilio-ruby/rest/content/v2/content.rb +433 -0
  181. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +426 -0
  182. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  183. data/lib/twilio-ruby/rest/content_base.rb +6 -1
  184. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +373 -39
  185. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +206 -15
  186. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +198 -10
  187. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +184 -6
  188. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +360 -37
  189. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +367 -40
  190. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +334 -26
  191. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +421 -76
  192. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +341 -30
  194. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +106 -5
  195. data/lib/twilio-ruby/rest/conversations/v1/role.rb +295 -14
  196. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +217 -10
  197. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +245 -28
  198. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +200 -10
  199. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +216 -26
  200. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +185 -6
  201. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +363 -37
  202. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +370 -40
  203. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +337 -26
  204. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +425 -77
  205. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +106 -5
  207. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +298 -14
  208. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +262 -14
  209. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +321 -24
  210. data/lib/twilio-ruby/rest/conversations/v1/service.rb +283 -27
  211. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +260 -14
  212. data/lib/twilio-ruby/rest/conversations/v1/user.rb +318 -24
  213. data/lib/twilio-ruby/rest/conversations/v1.rb +12 -0
  214. data/lib/twilio-ruby/rest/conversations/v2/action.rb +507 -0
  215. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +698 -0
  216. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +1208 -0
  217. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +1365 -0
  218. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +369 -0
  219. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +745 -0
  220. data/lib/twilio-ruby/rest/conversations/v2.rb +142 -0
  221. data/lib/twilio-ruby/rest/conversations_base.rb +6 -1
  222. data/lib/twilio-ruby/rest/events/v1/event_type.rb +198 -8
  223. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +183 -8
  224. data/lib/twilio-ruby/rest/events/v1/schema.rb +144 -3
  225. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +96 -1
  226. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +104 -2
  227. data/lib/twilio-ruby/rest/events/v1/sink.rb +299 -16
  228. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +298 -19
  229. data/lib/twilio-ruby/rest/events/v1/subscription.rb +297 -22
  230. data/lib/twilio-ruby/rest/events/v1.rb +4 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +288 -31
  232. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +282 -18
  233. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +216 -3
  234. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +433 -60
  235. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +172 -16
  236. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +106 -5
  237. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +331 -30
  238. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +266 -18
  239. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +305 -30
  240. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +109 -5
  241. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +147 -5
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +98 -2
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +98 -2
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +147 -5
  245. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +143 -7
  246. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +251 -11
  247. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +548 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +257 -11
  249. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +275 -5
  250. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +629 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +708 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +572 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +607 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +547 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +312 -19
  260. data/lib/twilio-ruby/rest/flex_api/v1.rb +137 -0
  261. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  262. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +125 -5
  263. data/lib/twilio-ruby/rest/flex_api/v2.rb +43 -0
  264. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +200 -12
  265. data/lib/twilio-ruby/rest/frontline_api/v1.rb +1 -0
  266. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  267. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +328 -0
  268. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  269. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +647 -0
  270. data/lib/twilio-ruby/rest/iam/v1/role_permission.rb +327 -0
  271. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  272. data/lib/twilio-ruby/rest/iam/v1.rb +99 -0
  273. data/lib/twilio-ruby/rest/iam.rb +6 -0
  274. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  275. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +216 -19
  276. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +162 -13
  277. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +108 -9
  278. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +106 -5
  279. data/lib/twilio-ruby/rest/insights/v1/call.rb +144 -1
  280. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +267 -26
  281. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +202 -10
  282. data/lib/twilio-ruby/rest/insights/v1/conference.rb +202 -6
  283. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +183 -8
  284. data/lib/twilio-ruby/rest/insights/v1/room.rb +194 -8
  285. data/lib/twilio-ruby/rest/insights/v1/setting.rb +201 -10
  286. data/lib/twilio-ruby/rest/insights/v1.rb +3 -0
  287. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +579 -0
  288. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +650 -0
  289. data/lib/twilio-ruby/rest/insights/v2/report.rb +941 -0
  290. data/lib/twilio-ruby/rest/insights/v2.rb +82 -0
  291. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +227 -0
  292. data/lib/twilio-ruby/rest/insights/v3/query.rb +394 -0
  293. data/lib/twilio-ruby/rest/insights/v3.rb +46 -0
  294. data/lib/twilio-ruby/rest/insights_base.rb +11 -1
  295. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +728 -0
  296. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +533 -0
  297. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  298. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  299. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +539 -0
  300. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +533 -0
  301. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +392 -50
  302. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +152 -5
  305. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +207 -10
  306. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +124 -10
  307. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +333 -30
  308. data/lib/twilio-ruby/rest/intelligence/v2.rb +125 -0
  309. data/lib/twilio-ruby/rest/intelligence/v3/configuration.rb +1073 -0
  310. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +602 -0
  311. data/lib/twilio-ruby/rest/intelligence/v3/operator.rb +784 -0
  312. data/lib/twilio-ruby/rest/intelligence/v3/operator_result.rb +622 -0
  313. data/lib/twilio-ruby/rest/intelligence/v3/version.rb +556 -0
  314. data/lib/twilio-ruby/rest/intelligence/v3.rb +120 -0
  315. data/lib/twilio-ruby/rest/intelligence_base.rb +6 -1
  316. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +336 -28
  317. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +257 -10
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +305 -15
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +308 -16
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +315 -19
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +298 -14
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +102 -5
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +312 -19
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +552 -118
  325. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +2 -0
  326. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +336 -28
  327. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +214 -7
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +257 -10
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +354 -33
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +353 -33
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +342 -28
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +351 -33
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +298 -14
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +212 -7
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +262 -14
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +317 -22
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +437 -72
  338. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +2 -0
  339. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +325 -0
  340. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  341. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +865 -0
  342. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +17 -16
  343. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +306 -0
  344. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +714 -0
  345. data/lib/twilio-ruby/rest/knowledge/v2/knowledge_basis.rb +739 -0
  346. data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +376 -0
  347. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +355 -0
  348. data/lib/twilio-ruby/rest/knowledge/v2.rb +145 -0
  349. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  350. data/lib/twilio-ruby/rest/knowledge_base.rb +43 -0
  351. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +170 -12
  352. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +501 -0
  354. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +605 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +252 -44
  356. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  357. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  358. data/lib/twilio-ruby/rest/lookups/v2.rb +99 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +483 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +509 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +563 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +743 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +94 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +362 -0
  371. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +798 -0
  372. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +843 -0
  373. data/lib/twilio-ruby/rest/memory/v1/event.rb +320 -0
  374. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +710 -0
  375. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +442 -0
  376. data/lib/twilio-ruby/rest/memory/v1/import.rb +574 -0
  377. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +250 -0
  378. data/lib/twilio-ruby/rest/memory/v1/observation.rb +786 -0
  379. data/lib/twilio-ruby/rest/memory/v1/operation.rb +376 -0
  380. data/lib/twilio-ruby/rest/memory/v1/profile.rb +721 -0
  381. data/lib/twilio-ruby/rest/memory/v1/recall.rb +366 -0
  382. data/lib/twilio-ruby/rest/memory/v1/revision.rb +349 -0
  383. data/lib/twilio-ruby/rest/memory/v1/store.rb +746 -0
  384. data/lib/twilio-ruby/rest/memory/v1/trait.rb +336 -0
  385. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +904 -0
  386. data/lib/twilio-ruby/rest/memory/v1.rb +475 -0
  387. data/lib/twilio-ruby/rest/memory.rb +6 -0
  388. data/lib/twilio-ruby/rest/{media_base.rb → memory_base.rb} +6 -6
  389. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +96 -1
  390. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +229 -11
  391. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +296 -17
  392. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +151 -3
  393. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +210 -7
  394. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +200 -12
  395. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +144 -3
  396. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  397. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +113 -3
  398. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +170 -4
  399. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +144 -3
  400. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  401. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +248 -11
  402. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +282 -9
  403. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +616 -0
  404. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +248 -11
  405. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +248 -11
  406. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +543 -30
  407. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +103 -2
  408. data/lib/twilio-ruby/rest/messaging/v1/service.rb +453 -63
  409. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +870 -83
  410. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +95 -1
  411. data/lib/twilio-ruby/rest/messaging/v1.rb +46 -1
  412. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1017 -0
  413. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  414. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  415. data/lib/twilio-ruby/rest/messaging/v2.rb +72 -0
  416. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +247 -0
  417. data/lib/twilio-ruby/rest/messaging/v3.rb +40 -0
  418. data/lib/twilio-ruby/rest/messaging_base.rb +11 -1
  419. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +188 -6
  420. data/lib/twilio-ruby/rest/monitor/v1/event.rb +195 -7
  421. data/lib/twilio-ruby/rest/monitor/v1.rb +2 -0
  422. data/lib/twilio-ruby/rest/notify/v1/credential.rb +336 -30
  423. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +282 -17
  424. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +173 -20
  425. data/lib/twilio-ruby/rest/notify/v1/service.rb +410 -57
  426. data/lib/twilio-ruby/rest/notify/v1.rb +2 -0
  427. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +190 -3
  428. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  429. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  430. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +375 -0
  431. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  432. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  433. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +168 -26
  434. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  435. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  436. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  437. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +403 -0
  438. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  439. data/lib/twilio-ruby/rest/numbers/v1.rb +125 -12
  440. data/lib/twilio-ruby/rest/numbers/v2/application.rb +715 -0
  441. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +110 -5
  442. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +270 -16
  443. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +198 -5
  444. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  445. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +448 -27
  446. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +142 -7
  447. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +215 -7
  448. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +248 -9
  449. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +104 -2
  450. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +376 -30
  451. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +300 -16
  452. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +182 -6
  453. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +218 -11
  454. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +307 -16
  455. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +182 -6
  456. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +64 -0
  457. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  458. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  459. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  460. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  461. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  462. data/lib/twilio-ruby/rest/oauth/v1/token.rb +149 -27
  463. data/lib/twilio-ruby/rest/oauth/v1.rb +4 -22
  464. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  465. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  466. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  467. data/lib/twilio-ruby/rest/oauth.rb +2 -29
  468. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  469. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +112 -5
  470. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +316 -30
  471. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +406 -48
  472. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +2 -0
  473. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +183 -8
  474. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +182 -8
  475. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +225 -11
  476. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +304 -19
  477. data/lib/twilio-ruby/rest/preview/marketplace.rb +2 -0
  478. data/lib/twilio-ruby/rest/preview/wireless/command.rb +253 -16
  479. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +328 -25
  480. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +157 -7
  481. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +308 -41
  482. data/lib/twilio-ruby/rest/preview/wireless.rb +3 -0
  483. data/lib/twilio-ruby/rest/preview.rb +1 -20
  484. data/lib/twilio-ruby/rest/preview_base.rb +0 -15
  485. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  486. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  487. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  488. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +476 -0
  489. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +603 -0
  490. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +981 -0
  491. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  492. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +50 -0
  493. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  494. data/lib/twilio-ruby/rest/{microvisor_base.rb → preview_iam_base.rb} +6 -6
  495. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +182 -6
  496. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +64 -0
  497. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +182 -6
  498. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +64 -0
  499. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +182 -6
  500. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +144 -1
  501. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +64 -0
  502. data/lib/twilio-ruby/rest/pricing/v1.rb +22 -4
  503. data/lib/twilio-ruby/rest/pricing/v2/country.rb +182 -6
  504. data/lib/twilio-ruby/rest/pricing/v2/number.rb +152 -3
  505. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +182 -6
  506. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +152 -3
  507. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +64 -0
  508. data/lib/twilio-ruby/rest/pricing/v2.rb +13 -2
  509. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +298 -16
  510. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +210 -10
  511. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +231 -11
  512. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +262 -14
  513. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +320 -23
  514. data/lib/twilio-ruby/rest/proxy/v1/service.rb +350 -62
  515. data/lib/twilio-ruby/rest/proxy/v1.rb +1 -0
  516. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +190 -6
  517. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +190 -6
  518. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +190 -6
  519. data/lib/twilio-ruby/rest/routes/v2.rb +3 -0
  520. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +184 -8
  521. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +290 -14
  522. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +145 -3
  523. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +260 -14
  524. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +231 -10
  525. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +191 -9
  526. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +302 -17
  527. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +252 -12
  528. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +146 -3
  529. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +184 -8
  530. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +290 -14
  531. data/lib/twilio-ruby/rest/serverless/v1/service.rb +309 -21
  532. data/lib/twilio-ruby/rest/serverless/v1.rb +1 -0
  533. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +145 -1
  534. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +146 -1
  535. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +198 -6
  536. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +256 -11
  537. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +145 -1
  538. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +146 -1
  539. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +198 -6
  540. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +302 -14
  541. data/lib/twilio-ruby/rest/studio/v1/flow.rb +207 -7
  542. data/lib/twilio-ruby/rest/studio/v1.rb +1 -0
  543. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +145 -1
  544. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +146 -1
  545. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +198 -6
  546. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +333 -16
  547. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +190 -6
  548. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +185 -4
  549. data/lib/twilio-ruby/rest/studio/v2/flow.rb +336 -21
  550. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +115 -5
  551. data/lib/twilio-ruby/rest/studio/v2.rb +1 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +243 -17
  553. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +326 -33
  554. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +249 -15
  555. data/lib/twilio-ruby/rest/supersim/v1/network.rb +188 -8
  556. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +248 -11
  557. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +266 -14
  558. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +106 -5
  559. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +102 -5
  560. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +102 -5
  561. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +297 -24
  562. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +239 -13
  563. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +118 -5
  564. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  565. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +262 -14
  566. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +306 -18
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +333 -25
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +262 -14
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +303 -16
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +337 -26
  571. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +262 -14
  572. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +303 -16
  573. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +105 -2
  574. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +294 -13
  575. data/lib/twilio-ruby/rest/sync/v1/service.rb +341 -30
  576. data/lib/twilio-ruby/rest/sync/v1.rb +1 -0
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +298 -13
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +205 -6
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +505 -117
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +411 -41
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +303 -16
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +173 -11
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +154 -4
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +173 -11
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +114 -5
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +351 -27
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +493 -113
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +232 -11
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +168 -9
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +167 -9
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +152 -3
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +182 -15
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +336 -24
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +173 -11
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +153 -3
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +173 -11
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +333 -26
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +172 -11
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +152 -3
  601. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +172 -11
  602. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +339 -29
  603. data/lib/twilio-ruby/rest/taskrouter/v1.rb +1 -0
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +248 -9
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +248 -9
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +326 -24
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +249 -10
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +190 -6
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +357 -33
  610. data/lib/twilio-ruby/rest/trunking/v1.rb +1 -0
  611. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +213 -5
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +256 -10
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +258 -11
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +223 -8
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +327 -21
  618. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +300 -16
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +182 -6
  620. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +182 -6
  621. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +300 -16
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +182 -6
  623. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +256 -10
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +258 -11
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +223 -8
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +345 -39
  627. data/lib/twilio-ruby/rest/trusthub/v1.rb +31 -1
  628. data/lib/twilio-ruby/rest/verify/v2/form.rb +144 -3
  629. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +208 -6
  630. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +197 -6
  631. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  632. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +106 -2
  633. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +299 -18
  634. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +292 -26
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +164 -15
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +248 -9
  637. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +294 -13
  638. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +479 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  640. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +302 -15
  642. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +294 -13
  643. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +301 -23
  644. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +127 -7
  645. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +332 -30
  646. data/lib/twilio-ruby/rest/verify/v2/service.rb +667 -65
  647. data/lib/twilio-ruby/rest/verify/v2/template.rb +104 -5
  648. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +202 -10
  649. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +179 -16
  650. data/lib/twilio-ruby/rest/verify/v2.rb +4 -0
  651. data/lib/twilio-ruby/rest/video/v1/composition.rb +286 -17
  652. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +376 -39
  653. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +211 -17
  654. data/lib/twilio-ruby/rest/video/v1/recording.rb +220 -7
  655. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +211 -17
  656. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +145 -1
  657. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +184 -6
  658. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +138 -3
  659. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +184 -6
  660. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +233 -9
  661. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +136 -3
  662. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +216 -7
  663. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +665 -0
  664. data/lib/twilio-ruby/rest/video/v1/room.rb +379 -39
  665. data/lib/twilio-ruby/rest/video/v1.rb +4 -0
  666. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +137 -3
  667. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +368 -39
  668. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +326 -24
  669. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +287 -12
  670. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +103 -2
  671. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +102 -5
  672. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +194 -8
  673. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +183 -6
  674. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +64 -0
  675. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +295 -14
  676. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +291 -13
  677. data/lib/twilio-ruby/rest/voice/v1.rb +10 -0
  678. data/lib/twilio-ruby/rest/voice/v3/transcription.rb +514 -0
  679. data/lib/twilio-ruby/rest/voice/v3.rb +50 -0
  680. data/lib/twilio-ruby/rest/voice_base.rb +6 -1
  681. data/lib/twilio-ruby/rest/wireless/v1/command.rb +278 -15
  682. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +338 -24
  683. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +102 -5
  684. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +108 -5
  685. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +343 -44
  686. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +108 -5
  687. data/lib/twilio-ruby/rest/wireless/v1.rb +3 -0
  688. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  689. data/lib/twilio-ruby/twiml/voice_response.rb +403 -24
  690. data/lib/twilio-ruby/version.rb +1 -1
  691. data/twilio-ruby.gemspec +4 -3
  692. metadata +193 -88
  693. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -264
  694. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -328
  695. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -241
  696. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -217
  697. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -389
  698. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -435
  699. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -409
  700. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -473
  701. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -241
  702. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -373
  703. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -436
  704. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -253
  705. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -226
  706. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -525
  707. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -433
  708. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -683
  709. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -207
  710. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -55
  711. data/lib/twilio-ruby/rest/autopilot.rb +0 -22
  712. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -420
  713. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -404
  714. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -252
  715. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -432
  716. data/lib/twilio-ruby/rest/media/v1.rb +0 -79
  717. data/lib/twilio-ruby/rest/media.rb +0 -35
  718. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -358
  719. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -351
  720. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -208
  721. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -374
  722. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -367
  723. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -427
  724. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  725. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  726. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +0 -229
  727. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -171
  728. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -185
  729. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -262
  730. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -213
  731. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -417
  732. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -401
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -456
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -414
  735. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -504
  736. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -49
  737. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -389
  738. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -449
  739. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -445
  740. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -389
  741. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -426
  742. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -448
  743. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -389
  744. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -426
  745. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -505
  746. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -241
  747. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -241
  748. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -217
  749. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -389
  750. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -435
  751. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -409
  752. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -463
  753. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -241
  754. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  755. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -436
  756. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -253
  757. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -226
  758. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -525
  759. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -663
  760. data/lib/twilio-ruby/rest/preview/understand.rb +0 -49
  761. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -406
@@ -18,17 +18,1309 @@ module Twilio
18
18
  class Content < ContentBase
19
19
  class V1 < Version
20
20
  class ContentList < ListResource
21
+
22
+ class AuthenticationAction
23
+ # @param [type]: [AuthenticationActionType]
24
+ # @param [copy_code_text]: [String]
25
+ attr_accessor :type, :copy_code_text
26
+ def initialize(payload)
27
+ @type = payload["type"]
28
+ @copy_code_text = payload["copy_code_text"]
29
+ end
30
+ def to_json(options = {})
31
+ {
32
+ "type": @type,
33
+ "copy_code_text": @copy_code_text,
34
+ }.to_json(options)
35
+ end
36
+ end
37
+
38
+ class CallToActionAction
39
+ # @param [type]: [CallToActionActionType]
40
+ # @param [title]: [String]
41
+ # @param [url]: [String]
42
+ # @param [phone]: [String]
43
+ # @param [code]: [String]
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
668
+ def initialize(payload)
669
+ @type = payload["type"]
670
+ @title = payload["title"]
671
+ @url = payload["url"]
672
+ @phone = payload["phone"]
673
+ @code = payload["code"]
674
+ @id = payload["id"]
675
+ end
676
+ def to_json(options = {})
677
+ {
678
+ "type": @type,
679
+ "title": @title,
680
+ "url": @url,
681
+ "phone": @phone,
682
+ "code": @code,
683
+ "id": @id,
684
+ }.to_json(options)
685
+ end
686
+ end
687
+
688
+ class CardAction
689
+ # @param [type]: [CardActionType]
690
+ # @param [title]: [String]
691
+ # @param [url]: [String]
692
+ # @param [phone]: [String]
693
+ # @param [id]: [String]
694
+ # @param [code]: [String]
695
+ # @param [webview_size]: [WebviewSizeType]
696
+ attr_accessor :type, :title, :url, :phone, :id, :code, :webview_size
697
+ def initialize(payload)
698
+ @type = payload["type"]
699
+ @title = payload["title"]
700
+ @url = payload["url"]
701
+ @phone = payload["phone"]
702
+ @id = payload["id"]
703
+ @code = payload["code"]
704
+ @webview_size = payload["webview_size"]
705
+ end
706
+ def to_json(options = {})
707
+ {
708
+ "type": @type,
709
+ "title": @title,
710
+ "url": @url,
711
+ "phone": @phone,
712
+ "id": @id,
713
+ "code": @code,
714
+ "webview_size": @webview_size,
715
+ }.to_json(options)
716
+ end
717
+ end
718
+
719
+ class CarouselAction
720
+ # @param [type]: [CarouselActionType]
721
+ # @param [title]: [String]
722
+ # @param [url]: [String]
723
+ # @param [phone]: [String]
724
+ # @param [id]: [String]
725
+ attr_accessor :type, :title, :url, :phone, :id
726
+ def initialize(payload)
727
+ @type = payload["type"]
728
+ @title = payload["title"]
729
+ @url = payload["url"]
730
+ @phone = payload["phone"]
731
+ @id = payload["id"]
732
+ end
733
+ def to_json(options = {})
734
+ {
735
+ "type": @type,
736
+ "title": @title,
737
+ "url": @url,
738
+ "phone": @phone,
739
+ "id": @id,
740
+ }.to_json(options)
741
+ end
742
+ end
743
+
744
+ class CarouselCard
745
+ # @param [title]: [String]
746
+ # @param [body]: [String]
747
+ # @param [media]: [String]
748
+ # @param [actions]: [Array<ContentList.CarouselAction>]
749
+ attr_accessor :title, :body, :media, :actions
750
+ def initialize(payload)
751
+ @title = payload["title"]
752
+ @body = payload["body"]
753
+ @media = payload["media"]
754
+ @actions = payload["actions"]
755
+ end
756
+ def to_json(options = {})
757
+ {
758
+ "title": @title,
759
+ "body": @body,
760
+ "media": @media,
761
+ "actions": @actions,
762
+ }.to_json(options)
763
+ end
764
+ end
765
+
766
+ class CatalogItem
767
+ # @param [id]: [String]
768
+ # @param [section_title]: [String]
769
+ # @param [name]: [String]
770
+ # @param [media_url]: [String]
771
+ # @param [price]: [Float]
772
+ # @param [description]: [String]
773
+ attr_accessor :id, :section_title, :name, :media_url, :price, :description
774
+ def initialize(payload)
775
+ @id = payload["id"]
776
+ @section_title = payload["section_title"]
777
+ @name = payload["name"]
778
+ @media_url = payload["media_url"]
779
+ @price = payload["price"]
780
+ @description = payload["description"]
781
+ end
782
+ def to_json(options = {})
783
+ {
784
+ "id": @id,
785
+ "section_title": @section_title,
786
+ "name": @name,
787
+ "media_url": @media_url,
788
+ "price": @price,
789
+ "description": @description,
790
+ }.to_json(options)
791
+ end
792
+ end
793
+
794
+ class ContentCreateRequest
795
+ # @param [friendly_name]: [String] User defined name of the content
796
+ # @param [variables]: [Hash<String, String>] Key value pairs of variable name to value
797
+ # @param [language]: [String] Language code for the content
798
+ # @param [types]: [ContentList.Types]
799
+ attr_accessor :friendly_name, :variables, :language, :types
800
+ def initialize(payload)
801
+ @friendly_name = payload["friendly_name"]
802
+ @variables = payload["variables"]
803
+ @language = payload["language"]
804
+ @types = payload["types"]
805
+ end
806
+ def to_json(options = {})
807
+ {
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,
834
+ }.to_json(options)
835
+ end
836
+ end
837
+
838
+ class FlowsPage
839
+ # @param [id]: [String]
840
+ # @param [next_page_id]: [String]
841
+ # @param [title]: [String]
842
+ # @param [subtitle]: [String]
843
+ # @param [layout]: [Array<ContentList.FlowsPageComponent>]
844
+ attr_accessor :id, :next_page_id, :title, :subtitle, :layout
845
+ def initialize(payload)
846
+ @id = payload["id"]
847
+ @next_page_id = payload["next_page_id"]
848
+ @title = payload["title"]
849
+ @subtitle = payload["subtitle"]
850
+ @layout = payload["layout"]
851
+ end
852
+ def to_json(options = {})
853
+ {
854
+ "id": @id,
855
+ "next_page_id": @next_page_id,
856
+ "title": @title,
857
+ "subtitle": @subtitle,
858
+ "layout": @layout,
859
+ }.to_json(options)
860
+ end
861
+ end
862
+
863
+ class FlowsPageComponent
864
+ # @param [label]: [String]
865
+ # @param [type]: [String]
866
+ attr_accessor :label, :type
867
+ def initialize(payload)
868
+ @label = payload["label"]
869
+ @type = payload["type"]
870
+ end
871
+ def to_json(options = {})
872
+ {
873
+ "label": @label,
874
+ "type": @type,
875
+ }.to_json(options)
876
+ end
877
+ end
878
+
879
+ class ListItem
880
+ # @param [id]: [String]
881
+ # @param [item]: [String]
882
+ # @param [description]: [String]
883
+ attr_accessor :id, :item, :description
884
+ def initialize(payload)
885
+ @id = payload["id"]
886
+ @item = payload["item"]
887
+ @description = payload["description"]
888
+ end
889
+ def to_json(options = {})
890
+ {
891
+ "id": @id,
892
+ "item": @item,
893
+ "description": @description,
894
+ }.to_json(options)
895
+ end
896
+ end
897
+
898
+ class QuickReplyAction
899
+ # @param [type]: [QuickReplyActionType]
900
+ # @param [title]: [String]
901
+ # @param [id]: [String]
902
+ attr_accessor :type, :title, :id
903
+ def initialize(payload)
904
+ @type = payload["type"]
905
+ @title = payload["title"]
906
+ @id = payload["id"]
907
+ end
908
+ def to_json(options = {})
909
+ {
910
+ "type": @type,
911
+ "title": @title,
912
+ "id": @id,
913
+ }.to_json(options)
914
+ end
915
+ end
916
+
917
+ class TwilioCallToAction
918
+ # @param [body]: [String]
919
+ # @param [actions]: [Array<ContentList.CallToActionAction>]
920
+ attr_accessor :body, :actions
921
+ def initialize(payload)
922
+ @body = payload["body"]
923
+ @actions = payload["actions"]
924
+ end
925
+ def to_json(options = {})
926
+ {
927
+ "body": @body,
928
+ "actions": @actions,
929
+ }.to_json(options)
930
+ end
931
+ end
932
+
933
+ class TwilioCard
934
+ # @param [title]: [String]
935
+ # @param [subtitle]: [String]
936
+ # @param [media]: [Array<String>]
937
+ # @param [actions]: [Array<ContentList.CardAction>]
938
+ attr_accessor :title, :subtitle, :media, :actions
939
+ def initialize(payload)
940
+ @title = payload["title"]
941
+ @subtitle = payload["subtitle"]
942
+ @media = payload["media"]
943
+ @actions = payload["actions"]
944
+ end
945
+ def to_json(options = {})
946
+ {
947
+ "title": @title,
948
+ "subtitle": @subtitle,
949
+ "media": @media,
950
+ "actions": @actions,
951
+ }.to_json(options)
952
+ end
953
+ end
954
+
955
+ class TwilioCarousel
956
+ # @param [body]: [String]
957
+ # @param [cards]: [Array<ContentList.CarouselCard>]
958
+ attr_accessor :body, :cards
959
+ def initialize(payload)
960
+ @body = payload["body"]
961
+ @cards = payload["cards"]
962
+ end
963
+ def to_json(options = {})
964
+ {
965
+ "body": @body,
966
+ "cards": @cards,
967
+ }.to_json(options)
968
+ end
969
+ end
970
+
971
+ class TwilioCatalog
972
+ # @param [title]: [String]
973
+ # @param [body]: [String]
974
+ # @param [subtitle]: [String]
975
+ # @param [id]: [String]
976
+ # @param [items]: [Array<ContentList.CatalogItem>]
977
+ # @param [dynamic_items]: [String]
978
+ attr_accessor :title, :body, :subtitle, :id, :items, :dynamic_items
979
+ def initialize(payload)
980
+ @title = payload["title"]
981
+ @body = payload["body"]
982
+ @subtitle = payload["subtitle"]
983
+ @id = payload["id"]
984
+ @items = payload["items"]
985
+ @dynamic_items = payload["dynamic_items"]
986
+ end
987
+ def to_json(options = {})
988
+ {
989
+ "title": @title,
990
+ "body": @body,
991
+ "subtitle": @subtitle,
992
+ "id": @id,
993
+ "items": @items,
994
+ "dynamic_items": @dynamic_items,
995
+ }.to_json(options)
996
+ end
997
+ end
998
+
999
+ class TwilioFlows
1000
+ # @param [body]: [String]
1001
+ # @param [button_text]: [String]
1002
+ # @param [subtitle]: [String]
1003
+ # @param [media_url]: [String]
1004
+ # @param [pages]: [Array<ContentList.FlowsPage>]
1005
+ # @param [type]: [String]
1006
+ attr_accessor :body, :button_text, :subtitle, :media_url, :pages, :type
1007
+ def initialize(payload)
1008
+ @body = payload["body"]
1009
+ @button_text = payload["button_text"]
1010
+ @subtitle = payload["subtitle"]
1011
+ @media_url = payload["media_url"]
1012
+ @pages = payload["pages"]
1013
+ @type = payload["type"]
1014
+ end
1015
+ def to_json(options = {})
1016
+ {
1017
+ "body": @body,
1018
+ "button_text": @button_text,
1019
+ "subtitle": @subtitle,
1020
+ "media_url": @media_url,
1021
+ "pages": @pages,
1022
+ "type": @type,
1023
+ }.to_json(options)
1024
+ end
1025
+ end
1026
+
1027
+ class TwilioListPicker
1028
+ # @param [body]: [String]
1029
+ # @param [button]: [String]
1030
+ # @param [items]: [Array<ContentList.ListItem>]
1031
+ attr_accessor :body, :button, :items
1032
+ def initialize(payload)
1033
+ @body = payload["body"]
1034
+ @button = payload["button"]
1035
+ @items = payload["items"]
1036
+ end
1037
+ def to_json(options = {})
1038
+ {
1039
+ "body": @body,
1040
+ "button": @button,
1041
+ "items": @items,
1042
+ }.to_json(options)
1043
+ end
1044
+ end
1045
+
1046
+ class TwilioLocation
1047
+ # @param [latitude]: [Float]
1048
+ # @param [longitude]: [Float]
1049
+ # @param [label]: [String]
1050
+ # @param [id]: [String]
1051
+ # @param [address]: [String]
1052
+ attr_accessor :latitude, :longitude, :label, :id, :address
1053
+ def initialize(payload)
1054
+ @latitude = payload["latitude"]
1055
+ @longitude = payload["longitude"]
1056
+ @label = payload["label"]
1057
+ @id = payload["id"]
1058
+ @address = payload["address"]
1059
+ end
1060
+ def to_json(options = {})
1061
+ {
1062
+ "latitude": @latitude,
1063
+ "longitude": @longitude,
1064
+ "label": @label,
1065
+ "id": @id,
1066
+ "address": @address,
1067
+ }.to_json(options)
1068
+ end
1069
+ end
1070
+
1071
+ class TwilioMedia
1072
+ # @param [body]: [String]
1073
+ # @param [media]: [Array<String>]
1074
+ attr_accessor :body, :media
1075
+ def initialize(payload)
1076
+ @body = payload["body"]
1077
+ @media = payload["media"]
1078
+ end
1079
+ def to_json(options = {})
1080
+ {
1081
+ "body": @body,
1082
+ "media": @media,
1083
+ }.to_json(options)
1084
+ end
1085
+ end
1086
+
1087
+ class TwilioQuickReply
1088
+ # @param [body]: [String]
1089
+ # @param [actions]: [Array<ContentList.QuickReplyAction>]
1090
+ attr_accessor :body, :actions
1091
+ def initialize(payload)
1092
+ @body = payload["body"]
1093
+ @actions = payload["actions"]
1094
+ end
1095
+ def to_json(options = {})
1096
+ {
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,
1118
+ }.to_json(options)
1119
+ end
1120
+ end
1121
+
1122
+ class TwilioText
1123
+ # @param [body]: [String]
1124
+ attr_accessor :body
1125
+ def initialize(payload)
1126
+ @body = payload["body"]
1127
+ end
1128
+ def to_json(options = {})
1129
+ {
1130
+ "body": @body,
1131
+ }.to_json(options)
1132
+ end
1133
+ end
1134
+
1135
+ class Types
1136
+ # @param [twilio_text]: [ContentList.TwilioText]
1137
+ # @param [twilio_media]: [ContentList.TwilioMedia]
1138
+ # @param [twilio_location]: [ContentList.TwilioLocation]
1139
+ # @param [twilio_list_picker]: [ContentList.TwilioListPicker]
1140
+ # @param [twilio_call_to_action]: [ContentList.TwilioCallToAction]
1141
+ # @param [twilio_quick_reply]: [ContentList.TwilioQuickReply]
1142
+ # @param [twilio_card]: [ContentList.TwilioCard]
1143
+ # @param [twilio_catalog]: [ContentList.TwilioCatalog]
1144
+ # @param [twilio_carousel]: [ContentList.TwilioCarousel]
1145
+ # @param [twilio_flows]: [ContentList.TwilioFlows]
1146
+ # @param [twilio_schedule]: [ContentList.TwilioSchedule]
1147
+ # @param [whatsapp_card]: [ContentList.WhatsappCard]
1148
+ # @param [whatsapp_authentication]: [ContentList.WhatsappAuthentication]
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
1151
+ def initialize(payload)
1152
+ @twilio_text = payload["twilio_text"]
1153
+ @twilio_media = payload["twilio_media"]
1154
+ @twilio_location = payload["twilio_location"]
1155
+ @twilio_list_picker = payload["twilio_list_picker"]
1156
+ @twilio_call_to_action = payload["twilio_call_to_action"]
1157
+ @twilio_quick_reply = payload["twilio_quick_reply"]
1158
+ @twilio_card = payload["twilio_card"]
1159
+ @twilio_catalog = payload["twilio_catalog"]
1160
+ @twilio_carousel = payload["twilio_carousel"]
1161
+ @twilio_flows = payload["twilio_flows"]
1162
+ @twilio_schedule = payload["twilio_schedule"]
1163
+ @whatsapp_card = payload["whatsapp_card"]
1164
+ @whatsapp_authentication = payload["whatsapp_authentication"]
1165
+ @whatsapp_flows = payload["whatsapp_flows"]
1166
+ end
1167
+ def to_json(options = {})
1168
+ {
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,
1183
+ }.to_json(options)
1184
+ end
1185
+ end
1186
+
1187
+ class WhatsappAuthentication
1188
+ # @param [add_security_recommendation]: [Boolean]
1189
+ # @param [code_expiration_minutes]: [Float]
1190
+ # @param [actions]: [Array<ContentList.AuthenticationAction>]
1191
+ attr_accessor :add_security_recommendation, :code_expiration_minutes, :actions
1192
+ def initialize(payload)
1193
+ @add_security_recommendation = payload["add_security_recommendation"]
1194
+ @code_expiration_minutes = payload["code_expiration_minutes"]
1195
+ @actions = payload["actions"]
1196
+ end
1197
+ def to_json(options = {})
1198
+ {
1199
+ "add_security_recommendation": @add_security_recommendation,
1200
+ "code_expiration_minutes": @code_expiration_minutes,
1201
+ "actions": @actions,
1202
+ }.to_json(options)
1203
+ end
1204
+ end
1205
+
1206
+ class WhatsappCard
1207
+ # @param [body]: [String]
1208
+ # @param [footer]: [String]
1209
+ # @param [media]: [Array<String>]
1210
+ # @param [header_text]: [String]
1211
+ # @param [actions]: [Array<ContentList.CardAction>]
1212
+ attr_accessor :body, :footer, :media, :header_text, :actions
1213
+ def initialize(payload)
1214
+ @body = payload["body"]
1215
+ @footer = payload["footer"]
1216
+ @media = payload["media"]
1217
+ @header_text = payload["header_text"]
1218
+ @actions = payload["actions"]
1219
+ end
1220
+ def to_json(options = {})
1221
+ {
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,
1261
+ }.to_json(options)
1262
+ end
1263
+ end
1264
+
1265
+
21
1266
  ##
22
1267
  # Initialize the ContentList
23
1268
  # @param [Version] version Version that contains the resource
24
1269
  # @return [ContentList] ContentList
25
1270
  def initialize(version)
26
1271
  super(version)
1272
+
27
1273
  # Path Solution
28
1274
  @solution = { }
29
1275
  @uri = "/Content"
30
1276
 
31
1277
  end
1278
+ ##
1279
+ # Create the ContentInstance
1280
+ # @param [ContentCreateRequest] content_create_request
1281
+ # @return [ContentInstance] Created ContentInstance
1282
+ def create(content_create_request: nil
1283
+ )
1284
+
1285
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1286
+ headers['Content-Type'] = 'application/json'
1287
+
1288
+
1289
+
1290
+
1291
+ payload = @version.create('POST', @uri, headers: headers, data: content_create_request.to_json)
1292
+ ContentInstance.new(
1293
+ @version,
1294
+ payload,
1295
+ )
1296
+ end
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
+
32
1324
 
33
1325
  ##
34
1326
  # Lists ContentInstance records from the API as a list.
@@ -65,7 +1357,33 @@ module Twilio
65
1357
  page = self.page(
66
1358
  page_size: limits[:page_size], )
67
1359
 
68
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
1360
+ return [].each if page.nil?
1361
+
1362
+ result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
1363
+ return [].each if result.nil?
1364
+ result
1365
+ end
1366
+
1367
+ ##
1368
+ # Lists ContentPageMetadata records from the API as a list.
1369
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
1370
+ # guarantees to never return more than limit. Default is no limit
1371
+ # @param [Integer] page_size Number of records to fetch per request, when
1372
+ # not set will use the default value of 50 records. If no page_size is defined
1373
+ # but a limit is defined, stream() will attempt to read the limit with the most
1374
+ # efficient page size, i.e. min(limit, 1000)
1375
+ # @return [Array] Array of up to limit results
1376
+ def list_with_metadata(limit: nil, page_size: nil)
1377
+ limits = @version.read_limits(limit, page_size)
1378
+ params = Twilio::Values.of({
1379
+
1380
+ 'PageSize' => limits[:page_size],
1381
+ });
1382
+ headers = Twilio::Values.of({})
1383
+
1384
+ response = @version.page('GET', @uri, params: params, headers: headers)
1385
+
1386
+ ContentPageMetadata.new(@version, response, @solution, limits[:limit])
69
1387
  end
70
1388
 
71
1389
  ##
@@ -77,9 +1395,13 @@ module Twilio
77
1395
 
78
1396
  page = self.page(page_size: limits[:page_size], )
79
1397
 
80
- @version.stream(page,
1398
+ return [].each if page.nil?
1399
+
1400
+ result = @version.stream(page,
81
1401
  limit: limits[:limit],
82
- page_limit: limits[:page_limit]).each {|x| yield x}
1402
+ page_limit: limits[:page_limit])
1403
+ return [].each if result.nil?
1404
+ result.each {|x| yield x}
83
1405
  end
84
1406
 
85
1407
  ##
@@ -89,14 +1411,17 @@ module Twilio
89
1411
  # @param [Integer] page_number Page Number, this value is simply for client state
90
1412
  # @param [Integer] page_size Number of records to return, defaults to 50
91
1413
  # @return [Page] Page of ContentInstance
92
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
1414
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
93
1415
  params = Twilio::Values.of({
94
1416
  'PageToken' => page_token,
95
1417
  'Page' => page_number,
96
1418
  'PageSize' => page_size,
97
1419
  })
1420
+ headers = Twilio::Values.of({})
1421
+
1422
+
98
1423
 
99
- response = @version.page('GET', @uri, params: params)
1424
+ response = @version.page('GET', @uri, params: params, headers: headers)
100
1425
 
101
1426
  ContentPage.new(@version, response, @solution)
102
1427
  end
@@ -123,22 +1448,22 @@ module Twilio
123
1448
  end
124
1449
 
125
1450
 
126
- ##
127
- #PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
128
1451
  class ContentContext < InstanceContext
129
1452
  ##
130
1453
  # Initialize the ContentContext
131
1454
  # @param [Version] version Version that contains the resource
132
- # @param [String] sid The Twilio-provided string that uniquely identifies the Content resource to fetch.
1455
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Content resource to update.
133
1456
  # @return [ContentContext] ContentContext
134
1457
  def initialize(version, sid)
135
1458
  super(version)
1459
+
136
1460
 
137
1461
  # Path Solution
138
1462
  @solution = { sid: sid, }
139
1463
  @uri = "/Content/#{@solution[:sid]}"
140
1464
 
141
1465
  # Dependents
1466
+ @approval_create = nil
142
1467
  @approval_fetch = nil
143
1468
  end
144
1469
  ##
@@ -146,7 +1471,31 @@ module Twilio
146
1471
  # @return [Boolean] True if delete succeeds, false otherwise
147
1472
  def delete
148
1473
 
149
- @version.delete('DELETE', @uri)
1474
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1475
+
1476
+
1477
+
1478
+
1479
+ @version.delete('DELETE', @uri, headers: headers)
1480
+ end
1481
+
1482
+ ##
1483
+ # Delete the ContentInstanceMetadata
1484
+ # @return [Boolean] True if delete succeeds, false otherwise
1485
+ def delete_with_metadata
1486
+
1487
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1488
+
1489
+
1490
+
1491
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
1492
+ content_instance = ContentInstance.new(
1493
+ @version,
1494
+ response.body,
1495
+ account_sid: @solution[:account_sid],
1496
+ sid: @solution[:sid],
1497
+ )
1498
+ ContentInstanceMetadata.new(@version, content_instance, response.headers, response.status_code)
150
1499
  end
151
1500
 
152
1501
  ##
@@ -154,7 +1503,13 @@ module Twilio
154
1503
  # @return [ContentInstance] Fetched ContentInstance
155
1504
  def fetch
156
1505
 
157
- payload = @version.fetch('GET', @uri)
1506
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+ payload = @version.fetch('GET', @uri, headers: headers)
158
1513
  ContentInstance.new(
159
1514
  @version,
160
1515
  payload,
@@ -162,6 +1517,90 @@ module Twilio
162
1517
  )
163
1518
  end
164
1519
 
1520
+ ##
1521
+ # Fetch the ContentInstanceMetadata
1522
+ # @return [ContentInstance] Fetched ContentInstance
1523
+ def fetch_with_metadata
1524
+
1525
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
1532
+ content_instance = ContentInstance.new(
1533
+ @version,
1534
+ response.body,
1535
+ sid: @solution[:sid],
1536
+ )
1537
+ ContentInstanceMetadata.new(
1538
+ @version,
1539
+ content_instance,
1540
+ response.headers,
1541
+ response.status_code
1542
+ )
1543
+ end
1544
+
1545
+ ##
1546
+ # Update the ContentInstance
1547
+ # @param [ContentUpdateRequest] content_update_request
1548
+ # @return [ContentInstance] Updated ContentInstance
1549
+ def update(content_update_request: nil
1550
+ )
1551
+
1552
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1553
+ headers['Content-Type'] = 'application/json'
1554
+
1555
+
1556
+
1557
+
1558
+ payload = @version.update('PUT', @uri, headers: headers, data: content_update_request.to_json)
1559
+ ContentInstance.new(
1560
+ @version,
1561
+ payload,
1562
+ sid: @solution[:sid],
1563
+ )
1564
+ end
1565
+
1566
+ ##
1567
+ # Update the ContentInstanceMetadata
1568
+ # @param [ContentUpdateRequest] content_update_request
1569
+ # @return [ContentInstance] Updated ContentInstance
1570
+ def update_with_metadata(content_update_request: nil
1571
+ )
1572
+
1573
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1574
+ headers['Content-Type'] = 'application/json'
1575
+
1576
+
1577
+
1578
+
1579
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: content_update_request.to_json)
1580
+ content_instance = ContentInstance.new(
1581
+ @version,
1582
+ response.body,
1583
+ sid: @solution[:sid],
1584
+ )
1585
+ ContentInstanceMetadata.new(
1586
+ @version,
1587
+ content_instance,
1588
+ response.headers,
1589
+ response.status_code
1590
+ )
1591
+ end
1592
+
1593
+ ##
1594
+ # Access the approval_create
1595
+ # @return [ApprovalCreateList]
1596
+ # @return [ApprovalCreateContext]
1597
+ def approval_create
1598
+ unless @approval_create
1599
+ @approval_create = ApprovalCreateList.new(
1600
+ @version, content_sid: @solution[:sid], )
1601
+ end
1602
+ @approval_create
1603
+ end
165
1604
  ##
166
1605
  # Access the approval_fetch
167
1606
  # @return [ApprovalFetchList]
@@ -188,6 +1627,53 @@ module Twilio
188
1627
  end
189
1628
  end
190
1629
 
1630
+ class ContentInstanceMetadata < InstanceResourceMetadata
1631
+ ##
1632
+ # Initializes a new ContentInstanceMetadata.
1633
+ # @param [Version] version Version that contains the resource
1634
+ # @param [}ContentInstance] content_instance The instance associated with the metadata.
1635
+ # @param [Hash] headers Header object with response headers.
1636
+ # @param [Integer] status_code The HTTP status code of the response.
1637
+ # @return [ContentInstanceMetadata] The initialized instance with metadata.
1638
+ def initialize(version, content_instance, headers, status_code)
1639
+ super(version, headers, status_code)
1640
+ @content_instance = content_instance
1641
+ end
1642
+
1643
+ def content
1644
+ @content_instance
1645
+ end
1646
+
1647
+ def headers
1648
+ @headers
1649
+ end
1650
+
1651
+ def status_code
1652
+ @status_code
1653
+ end
1654
+
1655
+ def to_s
1656
+ "<Twilio.Api.V2010.ContentInstanceMetadata status=#{@status_code}>"
1657
+ end
1658
+ end
1659
+
1660
+ class ContentListResponse < InstanceListResource
1661
+ # @param [Array<ContentInstance>] instance
1662
+ # @param [Hash{String => Object}] headers
1663
+ # @param [Integer] status_code
1664
+ def initialize(version, payload, key)
1665
+ @content_instance = payload.body[key].map do |data|
1666
+ ContentInstance.new(version, data)
1667
+ end
1668
+ @headers = payload.headers
1669
+ @status_code = payload.status_code
1670
+ end
1671
+
1672
+ def content_instance
1673
+ @instance
1674
+ end
1675
+ end
1676
+
191
1677
  class ContentPage < Page
192
1678
  ##
193
1679
  # Initialize the ContentPage
@@ -197,6 +1683,7 @@ module Twilio
197
1683
  # @return [ContentPage] ContentPage
198
1684
  def initialize(version, response, solution)
199
1685
  super(version, response)
1686
+
200
1687
 
201
1688
  # Path Solution
202
1689
  @solution = solution
@@ -216,6 +1703,66 @@ module Twilio
216
1703
  '<Twilio.Content.V1.ContentPage>'
217
1704
  end
218
1705
  end
1706
+
1707
+ class ContentPageMetadata < PageMetadata
1708
+ attr_reader :content_page
1709
+
1710
+ def initialize(version, response, solution, limit)
1711
+ super(version, response)
1712
+ @content_page = []
1713
+ @limit = limit
1714
+ key = get_key(response.body)
1715
+ records = 0
1716
+ while( limit != :unset && records < limit )
1717
+ @content_page << ContentListResponse.new(version, @payload, key, limit - records)
1718
+ @payload = self.next_page
1719
+ break unless @payload
1720
+ records += (@payload.body[key] || []).size
1721
+ end
1722
+ # Path Solution
1723
+ @solution = solution
1724
+ end
1725
+
1726
+ def each
1727
+ @content_page.each do |record|
1728
+ yield record
1729
+ end
1730
+ end
1731
+
1732
+ def to_s
1733
+ '<Twilio::REST::Content::V1PageMetadata>';
1734
+ end
1735
+ end
1736
+ class ContentListResponse < InstanceListResource
1737
+
1738
+ # @param [Array<ContentInstance>] instance
1739
+ # @param [Hash{String => Object}] headers
1740
+ # @param [Integer] status_code
1741
+ def initialize(version, payload, key, limit = :unset)
1742
+ data_list = payload.body[key] || []
1743
+ if limit != :unset
1744
+ data_list = data_list[0, limit]
1745
+ end
1746
+ @content = data_list.map do |data|
1747
+ ContentInstance.new(version, data)
1748
+ end
1749
+ @headers = payload.headers
1750
+ @status_code = payload.status_code
1751
+ end
1752
+
1753
+ def content
1754
+ @content
1755
+ end
1756
+
1757
+ def headers
1758
+ @headers
1759
+ end
1760
+
1761
+ def status_code
1762
+ @status_code
1763
+ end
1764
+ end
1765
+
219
1766
  class ContentInstance < InstanceResource
220
1767
  ##
221
1768
  # Initialize the ContentInstance
@@ -229,6 +1776,7 @@ module Twilio
229
1776
  def initialize(version, payload , sid: nil)
230
1777
  super(version)
231
1778
 
1779
+
232
1780
  # Marshaled Properties
233
1781
  @properties = {
234
1782
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
@@ -335,6 +1883,25 @@ module Twilio
335
1883
  context.fetch
336
1884
  end
337
1885
 
1886
+ ##
1887
+ # Update the ContentInstance
1888
+ # @param [ContentUpdateRequest] content_update_request
1889
+ # @return [ContentInstance] Updated ContentInstance
1890
+ def update(content_update_request: nil
1891
+ )
1892
+
1893
+ context.update(
1894
+ content_update_request: content_update_request,
1895
+ )
1896
+ end
1897
+
1898
+ ##
1899
+ # Access the approval_create
1900
+ # @return [approval_create] approval_create
1901
+ def approval_create
1902
+ context.approval_create
1903
+ end
1904
+
338
1905
  ##
339
1906
  # Access the approval_fetch
340
1907
  # @return [approval_fetch] approval_fetch