twilio-ruby 7.9.1 → 7.10.0

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 (532) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +81 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  5. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  6. data/lib/twilio-ruby/framework/rest/version.rb +70 -1
  7. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
  8. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +94 -0
  9. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
  12. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  13. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +124 -0
  14. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +150 -0
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
  16. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
  17. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +304 -1
  18. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
  19. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +122 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +122 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +122 -1
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +122 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +122 -1
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +122 -1
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +122 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +232 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +225 -2
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +394 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +434 -1
  40. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +215 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +388 -1
  49. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
  50. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +327 -1
  53. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +198 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +214 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +94 -1
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +94 -1
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +94 -1
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +94 -1
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +94 -1
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +94 -1
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +94 -1
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +94 -1
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +94 -1
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +275 -1
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
  97. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
  98. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
  99. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
  100. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
  101. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
  102. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
  103. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
  104. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
  105. data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
  106. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
  107. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
  108. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +133 -1
  109. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +156 -0
  110. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
  111. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
  112. data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
  113. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
  114. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
  115. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
  116. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
  117. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
  118. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
  119. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
  120. data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
  121. data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
  122. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
  123. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
  124. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
  125. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
  126. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
  127. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
  128. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
  129. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
  130. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
  131. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
  132. data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
  133. data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
  134. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
  135. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
  136. data/lib/twilio-ruby/rest/content/v1/content.rb +232 -1
  137. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
  138. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
  139. data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
  140. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
  141. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
  142. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
  143. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
  144. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
  145. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
  146. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
  147. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
  148. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
  149. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
  150. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
  151. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
  152. data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
  153. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +186 -1
  154. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
  157. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
  158. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
  159. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
  160. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
  161. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
  162. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
  163. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
  164. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
  165. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
  166. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
  167. data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
  168. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
  169. data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
  170. data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
  171. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
  172. data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
  173. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
  174. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
  175. data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
  176. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
  177. data/lib/twilio-ruby/rest/events/v1/subscription.rb +250 -1
  178. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +238 -1
  179. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
  180. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
  181. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
  182. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +140 -1
  183. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
  184. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
  185. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
  186. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
  187. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
  188. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
  189. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
  190. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
  192. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
  193. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
  194. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +195 -0
  195. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +196 -1
  196. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +208 -0
  197. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
  198. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
  199. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
  200. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
  201. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
  202. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
  204. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
  206. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
  207. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -0
  208. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +108 -0
  209. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
  210. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
  211. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +88 -1
  212. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
  213. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +184 -0
  214. data/lib/twilio-ruby/rest/iam/v1/token.rb +115 -0
  215. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
  216. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
  217. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
  218. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
  219. data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
  220. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +158 -1
  221. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
  222. data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
  223. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
  224. data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
  225. data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
  226. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
  227. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
  228. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
  229. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
  230. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +159 -1
  231. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
  232. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +295 -1
  233. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +142 -0
  234. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +142 -0
  235. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
  236. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
  237. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +90 -1
  238. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +235 -1
  239. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
  240. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
  241. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
  242. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
  243. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
  244. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
  248. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
  249. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
  250. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
  251. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
  252. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
  253. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
  260. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +86 -1
  261. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +136 -0
  262. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +234 -1
  263. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +151 -0
  264. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +185 -0
  265. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +213 -0
  266. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +184 -0
  267. data/lib/twilio-ruby/rest/lookups/v2/query.rb +89 -0
  268. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +93 -0
  269. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
  270. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
  271. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
  272. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
  273. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
  274. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
  275. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
  276. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
  277. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
  278. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
  279. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +227 -1
  280. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
  281. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
  284. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +136 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
  290. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
  291. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +217 -1
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +308 -1
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +332 -1
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +463 -1
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
  299. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +234 -1
  300. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +136 -0
  301. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +97 -0
  302. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
  303. data/lib/twilio-ruby/rest/monitor/v1/event.rb +171 -1
  304. data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
  305. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
  306. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
  307. data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
  308. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
  309. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
  310. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +98 -1
  311. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +182 -0
  312. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
  313. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
  314. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
  315. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
  316. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
  317. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +87 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/application.rb +185 -1
  319. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
  320. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
  321. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
  322. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +294 -1
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  335. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +142 -0
  336. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
  337. data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
  338. data/lib/twilio-ruby/rest/oauth/v2/token.rb +120 -0
  339. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
  340. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
  341. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
  342. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
  343. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
  344. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
  345. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
  346. data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
  347. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
  348. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
  349. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
  350. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
  351. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
  352. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
  353. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
  354. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +239 -1
  355. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
  356. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
  357. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  358. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
  359. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  360. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
  361. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
  362. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  363. data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
  364. data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
  365. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
  366. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
  367. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  368. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
  369. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
  370. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
  371. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
  372. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
  373. data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -1
  374. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
  375. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
  376. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
  378. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
  379. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
  380. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
  381. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
  382. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +167 -1
  383. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
  384. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
  385. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
  386. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
  387. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
  388. data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
  389. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
  390. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
  391. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +161 -1
  392. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
  393. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
  394. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
  395. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +161 -1
  396. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
  397. data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
  398. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
  399. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
  400. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +161 -1
  401. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +255 -1
  402. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +160 -1
  403. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
  404. data/lib/twilio-ruby/rest/studio/v2/flow.rb +260 -1
  405. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
  406. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
  407. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
  408. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
  409. data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
  410. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
  411. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
  412. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
  413. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
  414. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
  415. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
  416. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
  417. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
  418. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
  419. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
  420. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
  421. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
  422. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
  423. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
  424. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
  425. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
  426. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
  427. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
  428. data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
  429. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
  430. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
  431. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +360 -1
  432. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +310 -1
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +352 -1
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
  450. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
  451. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
  452. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
  453. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
  454. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
  455. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
  456. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
  457. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
  458. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +212 -1
  459. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
  460. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +284 -1
  461. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +183 -0
  462. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
  463. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +212 -1
  464. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
  465. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
  466. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
  467. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
  468. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
  469. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
  470. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
  471. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
  472. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
  473. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
  474. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
  475. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
  476. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
  477. data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
  478. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
  479. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
  480. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +90 -0
  481. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
  482. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
  483. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
  484. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +135 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
  486. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
  487. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +138 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +90 -0
  489. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +90 -0
  490. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
  491. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
  492. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +253 -0
  493. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
  494. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
  495. data/lib/twilio-ruby/rest/verify/v2/service.rb +392 -1
  496. data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
  497. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +175 -1
  498. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +156 -0
  499. data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
  500. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
  501. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
  502. data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
  503. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
  504. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
  505. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
  506. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
  507. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
  508. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
  509. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
  510. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
  511. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +232 -1
  512. data/lib/twilio-ruby/rest/video/v1/room.rb +278 -1
  513. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
  514. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
  515. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
  516. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
  517. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
  518. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
  519. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
  520. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
  521. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  522. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
  523. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
  524. data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
  525. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +278 -1
  526. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
  527. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
  528. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
  529. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
  530. data/lib/twilio-ruby/twiml/voice_response.rb +71 -4
  531. data/lib/twilio-ruby/version.rb +1 -1
  532. metadata +3 -2
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [AnnotationList] AnnotationList
28
28
  def initialize(version, call_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { call_sid: call_sid }
32
33
 
@@ -50,6 +51,7 @@ module Twilio
50
51
  # @return [AnnotationContext] AnnotationContext
51
52
  def initialize(version, call_sid)
52
53
  super(version)
54
+
53
55
 
54
56
  # Path Solution
55
57
  @solution = { call_sid: call_sid, }
@@ -76,6 +78,31 @@ module Twilio
76
78
  )
77
79
  end
78
80
 
81
+ ##
82
+ # Fetch the AnnotationInstanceMetadata
83
+ # @return [AnnotationInstance] Fetched AnnotationInstance
84
+ def fetch_with_metadata
85
+
86
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
87
+
88
+
89
+
90
+
91
+
92
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
93
+ annotation_instance = AnnotationInstance.new(
94
+ @version,
95
+ response.body,
96
+ call_sid: @solution[:call_sid],
97
+ )
98
+ AnnotationInstanceMetadata.new(
99
+ @version,
100
+ annotation_instance,
101
+ response.headers,
102
+ response.status_code
103
+ )
104
+ end
105
+
79
106
  ##
80
107
  # Update the AnnotationInstance
81
108
  # @param [AnsweredBy] answered_by
@@ -120,6 +147,56 @@ module Twilio
120
147
  )
121
148
  end
122
149
 
150
+ ##
151
+ # Update the AnnotationInstanceMetadata
152
+ # @param [AnsweredBy] answered_by
153
+ # @param [ConnectivityIssue] connectivity_issue
154
+ # @param [String] quality_issues Specify if the call had any subjective quality issues. Possible values, one or more of `no_quality_issue`, `low_volume`, `choppy_robotic`, `echo`, `dtmf`, `latency`, `owa`, `static_noise`. Use comma separated values to indicate multiple quality issues for the same call.
155
+ # @param [Boolean] spam A boolean flag to indicate if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Use `true` if the call was a spam call.
156
+ # @param [String] call_score Specify the call score. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad].
157
+ # @param [String] comment Specify any comments pertaining to the call. `comment` has a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in the `comment`.
158
+ # @param [String] incident Associate this call with an incident or support ticket. The `incident` parameter is of type string with a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in `incident`.
159
+ # @return [AnnotationInstance] Updated AnnotationInstance
160
+ def update_with_metadata(
161
+ answered_by: :unset,
162
+ connectivity_issue: :unset,
163
+ quality_issues: :unset,
164
+ spam: :unset,
165
+ call_score: :unset,
166
+ comment: :unset,
167
+ incident: :unset
168
+ )
169
+
170
+ data = Twilio::Values.of({
171
+ 'AnsweredBy' => answered_by,
172
+ 'ConnectivityIssue' => connectivity_issue,
173
+ 'QualityIssues' => quality_issues,
174
+ 'Spam' => spam,
175
+ 'CallScore' => call_score,
176
+ 'Comment' => comment,
177
+ 'Incident' => incident,
178
+ })
179
+
180
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
181
+
182
+
183
+
184
+
185
+
186
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
187
+ annotation_instance = AnnotationInstance.new(
188
+ @version,
189
+ response.body,
190
+ call_sid: @solution[:call_sid],
191
+ )
192
+ AnnotationInstanceMetadata.new(
193
+ @version,
194
+ annotation_instance,
195
+ response.headers,
196
+ response.status_code
197
+ )
198
+ end
199
+
123
200
 
124
201
  ##
125
202
  # Provide a user friendly representation
@@ -136,6 +213,53 @@ module Twilio
136
213
  end
137
214
  end
138
215
 
216
+ class AnnotationInstanceMetadata < InstanceResourceMetadata
217
+ ##
218
+ # Initializes a new AnnotationInstanceMetadata.
219
+ # @param [Version] version Version that contains the resource
220
+ # @param [}AnnotationInstance] annotation_instance The instance associated with the metadata.
221
+ # @param [Hash] headers Header object with response headers.
222
+ # @param [Integer] status_code The HTTP status code of the response.
223
+ # @return [AnnotationInstanceMetadata] The initialized instance with metadata.
224
+ def initialize(version, annotation_instance, headers, status_code)
225
+ super(version, headers, status_code)
226
+ @annotation_instance = annotation_instance
227
+ end
228
+
229
+ def annotation
230
+ @annotation_instance
231
+ end
232
+
233
+ def headers
234
+ @headers
235
+ end
236
+
237
+ def status_code
238
+ @status_code
239
+ end
240
+
241
+ def to_s
242
+ "<Twilio.Api.V2010.AnnotationInstanceMetadata status=#{@status_code}>"
243
+ end
244
+ end
245
+
246
+ class AnnotationListResponse < InstanceListResource
247
+ # @param [Array<AnnotationInstance>] instance
248
+ # @param [Hash{String => Object}] headers
249
+ # @param [Integer] status_code
250
+ def initialize(version, payload, key)
251
+ @annotation_instance = payload.body[key].map do |data|
252
+ AnnotationInstance.new(version, data)
253
+ end
254
+ @headers = payload.headers
255
+ @status_code = payload.status_code
256
+ end
257
+
258
+ def annotation_instance
259
+ @instance
260
+ end
261
+ end
262
+
139
263
  class AnnotationPage < Page
140
264
  ##
141
265
  # Initialize the AnnotationPage
@@ -145,6 +269,7 @@ module Twilio
145
269
  # @return [AnnotationPage] AnnotationPage
146
270
  def initialize(version, response, solution)
147
271
  super(version, response)
272
+
148
273
 
149
274
  # Path Solution
150
275
  @solution = solution
@@ -164,6 +289,66 @@ module Twilio
164
289
  '<Twilio.Insights.V1.AnnotationPage>'
165
290
  end
166
291
  end
292
+
293
+ class AnnotationPageMetadata < PageMetadata
294
+ attr_reader :annotation_page
295
+
296
+ def initialize(version, response, solution, limit)
297
+ super(version, response)
298
+ @annotation_page = []
299
+ @limit = limit
300
+ key = get_key(response.body)
301
+ records = 0
302
+ while( limit != :unset && records < limit )
303
+ @annotation_page << AnnotationListResponse.new(version, @payload, key, limit - records)
304
+ @payload = self.next_page
305
+ break unless @payload
306
+ records += @payload.body[key].size
307
+ end
308
+ # Path Solution
309
+ @solution = solution
310
+ end
311
+
312
+ def each
313
+ @annotation_page.each do |record|
314
+ yield record
315
+ end
316
+ end
317
+
318
+ def to_s
319
+ '<Twilio::REST::Insights::V1PageMetadata>';
320
+ end
321
+ end
322
+ class AnnotationListResponse < InstanceListResource
323
+
324
+ # @param [Array<AnnotationInstance>] instance
325
+ # @param [Hash{String => Object}] headers
326
+ # @param [Integer] status_code
327
+ def initialize(version, payload, key, limit = :unset)
328
+ data_list = payload.body[key]
329
+ if limit != :unset
330
+ data_list = data_list[0, limit]
331
+ end
332
+ @annotation = data_list.map do |data|
333
+ AnnotationInstance.new(version, data)
334
+ end
335
+ @headers = payload.headers
336
+ @status_code = payload.status_code
337
+ end
338
+
339
+ def annotation
340
+ @annotation
341
+ end
342
+
343
+ def headers
344
+ @headers
345
+ end
346
+
347
+ def status_code
348
+ @status_code
349
+ end
350
+ end
351
+
167
352
  class AnnotationInstance < InstanceResource
168
353
  ##
169
354
  # Initialize the AnnotationInstance
@@ -177,6 +362,7 @@ module Twilio
177
362
  def initialize(version, payload , call_sid: nil)
178
363
  super(version)
179
364
 
365
+
180
366
  # Marshaled Properties
181
367
  @properties = {
182
368
  'call_sid' => payload['call_sid'],
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [CallSummaryList] CallSummaryList
28
28
  def initialize(version, call_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { call_sid: call_sid }
32
33
 
@@ -50,6 +51,7 @@ module Twilio
50
51
  # @return [CallSummaryContext] CallSummaryContext
51
52
  def initialize(version, call_sid)
52
53
  super(version)
54
+
53
55
 
54
56
  # Path Solution
55
57
  @solution = { call_sid: call_sid, }
@@ -82,6 +84,37 @@ module Twilio
82
84
  )
83
85
  end
84
86
 
87
+ ##
88
+ # Fetch the CallSummaryInstanceMetadata
89
+ # @param [ProcessingState] processing_state The Processing State of this Call Summary. One of `complete`, `partial` or `all`.
90
+ # @return [CallSummaryInstance] Fetched CallSummaryInstance
91
+ def fetch_with_metadata(
92
+ processing_state: :unset
93
+ )
94
+
95
+ params = Twilio::Values.of({
96
+ 'ProcessingState' => processing_state,
97
+ })
98
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
99
+
100
+
101
+
102
+
103
+
104
+ response = @version.fetch_with_metadata('GET', @uri, params: params, headers: headers)
105
+ call_summary_instance = CallSummaryInstance.new(
106
+ @version,
107
+ response.body,
108
+ call_sid: @solution[:call_sid],
109
+ )
110
+ CallSummaryInstanceMetadata.new(
111
+ @version,
112
+ call_summary_instance,
113
+ response.headers,
114
+ response.status_code
115
+ )
116
+ end
117
+
85
118
 
86
119
  ##
87
120
  # Provide a user friendly representation
@@ -98,6 +131,53 @@ module Twilio
98
131
  end
99
132
  end
100
133
 
134
+ class CallSummaryInstanceMetadata < InstanceResourceMetadata
135
+ ##
136
+ # Initializes a new CallSummaryInstanceMetadata.
137
+ # @param [Version] version Version that contains the resource
138
+ # @param [}CallSummaryInstance] call_summary_instance The instance associated with the metadata.
139
+ # @param [Hash] headers Header object with response headers.
140
+ # @param [Integer] status_code The HTTP status code of the response.
141
+ # @return [CallSummaryInstanceMetadata] The initialized instance with metadata.
142
+ def initialize(version, call_summary_instance, headers, status_code)
143
+ super(version, headers, status_code)
144
+ @call_summary_instance = call_summary_instance
145
+ end
146
+
147
+ def call_summary
148
+ @call_summary_instance
149
+ end
150
+
151
+ def headers
152
+ @headers
153
+ end
154
+
155
+ def status_code
156
+ @status_code
157
+ end
158
+
159
+ def to_s
160
+ "<Twilio.Api.V2010.CallSummaryInstanceMetadata status=#{@status_code}>"
161
+ end
162
+ end
163
+
164
+ class CallSummaryListResponse < InstanceListResource
165
+ # @param [Array<CallSummaryInstance>] instance
166
+ # @param [Hash{String => Object}] headers
167
+ # @param [Integer] status_code
168
+ def initialize(version, payload, key)
169
+ @call_summary_instance = payload.body[key].map do |data|
170
+ CallSummaryInstance.new(version, data)
171
+ end
172
+ @headers = payload.headers
173
+ @status_code = payload.status_code
174
+ end
175
+
176
+ def call_summary_instance
177
+ @instance
178
+ end
179
+ end
180
+
101
181
  class CallSummaryPage < Page
102
182
  ##
103
183
  # Initialize the CallSummaryPage
@@ -107,6 +187,7 @@ module Twilio
107
187
  # @return [CallSummaryPage] CallSummaryPage
108
188
  def initialize(version, response, solution)
109
189
  super(version, response)
190
+
110
191
 
111
192
  # Path Solution
112
193
  @solution = solution
@@ -126,6 +207,66 @@ module Twilio
126
207
  '<Twilio.Insights.V1.CallSummaryPage>'
127
208
  end
128
209
  end
210
+
211
+ class CallSummaryPageMetadata < PageMetadata
212
+ attr_reader :call_summary_page
213
+
214
+ def initialize(version, response, solution, limit)
215
+ super(version, response)
216
+ @call_summary_page = []
217
+ @limit = limit
218
+ key = get_key(response.body)
219
+ records = 0
220
+ while( limit != :unset && records < limit )
221
+ @call_summary_page << CallSummaryListResponse.new(version, @payload, key, limit - records)
222
+ @payload = self.next_page
223
+ break unless @payload
224
+ records += @payload.body[key].size
225
+ end
226
+ # Path Solution
227
+ @solution = solution
228
+ end
229
+
230
+ def each
231
+ @call_summary_page.each do |record|
232
+ yield record
233
+ end
234
+ end
235
+
236
+ def to_s
237
+ '<Twilio::REST::Insights::V1PageMetadata>';
238
+ end
239
+ end
240
+ class CallSummaryListResponse < InstanceListResource
241
+
242
+ # @param [Array<CallSummaryInstance>] instance
243
+ # @param [Hash{String => Object}] headers
244
+ # @param [Integer] status_code
245
+ def initialize(version, payload, key, limit = :unset)
246
+ data_list = payload.body[key]
247
+ if limit != :unset
248
+ data_list = data_list[0, limit]
249
+ end
250
+ @call_summary = data_list.map do |data|
251
+ CallSummaryInstance.new(version, data)
252
+ end
253
+ @headers = payload.headers
254
+ @status_code = payload.status_code
255
+ end
256
+
257
+ def call_summary
258
+ @call_summary
259
+ end
260
+
261
+ def headers
262
+ @headers
263
+ end
264
+
265
+ def status_code
266
+ @status_code
267
+ end
268
+ end
269
+
129
270
  class CallSummaryInstance < InstanceResource
130
271
  ##
131
272
  # Initialize the CallSummaryInstance
@@ -139,6 +280,7 @@ module Twilio
139
280
  def initialize(version, payload , call_sid: nil)
140
281
  super(version)
141
282
 
283
+
142
284
  # Marshaled Properties
143
285
  @properties = {
144
286
  'account_sid' => payload['account_sid'],
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [EventList] EventList
28
28
  def initialize(version, call_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { call_sid: call_sid }
32
33
  @uri = "/Voice/#{@solution[:call_sid]}/Events"
@@ -75,6 +76,30 @@ module Twilio
75
76
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
76
77
  end
77
78
 
79
+ ##
80
+ # Lists EventPageMetadata records from the API as a list.
81
+ # @param [TwilioEdge] edge The Edge of this Event. One of `unknown_edge`, `carrier_edge`, `sip_edge`, `sdk_edge` or `client_edge`.
82
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
83
+ # guarantees to never return more than limit. Default is no limit
84
+ # @param [Integer] page_size Number of records to fetch per request, when
85
+ # not set will use the default value of 50 records. If no page_size is defined
86
+ # but a limit is defined, stream() will attempt to read the limit with the most
87
+ # efficient page size, i.e. min(limit, 1000)
88
+ # @return [Array] Array of up to limit results
89
+ def list_with_metadata(edge: :unset, limit: nil, page_size: nil)
90
+ limits = @version.read_limits(limit, page_size)
91
+ params = Twilio::Values.of({
92
+ 'Edge' => edge,
93
+
94
+ 'PageSize' => limits[:page_size],
95
+ });
96
+ headers = Twilio::Values.of({})
97
+
98
+ response = @version.page('GET', @uri, params: params, headers: headers)
99
+
100
+ EventPageMetadata.new(@version, response, @solution, limits[:limit])
101
+ end
102
+
78
103
  ##
79
104
  # When passed a block, yields EventInstance records from the API.
80
105
  # This operation lazily loads records as efficiently as possible until the limit
@@ -97,7 +122,7 @@ module Twilio
97
122
  # @param [Integer] page_number Page Number, this value is simply for client state
98
123
  # @param [Integer] page_size Number of records to return, defaults to 50
99
124
  # @return [Page] Page of EventInstance
100
- def page(edge: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
125
+ def page(edge: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
101
126
  params = Twilio::Values.of({
102
127
  'Edge' => edge,
103
128
  'PageToken' => page_token,
@@ -143,6 +168,7 @@ module Twilio
143
168
  # @return [EventPage] EventPage
144
169
  def initialize(version, response, solution)
145
170
  super(version, response)
171
+
146
172
 
147
173
  # Path Solution
148
174
  @solution = solution
@@ -162,6 +188,66 @@ module Twilio
162
188
  '<Twilio.Insights.V1.EventPage>'
163
189
  end
164
190
  end
191
+
192
+ class EventPageMetadata < PageMetadata
193
+ attr_reader :event_page
194
+
195
+ def initialize(version, response, solution, limit)
196
+ super(version, response)
197
+ @event_page = []
198
+ @limit = limit
199
+ key = get_key(response.body)
200
+ records = 0
201
+ while( limit != :unset && records < limit )
202
+ @event_page << EventListResponse.new(version, @payload, key, limit - records)
203
+ @payload = self.next_page
204
+ break unless @payload
205
+ records += @payload.body[key].size
206
+ end
207
+ # Path Solution
208
+ @solution = solution
209
+ end
210
+
211
+ def each
212
+ @event_page.each do |record|
213
+ yield record
214
+ end
215
+ end
216
+
217
+ def to_s
218
+ '<Twilio::REST::Insights::V1PageMetadata>';
219
+ end
220
+ end
221
+ class EventListResponse < InstanceListResource
222
+
223
+ # @param [Array<EventInstance>] instance
224
+ # @param [Hash{String => Object}] headers
225
+ # @param [Integer] status_code
226
+ def initialize(version, payload, key, limit = :unset)
227
+ data_list = payload.body[key]
228
+ if limit != :unset
229
+ data_list = data_list[0, limit]
230
+ end
231
+ @event = data_list.map do |data|
232
+ EventInstance.new(version, data)
233
+ end
234
+ @headers = payload.headers
235
+ @status_code = payload.status_code
236
+ end
237
+
238
+ def event
239
+ @event
240
+ end
241
+
242
+ def headers
243
+ @headers
244
+ end
245
+
246
+ def status_code
247
+ @status_code
248
+ end
249
+ end
250
+
165
251
  class EventInstance < InstanceResource
166
252
  ##
167
253
  # Initialize the EventInstance
@@ -175,6 +261,7 @@ module Twilio
175
261
  def initialize(version, payload , call_sid: nil)
176
262
  super(version)
177
263
 
264
+
178
265
  # Marshaled Properties
179
266
  @properties = {
180
267
  'timestamp' => payload['timestamp'],
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [MetricList] MetricList
28
28
  def initialize(version, call_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { call_sid: call_sid }
32
33
  @uri = "/Voice/#{@solution[:call_sid]}/Metrics"
@@ -79,6 +80,32 @@ module Twilio
79
80
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
80
81
  end
81
82
 
83
+ ##
84
+ # Lists MetricPageMetadata records from the API as a list.
85
+ # @param [TwilioEdge] edge The Edge of this Metric. One of `unknown_edge`, `carrier_edge`, `sip_edge`, `sdk_edge` or `client_edge`.
86
+ # @param [StreamDirection] direction The Direction of this Metric. One of `unknown`, `inbound`, `outbound` or `both`.
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Array] Array of up to limit results
94
+ def list_with_metadata(edge: :unset, direction: :unset, limit: nil, page_size: nil)
95
+ limits = @version.read_limits(limit, page_size)
96
+ params = Twilio::Values.of({
97
+ 'Edge' => edge,
98
+ 'Direction' => direction,
99
+
100
+ 'PageSize' => limits[:page_size],
101
+ });
102
+ headers = Twilio::Values.of({})
103
+
104
+ response = @version.page('GET', @uri, params: params, headers: headers)
105
+
106
+ MetricPageMetadata.new(@version, response, @solution, limits[:limit])
107
+ end
108
+
82
109
  ##
83
110
  # When passed a block, yields MetricInstance records from the API.
84
111
  # This operation lazily loads records as efficiently as possible until the limit
@@ -102,7 +129,7 @@ module Twilio
102
129
  # @param [Integer] page_number Page Number, this value is simply for client state
103
130
  # @param [Integer] page_size Number of records to return, defaults to 50
104
131
  # @return [Page] Page of MetricInstance
105
- def page(edge: :unset, direction: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
132
+ def page(edge: :unset, direction: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
106
133
  params = Twilio::Values.of({
107
134
  'Edge' => edge,
108
135
  'Direction' => direction,
@@ -149,6 +176,7 @@ module Twilio
149
176
  # @return [MetricPage] MetricPage
150
177
  def initialize(version, response, solution)
151
178
  super(version, response)
179
+
152
180
 
153
181
  # Path Solution
154
182
  @solution = solution
@@ -168,6 +196,66 @@ module Twilio
168
196
  '<Twilio.Insights.V1.MetricPage>'
169
197
  end
170
198
  end
199
+
200
+ class MetricPageMetadata < PageMetadata
201
+ attr_reader :metric_page
202
+
203
+ def initialize(version, response, solution, limit)
204
+ super(version, response)
205
+ @metric_page = []
206
+ @limit = limit
207
+ key = get_key(response.body)
208
+ records = 0
209
+ while( limit != :unset && records < limit )
210
+ @metric_page << MetricListResponse.new(version, @payload, key, limit - records)
211
+ @payload = self.next_page
212
+ break unless @payload
213
+ records += @payload.body[key].size
214
+ end
215
+ # Path Solution
216
+ @solution = solution
217
+ end
218
+
219
+ def each
220
+ @metric_page.each do |record|
221
+ yield record
222
+ end
223
+ end
224
+
225
+ def to_s
226
+ '<Twilio::REST::Insights::V1PageMetadata>';
227
+ end
228
+ end
229
+ class MetricListResponse < InstanceListResource
230
+
231
+ # @param [Array<MetricInstance>] instance
232
+ # @param [Hash{String => Object}] headers
233
+ # @param [Integer] status_code
234
+ def initialize(version, payload, key, limit = :unset)
235
+ data_list = payload.body[key]
236
+ if limit != :unset
237
+ data_list = data_list[0, limit]
238
+ end
239
+ @metric = data_list.map do |data|
240
+ MetricInstance.new(version, data)
241
+ end
242
+ @headers = payload.headers
243
+ @status_code = payload.status_code
244
+ end
245
+
246
+ def metric
247
+ @metric
248
+ end
249
+
250
+ def headers
251
+ @headers
252
+ end
253
+
254
+ def status_code
255
+ @status_code
256
+ end
257
+ end
258
+
171
259
  class MetricInstance < InstanceResource
172
260
  ##
173
261
  # Initialize the MetricInstance
@@ -181,6 +269,7 @@ module Twilio
181
269
  def initialize(version, payload , call_sid: nil)
182
270
  super(version)
183
271
 
272
+
184
273
  # Marshaled Properties
185
274
  @properties = {
186
275
  'timestamp' => payload['timestamp'],