vapi_server_sdk 0.2.0 → 0.4.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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +160 -68
  4. data/lib/vapi_server_sdk/analytics/client.rb +0 -14
  5. data/lib/vapi_server_sdk/assistants/client.rb +19 -72
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  10. data/lib/vapi_server_sdk/blocks/client.rb +7 -236
  11. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  12. data/lib/vapi_server_sdk/calls/client.rb +22 -74
  13. data/lib/vapi_server_sdk/files/client.rb +0 -70
  14. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -78
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  16. data/lib/vapi_server_sdk/logs/client.rb +75 -22
  17. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  18. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -139
  19. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  20. data/lib/vapi_server_sdk/squads/client.rb +16 -70
  21. data/lib/vapi_server_sdk/tools/client.rb +7 -161
  22. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  23. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  27. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  28. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  30. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  31. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  32. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  33. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  34. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  35. data/lib/vapi_server_sdk/types/azure_credential_region.rb +5 -3
  36. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  37. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  38. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +5 -3
  39. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  40. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  41. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  42. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  43. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  44. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  45. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  46. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  47. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  48. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  49. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  50. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  51. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  52. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  53. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  54. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  55. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  56. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  57. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  58. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  59. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  60. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  61. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  62. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  63. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  64. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  65. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  66. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +5 -3
  67. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  68. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  69. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +5 -3
  70. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  71. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  72. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  74. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  75. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  76. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  77. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  79. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  80. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  82. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  85. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  86. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  88. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  89. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  90. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  91. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  92. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  93. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  94. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  95. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  96. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  97. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  98. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  99. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  100. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  101. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  102. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  103. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  104. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  105. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  106. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  107. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +87 -0
  108. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +81 -0
  109. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  110. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  111. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  112. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  113. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  114. data/lib/vapi_server_sdk/types/edge.rb +80 -0
  115. data/lib/vapi_server_sdk/types/edge_condition.rb +94 -0
  116. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  117. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  118. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  119. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  122. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  123. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  124. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  125. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  126. data/lib/vapi_server_sdk/types/gather.rb +87 -0
  127. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  128. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  129. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  130. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  131. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  132. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  133. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  134. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  135. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  136. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  137. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  138. data/lib/vapi_server_sdk/types/json_schema.rb +13 -2
  139. data/lib/vapi_server_sdk/types/log.rb +18 -18
  140. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  141. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  142. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  143. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  144. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  145. data/lib/vapi_server_sdk/types/org.rb +25 -25
  146. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  147. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_remove_dto.rb → programmatic_edge_condition.rb} +16 -14
  148. data/lib/vapi_server_sdk/types/say.rb +72 -0
  149. data/lib/vapi_server_sdk/types/{payment_retry_dto.rb → semantic_edge_condition.rb} +16 -14
  150. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  151. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  152. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  153. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  154. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  155. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  156. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  157. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  158. data/lib/vapi_server_sdk/types/subscription.rb +13 -11
  159. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  160. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  161. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  162. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  163. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  164. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  165. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  166. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  167. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  168. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_buy_dto.rb → trieve_knowledge_base_import.rb} +14 -14
  169. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +9 -11
  170. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan_search_type.rb → trieve_knowledge_base_search_plan_search_type.rb} +1 -1
  171. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  172. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  173. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  175. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  176. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +5 -3
  177. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  178. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  179. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +5 -3
  180. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  181. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  182. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  183. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  184. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  185. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  187. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  188. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  189. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  190. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  191. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  192. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +137 -0
  193. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  194. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  196. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  197. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  198. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  199. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  200. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  201. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  202. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  203. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  204. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  206. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  207. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  208. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  209. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  210. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  211. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  212. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  213. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  214. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  215. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  216. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  217. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  218. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  219. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  220. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  221. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  222. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  223. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  224. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  225. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  226. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  227. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  228. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  229. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  230. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  231. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  232. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  233. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  234. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  235. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  236. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  237. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  238. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  239. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  240. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +96 -0
  241. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  242. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  243. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  244. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  245. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  246. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  247. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  248. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  249. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  250. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  251. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  252. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  253. data/lib/vapi_server_sdk/types/update_workflow_dto.rb +82 -0
  254. data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +81 -0
  255. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  256. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  257. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  258. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  259. data/lib/vapi_server_sdk/types/workflow.rb +125 -0
  260. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +81 -0
  261. metadata +116 -24
  262. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  263. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  264. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  265. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  266. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  267. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  268. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  269. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  270. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  271. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  272. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  273. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -5,6 +5,7 @@ require_relative "types/logs_get_request_type"
5
5
  require_relative "types/logs_get_request_sort_order"
6
6
  require "date"
7
7
  require_relative "../types/logs_paginated_response"
8
+ require_relative "types/logging_controller_logs_delete_query_request_type"
8
9
  require "async"
9
10
 
10
11
  module Vapi
@@ -18,7 +19,6 @@ module Vapi
18
19
  @request_client = request_client
19
20
  end
20
21
 
21
- # @param org_id [String] This is the unique identifier for the org that this log belongs to.
22
22
  # @param type [Vapi::Logs::LogsGetRequestType] This is the type of the log.
23
23
  # @param webhook_type [String] This is the type of the webhook, given the log is from a webhook.
24
24
  # @param assistant_id [String] This is the ID of the assistant.
@@ -43,15 +43,8 @@ module Vapi
43
43
  # specified value.
44
44
  # @param request_options [Vapi::RequestOptions]
45
45
  # @return [Vapi::LogsPaginatedResponse]
46
- # @example
47
- # api = Vapi::Client.new(
48
- # base_url: "https://api.example.com",
49
- # environment: Vapi::Environment::DEFAULT,
50
- # token: "YOUR_AUTH_TOKEN"
51
- # )
52
- # api.logs.get
53
- def get(org_id: nil, type: nil, webhook_type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil,
54
- squad_id: nil, call_id: nil, page: nil, sort_order: nil, limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
46
+ def get(type: nil, webhook_type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil, squad_id: nil,
47
+ call_id: nil, page: nil, sort_order: nil, limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
55
48
  response = @request_client.conn.get do |req|
56
49
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
57
50
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -62,7 +55,6 @@ module Vapi
62
55
  }.compact
63
56
  req.params = {
64
57
  **(request_options&.additional_query_parameters || {}),
65
- "orgId": org_id,
66
58
  "type": type,
67
59
  "webhookType": webhook_type,
68
60
  "assistantId": assistant_id,
@@ -89,6 +81,40 @@ module Vapi
89
81
  end
90
82
  Vapi::LogsPaginatedResponse.from_json(json_object: response.body)
91
83
  end
84
+
85
+ # @param type [Vapi::Logs::LoggingControllerLogsDeleteQueryRequestType] This is the type of the log.
86
+ # @param assistant_id [String]
87
+ # @param phone_number_id [String] This is the ID of the phone number.
88
+ # @param customer_id [String] This is the ID of the customer.
89
+ # @param squad_id [String] This is the ID of the squad.
90
+ # @param call_id [String] This is the ID of the call.
91
+ # @param request_options [Vapi::RequestOptions]
92
+ # @return [Void]
93
+ def logging_controller_logs_delete_query(type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil,
94
+ squad_id: nil, call_id: nil, request_options: nil)
95
+ @request_client.conn.delete do |req|
96
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
97
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
98
+ req.headers = {
99
+ **(req.headers || {}),
100
+ **@request_client.get_headers,
101
+ **(request_options&.additional_headers || {})
102
+ }.compact
103
+ req.params = {
104
+ **(request_options&.additional_query_parameters || {}),
105
+ "type": type,
106
+ "assistantId": assistant_id,
107
+ "phoneNumberId": phone_number_id,
108
+ "customerId": customer_id,
109
+ "squadId": squad_id,
110
+ "callId": call_id
111
+ }.compact
112
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
113
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
114
+ end
115
+ req.url "#{@request_client.get_url(request_options: request_options)}/logs"
116
+ end
117
+ end
92
118
  end
93
119
 
94
120
  class AsyncLogsClient
@@ -101,7 +127,6 @@ module Vapi
101
127
  @request_client = request_client
102
128
  end
103
129
 
104
- # @param org_id [String] This is the unique identifier for the org that this log belongs to.
105
130
  # @param type [Vapi::Logs::LogsGetRequestType] This is the type of the log.
106
131
  # @param webhook_type [String] This is the type of the webhook, given the log is from a webhook.
107
132
  # @param assistant_id [String] This is the ID of the assistant.
@@ -126,15 +151,8 @@ module Vapi
126
151
  # specified value.
127
152
  # @param request_options [Vapi::RequestOptions]
128
153
  # @return [Vapi::LogsPaginatedResponse]
129
- # @example
130
- # api = Vapi::Client.new(
131
- # base_url: "https://api.example.com",
132
- # environment: Vapi::Environment::DEFAULT,
133
- # token: "YOUR_AUTH_TOKEN"
134
- # )
135
- # api.logs.get
136
- def get(org_id: nil, type: nil, webhook_type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil,
137
- squad_id: nil, call_id: nil, page: nil, sort_order: nil, limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
154
+ def get(type: nil, webhook_type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil, squad_id: nil,
155
+ call_id: nil, page: nil, sort_order: nil, limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
138
156
  Async do
139
157
  response = @request_client.conn.get do |req|
140
158
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -146,7 +164,6 @@ module Vapi
146
164
  }.compact
147
165
  req.params = {
148
166
  **(request_options&.additional_query_parameters || {}),
149
- "orgId": org_id,
150
167
  "type": type,
151
168
  "webhookType": webhook_type,
152
169
  "assistantId": assistant_id,
@@ -174,5 +191,41 @@ module Vapi
174
191
  Vapi::LogsPaginatedResponse.from_json(json_object: response.body)
175
192
  end
176
193
  end
194
+
195
+ # @param type [Vapi::Logs::LoggingControllerLogsDeleteQueryRequestType] This is the type of the log.
196
+ # @param assistant_id [String]
197
+ # @param phone_number_id [String] This is the ID of the phone number.
198
+ # @param customer_id [String] This is the ID of the customer.
199
+ # @param squad_id [String] This is the ID of the squad.
200
+ # @param call_id [String] This is the ID of the call.
201
+ # @param request_options [Vapi::RequestOptions]
202
+ # @return [Void]
203
+ def logging_controller_logs_delete_query(type: nil, assistant_id: nil, phone_number_id: nil, customer_id: nil,
204
+ squad_id: nil, call_id: nil, request_options: nil)
205
+ Async do
206
+ @request_client.conn.delete do |req|
207
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
208
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
209
+ req.headers = {
210
+ **(req.headers || {}),
211
+ **@request_client.get_headers,
212
+ **(request_options&.additional_headers || {})
213
+ }.compact
214
+ req.params = {
215
+ **(request_options&.additional_query_parameters || {}),
216
+ "type": type,
217
+ "assistantId": assistant_id,
218
+ "phoneNumberId": phone_number_id,
219
+ "customerId": customer_id,
220
+ "squadId": squad_id,
221
+ "callId": call_id
222
+ }.compact
223
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
224
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
225
+ end
226
+ req.url "#{@request_client.get_url(request_options: request_options)}/logs"
227
+ end
228
+ end
229
+ end
177
230
  end
178
231
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ class Logs
5
+ class LoggingControllerLogsDeleteQueryRequestType
6
+ API = "API"
7
+ WEBHOOK = "Webhook"
8
+ CALL = "Call"
9
+ PROVIDER = "Provider"
10
+ end
11
+ end
12
+ end
@@ -8,7 +8,7 @@ require_relative "types/phone_numbers_create_request"
8
8
  require_relative "types/phone_numbers_create_response"
9
9
  require_relative "types/phone_numbers_get_response"
10
10
  require_relative "types/phone_numbers_delete_response"
11
- require_relative "types/update_phone_number_dto_fallback_destination"
11
+ require_relative "types/phone_numbers_update_request"
12
12
  require_relative "types/phone_numbers_update_response"
13
13
  require "async"
14
14
 
@@ -38,13 +38,6 @@ module Vapi
38
38
  # specified value.
39
39
  # @param request_options [Vapi::RequestOptions]
40
40
  # @return [Array<Vapi::PhoneNumbers::PhoneNumbersListResponseItem>]
41
- # @example
42
- # api = Vapi::Client.new(
43
- # base_url: "https://api.example.com",
44
- # environment: Vapi::Environment::DEFAULT,
45
- # token: "YOUR_AUTH_TOKEN"
46
- # )
47
- # api.phone_numbers.list
48
41
  def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
49
42
  updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
50
43
  response = @request_client.conn.get do |req|
@@ -82,13 +75,6 @@ module Vapi
82
75
  # @param request [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
83
76
  # @param request_options [Vapi::RequestOptions]
84
77
  # @return [Vapi::PhoneNumbers::PhoneNumbersCreateResponse]
85
- # @example
86
- # api = Vapi::Client.new(
87
- # base_url: "https://api.example.com",
88
- # environment: Vapi::Environment::DEFAULT,
89
- # token: "YOUR_AUTH_TOKEN"
90
- # )
91
- # api.phone_numbers.create
92
78
  def create(request:, request_options: nil)
93
79
  response = @request_client.conn.post do |req|
94
80
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -110,13 +96,6 @@ module Vapi
110
96
  # @param id [String]
111
97
  # @param request_options [Vapi::RequestOptions]
112
98
  # @return [Vapi::PhoneNumbers::PhoneNumbersGetResponse]
113
- # @example
114
- # api = Vapi::Client.new(
115
- # base_url: "https://api.example.com",
116
- # environment: Vapi::Environment::DEFAULT,
117
- # token: "YOUR_AUTH_TOKEN"
118
- # )
119
- # api.phone_numbers.get(id: "id")
120
99
  def get(id:, request_options: nil)
121
100
  response = @request_client.conn.get do |req|
122
101
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -140,13 +119,6 @@ module Vapi
140
119
  # @param id [String]
141
120
  # @param request_options [Vapi::RequestOptions]
142
121
  # @return [Vapi::PhoneNumbers::PhoneNumbersDeleteResponse]
143
- # @example
144
- # api = Vapi::Client.new(
145
- # base_url: "https://api.example.com",
146
- # environment: Vapi::Environment::DEFAULT,
147
- # token: "YOUR_AUTH_TOKEN"
148
- # )
149
- # api.phone_numbers.delete(id: "id")
150
122
  def delete(id:, request_options: nil)
151
123
  response = @request_client.conn.delete do |req|
152
124
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -168,40 +140,10 @@ module Vapi
168
140
  end
169
141
 
170
142
  # @param id [String]
171
- # @param fallback_destination [Vapi::PhoneNumbers::UpdatePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
172
- # 1. `assistantId` is not set
173
- # 2. `squadId` is not set
174
- # 3. and, `assistant-request` message to the `serverUrl` fails
175
- # If this is not set and above conditions are met, the inbound call is hung up
176
- # with an error message.
177
- # @param name [String] This is the name of the phone number. This is just for your own reference.
178
- # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
179
- # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
180
- # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
181
- # shape of the message and response that is expected.
182
- # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
183
- # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
184
- # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
185
- # shape of the message and response that is expected.
186
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
187
- # This includes the `assistant-request` message.
188
- # You can see the shape of the messages sent in `ServerMessage`.
189
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
190
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
191
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
192
- # as a header called x-vapi-secret.
193
- # Same precedence logic as serverUrl.
143
+ # @param request [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
194
144
  # @param request_options [Vapi::RequestOptions]
195
145
  # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
196
- # @example
197
- # api = Vapi::Client.new(
198
- # base_url: "https://api.example.com",
199
- # environment: Vapi::Environment::DEFAULT,
200
- # token: "YOUR_AUTH_TOKEN"
201
- # )
202
- # api.phone_numbers.update(id: "id")
203
- def update(id:, fallback_destination: nil, name: nil, assistant_id: nil, squad_id: nil, server_url: nil,
204
- server_url_secret: nil, request_options: nil)
146
+ def update(id:, request:, request_options: nil)
205
147
  response = @request_client.conn.patch do |req|
206
148
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
207
149
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -213,15 +155,7 @@ module Vapi
213
155
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
214
156
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
215
157
  end
216
- req.body = {
217
- **(request_options&.additional_body_parameters || {}),
218
- fallbackDestination: fallback_destination,
219
- name: name,
220
- assistantId: assistant_id,
221
- squadId: squad_id,
222
- serverUrl: server_url,
223
- serverUrlSecret: server_url_secret
224
- }.compact
158
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
225
159
  req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
226
160
  end
227
161
  Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
@@ -253,13 +187,6 @@ module Vapi
253
187
  # specified value.
254
188
  # @param request_options [Vapi::RequestOptions]
255
189
  # @return [Array<Vapi::PhoneNumbers::PhoneNumbersListResponseItem>]
256
- # @example
257
- # api = Vapi::Client.new(
258
- # base_url: "https://api.example.com",
259
- # environment: Vapi::Environment::DEFAULT,
260
- # token: "YOUR_AUTH_TOKEN"
261
- # )
262
- # api.phone_numbers.list
263
190
  def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
264
191
  updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
265
192
  Async do
@@ -299,13 +226,6 @@ module Vapi
299
226
  # @param request [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
300
227
  # @param request_options [Vapi::RequestOptions]
301
228
  # @return [Vapi::PhoneNumbers::PhoneNumbersCreateResponse]
302
- # @example
303
- # api = Vapi::Client.new(
304
- # base_url: "https://api.example.com",
305
- # environment: Vapi::Environment::DEFAULT,
306
- # token: "YOUR_AUTH_TOKEN"
307
- # )
308
- # api.phone_numbers.create
309
229
  def create(request:, request_options: nil)
310
230
  Async do
311
231
  response = @request_client.conn.post do |req|
@@ -329,13 +249,6 @@ module Vapi
329
249
  # @param id [String]
330
250
  # @param request_options [Vapi::RequestOptions]
331
251
  # @return [Vapi::PhoneNumbers::PhoneNumbersGetResponse]
332
- # @example
333
- # api = Vapi::Client.new(
334
- # base_url: "https://api.example.com",
335
- # environment: Vapi::Environment::DEFAULT,
336
- # token: "YOUR_AUTH_TOKEN"
337
- # )
338
- # api.phone_numbers.get(id: "id")
339
252
  def get(id:, request_options: nil)
340
253
  Async do
341
254
  response = @request_client.conn.get do |req|
@@ -361,13 +274,6 @@ module Vapi
361
274
  # @param id [String]
362
275
  # @param request_options [Vapi::RequestOptions]
363
276
  # @return [Vapi::PhoneNumbers::PhoneNumbersDeleteResponse]
364
- # @example
365
- # api = Vapi::Client.new(
366
- # base_url: "https://api.example.com",
367
- # environment: Vapi::Environment::DEFAULT,
368
- # token: "YOUR_AUTH_TOKEN"
369
- # )
370
- # api.phone_numbers.delete(id: "id")
371
277
  def delete(id:, request_options: nil)
372
278
  Async do
373
279
  response = @request_client.conn.delete do |req|
@@ -391,40 +297,10 @@ module Vapi
391
297
  end
392
298
 
393
299
  # @param id [String]
394
- # @param fallback_destination [Vapi::PhoneNumbers::UpdatePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
395
- # 1. `assistantId` is not set
396
- # 2. `squadId` is not set
397
- # 3. and, `assistant-request` message to the `serverUrl` fails
398
- # If this is not set and above conditions are met, the inbound call is hung up
399
- # with an error message.
400
- # @param name [String] This is the name of the phone number. This is just for your own reference.
401
- # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
402
- # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
403
- # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
404
- # shape of the message and response that is expected.
405
- # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
406
- # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
407
- # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
408
- # shape of the message and response that is expected.
409
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
410
- # This includes the `assistant-request` message.
411
- # You can see the shape of the messages sent in `ServerMessage`.
412
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
413
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
414
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
415
- # as a header called x-vapi-secret.
416
- # Same precedence logic as serverUrl.
300
+ # @param request [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
417
301
  # @param request_options [Vapi::RequestOptions]
418
302
  # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
419
- # @example
420
- # api = Vapi::Client.new(
421
- # base_url: "https://api.example.com",
422
- # environment: Vapi::Environment::DEFAULT,
423
- # token: "YOUR_AUTH_TOKEN"
424
- # )
425
- # api.phone_numbers.update(id: "id")
426
- def update(id:, fallback_destination: nil, name: nil, assistant_id: nil, squad_id: nil, server_url: nil,
427
- server_url_secret: nil, request_options: nil)
303
+ def update(id:, request:, request_options: nil)
428
304
  Async do
429
305
  response = @request_client.conn.patch do |req|
430
306
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -437,15 +313,7 @@ module Vapi
437
313
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
438
314
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
439
315
  end
440
- req.body = {
441
- **(request_options&.additional_body_parameters || {}),
442
- fallbackDestination: fallback_destination,
443
- name: name,
444
- assistantId: assistant_id,
445
- squadId: squad_id,
446
- serverUrl: server_url,
447
- serverUrlSecret: server_url_secret
448
- }.compact
316
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
449
317
  req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
450
318
  end
451
319
  Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/update_byo_phone_number_dto"
5
+ require_relative "../../types/update_twilio_phone_number_dto"
6
+ require_relative "../../types/update_vonage_phone_number_dto"
7
+ require_relative "../../types/update_vapi_phone_number_dto"
8
+
9
+ module Vapi
10
+ class PhoneNumbers
11
+ class PhoneNumbersUpdateRequest
12
+ # @return [Object]
13
+ attr_reader :member
14
+ # @return [String]
15
+ attr_reader :discriminant
16
+
17
+ private_class_method :new
18
+ alias kind_of? is_a?
19
+
20
+ # @param member [Object]
21
+ # @param discriminant [String]
22
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
23
+ def initialize(member:, discriminant:)
24
+ @member = member
25
+ @discriminant = discriminant
26
+ end
27
+
28
+ # Deserialize a JSON object to an instance of PhoneNumbersUpdateRequest
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.provider
35
+ when "byo-phone-number"
36
+ Vapi::UpdateByoPhoneNumberDto.from_json(json_object: json_object)
37
+ when "twilio"
38
+ Vapi::UpdateTwilioPhoneNumberDto.from_json(json_object: json_object)
39
+ when "vonage"
40
+ Vapi::UpdateVonagePhoneNumberDto.from_json(json_object: json_object)
41
+ when "vapi"
42
+ Vapi::UpdateVapiPhoneNumberDto.from_json(json_object: json_object)
43
+ else
44
+ Vapi::UpdateByoPhoneNumberDto.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.provider)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "byo-phone-number"
55
+ { **@member.to_json, provider: @discriminant }.to_json
56
+ when "twilio"
57
+ { **@member.to_json, provider: @discriminant }.to_json
58
+ when "vonage"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "vapi"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ else
63
+ { "provider": @discriminant, value: @member }.to_json
64
+ end
65
+ @member.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ case obj.provider
76
+ when "byo-phone-number"
77
+ Vapi::UpdateByoPhoneNumberDto.validate_raw(obj: obj)
78
+ when "twilio"
79
+ Vapi::UpdateTwilioPhoneNumberDto.validate_raw(obj: obj)
80
+ when "vonage"
81
+ Vapi::UpdateVonagePhoneNumberDto.validate_raw(obj: obj)
82
+ when "vapi"
83
+ Vapi::UpdateVapiPhoneNumberDto.validate_raw(obj: obj)
84
+ else
85
+ raise("Passed value matched no type within the union, validation failed.")
86
+ end
87
+ end
88
+
89
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Boolean]
93
+ def is_a?(obj)
94
+ @member.is_a?(obj)
95
+ end
96
+
97
+ # @param member [Vapi::UpdateByoPhoneNumberDto]
98
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
99
+ def self.byo_phone_number(member:)
100
+ new(member: member, discriminant: "byo-phone-number")
101
+ end
102
+
103
+ # @param member [Vapi::UpdateTwilioPhoneNumberDto]
104
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
105
+ def self.twilio(member:)
106
+ new(member: member, discriminant: "twilio")
107
+ end
108
+
109
+ # @param member [Vapi::UpdateVonagePhoneNumberDto]
110
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
111
+ def self.vonage(member:)
112
+ new(member: member, discriminant: "vonage")
113
+ end
114
+
115
+ # @param member [Vapi::UpdateVapiPhoneNumberDto]
116
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
117
+ def self.vapi(member:)
118
+ new(member: member, discriminant: "vapi")
119
+ end
120
+ end
121
+ end
122
+ end