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
@@ -4,6 +4,7 @@ require_relative "subscription"
4
4
  require "date"
5
5
  require_relative "org_plan"
6
6
  require_relative "org_channel"
7
+ require_relative "server"
7
8
  require "ostruct"
8
9
  require "json"
9
10
 
@@ -47,14 +48,13 @@ module Vapi
47
48
  # @return [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
48
49
  # contact us at support@vapi.ai.
49
50
  attr_reader :billing_limit
50
- # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
51
- # is used for retrieving context, function calling, and end-of-call reports.
52
- # All requests will be sent with the call object among other things relevant to
53
- # that message. You can find more details in the Server URL documentation.
54
- attr_reader :server_url
55
- # @return [String] This is the secret you can set that Vapi will send with every request to your
56
- # server. Will be sent as a header called x-vapi-secret.
57
- attr_reader :server_url_secret
51
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
52
+ # with their shape in ServerMessage schema.
53
+ # The order of precedence is:
54
+ # 1. assistant.server
55
+ # 2. phoneNumber.server
56
+ # 3. org.server
57
+ attr_reader :server
58
58
  # @return [Float] This is the concurrency limit for the org. This is the maximum number of calls
59
59
  # that can be active at any given time. To go beyond 10, please contact us at
60
60
  # support@vapi.ai.
@@ -90,19 +90,19 @@ module Vapi
90
90
  # will be directed.
91
91
  # @param billing_limit [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
92
92
  # contact us at support@vapi.ai.
93
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
94
- # is used for retrieving context, function calling, and end-of-call reports.
95
- # All requests will be sent with the call object among other things relevant to
96
- # that message. You can find more details in the Server URL documentation.
97
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
98
- # server. Will be sent as a header called x-vapi-secret.
93
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
94
+ # with their shape in ServerMessage schema.
95
+ # The order of precedence is:
96
+ # 1. assistant.server
97
+ # 2. phoneNumber.server
98
+ # 3. org.server
99
99
  # @param concurrency_limit [Float] This is the concurrency limit for the org. This is the maximum number of calls
100
100
  # that can be active at any given time. To go beyond 10, please contact us at
101
101
  # support@vapi.ai.
102
102
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
103
103
  # @return [Vapi::Org]
104
104
  def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, subscription: OMIT, subscription_id: OMIT,
105
- stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, additional_properties: nil)
105
+ stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server: OMIT, concurrency_limit: OMIT, additional_properties: nil)
106
106
  @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
107
107
  @subscription = subscription if subscription != OMIT
108
108
  @subscription_id = subscription_id if subscription_id != OMIT
@@ -120,8 +120,7 @@ module Vapi
120
120
  @name = name if name != OMIT
121
121
  @channel = channel if channel != OMIT
122
122
  @billing_limit = billing_limit if billing_limit != OMIT
123
- @server_url = server_url if server_url != OMIT
124
- @server_url_secret = server_url_secret if server_url_secret != OMIT
123
+ @server = server if server != OMIT
125
124
  @concurrency_limit = concurrency_limit if concurrency_limit != OMIT
126
125
  @additional_properties = additional_properties
127
126
  @_field_set = {
@@ -140,8 +139,7 @@ module Vapi
140
139
  "name": name,
141
140
  "channel": channel,
142
141
  "billingLimit": billing_limit,
143
- "serverUrl": server_url,
144
- "serverUrlSecret": server_url_secret,
142
+ "server": server,
145
143
  "concurrencyLimit": concurrency_limit
146
144
  }.reject do |_k, v|
147
145
  v == OMIT
@@ -182,8 +180,12 @@ module Vapi
182
180
  name = parsed_json["name"]
183
181
  channel = parsed_json["channel"]
184
182
  billing_limit = parsed_json["billingLimit"]
185
- server_url = parsed_json["serverUrl"]
186
- server_url_secret = parsed_json["serverUrlSecret"]
183
+ if parsed_json["server"].nil?
184
+ server = nil
185
+ else
186
+ server = parsed_json["server"].to_json
187
+ server = Vapi::Server.from_json(json_object: server)
188
+ end
187
189
  concurrency_limit = parsed_json["concurrencyLimit"]
188
190
  new(
189
191
  hipaa_enabled: hipaa_enabled,
@@ -201,8 +203,7 @@ module Vapi
201
203
  name: name,
202
204
  channel: channel,
203
205
  billing_limit: billing_limit,
204
- server_url: server_url,
205
- server_url_secret: server_url_secret,
206
+ server: server,
206
207
  concurrency_limit: concurrency_limit,
207
208
  additional_properties: struct
208
209
  )
@@ -237,8 +238,7 @@ module Vapi
237
238
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
238
239
  obj.channel&.is_a?(Vapi::OrgChannel) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
239
240
  obj.billing_limit&.is_a?(Float) != false || raise("Passed value for field obj.billing_limit is not the expected type, validation failed.")
240
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
241
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
241
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
242
242
  obj.concurrency_limit&.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit is not the expected type, validation failed.")
243
243
  end
244
244
  end
@@ -4,6 +4,7 @@ require_relative "subscription"
4
4
  require "date"
5
5
  require_relative "org_plan"
6
6
  require_relative "org_with_org_user_channel"
7
+ require_relative "server"
7
8
  require_relative "org_with_org_user_role"
8
9
  require "ostruct"
9
10
  require "json"
@@ -48,14 +49,13 @@ module Vapi
48
49
  # @return [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
49
50
  # contact us at support@vapi.ai.
50
51
  attr_reader :billing_limit
51
- # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
52
- # is used for retrieving context, function calling, and end-of-call reports.
53
- # All requests will be sent with the call object among other things relevant to
54
- # that message. You can find more details in the Server URL documentation.
55
- attr_reader :server_url
56
- # @return [String] This is the secret you can set that Vapi will send with every request to your
57
- # server. Will be sent as a header called x-vapi-secret.
58
- attr_reader :server_url_secret
52
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
53
+ # with their shape in ServerMessage schema.
54
+ # The order of precedence is:
55
+ # 1. assistant.server
56
+ # 2. phoneNumber.server
57
+ # 3. org.server
58
+ attr_reader :server
59
59
  # @return [Float] This is the concurrency limit for the org. This is the maximum number of calls
60
60
  # that can be active at any given time. To go beyond 10, please contact us at
61
61
  # support@vapi.ai.
@@ -95,12 +95,12 @@ module Vapi
95
95
  # will be directed.
96
96
  # @param billing_limit [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
97
97
  # contact us at support@vapi.ai.
98
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
99
- # is used for retrieving context, function calling, and end-of-call reports.
100
- # All requests will be sent with the call object among other things relevant to
101
- # that message. You can find more details in the Server URL documentation.
102
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
103
- # server. Will be sent as a header called x-vapi-secret.
98
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
99
+ # with their shape in ServerMessage schema.
100
+ # The order of precedence is:
101
+ # 1. assistant.server
102
+ # 2. phoneNumber.server
103
+ # 3. org.server
104
104
  # @param concurrency_limit [Float] This is the concurrency limit for the org. This is the maximum number of calls
105
105
  # that can be active at any given time. To go beyond 10, please contact us at
106
106
  # support@vapi.ai.
@@ -109,7 +109,7 @@ module Vapi
109
109
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
110
110
  # @return [Vapi::OrgWithOrgUser]
111
111
  def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, subscription: OMIT, subscription_id: OMIT,
112
- stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, invited_by_user_id: OMIT, role: OMIT, additional_properties: nil)
112
+ stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server: OMIT, concurrency_limit: OMIT, invited_by_user_id: OMIT, role: OMIT, additional_properties: nil)
113
113
  @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
114
114
  @subscription = subscription if subscription != OMIT
115
115
  @subscription_id = subscription_id if subscription_id != OMIT
@@ -127,8 +127,7 @@ module Vapi
127
127
  @name = name if name != OMIT
128
128
  @channel = channel if channel != OMIT
129
129
  @billing_limit = billing_limit if billing_limit != OMIT
130
- @server_url = server_url if server_url != OMIT
131
- @server_url_secret = server_url_secret if server_url_secret != OMIT
130
+ @server = server if server != OMIT
132
131
  @concurrency_limit = concurrency_limit if concurrency_limit != OMIT
133
132
  @invited_by_user_id = invited_by_user_id if invited_by_user_id != OMIT
134
133
  @role = role if role != OMIT
@@ -149,8 +148,7 @@ module Vapi
149
148
  "name": name,
150
149
  "channel": channel,
151
150
  "billingLimit": billing_limit,
152
- "serverUrl": server_url,
153
- "serverUrlSecret": server_url_secret,
151
+ "server": server,
154
152
  "concurrencyLimit": concurrency_limit,
155
153
  "invitedByUserId": invited_by_user_id,
156
154
  "role": role
@@ -193,8 +191,12 @@ module Vapi
193
191
  name = parsed_json["name"]
194
192
  channel = parsed_json["channel"]
195
193
  billing_limit = parsed_json["billingLimit"]
196
- server_url = parsed_json["serverUrl"]
197
- server_url_secret = parsed_json["serverUrlSecret"]
194
+ if parsed_json["server"].nil?
195
+ server = nil
196
+ else
197
+ server = parsed_json["server"].to_json
198
+ server = Vapi::Server.from_json(json_object: server)
199
+ end
198
200
  concurrency_limit = parsed_json["concurrencyLimit"]
199
201
  invited_by_user_id = parsed_json["invitedByUserId"]
200
202
  role = parsed_json["role"]
@@ -214,8 +216,7 @@ module Vapi
214
216
  name: name,
215
217
  channel: channel,
216
218
  billing_limit: billing_limit,
217
- server_url: server_url,
218
- server_url_secret: server_url_secret,
219
+ server: server,
219
220
  concurrency_limit: concurrency_limit,
220
221
  invited_by_user_id: invited_by_user_id,
221
222
  role: role,
@@ -252,8 +253,7 @@ module Vapi
252
253
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
253
254
  obj.channel&.is_a?(Vapi::OrgWithOrgUserChannel) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
254
255
  obj.billing_limit&.is_a?(Float) != false || raise("Passed value for field obj.billing_limit is not the expected type, validation failed.")
255
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
256
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
256
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
257
257
  obj.concurrency_limit&.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit is not the expected type, validation failed.")
258
258
  obj.invited_by_user_id&.is_a?(String) != false || raise("Passed value for field obj.invited_by_user_id is not the expected type, validation failed.")
259
259
  obj.role&.is_a?(Vapi::OrgWithOrgUserRole) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
@@ -4,9 +4,9 @@ require "ostruct"
4
4
  require "json"
5
5
 
6
6
  module Vapi
7
- class SubscriptionConcurrencyLineRemoveDto
8
- # @return [Float] This is the number of concurrency lines to remove.
9
- attr_reader :quantity
7
+ class ProgrammaticEdgeCondition
8
+ # @return [String]
9
+ attr_reader :boolean_expression
10
10
  # @return [OpenStruct] Additional properties unmapped to the current class definition
11
11
  attr_reader :additional_properties
12
12
  # @return [Object]
@@ -15,27 +15,29 @@ module Vapi
15
15
 
16
16
  OMIT = Object.new
17
17
 
18
- # @param quantity [Float] This is the number of concurrency lines to remove.
18
+ # @param boolean_expression [String]
19
19
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
- # @return [Vapi::SubscriptionConcurrencyLineRemoveDto]
21
- def initialize(quantity:, additional_properties: nil)
22
- @quantity = quantity
20
+ # @return [Vapi::ProgrammaticEdgeCondition]
21
+ def initialize(boolean_expression: OMIT, additional_properties: nil)
22
+ @boolean_expression = boolean_expression if boolean_expression != OMIT
23
23
  @additional_properties = additional_properties
24
- @_field_set = { "quantity": quantity }
24
+ @_field_set = { "booleanExpression": boolean_expression }.reject do |_k, v|
25
+ v == OMIT
26
+ end
25
27
  end
26
28
 
27
- # Deserialize a JSON object to an instance of SubscriptionConcurrencyLineRemoveDto
29
+ # Deserialize a JSON object to an instance of ProgrammaticEdgeCondition
28
30
  #
29
31
  # @param json_object [String]
30
- # @return [Vapi::SubscriptionConcurrencyLineRemoveDto]
32
+ # @return [Vapi::ProgrammaticEdgeCondition]
31
33
  def self.from_json(json_object:)
32
34
  struct = JSON.parse(json_object, object_class: OpenStruct)
33
35
  parsed_json = JSON.parse(json_object)
34
- quantity = parsed_json["quantity"]
35
- new(quantity: quantity, additional_properties: struct)
36
+ boolean_expression = parsed_json["booleanExpression"]
37
+ new(boolean_expression: boolean_expression, additional_properties: struct)
36
38
  end
37
39
 
38
- # Serialize an instance of SubscriptionConcurrencyLineRemoveDto to a JSON object
40
+ # Serialize an instance of ProgrammaticEdgeCondition to a JSON object
39
41
  #
40
42
  # @return [String]
41
43
  def to_json(*_args)
@@ -49,7 +51,7 @@ module Vapi
49
51
  # @param obj [Object]
50
52
  # @return [Void]
51
53
  def self.validate_raw(obj:)
52
- obj.quantity.is_a?(Float) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
54
+ obj.boolean_expression&.is_a?(String) != false || raise("Passed value for field obj.boolean_expression is not the expected type, validation failed.")
53
55
  end
54
56
  end
55
57
  end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class Say
8
+ # @return [String]
9
+ attr_reader :type
10
+ # @return [String]
11
+ attr_reader :instruction
12
+ # @return [String]
13
+ attr_reader :name
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param type [String]
23
+ # @param instruction [String]
24
+ # @param name [String]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Vapi::Say]
27
+ def initialize(type:, instruction:, name:, additional_properties: nil)
28
+ @type = type
29
+ @instruction = instruction
30
+ @name = name
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "type": type, "instruction": instruction, "name": name }
33
+ end
34
+
35
+ # Deserialize a JSON object to an instance of Say
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Vapi::Say]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ type = parsed_json["type"]
43
+ instruction = parsed_json["instruction"]
44
+ name = parsed_json["name"]
45
+ new(
46
+ type: type,
47
+ instruction: instruction,
48
+ name: name,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+
53
+ # Serialize an instance of Say to a JSON object
54
+ #
55
+ # @return [String]
56
+ def to_json(*_args)
57
+ @_field_set&.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ obj.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
68
+ obj.instruction.is_a?(String) != false || raise("Passed value for field obj.instruction is not the expected type, validation failed.")
69
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
70
+ end
71
+ end
72
+ end
@@ -4,9 +4,9 @@ require "ostruct"
4
4
  require "json"
5
5
 
6
6
  module Vapi
7
- class PaymentRetryDto
8
- # @return [String] This is the payment ID to retry.
9
- attr_reader :payment_id
7
+ class SemanticEdgeCondition
8
+ # @return [Array<String>]
9
+ attr_reader :matches
10
10
  # @return [OpenStruct] Additional properties unmapped to the current class definition
11
11
  attr_reader :additional_properties
12
12
  # @return [Object]
@@ -15,27 +15,29 @@ module Vapi
15
15
 
16
16
  OMIT = Object.new
17
17
 
18
- # @param payment_id [String] This is the payment ID to retry.
18
+ # @param matches [Array<String>]
19
19
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
- # @return [Vapi::PaymentRetryDto]
21
- def initialize(payment_id:, additional_properties: nil)
22
- @payment_id = payment_id
20
+ # @return [Vapi::SemanticEdgeCondition]
21
+ def initialize(matches: OMIT, additional_properties: nil)
22
+ @matches = matches if matches != OMIT
23
23
  @additional_properties = additional_properties
24
- @_field_set = { "paymentId": payment_id }
24
+ @_field_set = { "matches": matches }.reject do |_k, v|
25
+ v == OMIT
26
+ end
25
27
  end
26
28
 
27
- # Deserialize a JSON object to an instance of PaymentRetryDto
29
+ # Deserialize a JSON object to an instance of SemanticEdgeCondition
28
30
  #
29
31
  # @param json_object [String]
30
- # @return [Vapi::PaymentRetryDto]
32
+ # @return [Vapi::SemanticEdgeCondition]
31
33
  def self.from_json(json_object:)
32
34
  struct = JSON.parse(json_object, object_class: OpenStruct)
33
35
  parsed_json = JSON.parse(json_object)
34
- payment_id = parsed_json["paymentId"]
35
- new(payment_id: payment_id, additional_properties: struct)
36
+ matches = parsed_json["matches"]
37
+ new(matches: matches, additional_properties: struct)
36
38
  end
37
39
 
38
- # Serialize an instance of PaymentRetryDto to a JSON object
40
+ # Serialize an instance of SemanticEdgeCondition to a JSON object
39
41
  #
40
42
  # @return [String]
41
43
  def to_json(*_args)
@@ -49,7 +51,7 @@ module Vapi
49
51
  # @param obj [Object]
50
52
  # @return [Void]
51
53
  def self.validate_raw(obj:)
52
- obj.payment_id.is_a?(String) != false || raise("Passed value for field obj.payment_id is not the expected type, validation failed.")
54
+ obj.matches&.is_a?(Array) != false || raise("Passed value for field obj.matches is not the expected type, validation failed.")
53
55
  end
54
56
  end
55
57
  end
@@ -4,6 +4,30 @@ module Vapi
4
4
  # This is the reason the call ended. This can also be found at `call.endedReason`
5
5
  # on GET /call/:id.
6
6
  class ServerMessageEndOfCallReportEndedReason
7
+ ASSISTANT_NOT_INVALID = "assistant-not-invalid"
8
+ ASSISTANT_NOT_PROVIDED = "assistant-not-provided"
9
+ CALL_START_ERROR_NEITHER_ASSISTANT_NOR_SERVER_SET = "call-start-error-neither-assistant-nor-server-set"
10
+ ASSISTANT_REQUEST_FAILED = "assistant-request-failed"
11
+ ASSISTANT_REQUEST_RETURNED_ERROR = "assistant-request-returned-error"
12
+ ASSISTANT_REQUEST_RETURNED_UNSPEAKABLE_ERROR = "assistant-request-returned-unspeakable-error"
13
+ ASSISTANT_REQUEST_RETURNED_INVALID_ASSISTANT = "assistant-request-returned-invalid-assistant"
14
+ ASSISTANT_REQUEST_RETURNED_NO_ASSISTANT = "assistant-request-returned-no-assistant"
15
+ ASSISTANT_REQUEST_RETURNED_FORWARDING_PHONE_NUMBER = "assistant-request-returned-forwarding-phone-number"
16
+ ASSISTANT_ENDED_CALL = "assistant-ended-call"
17
+ ASSISTANT_SAID_END_CALL_PHRASE = "assistant-said-end-call-phrase"
18
+ ASSISTANT_FORWARDED_CALL = "assistant-forwarded-call"
19
+ ASSISTANT_JOIN_TIMED_OUT = "assistant-join-timed-out"
20
+ CUSTOMER_BUSY = "customer-busy"
21
+ CUSTOMER_ENDED_CALL = "customer-ended-call"
22
+ CUSTOMER_DID_NOT_ANSWER = "customer-did-not-answer"
23
+ CUSTOMER_DID_NOT_GIVE_MICROPHONE_PERMISSION = "customer-did-not-give-microphone-permission"
24
+ ASSISTANT_SAID_MESSAGE_WITH_END_CALL_ENABLED = "assistant-said-message-with-end-call-enabled"
25
+ EXCEEDED_MAX_DURATION = "exceeded-max-duration"
26
+ MANUALLY_CANCELED = "manually-canceled"
27
+ PHONE_CALL_PROVIDER_CLOSED_WEBSOCKET = "phone-call-provider-closed-websocket"
28
+ DB_ERROR = "db-error"
29
+ ASSISTANT_NOT_FOUND = "assistant-not-found"
30
+ LICENSE_CHECK_FAILED = "license-check-failed"
7
31
  PIPELINE_ERROR_OPENAI_VOICE_FAILED = "pipeline-error-openai-voice-failed"
8
32
  PIPELINE_ERROR_CARTESIA_VOICE_FAILED = "pipeline-error-cartesia-voice-failed"
9
33
  PIPELINE_ERROR_DEEPGRAM_VOICE_FAILED = "pipeline-error-deepgram-voice-failed"
@@ -13,9 +37,12 @@ module Vapi
13
37
  PIPELINE_ERROR_AZURE_VOICE_FAILED = "pipeline-error-azure-voice-failed"
14
38
  PIPELINE_ERROR_RIME_AI_VOICE_FAILED = "pipeline-error-rime-ai-voice-failed"
15
39
  PIPELINE_ERROR_NEETS_VOICE_FAILED = "pipeline-error-neets-voice-failed"
16
- DB_ERROR = "db-error"
17
- ASSISTANT_NOT_FOUND = "assistant-not-found"
18
- LICENSE_CHECK_FAILED = "license-check-failed"
40
+ PIPELINE_ERROR_SMALLEST_AI_VOICE_FAILED = "pipeline-error-smallest-ai-voice-failed"
41
+ PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_FAILED = "pipeline-error-deepgram-transcriber-failed"
42
+ PIPELINE_ERROR_GLADIA_TRANSCRIBER_FAILED = "pipeline-error-gladia-transcriber-failed"
43
+ PIPELINE_ERROR_ASSEMBLY_AI_TRANSCRIBER_FAILED = "pipeline-error-assembly-ai-transcriber-failed"
44
+ PIPELINE_ERROR_TALKSCRIBER_TRANSCRIBER_FAILED = "pipeline-error-talkscriber-transcriber-failed"
45
+ PIPELINE_ERROR_AZURE_SPEECH_TRANSCRIBER_FAILED = "pipeline-error-azure-speech-transcriber-failed"
19
46
  PIPELINE_ERROR_VAPI_LLM_FAILED = "pipeline-error-vapi-llm-failed"
20
47
  PIPELINE_ERROR_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-vapi-400-bad-request-validation-failed"
21
48
  PIPELINE_ERROR_VAPI_401_UNAUTHORIZED = "pipeline-error-vapi-401-unauthorized"
@@ -35,36 +62,14 @@ module Vapi
35
62
  VAPIFAULT_WEB_CALL_WORKER_SETUP_FAILED = "vapifault-web-call-worker-setup-failed"
36
63
  VAPIFAULT_TRANSPORT_CONNECTED_BUT_CALL_NOT_ACTIVE = "vapifault-transport-connected-but-call-not-active"
37
64
  VAPIFAULT_CALL_STARTED_BUT_CONNECTION_TO_TRANSPORT_MISSING = "vapifault-call-started-but-connection-to-transport-missing"
38
- PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_FAILED = "pipeline-error-deepgram-transcriber-failed"
39
- PIPELINE_ERROR_GLADIA_TRANSCRIBER_FAILED = "pipeline-error-gladia-transcriber-failed"
40
- PIPELINE_ERROR_ASSEMBLY_AI_TRANSCRIBER_FAILED = "pipeline-error-assembly-ai-transcriber-failed"
41
65
  PIPELINE_ERROR_OPENAI_LLM_FAILED = "pipeline-error-openai-llm-failed"
42
66
  PIPELINE_ERROR_AZURE_OPENAI_LLM_FAILED = "pipeline-error-azure-openai-llm-failed"
43
67
  PIPELINE_ERROR_GROQ_LLM_FAILED = "pipeline-error-groq-llm-failed"
44
68
  PIPELINE_ERROR_GOOGLE_LLM_FAILED = "pipeline-error-google-llm-failed"
45
69
  PIPELINE_ERROR_XAI_LLM_FAILED = "pipeline-error-xai-llm-failed"
46
70
  PIPELINE_ERROR_INFLECTION_AI_LLM_FAILED = "pipeline-error-inflection-ai-llm-failed"
47
- ASSISTANT_NOT_INVALID = "assistant-not-invalid"
48
- ASSISTANT_NOT_PROVIDED = "assistant-not-provided"
49
- CALL_START_ERROR_NEITHER_ASSISTANT_NOR_SERVER_SET = "call-start-error-neither-assistant-nor-server-set"
50
- ASSISTANT_REQUEST_FAILED = "assistant-request-failed"
51
- ASSISTANT_REQUEST_RETURNED_ERROR = "assistant-request-returned-error"
52
- ASSISTANT_REQUEST_RETURNED_UNSPEAKABLE_ERROR = "assistant-request-returned-unspeakable-error"
53
- ASSISTANT_REQUEST_RETURNED_INVALID_ASSISTANT = "assistant-request-returned-invalid-assistant"
54
- ASSISTANT_REQUEST_RETURNED_NO_ASSISTANT = "assistant-request-returned-no-assistant"
55
- ASSISTANT_REQUEST_RETURNED_FORWARDING_PHONE_NUMBER = "assistant-request-returned-forwarding-phone-number"
56
- ASSISTANT_ENDED_CALL = "assistant-ended-call"
57
- ASSISTANT_SAID_END_CALL_PHRASE = "assistant-said-end-call-phrase"
58
- ASSISTANT_FORWARDED_CALL = "assistant-forwarded-call"
59
- ASSISTANT_JOIN_TIMED_OUT = "assistant-join-timed-out"
60
- CUSTOMER_BUSY = "customer-busy"
61
- CUSTOMER_ENDED_CALL = "customer-ended-call"
62
- CUSTOMER_DID_NOT_ANSWER = "customer-did-not-answer"
63
- CUSTOMER_DID_NOT_GIVE_MICROPHONE_PERMISSION = "customer-did-not-give-microphone-permission"
64
- ASSISTANT_SAID_MESSAGE_WITH_END_CALL_ENABLED = "assistant-said-message-with-end-call-enabled"
65
- EXCEEDED_MAX_DURATION = "exceeded-max-duration"
66
- MANUALLY_CANCELED = "manually-canceled"
67
- PHONE_CALL_PROVIDER_CLOSED_WEBSOCKET = "phone-call-provider-closed-websocket"
71
+ PIPELINE_ERROR_CEREBRAS_LLM_FAILED = "pipeline-error-cerebras-llm-failed"
72
+ PIPELINE_ERROR_DEEP_SEEK_LLM_FAILED = "pipeline-error-deep-seek-llm-failed"
68
73
  PIPELINE_ERROR_OPENAI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-openai-400-bad-request-validation-failed"
69
74
  PIPELINE_ERROR_OPENAI_401_UNAUTHORIZED = "pipeline-error-openai-401-unauthorized"
70
75
  PIPELINE_ERROR_OPENAI_403_MODEL_ACCESS_DENIED = "pipeline-error-openai-403-model-access-denied"
@@ -85,6 +90,11 @@ module Vapi
85
90
  PIPELINE_ERROR_INFLECTION_AI_403_MODEL_ACCESS_DENIED = "pipeline-error-inflection-ai-403-model-access-denied"
86
91
  PIPELINE_ERROR_INFLECTION_AI_429_EXCEEDED_QUOTA = "pipeline-error-inflection-ai-429-exceeded-quota"
87
92
  PIPELINE_ERROR_INFLECTION_AI_500_SERVER_ERROR = "pipeline-error-inflection-ai-500-server-error"
93
+ PIPELINE_ERROR_DEEP_SEEK_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-deep-seek-400-bad-request-validation-failed"
94
+ PIPELINE_ERROR_DEEP_SEEK_401_UNAUTHORIZED = "pipeline-error-deep-seek-401-unauthorized"
95
+ PIPELINE_ERROR_DEEP_SEEK_403_MODEL_ACCESS_DENIED = "pipeline-error-deep-seek-403-model-access-denied"
96
+ PIPELINE_ERROR_DEEP_SEEK_429_EXCEEDED_QUOTA = "pipeline-error-deep-seek-429-exceeded-quota"
97
+ PIPELINE_ERROR_DEEP_SEEK_500_SERVER_ERROR = "pipeline-error-deep-seek-500-server-error"
88
98
  PIPELINE_ERROR_AZURE_OPENAI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-azure-openai-400-bad-request-validation-failed"
89
99
  PIPELINE_ERROR_AZURE_OPENAI_401_UNAUTHORIZED = "pipeline-error-azure-openai-401-unauthorized"
90
100
  PIPELINE_ERROR_AZURE_OPENAI_403_MODEL_ACCESS_DENIED = "pipeline-error-azure-openai-403-model-access-denied"
@@ -95,6 +105,11 @@ module Vapi
95
105
  PIPELINE_ERROR_GROQ_403_MODEL_ACCESS_DENIED = "pipeline-error-groq-403-model-access-denied"
96
106
  PIPELINE_ERROR_GROQ_429_EXCEEDED_QUOTA = "pipeline-error-groq-429-exceeded-quota"
97
107
  PIPELINE_ERROR_GROQ_500_SERVER_ERROR = "pipeline-error-groq-500-server-error"
108
+ PIPELINE_ERROR_CEREBRAS_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-cerebras-400-bad-request-validation-failed"
109
+ PIPELINE_ERROR_CEREBRAS_401_UNAUTHORIZED = "pipeline-error-cerebras-401-unauthorized"
110
+ PIPELINE_ERROR_CEREBRAS_403_MODEL_ACCESS_DENIED = "pipeline-error-cerebras-403-model-access-denied"
111
+ PIPELINE_ERROR_CEREBRAS_429_EXCEEDED_QUOTA = "pipeline-error-cerebras-429-exceeded-quota"
112
+ PIPELINE_ERROR_CEREBRAS_500_SERVER_ERROR = "pipeline-error-cerebras-500-server-error"
98
113
  PIPELINE_ERROR_ANTHROPIC_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-anthropic-400-bad-request-validation-failed"
99
114
  PIPELINE_ERROR_ANTHROPIC_401_UNAUTHORIZED = "pipeline-error-anthropic-401-unauthorized"
100
115
  PIPELINE_ERROR_ANTHROPIC_403_MODEL_ACCESS_DENIED = "pipeline-error-anthropic-403-model-access-denied"
@@ -182,6 +197,8 @@ module Vapi
182
197
  PIPELINE_ERROR_PLAYHT_429_EXCEEDED_QUOTA = "pipeline-error-playht-429-exceeded-quota"
183
198
  PIPELINE_ERROR_PLAYHT_502_GATEWAY_ERROR = "pipeline-error-playht-502-gateway-error"
184
199
  PIPELINE_ERROR_PLAYHT_504_GATEWAY_ERROR = "pipeline-error-playht-504-gateway-error"
200
+ PIPELINE_ERROR_TAVUS_VIDEO_FAILED = "pipeline-error-tavus-video-failed"
201
+ PIPELINE_ERROR_CUSTOM_TRANSCRIBER_FAILED = "pipeline-error-custom-transcriber-failed"
185
202
  PIPELINE_ERROR_DEEPGRAM_RETURNING_403_MODEL_ACCESS_DENIED = "pipeline-error-deepgram-returning-403-model-access-denied"
186
203
  PIPELINE_ERROR_DEEPGRAM_RETURNING_401_INVALID_CREDENTIALS = "pipeline-error-deepgram-returning-401-invalid-credentials"
187
204
  PIPELINE_ERROR_DEEPGRAM_RETURNING_404_NOT_FOUND = "pipeline-error-deepgram-returning-404-not-found"
@@ -189,8 +206,6 @@ module Vapi
189
206
  PIPELINE_ERROR_DEEPGRAM_RETURNING_500_INVALID_JSON = "pipeline-error-deepgram-returning-500-invalid-json"
190
207
  PIPELINE_ERROR_DEEPGRAM_RETURNING_502_NETWORK_ERROR = "pipeline-error-deepgram-returning-502-network-error"
191
208
  PIPELINE_ERROR_DEEPGRAM_RETURNING_502_BAD_GATEWAY_EHOSTUNREACH = "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach"
192
- PIPELINE_ERROR_TAVUS_VIDEO_FAILED = "pipeline-error-tavus-video-failed"
193
- PIPELINE_ERROR_CUSTOM_TRANSCRIBER_FAILED = "pipeline-error-custom-transcriber-failed"
194
209
  SILENCE_TIMED_OUT = "silence-timed-out"
195
210
  SIP_GATEWAY_FAILED_TO_CONNECT_CALL = "sip-gateway-failed-to-connect-call"
196
211
  TWILIO_FAILED_TO_CONNECT_CALL = "twilio-failed-to-connect-call"
@@ -61,6 +61,9 @@ module Vapi
61
61
  # @return [String] This is the transcript of the call. This is only sent if the status is
62
62
  # "forwarding".
63
63
  attr_reader :transcript
64
+ # @return [String] This is the summary of the call. This is only sent if the status is
65
+ # "forwarding".
66
+ attr_reader :summary
64
67
  # @return [Hash{String => Object}] This is the inbound phone call debugging artifacts. This is only sent if the
65
68
  # status is "ended" and there was an error accepting the inbound phone call.
66
69
  # This will include any errors related to the "assistant-request" if one was made.
@@ -107,13 +110,15 @@ module Vapi
107
110
  # especially after the call is ended, use GET /call/:id.
108
111
  # @param transcript [String] This is the transcript of the call. This is only sent if the status is
109
112
  # "forwarding".
113
+ # @param summary [String] This is the summary of the call. This is only sent if the status is
114
+ # "forwarding".
110
115
  # @param inbound_phone_call_debugging_artifacts [Hash{String => Object}] This is the inbound phone call debugging artifacts. This is only sent if the
111
116
  # status is "ended" and there was an error accepting the inbound phone call.
112
117
  # This will include any errors related to the "assistant-request" if one was made.
113
118
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
114
119
  # @return [Vapi::ServerMessageStatusUpdate]
115
120
  def initialize(status:, phone_number: OMIT, ended_reason: OMIT, messages: OMIT, messages_open_ai_formatted: OMIT,
116
- destination: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT, customer: OMIT, call: OMIT, transcript: OMIT, inbound_phone_call_debugging_artifacts: OMIT, additional_properties: nil)
121
+ destination: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT, customer: OMIT, call: OMIT, transcript: OMIT, summary: OMIT, inbound_phone_call_debugging_artifacts: OMIT, additional_properties: nil)
117
122
  @phone_number = phone_number if phone_number != OMIT
118
123
  @status = status
119
124
  @ended_reason = ended_reason if ended_reason != OMIT
@@ -126,6 +131,7 @@ module Vapi
126
131
  @customer = customer if customer != OMIT
127
132
  @call = call if call != OMIT
128
133
  @transcript = transcript if transcript != OMIT
134
+ @summary = summary if summary != OMIT
129
135
  if inbound_phone_call_debugging_artifacts != OMIT
130
136
  @inbound_phone_call_debugging_artifacts = inbound_phone_call_debugging_artifacts
131
137
  end
@@ -143,6 +149,7 @@ module Vapi
143
149
  "customer": customer,
144
150
  "call": call,
145
151
  "transcript": transcript,
152
+ "summary": summary,
146
153
  "inboundPhoneCallDebuggingArtifacts": inbound_phone_call_debugging_artifacts
147
154
  }.reject do |_k, v|
148
155
  v == OMIT
@@ -204,6 +211,7 @@ module Vapi
204
211
  call = Vapi::Call.from_json(json_object: call)
205
212
  end
206
213
  transcript = parsed_json["transcript"]
214
+ summary = parsed_json["summary"]
207
215
  inbound_phone_call_debugging_artifacts = parsed_json["inboundPhoneCallDebuggingArtifacts"]
208
216
  new(
209
217
  phone_number: phone_number,
@@ -218,6 +226,7 @@ module Vapi
218
226
  customer: customer,
219
227
  call: call,
220
228
  transcript: transcript,
229
+ summary: summary,
221
230
  inbound_phone_call_debugging_artifacts: inbound_phone_call_debugging_artifacts,
222
231
  additional_properties: struct
223
232
  )
@@ -249,6 +258,7 @@ module Vapi
249
258
  obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
250
259
  obj.call.nil? || Vapi::Call.validate_raw(obj: obj.call)
251
260
  obj.transcript&.is_a?(String) != false || raise("Passed value for field obj.transcript is not the expected type, validation failed.")
261
+ obj.summary&.is_a?(String) != false || raise("Passed value for field obj.summary is not the expected type, validation failed.")
252
262
  obj.inbound_phone_call_debugging_artifacts&.is_a?(Hash) != false || raise("Passed value for field obj.inbound_phone_call_debugging_artifacts is not the expected type, validation failed.")
253
263
  end
254
264
  end