twilio-ruby 5.74.0 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -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 +735 -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 +91 -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/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,346 +1,1921 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
7
+ # Twilio - Content
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Content < Domain
12
- class V1 < Version
13
- ##
14
- # 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.
15
- class ContentList < ListResource
16
- ##
17
- # Initialize the ContentList
18
- # @param [Version] version Version that contains the resource
19
- # @return [ContentList] ContentList
20
- def initialize(version)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {}
25
- @uri = "/Content"
26
- end
27
-
28
- ##
29
- # Lists ContentInstance records from the API as a list.
30
- # Unlike stream(), this operation is eager and will load `limit` records into
31
- # memory before returning.
32
- # @param [Integer] limit Upper limit for the number of records to return. stream()
33
- # guarantees to never return more than limit. Default is no limit
34
- # @param [Integer] page_size Number of records to fetch per request, when
35
- # not set will use the default value of 50 records. If no page_size is defined
36
- # but a limit is defined, stream() will attempt to read the limit with the most
37
- # efficient page size, i.e. min(limit, 1000)
38
- # @return [Array] Array of up to limit results
39
- def list(limit: nil, page_size: nil)
40
- self.stream(limit: limit, page_size: page_size).entries
41
- end
42
-
43
- ##
44
- # Streams ContentInstance records from the API as an Enumerable.
45
- # This operation lazily loads records as efficiently as possible until the limit
46
- # is reached.
47
- # @param [Integer] limit Upper limit for the number of records to return. stream()
48
- # guarantees to never return more than limit. Default is no limit.
49
- # @param [Integer] page_size Number of records to fetch per request, when
50
- # not set will use the default value of 50 records. If no page_size is defined
51
- # but a limit is defined, stream() will attempt to read the limit with the most
52
- # efficient page size, i.e. min(limit, 1000)
53
- # @return [Enumerable] Enumerable that will yield up to limit results
54
- def stream(limit: nil, page_size: nil)
55
- limits = @version.read_limits(limit, page_size)
56
-
57
- page = self.page(page_size: limits[:page_size], )
58
-
59
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
60
- end
61
-
62
- ##
63
- # When passed a block, yields ContentInstance records from the API.
64
- # This operation lazily loads records as efficiently as possible until the limit
65
- # is reached.
66
- def each
67
- limits = @version.read_limits
68
-
69
- page = self.page(page_size: limits[:page_size], )
70
-
71
- @version.stream(page,
17
+ module REST
18
+ class Content < ContentBase
19
+ class V1 < Version
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
+
1266
+ ##
1267
+ # Initialize the ContentList
1268
+ # @param [Version] version Version that contains the resource
1269
+ # @return [ContentList] ContentList
1270
+ def initialize(version)
1271
+ super(version)
1272
+
1273
+ # Path Solution
1274
+ @solution = { }
1275
+ @uri = "/Content"
1276
+
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
+
1324
+
1325
+ ##
1326
+ # Lists ContentInstance records from the API as a list.
1327
+ # Unlike stream(), this operation is eager and will load `limit` records into
1328
+ # memory before returning.
1329
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
1330
+ # guarantees to never return more than limit. Default is no limit
1331
+ # @param [Integer] page_size Number of records to fetch per request, when
1332
+ # not set will use the default value of 50 records. If no page_size is defined
1333
+ # but a limit is defined, stream() will attempt to read the limit with the most
1334
+ # efficient page size, i.e. min(limit, 1000)
1335
+ # @return [Array] Array of up to limit results
1336
+ def list(limit: nil, page_size: nil)
1337
+ self.stream(
1338
+ limit: limit,
1339
+ page_size: page_size
1340
+ ).entries
1341
+ end
1342
+
1343
+ ##
1344
+ # Streams Instance records from the API as an Enumerable.
1345
+ # This operation lazily loads records as efficiently as possible until the limit
1346
+ # is reached.
1347
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
1348
+ # guarantees to never return more than limit. Default is no limit
1349
+ # @param [Integer] page_size Number of records to fetch per request, when
1350
+ # not set will use the default value of 50 records. If no page_size is defined
1351
+ # but a limit is defined, stream() will attempt to read the limit with the most
1352
+ # efficient page size, i.e. min(limit, 1000)
1353
+ # @return [Enumerable] Enumerable that will yield up to limit results
1354
+ def stream(limit: nil, page_size: nil)
1355
+ limits = @version.read_limits(limit, page_size)
1356
+
1357
+ page = self.page(
1358
+ page_size: limits[:page_size], )
1359
+
1360
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
1361
+ end
1362
+
1363
+ ##
1364
+ # Lists ContentPageMetadata records from the API as a list.
1365
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
1366
+ # guarantees to never return more than limit. Default is no limit
1367
+ # @param [Integer] page_size Number of records to fetch per request, when
1368
+ # not set will use the default value of 50 records. If no page_size is defined
1369
+ # but a limit is defined, stream() will attempt to read the limit with the most
1370
+ # efficient page size, i.e. min(limit, 1000)
1371
+ # @return [Array] Array of up to limit results
1372
+ def list_with_metadata(limit: nil, page_size: nil)
1373
+ limits = @version.read_limits(limit, page_size)
1374
+ params = Twilio::Values.of({
1375
+
1376
+ 'PageSize' => limits[:page_size],
1377
+ });
1378
+ headers = Twilio::Values.of({})
1379
+
1380
+ response = @version.page('GET', @uri, params: params, headers: headers)
1381
+
1382
+ ContentPageMetadata.new(@version, response, @solution, limits[:limit])
1383
+ end
1384
+
1385
+ ##
1386
+ # When passed a block, yields ContentInstance records from the API.
1387
+ # This operation lazily loads records as efficiently as possible until the limit
1388
+ # is reached.
1389
+ def each
1390
+ limits = @version.read_limits
1391
+
1392
+ page = self.page(page_size: limits[:page_size], )
1393
+
1394
+ @version.stream(page,
72
1395
  limit: limits[:limit],
73
1396
  page_limit: limits[:page_limit]).each {|x| yield x}
74
- end
75
-
76
- ##
77
- # Retrieve a single page of ContentInstance records from the API.
78
- # Request is executed immediately.
79
- # @param [String] page_token PageToken provided by the API
80
- # @param [Integer] page_number Page Number, this value is simply for client state
81
- # @param [Integer] page_size Number of records to return, defaults to 50
82
- # @return [Page] Page of ContentInstance
83
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
84
- params = Twilio::Values.of({
85
- 'PageToken' => page_token,
86
- 'Page' => page_number,
87
- 'PageSize' => page_size,
88
- })
89
-
90
- response = @version.page('GET', @uri, params: params)
91
-
92
- ContentPage.new(@version, response, @solution)
93
- end
94
-
95
- ##
96
- # Retrieve a single page of ContentInstance records from the API.
97
- # Request is executed immediately.
98
- # @param [String] target_url API-generated URL for the requested results page
99
- # @return [Page] Page of ContentInstance
100
- def get_page(target_url)
101
- response = @version.domain.request(
102
- 'GET',
103
- target_url
104
- )
105
- ContentPage.new(@version, response, @solution)
106
- end
107
-
108
- ##
109
- # Provide a user friendly representation
110
- def to_s
111
- '#<Twilio.Content.V1.ContentList>'
112
- end
113
- end
1397
+ end
114
1398
 
115
- ##
116
- # 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.
117
- class ContentPage < Page
118
- ##
119
- # Initialize the ContentPage
120
- # @param [Version] version Version that contains the resource
121
- # @param [Response] response Response from the API
122
- # @param [Hash] solution Path solution for the resource
123
- # @return [ContentPage] ContentPage
124
- def initialize(version, response, solution)
125
- super(version, response)
126
-
127
- # Path Solution
128
- @solution = solution
129
- end
130
-
131
- ##
132
- # Build an instance of ContentInstance
133
- # @param [Hash] payload Payload response from the API
134
- # @return [ContentInstance] ContentInstance
135
- def get_instance(payload)
136
- ContentInstance.new(@version, payload, )
137
- end
138
-
139
- ##
140
- # Provide a user friendly representation
141
- def to_s
142
- '<Twilio.Content.V1.ContentPage>'
143
- end
144
- end
1399
+ ##
1400
+ # Retrieve a single page of ContentInstance records from the API.
1401
+ # Request is executed immediately.
1402
+ # @param [String] page_token PageToken provided by the API
1403
+ # @param [Integer] page_number Page Number, this value is simply for client state
1404
+ # @param [Integer] page_size Number of records to return, defaults to 50
1405
+ # @return [Page] Page of ContentInstance
1406
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
1407
+ params = Twilio::Values.of({
1408
+ 'PageToken' => page_token,
1409
+ 'Page' => page_number,
1410
+ 'PageSize' => page_size,
1411
+ })
1412
+ headers = Twilio::Values.of({})
1413
+
1414
+
145
1415
 
146
- ##
147
- # 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.
148
- class ContentContext < InstanceContext
149
- ##
150
- # Initialize the ContentContext
151
- # @param [Version] version Version that contains the resource
152
- # @param [String] sid The Twilio-provided string that uniquely identifies the
153
- # Content resource to fetch.
154
- # @return [ContentContext] ContentContext
155
- def initialize(version, sid)
156
- super(version)
157
-
158
- # Path Solution
159
- @solution = {sid: sid, }
160
- @uri = "/Content/#{@solution[:sid]}"
161
-
162
- # Dependents
163
- @approval_fetch = nil
164
- end
165
-
166
- ##
167
- # Fetch the ContentInstance
168
- # @return [ContentInstance] Fetched ContentInstance
169
- def fetch
170
- payload = @version.fetch('GET', @uri)
171
-
172
- ContentInstance.new(@version, payload, sid: @solution[:sid], )
173
- end
174
-
175
- ##
176
- # Delete the ContentInstance
177
- # @return [Boolean] true if delete succeeds, false otherwise
178
- def delete
179
- @version.delete('DELETE', @uri)
180
- end
181
-
182
- ##
183
- # Access the approval_fetch
184
- # @return [ApprovalFetchList]
185
- # @return [ApprovalFetchContext]
186
- def approval_fetch
187
- ApprovalFetchContext.new(@version, @solution[:sid], )
188
- end
189
-
190
- ##
191
- # Provide a user friendly representation
192
- def to_s
193
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
194
- "#<Twilio.Content.V1.ContentContext #{context}>"
195
- end
196
-
197
- ##
198
- # Provide a detailed, user friendly representation
199
- def inspect
200
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
201
- "#<Twilio.Content.V1.ContentContext #{context}>"
202
- end
203
- end
1416
+ response = @version.page('GET', @uri, params: params, headers: headers)
1417
+
1418
+ ContentPage.new(@version, response, @solution)
1419
+ end
1420
+
1421
+ ##
1422
+ # Retrieve a single page of ContentInstance records from the API.
1423
+ # Request is executed immediately.
1424
+ # @param [String] target_url API-generated URL for the requested results page
1425
+ # @return [Page] Page of ContentInstance
1426
+ def get_page(target_url)
1427
+ response = @version.domain.request(
1428
+ 'GET',
1429
+ target_url
1430
+ )
1431
+ ContentPage.new(@version, response, @solution)
1432
+ end
1433
+
1434
+
1435
+
1436
+ # Provide a user friendly representation
1437
+ def to_s
1438
+ '#<Twilio.Content.V1.ContentList>'
1439
+ end
1440
+ end
1441
+
1442
+
1443
+ class ContentContext < InstanceContext
1444
+ ##
1445
+ # Initialize the ContentContext
1446
+ # @param [Version] version Version that contains the resource
1447
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Content resource to update.
1448
+ # @return [ContentContext] ContentContext
1449
+ def initialize(version, sid)
1450
+ super(version)
1451
+
1452
+
1453
+ # Path Solution
1454
+ @solution = { sid: sid, }
1455
+ @uri = "/Content/#{@solution[:sid]}"
1456
+
1457
+ # Dependents
1458
+ @approval_create = nil
1459
+ @approval_fetch = nil
1460
+ end
1461
+ ##
1462
+ # Delete the ContentInstance
1463
+ # @return [Boolean] True if delete succeeds, false otherwise
1464
+ def delete
1465
+
1466
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1467
+
1468
+
1469
+
1470
+
1471
+ @version.delete('DELETE', @uri, headers: headers)
1472
+ end
1473
+
1474
+ ##
1475
+ # Delete the ContentInstanceMetadata
1476
+ # @return [Boolean] True if delete succeeds, false otherwise
1477
+ def delete_with_metadata
1478
+
1479
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1480
+
1481
+
1482
+
1483
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
1484
+ content_instance = ContentInstance.new(
1485
+ @version,
1486
+ response.body,
1487
+ account_sid: @solution[:account_sid],
1488
+ sid: @solution[:sid],
1489
+ )
1490
+ ContentInstanceMetadata.new(@version, content_instance, response.headers, response.status_code)
1491
+ end
1492
+
1493
+ ##
1494
+ # Fetch the ContentInstance
1495
+ # @return [ContentInstance] Fetched ContentInstance
1496
+ def fetch
1497
+
1498
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+ payload = @version.fetch('GET', @uri, headers: headers)
1505
+ ContentInstance.new(
1506
+ @version,
1507
+ payload,
1508
+ sid: @solution[:sid],
1509
+ )
1510
+ end
1511
+
1512
+ ##
1513
+ # Fetch the ContentInstanceMetadata
1514
+ # @return [ContentInstance] Fetched ContentInstance
1515
+ def fetch_with_metadata
1516
+
1517
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
1524
+ content_instance = ContentInstance.new(
1525
+ @version,
1526
+ response.body,
1527
+ sid: @solution[:sid],
1528
+ )
1529
+ ContentInstanceMetadata.new(
1530
+ @version,
1531
+ content_instance,
1532
+ response.headers,
1533
+ response.status_code
1534
+ )
1535
+ end
1536
+
1537
+ ##
1538
+ # Update the ContentInstance
1539
+ # @param [ContentUpdateRequest] content_update_request
1540
+ # @return [ContentInstance] Updated ContentInstance
1541
+ def update(content_update_request: nil
1542
+ )
1543
+
1544
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1545
+ headers['Content-Type'] = 'application/json'
1546
+
1547
+
1548
+
1549
+
1550
+ payload = @version.update('PUT', @uri, headers: headers, data: content_update_request.to_json)
1551
+ ContentInstance.new(
1552
+ @version,
1553
+ payload,
1554
+ sid: @solution[:sid],
1555
+ )
1556
+ end
1557
+
1558
+ ##
1559
+ # Update the ContentInstanceMetadata
1560
+ # @param [ContentUpdateRequest] content_update_request
1561
+ # @return [ContentInstance] Updated ContentInstance
1562
+ def update_with_metadata(content_update_request: nil
1563
+ )
1564
+
1565
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
1566
+ headers['Content-Type'] = 'application/json'
1567
+
1568
+
1569
+
1570
+
1571
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: content_update_request.to_json)
1572
+ content_instance = ContentInstance.new(
1573
+ @version,
1574
+ response.body,
1575
+ sid: @solution[:sid],
1576
+ )
1577
+ ContentInstanceMetadata.new(
1578
+ @version,
1579
+ content_instance,
1580
+ response.headers,
1581
+ response.status_code
1582
+ )
1583
+ end
1584
+
1585
+ ##
1586
+ # Access the approval_create
1587
+ # @return [ApprovalCreateList]
1588
+ # @return [ApprovalCreateContext]
1589
+ def approval_create
1590
+ unless @approval_create
1591
+ @approval_create = ApprovalCreateList.new(
1592
+ @version, content_sid: @solution[:sid], )
1593
+ end
1594
+ @approval_create
1595
+ end
1596
+ ##
1597
+ # Access the approval_fetch
1598
+ # @return [ApprovalFetchList]
1599
+ # @return [ApprovalFetchContext]
1600
+ def approval_fetch
1601
+ ApprovalFetchContext.new(
1602
+ @version,
1603
+ @solution[:sid]
1604
+ )
1605
+ end
1606
+
1607
+ ##
1608
+ # Provide a user friendly representation
1609
+ def to_s
1610
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
1611
+ "#<Twilio.Content.V1.ContentContext #{context}>"
1612
+ end
1613
+
1614
+ ##
1615
+ # Provide a detailed, user friendly representation
1616
+ def inspect
1617
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
1618
+ "#<Twilio.Content.V1.ContentContext #{context}>"
1619
+ end
1620
+ end
1621
+
1622
+ class ContentInstanceMetadata < InstanceResourceMetadata
1623
+ ##
1624
+ # Initializes a new ContentInstanceMetadata.
1625
+ # @param [Version] version Version that contains the resource
1626
+ # @param [}ContentInstance] content_instance The instance associated with the metadata.
1627
+ # @param [Hash] headers Header object with response headers.
1628
+ # @param [Integer] status_code The HTTP status code of the response.
1629
+ # @return [ContentInstanceMetadata] The initialized instance with metadata.
1630
+ def initialize(version, content_instance, headers, status_code)
1631
+ super(version, headers, status_code)
1632
+ @content_instance = content_instance
1633
+ end
1634
+
1635
+ def content
1636
+ @content_instance
1637
+ end
1638
+
1639
+ def headers
1640
+ @headers
1641
+ end
1642
+
1643
+ def status_code
1644
+ @status_code
1645
+ end
1646
+
1647
+ def to_s
1648
+ "<Twilio.Api.V2010.ContentInstanceMetadata status=#{@status_code}>"
1649
+ end
1650
+ end
1651
+
1652
+ class ContentListResponse < InstanceListResource
1653
+ # @param [Array<ContentInstance>] instance
1654
+ # @param [Hash{String => Object}] headers
1655
+ # @param [Integer] status_code
1656
+ def initialize(version, payload, key)
1657
+ @content_instance = payload.body[key].map do |data|
1658
+ ContentInstance.new(version, data)
1659
+ end
1660
+ @headers = payload.headers
1661
+ @status_code = payload.status_code
1662
+ end
1663
+
1664
+ def content_instance
1665
+ @instance
1666
+ end
1667
+ end
1668
+
1669
+ class ContentPage < Page
1670
+ ##
1671
+ # Initialize the ContentPage
1672
+ # @param [Version] version Version that contains the resource
1673
+ # @param [Response] response Response from the API
1674
+ # @param [Hash] solution Path solution for the resource
1675
+ # @return [ContentPage] ContentPage
1676
+ def initialize(version, response, solution)
1677
+ super(version, response)
1678
+
1679
+
1680
+ # Path Solution
1681
+ @solution = solution
1682
+ end
1683
+
1684
+ ##
1685
+ # Build an instance of ContentInstance
1686
+ # @param [Hash] payload Payload response from the API
1687
+ # @return [ContentInstance] ContentInstance
1688
+ def get_instance(payload)
1689
+ ContentInstance.new(@version, payload)
1690
+ end
1691
+
1692
+ ##
1693
+ # Provide a user friendly representation
1694
+ def to_s
1695
+ '<Twilio.Content.V1.ContentPage>'
1696
+ end
1697
+ end
1698
+
1699
+ class ContentPageMetadata < PageMetadata
1700
+ attr_reader :content_page
1701
+
1702
+ def initialize(version, response, solution, limit)
1703
+ super(version, response)
1704
+ @content_page = []
1705
+ @limit = limit
1706
+ key = get_key(response.body)
1707
+ records = 0
1708
+ while( limit != :unset && records < limit )
1709
+ @content_page << ContentListResponse.new(version, @payload, key, limit - records)
1710
+ @payload = self.next_page
1711
+ break unless @payload
1712
+ records += @payload.body[key].size
1713
+ end
1714
+ # Path Solution
1715
+ @solution = solution
1716
+ end
1717
+
1718
+ def each
1719
+ @content_page.each do |record|
1720
+ yield record
1721
+ end
1722
+ end
1723
+
1724
+ def to_s
1725
+ '<Twilio::REST::Content::V1PageMetadata>';
1726
+ end
1727
+ end
1728
+ class ContentListResponse < InstanceListResource
1729
+
1730
+ # @param [Array<ContentInstance>] instance
1731
+ # @param [Hash{String => Object}] headers
1732
+ # @param [Integer] status_code
1733
+ def initialize(version, payload, key, limit = :unset)
1734
+ data_list = payload.body[key]
1735
+ if limit != :unset
1736
+ data_list = data_list[0, limit]
1737
+ end
1738
+ @content = data_list.map do |data|
1739
+ ContentInstance.new(version, data)
1740
+ end
1741
+ @headers = payload.headers
1742
+ @status_code = payload.status_code
1743
+ end
1744
+
1745
+ def content
1746
+ @content
1747
+ end
1748
+
1749
+ def headers
1750
+ @headers
1751
+ end
1752
+
1753
+ def status_code
1754
+ @status_code
1755
+ end
1756
+ end
1757
+
1758
+ class ContentInstance < InstanceResource
1759
+ ##
1760
+ # Initialize the ContentInstance
1761
+ # @param [Version] version Version that contains the resource
1762
+ # @param [Hash] payload payload that contains response from Twilio
1763
+ # @param [String] account_sid The SID of the
1764
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Content
1765
+ # resource.
1766
+ # @param [String] sid The SID of the Call resource to fetch.
1767
+ # @return [ContentInstance] ContentInstance
1768
+ def initialize(version, payload , sid: nil)
1769
+ super(version)
1770
+
1771
+
1772
+ # Marshaled Properties
1773
+ @properties = {
1774
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
1775
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
1776
+ 'sid' => payload['sid'],
1777
+ 'account_sid' => payload['account_sid'],
1778
+ 'friendly_name' => payload['friendly_name'],
1779
+ 'language' => payload['language'],
1780
+ 'variables' => payload['variables'],
1781
+ 'types' => payload['types'],
1782
+ 'url' => payload['url'],
1783
+ 'links' => payload['links'],
1784
+ }
1785
+
1786
+ # Context
1787
+ @instance_context = nil
1788
+ @params = { 'sid' => sid || @properties['sid'] , }
1789
+ end
1790
+
1791
+ ##
1792
+ # Generate an instance context for the instance, the context is capable of
1793
+ # performing various actions. All instance actions are proxied to the context
1794
+ # @return [ContentContext] CallContext for this CallInstance
1795
+ def context
1796
+ unless @instance_context
1797
+ @instance_context = ContentContext.new(@version , @params['sid'])
1798
+ end
1799
+ @instance_context
1800
+ end
1801
+
1802
+ ##
1803
+ # @return [Time] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
1804
+ def date_created
1805
+ @properties['date_created']
1806
+ end
1807
+
1808
+ ##
1809
+ # @return [Time] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
1810
+ def date_updated
1811
+ @properties['date_updated']
1812
+ end
1813
+
1814
+ ##
1815
+ # @return [String] The unique string that that we created to identify the Content resource.
1816
+ def sid
1817
+ @properties['sid']
1818
+ end
1819
+
1820
+ ##
1821
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/usage/api/account) that created Content resource.
1822
+ def account_sid
1823
+ @properties['account_sid']
1824
+ end
1825
+
1826
+ ##
1827
+ # @return [String] A string name used to describe the Content resource. Not visible to the end recipient.
1828
+ def friendly_name
1829
+ @properties['friendly_name']
1830
+ end
1831
+
1832
+ ##
1833
+ # @return [String] Two-letter (ISO 639-1) language code (e.g., en) identifying the language the Content resource is in.
1834
+ def language
1835
+ @properties['language']
1836
+ end
1837
+
1838
+ ##
1839
+ # @return [Hash] Defines the default placeholder values for variables included in the Content resource. e.g. {\"1\": \"Customer_Name\"}.
1840
+ def variables
1841
+ @properties['variables']
1842
+ end
1843
+
1844
+ ##
1845
+ # @return [Hash] The [Content types](https://www.twilio.com/docs/content-api/content-types-overview) (e.g. twilio/text) for this Content resource.
1846
+ def types
1847
+ @properties['types']
1848
+ end
1849
+
1850
+ ##
1851
+ # @return [String] The URL of the resource, relative to `https://content.twilio.com`.
1852
+ def url
1853
+ @properties['url']
1854
+ end
1855
+
1856
+ ##
1857
+ # @return [Hash] A list of links related to the Content resource, such as approval_fetch and approval_create
1858
+ def links
1859
+ @properties['links']
1860
+ end
1861
+
1862
+ ##
1863
+ # Delete the ContentInstance
1864
+ # @return [Boolean] True if delete succeeds, false otherwise
1865
+ def delete
1866
+
1867
+ context.delete
1868
+ end
1869
+
1870
+ ##
1871
+ # Fetch the ContentInstance
1872
+ # @return [ContentInstance] Fetched ContentInstance
1873
+ def fetch
1874
+
1875
+ context.fetch
1876
+ end
1877
+
1878
+ ##
1879
+ # Update the ContentInstance
1880
+ # @param [ContentUpdateRequest] content_update_request
1881
+ # @return [ContentInstance] Updated ContentInstance
1882
+ def update(content_update_request: nil
1883
+ )
1884
+
1885
+ context.update(
1886
+ )
1887
+ end
1888
+
1889
+ ##
1890
+ # Access the approval_create
1891
+ # @return [approval_create] approval_create
1892
+ def approval_create
1893
+ context.approval_create
1894
+ end
1895
+
1896
+ ##
1897
+ # Access the approval_fetch
1898
+ # @return [approval_fetch] approval_fetch
1899
+ def approval_fetch
1900
+ context.approval_fetch
1901
+ end
1902
+
1903
+ ##
1904
+ # Provide a user friendly representation
1905
+ def to_s
1906
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1907
+ "<Twilio.Content.V1.ContentInstance #{values}>"
1908
+ end
1909
+
1910
+ ##
1911
+ # Provide a detailed, user friendly representation
1912
+ def inspect
1913
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1914
+ "<Twilio.Content.V1.ContentInstance #{values}>"
1915
+ end
1916
+ end
204
1917
 
205
- ##
206
- # 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.
207
- class ContentInstance < InstanceResource
208
- ##
209
- # Initialize the ContentInstance
210
- # @param [Version] version Version that contains the resource
211
- # @param [Hash] payload payload that contains response from Twilio
212
- # @param [String] sid The Twilio-provided string that uniquely identifies the
213
- # Content resource to fetch.
214
- # @return [ContentInstance] ContentInstance
215
- def initialize(version, payload, sid: nil)
216
- super(version)
217
-
218
- # Marshaled Properties
219
- @properties = {
220
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
221
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
222
- 'sid' => payload['sid'],
223
- 'account_sid' => payload['account_sid'],
224
- 'friendly_name' => payload['friendly_name'],
225
- 'language' => payload['language'],
226
- 'variables' => payload['variables'],
227
- 'types' => payload['types'],
228
- 'url' => payload['url'],
229
- 'links' => payload['links'],
230
- }
231
-
232
- # Context
233
- @instance_context = nil
234
- @params = {'sid' => sid || @properties['sid'], }
235
- end
236
-
237
- ##
238
- # Generate an instance context for the instance, the context is capable of
239
- # performing various actions. All instance actions are proxied to the context
240
- # @return [ContentContext] ContentContext for this ContentInstance
241
- def context
242
- unless @instance_context
243
- @instance_context = ContentContext.new(@version, @params['sid'], )
244
1918
  end
245
- @instance_context
246
- end
247
-
248
- ##
249
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
250
- def date_created
251
- @properties['date_created']
252
- end
253
-
254
- ##
255
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
256
- def date_updated
257
- @properties['date_updated']
258
- end
259
-
260
- ##
261
- # @return [String] The unique string that identifies the resource
262
- def sid
263
- @properties['sid']
264
- end
265
-
266
- ##
267
- # @return [String] The SID of the Account that created the resource
268
- def account_sid
269
- @properties['account_sid']
270
- end
271
-
272
- ##
273
- # @return [String] A string name used to describe the Content resource
274
- def friendly_name
275
- @properties['friendly_name']
276
- end
277
-
278
- ##
279
- # @return [String] Two-letter language code identifying the language the Content resource is in.
280
- def language
281
- @properties['language']
282
- end
283
-
284
- ##
285
- # @return [Hash] Defines the default placeholder values for variables included in the Content resource
286
- def variables
287
- @properties['variables']
288
- end
289
-
290
- ##
291
- # @return [Hash] The Content types (e.g. twilio/text) for this Content resource
292
- def types
293
- @properties['types']
294
- end
295
-
296
- ##
297
- # @return [String] The URL of the resource, relative to `https://content.twilio.com`
298
- def url
299
- @properties['url']
300
- end
301
-
302
- ##
303
- # @return [String] A list of links related to the Content resource
304
- def links
305
- @properties['links']
306
- end
307
-
308
- ##
309
- # Fetch the ContentInstance
310
- # @return [ContentInstance] Fetched ContentInstance
311
- def fetch
312
- context.fetch
313
- end
314
-
315
- ##
316
- # Delete the ContentInstance
317
- # @return [Boolean] true if delete succeeds, false otherwise
318
- def delete
319
- context.delete
320
- end
321
-
322
- ##
323
- # Access the approval_fetch
324
- # @return [approval_fetch] approval_fetch
325
- def approval_fetch
326
- context.approval_fetch
327
- end
328
-
329
- ##
330
- # Provide a user friendly representation
331
- def to_s
332
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
333
- "<Twilio.Content.V1.ContentInstance #{values}>"
334
- end
335
-
336
- ##
337
- # Provide a detailed, user friendly representation
338
- def inspect
339
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
340
- "<Twilio.Content.V1.ContentInstance #{values}>"
341
- end
342
1919
  end
343
- end
344
1920
  end
345
- end
346
- end
1921
+ end