vapi_server_sdk 0.2.0 → 0.3.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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +129 -62
  4. data/lib/vapi_server_sdk/assistants/client.rb +15 -2
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  9. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  10. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +16 -4
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -8
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  14. data/lib/vapi_server_sdk/logs/client.rb +84 -0
  15. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  16. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  17. data/lib/vapi_server_sdk/squads/client.rb +8 -0
  18. data/lib/vapi_server_sdk/tools/client.rb +7 -91
  19. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  20. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  21. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  22. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  23. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  27. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  28. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  30. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  31. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  32. data/lib/vapi_server_sdk/types/azure_credential_region.rb +1 -1
  33. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  34. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  35. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -1
  36. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  37. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  38. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  39. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  40. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  41. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  42. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  43. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  44. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  45. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  46. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  47. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  48. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  49. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  50. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  51. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  52. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  53. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  54. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  55. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  56. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +1 -1
  57. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  58. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  59. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -1
  60. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  61. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  62. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  63. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  64. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  65. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  66. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  67. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  68. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  69. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  70. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  71. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  72. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  74. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  75. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  76. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  77. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  79. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  80. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  82. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  85. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  86. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  88. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  89. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  90. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  91. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  92. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  93. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  94. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  95. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  96. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  97. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  98. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  99. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  100. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  101. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  102. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  103. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  104. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  105. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  106. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  107. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  108. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  109. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  110. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  111. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  112. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  113. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  114. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  115. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  116. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  117. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  118. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  119. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/org.rb +25 -25
  122. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  123. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  124. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  125. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  126. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  127. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  128. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  129. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  130. data/lib/vapi_server_sdk/types/subscription.rb +2 -2
  131. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  132. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  133. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  134. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  135. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  136. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  137. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  138. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  139. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +1 -1
  140. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  141. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  142. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -1
  143. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  144. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  145. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  146. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  147. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  148. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  149. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  150. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  151. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  152. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  153. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  154. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  155. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  156. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  157. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  158. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  159. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  160. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  161. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  162. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  163. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  164. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  165. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  166. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  167. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  168. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  169. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  170. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  171. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  172. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  173. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  175. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  176. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  177. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  178. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  179. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  180. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  181. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  182. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  183. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  184. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  185. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  187. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  188. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  189. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  190. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  191. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  192. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  193. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  194. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  196. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  197. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  198. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  199. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  200. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  201. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  202. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  203. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  204. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  206. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  207. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  208. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  209. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  210. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  211. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  212. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  213. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  214. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  215. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  216. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  217. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  218. metadata +88 -21
  219. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  220. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  221. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  222. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  223. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  224. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  225. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  226. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  227. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +0 -55
  228. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  229. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  230. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +0 -55
  231. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +0 -55
  232. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  233. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -8,6 +8,7 @@ require_relative "assistant_client_messages_item"
8
8
  require_relative "assistant_server_messages_item"
9
9
  require_relative "assistant_background_sound"
10
10
  require_relative "transport_configuration_twilio"
11
+ require_relative "assistant_credentials_item"
11
12
  require_relative "twilio_voicemail_detection"
12
13
  require_relative "analysis_plan"
13
14
  require_relative "artifact_plan"
@@ -80,6 +81,11 @@ module Vapi
80
81
  # different transport providers. For a call, only the configuration matching the
81
82
  # call transport provider is used.
82
83
  attr_reader :transport_configurations
84
+ # @return [Array<Vapi::AssistantCredentialsItem>] These are dynamic credentials that will be used for the assistant calls. By
85
+ # default, all the credentials are available for use in the call but you can
86
+ # supplement an additional credentials using this. Dynamic credentials override
87
+ # existing credentials.
88
+ attr_reader :credentials
83
89
  # @return [String] This is the name of the assistant.
84
90
  # This is required when you want to transfer between assistants in a call.
85
91
  attr_reader :name
@@ -215,6 +221,10 @@ module Vapi
215
221
  # assistant's calls, like Twilio. You can store multiple configurations for
216
222
  # different transport providers. For a call, only the configuration matching the
217
223
  # call transport provider is used.
224
+ # @param credentials [Array<Vapi::AssistantCredentialsItem>] These are dynamic credentials that will be used for the assistant calls. By
225
+ # default, all the credentials are available for use in the call but you can
226
+ # supplement an additional credentials using this. Dynamic credentials override
227
+ # existing credentials.
218
228
  # @param name [String] This is the name of the assistant.
219
229
  # This is required when you want to transfer between assistants in a call.
220
230
  # @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
@@ -283,7 +293,7 @@ module Vapi
283
293
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
284
294
  # @return [Vapi::Assistant]
285
295
  def initialize(id:, org_id:, created_at:, updated_at:, transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
286
- hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
296
+ hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, credentials: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
287
297
  @transcriber = transcriber if transcriber != OMIT
288
298
  @model = model if model != OMIT
289
299
  @voice = voice if voice != OMIT
@@ -298,6 +308,7 @@ module Vapi
298
308
  @background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
299
309
  @model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
300
310
  @transport_configurations = transport_configurations if transport_configurations != OMIT
311
+ @credentials = credentials if credentials != OMIT
301
312
  @name = name if name != OMIT
302
313
  @voicemail_detection = voicemail_detection if voicemail_detection != OMIT
303
314
  @voicemail_message = voicemail_message if voicemail_message != OMIT
@@ -332,6 +343,7 @@ module Vapi
332
343
  "backgroundDenoisingEnabled": background_denoising_enabled,
333
344
  "modelOutputInMessagesEnabled": model_output_in_messages_enabled,
334
345
  "transportConfigurations": transport_configurations,
346
+ "credentials": credentials,
335
347
  "name": name,
336
348
  "voicemailDetection": voicemail_detection,
337
349
  "voicemailMessage": voicemail_message,
@@ -394,6 +406,10 @@ module Vapi
394
406
  item = item.to_json
395
407
  Vapi::TransportConfigurationTwilio.from_json(json_object: item)
396
408
  end
409
+ credentials = parsed_json["credentials"]&.map do |item|
410
+ item = item.to_json
411
+ Vapi::AssistantCredentialsItem.from_json(json_object: item)
412
+ end
397
413
  name = parsed_json["name"]
398
414
  if parsed_json["voicemailDetection"].nil?
399
415
  voicemail_detection = nil
@@ -467,6 +483,7 @@ module Vapi
467
483
  background_denoising_enabled: background_denoising_enabled,
468
484
  model_output_in_messages_enabled: model_output_in_messages_enabled,
469
485
  transport_configurations: transport_configurations,
486
+ credentials: credentials,
470
487
  name: name,
471
488
  voicemail_detection: voicemail_detection,
472
489
  voicemail_message: voicemail_message,
@@ -517,6 +534,7 @@ module Vapi
517
534
  obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
518
535
  obj.model_output_in_messages_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.model_output_in_messages_enabled is not the expected type, validation failed.")
519
536
  obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
537
+ obj.credentials&.is_a?(Array) != false || raise("Passed value for field obj.credentials is not the expected type, validation failed.")
520
538
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
521
539
  obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
522
540
  obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
@@ -0,0 +1,510 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "create_anthropic_credential_dto"
5
+ require_relative "create_anyscale_credential_dto"
6
+ require_relative "create_assembly_ai_credential_dto"
7
+ require_relative "create_azure_open_ai_credential_dto"
8
+ require_relative "create_azure_credential_dto"
9
+ require_relative "create_byo_sip_trunk_credential_dto"
10
+ require_relative "create_cartesia_credential_dto"
11
+ require_relative "create_cloudflare_credential_dto"
12
+ require_relative "create_custom_llm_credential_dto"
13
+ require_relative "create_deepgram_credential_dto"
14
+ require_relative "create_deep_infra_credential_dto"
15
+ require_relative "create_deep_seek_credential_dto"
16
+ require_relative "create_eleven_labs_credential_dto"
17
+ require_relative "create_gcp_credential_dto"
18
+ require_relative "create_gladia_credential_dto"
19
+ require_relative "create_go_high_level_credential_dto"
20
+ require_relative "create_groq_credential_dto"
21
+ require_relative "create_langfuse_credential_dto"
22
+ require_relative "create_lmnt_credential_dto"
23
+ require_relative "create_make_credential_dto"
24
+ require_relative "create_open_ai_credential_dto"
25
+ require_relative "create_open_router_credential_dto"
26
+ require_relative "create_perplexity_ai_credential_dto"
27
+ require_relative "create_play_ht_credential_dto"
28
+ require_relative "create_rime_ai_credential_dto"
29
+ require_relative "create_runpod_credential_dto"
30
+ require_relative "create_s_3_credential_dto"
31
+ require_relative "create_smallest_ai_credential_dto"
32
+ require_relative "create_tavus_credential_dto"
33
+ require_relative "create_together_ai_credential_dto"
34
+ require_relative "create_twilio_credential_dto"
35
+ require_relative "create_vonage_credential_dto"
36
+ require_relative "create_webhook_credential_dto"
37
+ require_relative "create_x_ai_credential_dto"
38
+
39
+ module Vapi
40
+ class AssistantCredentialsItem
41
+ # @return [Object]
42
+ attr_reader :member
43
+ # @return [String]
44
+ attr_reader :discriminant
45
+
46
+ private_class_method :new
47
+ alias kind_of? is_a?
48
+
49
+ # @param member [Object]
50
+ # @param discriminant [String]
51
+ # @return [Vapi::AssistantCredentialsItem]
52
+ def initialize(member:, discriminant:)
53
+ @member = member
54
+ @discriminant = discriminant
55
+ end
56
+
57
+ # Deserialize a JSON object to an instance of AssistantCredentialsItem
58
+ #
59
+ # @param json_object [String]
60
+ # @return [Vapi::AssistantCredentialsItem]
61
+ def self.from_json(json_object:)
62
+ struct = JSON.parse(json_object, object_class: OpenStruct)
63
+ member = case struct.provider
64
+ when "anthropic"
65
+ Vapi::CreateAnthropicCredentialDto.from_json(json_object: json_object)
66
+ when "anyscale"
67
+ Vapi::CreateAnyscaleCredentialDto.from_json(json_object: json_object)
68
+ when "assembly-ai"
69
+ Vapi::CreateAssemblyAiCredentialDto.from_json(json_object: json_object)
70
+ when "azure-openai"
71
+ Vapi::CreateAzureOpenAiCredentialDto.from_json(json_object: json_object)
72
+ when "azure"
73
+ Vapi::CreateAzureCredentialDto.from_json(json_object: json_object)
74
+ when "byo-sip-trunk"
75
+ Vapi::CreateByoSipTrunkCredentialDto.from_json(json_object: json_object)
76
+ when "cartesia"
77
+ Vapi::CreateCartesiaCredentialDto.from_json(json_object: json_object)
78
+ when "cloudflare"
79
+ Vapi::CreateCloudflareCredentialDto.from_json(json_object: json_object)
80
+ when "custom-llm"
81
+ Vapi::CreateCustomLlmCredentialDto.from_json(json_object: json_object)
82
+ when "deepgram"
83
+ Vapi::CreateDeepgramCredentialDto.from_json(json_object: json_object)
84
+ when "deepinfra"
85
+ Vapi::CreateDeepInfraCredentialDto.from_json(json_object: json_object)
86
+ when "deep-seek"
87
+ Vapi::CreateDeepSeekCredentialDto.from_json(json_object: json_object)
88
+ when "11labs"
89
+ Vapi::CreateElevenLabsCredentialDto.from_json(json_object: json_object)
90
+ when "gcp"
91
+ Vapi::CreateGcpCredentialDto.from_json(json_object: json_object)
92
+ when "gladia"
93
+ Vapi::CreateGladiaCredentialDto.from_json(json_object: json_object)
94
+ when "gohighlevel"
95
+ Vapi::CreateGoHighLevelCredentialDto.from_json(json_object: json_object)
96
+ when "groq"
97
+ Vapi::CreateGroqCredentialDto.from_json(json_object: json_object)
98
+ when "langfuse"
99
+ Vapi::CreateLangfuseCredentialDto.from_json(json_object: json_object)
100
+ when "lmnt"
101
+ Vapi::CreateLmntCredentialDto.from_json(json_object: json_object)
102
+ when "make"
103
+ Vapi::CreateMakeCredentialDto.from_json(json_object: json_object)
104
+ when "openai"
105
+ Vapi::CreateOpenAiCredentialDto.from_json(json_object: json_object)
106
+ when "openrouter"
107
+ Vapi::CreateOpenRouterCredentialDto.from_json(json_object: json_object)
108
+ when "perplexity-ai"
109
+ Vapi::CreatePerplexityAiCredentialDto.from_json(json_object: json_object)
110
+ when "playht"
111
+ Vapi::CreatePlayHtCredentialDto.from_json(json_object: json_object)
112
+ when "rime-ai"
113
+ Vapi::CreateRimeAiCredentialDto.from_json(json_object: json_object)
114
+ when "runpod"
115
+ Vapi::CreateRunpodCredentialDto.from_json(json_object: json_object)
116
+ when "s3"
117
+ Vapi::CreateS3CredentialDto.from_json(json_object: json_object)
118
+ when "smallest-ai"
119
+ Vapi::CreateSmallestAiCredentialDto.from_json(json_object: json_object)
120
+ when "tavus"
121
+ Vapi::CreateTavusCredentialDto.from_json(json_object: json_object)
122
+ when "together-ai"
123
+ Vapi::CreateTogetherAiCredentialDto.from_json(json_object: json_object)
124
+ when "twilio"
125
+ Vapi::CreateTwilioCredentialDto.from_json(json_object: json_object)
126
+ when "vonage"
127
+ Vapi::CreateVonageCredentialDto.from_json(json_object: json_object)
128
+ when "webhook"
129
+ Vapi::CreateWebhookCredentialDto.from_json(json_object: json_object)
130
+ when "xai"
131
+ Vapi::CreateXAiCredentialDto.from_json(json_object: json_object)
132
+ else
133
+ Vapi::CreateAnthropicCredentialDto.from_json(json_object: json_object)
134
+ end
135
+ new(member: member, discriminant: struct.provider)
136
+ end
137
+
138
+ # For Union Types, to_json functionality is delegated to the wrapped member.
139
+ #
140
+ # @return [String]
141
+ def to_json(*_args)
142
+ case @discriminant
143
+ when "anthropic"
144
+ { **@member.to_json, provider: @discriminant }.to_json
145
+ when "anyscale"
146
+ { **@member.to_json, provider: @discriminant }.to_json
147
+ when "assembly-ai"
148
+ { **@member.to_json, provider: @discriminant }.to_json
149
+ when "azure-openai"
150
+ { **@member.to_json, provider: @discriminant }.to_json
151
+ when "azure"
152
+ { **@member.to_json, provider: @discriminant }.to_json
153
+ when "byo-sip-trunk"
154
+ { **@member.to_json, provider: @discriminant }.to_json
155
+ when "cartesia"
156
+ { **@member.to_json, provider: @discriminant }.to_json
157
+ when "cloudflare"
158
+ { **@member.to_json, provider: @discriminant }.to_json
159
+ when "custom-llm"
160
+ { **@member.to_json, provider: @discriminant }.to_json
161
+ when "deepgram"
162
+ { **@member.to_json, provider: @discriminant }.to_json
163
+ when "deepinfra"
164
+ { **@member.to_json, provider: @discriminant }.to_json
165
+ when "deep-seek"
166
+ { **@member.to_json, provider: @discriminant }.to_json
167
+ when "11labs"
168
+ { **@member.to_json, provider: @discriminant }.to_json
169
+ when "gcp"
170
+ { **@member.to_json, provider: @discriminant }.to_json
171
+ when "gladia"
172
+ { **@member.to_json, provider: @discriminant }.to_json
173
+ when "gohighlevel"
174
+ { **@member.to_json, provider: @discriminant }.to_json
175
+ when "groq"
176
+ { **@member.to_json, provider: @discriminant }.to_json
177
+ when "langfuse"
178
+ { **@member.to_json, provider: @discriminant }.to_json
179
+ when "lmnt"
180
+ { **@member.to_json, provider: @discriminant }.to_json
181
+ when "make"
182
+ { **@member.to_json, provider: @discriminant }.to_json
183
+ when "openai"
184
+ { **@member.to_json, provider: @discriminant }.to_json
185
+ when "openrouter"
186
+ { **@member.to_json, provider: @discriminant }.to_json
187
+ when "perplexity-ai"
188
+ { **@member.to_json, provider: @discriminant }.to_json
189
+ when "playht"
190
+ { **@member.to_json, provider: @discriminant }.to_json
191
+ when "rime-ai"
192
+ { **@member.to_json, provider: @discriminant }.to_json
193
+ when "runpod"
194
+ { **@member.to_json, provider: @discriminant }.to_json
195
+ when "s3"
196
+ { **@member.to_json, provider: @discriminant }.to_json
197
+ when "smallest-ai"
198
+ { **@member.to_json, provider: @discriminant }.to_json
199
+ when "tavus"
200
+ { **@member.to_json, provider: @discriminant }.to_json
201
+ when "together-ai"
202
+ { **@member.to_json, provider: @discriminant }.to_json
203
+ when "twilio"
204
+ { **@member.to_json, provider: @discriminant }.to_json
205
+ when "vonage"
206
+ { **@member.to_json, provider: @discriminant }.to_json
207
+ when "webhook"
208
+ { **@member.to_json, provider: @discriminant }.to_json
209
+ when "xai"
210
+ { **@member.to_json, provider: @discriminant }.to_json
211
+ else
212
+ { "provider": @discriminant, value: @member }.to_json
213
+ end
214
+ @member.to_json
215
+ end
216
+
217
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
218
+ # hash and check each fields type against the current object's property
219
+ # definitions.
220
+ #
221
+ # @param obj [Object]
222
+ # @return [Void]
223
+ def self.validate_raw(obj:)
224
+ case obj.provider
225
+ when "anthropic"
226
+ Vapi::CreateAnthropicCredentialDto.validate_raw(obj: obj)
227
+ when "anyscale"
228
+ Vapi::CreateAnyscaleCredentialDto.validate_raw(obj: obj)
229
+ when "assembly-ai"
230
+ Vapi::CreateAssemblyAiCredentialDto.validate_raw(obj: obj)
231
+ when "azure-openai"
232
+ Vapi::CreateAzureOpenAiCredentialDto.validate_raw(obj: obj)
233
+ when "azure"
234
+ Vapi::CreateAzureCredentialDto.validate_raw(obj: obj)
235
+ when "byo-sip-trunk"
236
+ Vapi::CreateByoSipTrunkCredentialDto.validate_raw(obj: obj)
237
+ when "cartesia"
238
+ Vapi::CreateCartesiaCredentialDto.validate_raw(obj: obj)
239
+ when "cloudflare"
240
+ Vapi::CreateCloudflareCredentialDto.validate_raw(obj: obj)
241
+ when "custom-llm"
242
+ Vapi::CreateCustomLlmCredentialDto.validate_raw(obj: obj)
243
+ when "deepgram"
244
+ Vapi::CreateDeepgramCredentialDto.validate_raw(obj: obj)
245
+ when "deepinfra"
246
+ Vapi::CreateDeepInfraCredentialDto.validate_raw(obj: obj)
247
+ when "deep-seek"
248
+ Vapi::CreateDeepSeekCredentialDto.validate_raw(obj: obj)
249
+ when "11labs"
250
+ Vapi::CreateElevenLabsCredentialDto.validate_raw(obj: obj)
251
+ when "gcp"
252
+ Vapi::CreateGcpCredentialDto.validate_raw(obj: obj)
253
+ when "gladia"
254
+ Vapi::CreateGladiaCredentialDto.validate_raw(obj: obj)
255
+ when "gohighlevel"
256
+ Vapi::CreateGoHighLevelCredentialDto.validate_raw(obj: obj)
257
+ when "groq"
258
+ Vapi::CreateGroqCredentialDto.validate_raw(obj: obj)
259
+ when "langfuse"
260
+ Vapi::CreateLangfuseCredentialDto.validate_raw(obj: obj)
261
+ when "lmnt"
262
+ Vapi::CreateLmntCredentialDto.validate_raw(obj: obj)
263
+ when "make"
264
+ Vapi::CreateMakeCredentialDto.validate_raw(obj: obj)
265
+ when "openai"
266
+ Vapi::CreateOpenAiCredentialDto.validate_raw(obj: obj)
267
+ when "openrouter"
268
+ Vapi::CreateOpenRouterCredentialDto.validate_raw(obj: obj)
269
+ when "perplexity-ai"
270
+ Vapi::CreatePerplexityAiCredentialDto.validate_raw(obj: obj)
271
+ when "playht"
272
+ Vapi::CreatePlayHtCredentialDto.validate_raw(obj: obj)
273
+ when "rime-ai"
274
+ Vapi::CreateRimeAiCredentialDto.validate_raw(obj: obj)
275
+ when "runpod"
276
+ Vapi::CreateRunpodCredentialDto.validate_raw(obj: obj)
277
+ when "s3"
278
+ Vapi::CreateS3CredentialDto.validate_raw(obj: obj)
279
+ when "smallest-ai"
280
+ Vapi::CreateSmallestAiCredentialDto.validate_raw(obj: obj)
281
+ when "tavus"
282
+ Vapi::CreateTavusCredentialDto.validate_raw(obj: obj)
283
+ when "together-ai"
284
+ Vapi::CreateTogetherAiCredentialDto.validate_raw(obj: obj)
285
+ when "twilio"
286
+ Vapi::CreateTwilioCredentialDto.validate_raw(obj: obj)
287
+ when "vonage"
288
+ Vapi::CreateVonageCredentialDto.validate_raw(obj: obj)
289
+ when "webhook"
290
+ Vapi::CreateWebhookCredentialDto.validate_raw(obj: obj)
291
+ when "xai"
292
+ Vapi::CreateXAiCredentialDto.validate_raw(obj: obj)
293
+ else
294
+ raise("Passed value matched no type within the union, validation failed.")
295
+ end
296
+ end
297
+
298
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
299
+ #
300
+ # @param obj [Object]
301
+ # @return [Boolean]
302
+ def is_a?(obj)
303
+ @member.is_a?(obj)
304
+ end
305
+
306
+ # @param member [Vapi::CreateAnthropicCredentialDto]
307
+ # @return [Vapi::AssistantCredentialsItem]
308
+ def self.anthropic(member:)
309
+ new(member: member, discriminant: "anthropic")
310
+ end
311
+
312
+ # @param member [Vapi::CreateAnyscaleCredentialDto]
313
+ # @return [Vapi::AssistantCredentialsItem]
314
+ def self.anyscale(member:)
315
+ new(member: member, discriminant: "anyscale")
316
+ end
317
+
318
+ # @param member [Vapi::CreateAssemblyAiCredentialDto]
319
+ # @return [Vapi::AssistantCredentialsItem]
320
+ def self.assembly_ai(member:)
321
+ new(member: member, discriminant: "assembly-ai")
322
+ end
323
+
324
+ # @param member [Vapi::CreateAzureOpenAiCredentialDto]
325
+ # @return [Vapi::AssistantCredentialsItem]
326
+ def self.azure_openai(member:)
327
+ new(member: member, discriminant: "azure-openai")
328
+ end
329
+
330
+ # @param member [Vapi::CreateAzureCredentialDto]
331
+ # @return [Vapi::AssistantCredentialsItem]
332
+ def self.azure(member:)
333
+ new(member: member, discriminant: "azure")
334
+ end
335
+
336
+ # @param member [Vapi::CreateByoSipTrunkCredentialDto]
337
+ # @return [Vapi::AssistantCredentialsItem]
338
+ def self.byo_sip_trunk(member:)
339
+ new(member: member, discriminant: "byo-sip-trunk")
340
+ end
341
+
342
+ # @param member [Vapi::CreateCartesiaCredentialDto]
343
+ # @return [Vapi::AssistantCredentialsItem]
344
+ def self.cartesia(member:)
345
+ new(member: member, discriminant: "cartesia")
346
+ end
347
+
348
+ # @param member [Vapi::CreateCloudflareCredentialDto]
349
+ # @return [Vapi::AssistantCredentialsItem]
350
+ def self.cloudflare(member:)
351
+ new(member: member, discriminant: "cloudflare")
352
+ end
353
+
354
+ # @param member [Vapi::CreateCustomLlmCredentialDto]
355
+ # @return [Vapi::AssistantCredentialsItem]
356
+ def self.custom_llm(member:)
357
+ new(member: member, discriminant: "custom-llm")
358
+ end
359
+
360
+ # @param member [Vapi::CreateDeepgramCredentialDto]
361
+ # @return [Vapi::AssistantCredentialsItem]
362
+ def self.deepgram(member:)
363
+ new(member: member, discriminant: "deepgram")
364
+ end
365
+
366
+ # @param member [Vapi::CreateDeepInfraCredentialDto]
367
+ # @return [Vapi::AssistantCredentialsItem]
368
+ def self.deepinfra(member:)
369
+ new(member: member, discriminant: "deepinfra")
370
+ end
371
+
372
+ # @param member [Vapi::CreateDeepSeekCredentialDto]
373
+ # @return [Vapi::AssistantCredentialsItem]
374
+ def self.deep_seek(member:)
375
+ new(member: member, discriminant: "deep-seek")
376
+ end
377
+
378
+ # @param member [Vapi::CreateElevenLabsCredentialDto]
379
+ # @return [Vapi::AssistantCredentialsItem]
380
+ def self._11_labs(member:)
381
+ new(member: member, discriminant: "11labs")
382
+ end
383
+
384
+ # @param member [Vapi::CreateGcpCredentialDto]
385
+ # @return [Vapi::AssistantCredentialsItem]
386
+ def self.gcp(member:)
387
+ new(member: member, discriminant: "gcp")
388
+ end
389
+
390
+ # @param member [Vapi::CreateGladiaCredentialDto]
391
+ # @return [Vapi::AssistantCredentialsItem]
392
+ def self.gladia(member:)
393
+ new(member: member, discriminant: "gladia")
394
+ end
395
+
396
+ # @param member [Vapi::CreateGoHighLevelCredentialDto]
397
+ # @return [Vapi::AssistantCredentialsItem]
398
+ def self.gohighlevel(member:)
399
+ new(member: member, discriminant: "gohighlevel")
400
+ end
401
+
402
+ # @param member [Vapi::CreateGroqCredentialDto]
403
+ # @return [Vapi::AssistantCredentialsItem]
404
+ def self.groq(member:)
405
+ new(member: member, discriminant: "groq")
406
+ end
407
+
408
+ # @param member [Vapi::CreateLangfuseCredentialDto]
409
+ # @return [Vapi::AssistantCredentialsItem]
410
+ def self.langfuse(member:)
411
+ new(member: member, discriminant: "langfuse")
412
+ end
413
+
414
+ # @param member [Vapi::CreateLmntCredentialDto]
415
+ # @return [Vapi::AssistantCredentialsItem]
416
+ def self.lmnt(member:)
417
+ new(member: member, discriminant: "lmnt")
418
+ end
419
+
420
+ # @param member [Vapi::CreateMakeCredentialDto]
421
+ # @return [Vapi::AssistantCredentialsItem]
422
+ def self.make(member:)
423
+ new(member: member, discriminant: "make")
424
+ end
425
+
426
+ # @param member [Vapi::CreateOpenAiCredentialDto]
427
+ # @return [Vapi::AssistantCredentialsItem]
428
+ def self.openai(member:)
429
+ new(member: member, discriminant: "openai")
430
+ end
431
+
432
+ # @param member [Vapi::CreateOpenRouterCredentialDto]
433
+ # @return [Vapi::AssistantCredentialsItem]
434
+ def self.openrouter(member:)
435
+ new(member: member, discriminant: "openrouter")
436
+ end
437
+
438
+ # @param member [Vapi::CreatePerplexityAiCredentialDto]
439
+ # @return [Vapi::AssistantCredentialsItem]
440
+ def self.perplexity_ai(member:)
441
+ new(member: member, discriminant: "perplexity-ai")
442
+ end
443
+
444
+ # @param member [Vapi::CreatePlayHtCredentialDto]
445
+ # @return [Vapi::AssistantCredentialsItem]
446
+ def self.playht(member:)
447
+ new(member: member, discriminant: "playht")
448
+ end
449
+
450
+ # @param member [Vapi::CreateRimeAiCredentialDto]
451
+ # @return [Vapi::AssistantCredentialsItem]
452
+ def self.rime_ai(member:)
453
+ new(member: member, discriminant: "rime-ai")
454
+ end
455
+
456
+ # @param member [Vapi::CreateRunpodCredentialDto]
457
+ # @return [Vapi::AssistantCredentialsItem]
458
+ def self.runpod(member:)
459
+ new(member: member, discriminant: "runpod")
460
+ end
461
+
462
+ # @param member [Vapi::CreateS3CredentialDto]
463
+ # @return [Vapi::AssistantCredentialsItem]
464
+ def self.s_3(member:)
465
+ new(member: member, discriminant: "s3")
466
+ end
467
+
468
+ # @param member [Vapi::CreateSmallestAiCredentialDto]
469
+ # @return [Vapi::AssistantCredentialsItem]
470
+ def self.smallest_ai(member:)
471
+ new(member: member, discriminant: "smallest-ai")
472
+ end
473
+
474
+ # @param member [Vapi::CreateTavusCredentialDto]
475
+ # @return [Vapi::AssistantCredentialsItem]
476
+ def self.tavus(member:)
477
+ new(member: member, discriminant: "tavus")
478
+ end
479
+
480
+ # @param member [Vapi::CreateTogetherAiCredentialDto]
481
+ # @return [Vapi::AssistantCredentialsItem]
482
+ def self.together_ai(member:)
483
+ new(member: member, discriminant: "together-ai")
484
+ end
485
+
486
+ # @param member [Vapi::CreateTwilioCredentialDto]
487
+ # @return [Vapi::AssistantCredentialsItem]
488
+ def self.twilio(member:)
489
+ new(member: member, discriminant: "twilio")
490
+ end
491
+
492
+ # @param member [Vapi::CreateVonageCredentialDto]
493
+ # @return [Vapi::AssistantCredentialsItem]
494
+ def self.vonage(member:)
495
+ new(member: member, discriminant: "vonage")
496
+ end
497
+
498
+ # @param member [Vapi::CreateWebhookCredentialDto]
499
+ # @return [Vapi::AssistantCredentialsItem]
500
+ def self.webhook(member:)
501
+ new(member: member, discriminant: "webhook")
502
+ end
503
+
504
+ # @param member [Vapi::CreateXAiCredentialDto]
505
+ # @return [Vapi::AssistantCredentialsItem]
506
+ def self.xai(member:)
507
+ new(member: member, discriminant: "xai")
508
+ end
509
+ end
510
+ end
@@ -8,6 +8,7 @@ require_relative "deep_infra_model"
8
8
  require_relative "google_model"
9
9
  require_relative "groq_model"
10
10
  require_relative "inflection_ai_model"
11
+ require_relative "deep_seek_model"
11
12
  require_relative "open_ai_model"
12
13
  require_relative "open_router_model"
13
14
  require_relative "perplexity_ai_model"
@@ -55,6 +56,8 @@ module Vapi
55
56
  Vapi::GroqModel.from_json(json_object: json_object)
56
57
  when "inflection-ai"
57
58
  Vapi::InflectionAiModel.from_json(json_object: json_object)
59
+ when "deep-seek"
60
+ Vapi::DeepSeekModel.from_json(json_object: json_object)
58
61
  when "openai"
59
62
  Vapi::OpenAiModel.from_json(json_object: json_object)
60
63
  when "openrouter"
@@ -92,6 +95,8 @@ module Vapi
92
95
  { **@member.to_json, provider: @discriminant }.to_json
93
96
  when "inflection-ai"
94
97
  { **@member.to_json, provider: @discriminant }.to_json
98
+ when "deep-seek"
99
+ { **@member.to_json, provider: @discriminant }.to_json
95
100
  when "openai"
96
101
  { **@member.to_json, provider: @discriminant }.to_json
97
102
  when "openrouter"
@@ -132,6 +137,8 @@ module Vapi
132
137
  Vapi::GroqModel.validate_raw(obj: obj)
133
138
  when "inflection-ai"
134
139
  Vapi::InflectionAiModel.validate_raw(obj: obj)
140
+ when "deep-seek"
141
+ Vapi::DeepSeekModel.validate_raw(obj: obj)
135
142
  when "openai"
136
143
  Vapi::OpenAiModel.validate_raw(obj: obj)
137
144
  when "openrouter"
@@ -199,6 +206,12 @@ module Vapi
199
206
  new(member: member, discriminant: "inflection-ai")
200
207
  end
201
208
 
209
+ # @param member [Vapi::DeepSeekModel]
210
+ # @return [Vapi::AssistantModel]
211
+ def self.deep_seek(member:)
212
+ new(member: member, discriminant: "deep-seek")
213
+ end
214
+
202
215
  # @param member [Vapi::OpenAiModel]
203
216
  # @return [Vapi::AssistantModel]
204
217
  def self.openai(member:)