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
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "create_twilio_phone_number_dto_fallback_destination"
4
+ require_relative "server"
4
5
  require "ostruct"
5
6
  require "json"
6
7
 
@@ -31,16 +32,13 @@ module Vapi
31
32
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
32
33
  # shape of the message and response that is expected.
33
34
  attr_reader :squad_id
34
- # @return [String] This is the server URL where messages will be sent for calls on this number.
35
- # This includes the `assistant-request` message.
36
- # You can see the shape of the messages sent in `ServerMessage`.
37
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
38
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
39
- attr_reader :server_url
40
- # @return [String] This is the secret Vapi will send with every message to your server. It's sent
41
- # as a header called x-vapi-secret.
42
- # Same precedence logic as serverUrl.
43
- attr_reader :server_url_secret
35
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
36
+ # with their shape in ServerMessage schema.
37
+ # The order of precedence is:
38
+ # 1. assistant.server
39
+ # 2. phoneNumber.server
40
+ # 3. org.server
41
+ attr_reader :server
44
42
  # @return [OpenStruct] Additional properties unmapped to the current class definition
45
43
  attr_reader :additional_properties
46
44
  # @return [Object]
@@ -67,18 +65,16 @@ module Vapi
67
65
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
68
66
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
69
67
  # shape of the message and response that is expected.
70
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
71
- # This includes the `assistant-request` message.
72
- # You can see the shape of the messages sent in `ServerMessage`.
73
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
74
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
75
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
76
- # as a header called x-vapi-secret.
77
- # Same precedence logic as serverUrl.
68
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
69
+ # with their shape in ServerMessage schema.
70
+ # The order of precedence is:
71
+ # 1. assistant.server
72
+ # 2. phoneNumber.server
73
+ # 3. org.server
78
74
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
79
75
  # @return [Vapi::CreateTwilioPhoneNumberDto]
80
76
  def initialize(number:, twilio_account_sid:, twilio_auth_token:, fallback_destination: OMIT, name: OMIT,
81
- assistant_id: OMIT, squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
77
+ assistant_id: OMIT, squad_id: OMIT, server: OMIT, additional_properties: nil)
82
78
  @fallback_destination = fallback_destination if fallback_destination != OMIT
83
79
  @number = number
84
80
  @twilio_account_sid = twilio_account_sid
@@ -86,8 +82,7 @@ module Vapi
86
82
  @name = name if name != OMIT
87
83
  @assistant_id = assistant_id if assistant_id != OMIT
88
84
  @squad_id = squad_id if squad_id != OMIT
89
- @server_url = server_url if server_url != OMIT
90
- @server_url_secret = server_url_secret if server_url_secret != OMIT
85
+ @server = server if server != OMIT
91
86
  @additional_properties = additional_properties
92
87
  @_field_set = {
93
88
  "fallbackDestination": fallback_destination,
@@ -97,8 +92,7 @@ module Vapi
97
92
  "name": name,
98
93
  "assistantId": assistant_id,
99
94
  "squadId": squad_id,
100
- "serverUrl": server_url,
101
- "serverUrlSecret": server_url_secret
95
+ "server": server
102
96
  }.reject do |_k, v|
103
97
  v == OMIT
104
98
  end
@@ -123,8 +117,12 @@ module Vapi
123
117
  name = parsed_json["name"]
124
118
  assistant_id = parsed_json["assistantId"]
125
119
  squad_id = parsed_json["squadId"]
126
- server_url = parsed_json["serverUrl"]
127
- server_url_secret = parsed_json["serverUrlSecret"]
120
+ if parsed_json["server"].nil?
121
+ server = nil
122
+ else
123
+ server = parsed_json["server"].to_json
124
+ server = Vapi::Server.from_json(json_object: server)
125
+ end
128
126
  new(
129
127
  fallback_destination: fallback_destination,
130
128
  number: number,
@@ -133,8 +131,7 @@ module Vapi
133
131
  name: name,
134
132
  assistant_id: assistant_id,
135
133
  squad_id: squad_id,
136
- server_url: server_url,
137
- server_url_secret: server_url_secret,
134
+ server: server,
138
135
  additional_properties: struct
139
136
  )
140
137
  end
@@ -160,8 +157,7 @@ module Vapi
160
157
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
161
158
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
162
159
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
163
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
164
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
160
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
165
161
  end
166
162
  end
167
163
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "create_vapi_phone_number_dto_fallback_destination"
4
4
  require_relative "sip_authentication"
5
+ require_relative "server"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
@@ -34,16 +35,13 @@ module Vapi
34
35
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
35
36
  # shape of the message and response that is expected.
36
37
  attr_reader :squad_id
37
- # @return [String] This is the server URL where messages will be sent for calls on this number.
38
- # This includes the `assistant-request` message.
39
- # You can see the shape of the messages sent in `ServerMessage`.
40
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
41
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
42
- attr_reader :server_url
43
- # @return [String] This is the secret Vapi will send with every message to your server. It's sent
44
- # as a header called x-vapi-secret.
45
- # Same precedence logic as serverUrl.
46
- attr_reader :server_url_secret
38
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
39
+ # with their shape in ServerMessage schema.
40
+ # The order of precedence is:
41
+ # 1. assistant.server
42
+ # 2. phoneNumber.server
43
+ # 3. org.server
44
+ attr_reader :server
47
45
  # @return [OpenStruct] Additional properties unmapped to the current class definition
48
46
  attr_reader :additional_properties
49
47
  # @return [Object]
@@ -73,26 +71,23 @@ module Vapi
73
71
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
74
72
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
75
73
  # shape of the message and response that is expected.
76
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
77
- # This includes the `assistant-request` message.
78
- # You can see the shape of the messages sent in `ServerMessage`.
79
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
80
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
81
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
82
- # as a header called x-vapi-secret.
83
- # Same precedence logic as serverUrl.
74
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
75
+ # with their shape in ServerMessage schema.
76
+ # The order of precedence is:
77
+ # 1. assistant.server
78
+ # 2. phoneNumber.server
79
+ # 3. org.server
84
80
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
85
81
  # @return [Vapi::CreateVapiPhoneNumberDto]
86
82
  def initialize(sip_uri:, fallback_destination: OMIT, authentication: OMIT, name: OMIT, assistant_id: OMIT,
87
- squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
83
+ squad_id: OMIT, server: OMIT, additional_properties: nil)
88
84
  @fallback_destination = fallback_destination if fallback_destination != OMIT
89
85
  @sip_uri = sip_uri
90
86
  @authentication = authentication if authentication != OMIT
91
87
  @name = name if name != OMIT
92
88
  @assistant_id = assistant_id if assistant_id != OMIT
93
89
  @squad_id = squad_id if squad_id != OMIT
94
- @server_url = server_url if server_url != OMIT
95
- @server_url_secret = server_url_secret if server_url_secret != OMIT
90
+ @server = server if server != OMIT
96
91
  @additional_properties = additional_properties
97
92
  @_field_set = {
98
93
  "fallbackDestination": fallback_destination,
@@ -101,8 +96,7 @@ module Vapi
101
96
  "name": name,
102
97
  "assistantId": assistant_id,
103
98
  "squadId": squad_id,
104
- "serverUrl": server_url,
105
- "serverUrlSecret": server_url_secret
99
+ "server": server
106
100
  }.reject do |_k, v|
107
101
  v == OMIT
108
102
  end
@@ -131,8 +125,12 @@ module Vapi
131
125
  name = parsed_json["name"]
132
126
  assistant_id = parsed_json["assistantId"]
133
127
  squad_id = parsed_json["squadId"]
134
- server_url = parsed_json["serverUrl"]
135
- server_url_secret = parsed_json["serverUrlSecret"]
128
+ if parsed_json["server"].nil?
129
+ server = nil
130
+ else
131
+ server = parsed_json["server"].to_json
132
+ server = Vapi::Server.from_json(json_object: server)
133
+ end
136
134
  new(
137
135
  fallback_destination: fallback_destination,
138
136
  sip_uri: sip_uri,
@@ -140,8 +138,7 @@ module Vapi
140
138
  name: name,
141
139
  assistant_id: assistant_id,
142
140
  squad_id: squad_id,
143
- server_url: server_url,
144
- server_url_secret: server_url_secret,
141
+ server: server,
145
142
  additional_properties: struct
146
143
  )
147
144
  end
@@ -166,8 +163,7 @@ module Vapi
166
163
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
167
164
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
168
165
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
169
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
170
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
166
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
171
167
  end
172
168
  end
173
169
  end
@@ -5,8 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class CreateVonageCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_secret
12
10
  # @return [String]
@@ -21,24 +19,17 @@ module Vapi
21
19
 
22
20
  OMIT = Object.new
23
21
 
24
- # @param provider [String]
25
22
  # @param api_secret [String] This is not returned in the API.
26
23
  # @param api_key [String]
27
24
  # @param name [String] This is the name of credential. This is just for your reference.
28
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
26
  # @return [Vapi::CreateVonageCredentialDto]
30
- def initialize(provider:, api_secret:, api_key:, name: OMIT, additional_properties: nil)
31
- @provider = provider
27
+ def initialize(api_secret:, api_key:, name: OMIT, additional_properties: nil)
32
28
  @api_secret = api_secret
33
29
  @api_key = api_key
34
30
  @name = name if name != OMIT
35
31
  @additional_properties = additional_properties
36
- @_field_set = {
37
- "provider": provider,
38
- "apiSecret": api_secret,
39
- "apiKey": api_key,
40
- "name": name
41
- }.reject do |_k, v|
32
+ @_field_set = { "apiSecret": api_secret, "apiKey": api_key, "name": name }.reject do |_k, v|
42
33
  v == OMIT
43
34
  end
44
35
  end
@@ -50,12 +41,10 @@ module Vapi
50
41
  def self.from_json(json_object:)
51
42
  struct = JSON.parse(json_object, object_class: OpenStruct)
52
43
  parsed_json = JSON.parse(json_object)
53
- provider = parsed_json["provider"]
54
44
  api_secret = parsed_json["apiSecret"]
55
45
  api_key = parsed_json["apiKey"]
56
46
  name = parsed_json["name"]
57
47
  new(
58
- provider: provider,
59
48
  api_secret: api_secret,
60
49
  api_key: api_key,
61
50
  name: name,
@@ -77,7 +66,6 @@ module Vapi
77
66
  # @param obj [Object]
78
67
  # @return [Void]
79
68
  def self.validate_raw(obj:)
80
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
81
69
  obj.api_secret.is_a?(String) != false || raise("Passed value for field obj.api_secret is not the expected type, validation failed.")
82
70
  obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
83
71
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "create_vonage_phone_number_dto_fallback_destination"
4
+ require_relative "server"
4
5
  require "ostruct"
5
6
  require "json"
6
7
 
@@ -30,16 +31,13 @@ module Vapi
30
31
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
31
32
  # shape of the message and response that is expected.
32
33
  attr_reader :squad_id
33
- # @return [String] This is the server URL where messages will be sent for calls on this number.
34
- # This includes the `assistant-request` message.
35
- # You can see the shape of the messages sent in `ServerMessage`.
36
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
37
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
38
- attr_reader :server_url
39
- # @return [String] This is the secret Vapi will send with every message to your server. It's sent
40
- # as a header called x-vapi-secret.
41
- # Same precedence logic as serverUrl.
42
- attr_reader :server_url_secret
34
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
35
+ # with their shape in ServerMessage schema.
36
+ # The order of precedence is:
37
+ # 1. assistant.server
38
+ # 2. phoneNumber.server
39
+ # 3. org.server
40
+ attr_reader :server
43
41
  # @return [OpenStruct] Additional properties unmapped to the current class definition
44
42
  attr_reader :additional_properties
45
43
  # @return [Object]
@@ -66,26 +64,23 @@ module Vapi
66
64
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
67
65
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
68
66
  # shape of the message and response that is expected.
69
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
70
- # This includes the `assistant-request` message.
71
- # You can see the shape of the messages sent in `ServerMessage`.
72
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
73
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
74
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
75
- # as a header called x-vapi-secret.
76
- # Same precedence logic as serverUrl.
67
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
68
+ # with their shape in ServerMessage schema.
69
+ # The order of precedence is:
70
+ # 1. assistant.server
71
+ # 2. phoneNumber.server
72
+ # 3. org.server
77
73
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
78
74
  # @return [Vapi::CreateVonagePhoneNumberDto]
79
75
  def initialize(number:, credential_id:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT,
80
- server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
76
+ server: OMIT, additional_properties: nil)
81
77
  @fallback_destination = fallback_destination if fallback_destination != OMIT
82
78
  @number = number
83
79
  @credential_id = credential_id
84
80
  @name = name if name != OMIT
85
81
  @assistant_id = assistant_id if assistant_id != OMIT
86
82
  @squad_id = squad_id if squad_id != OMIT
87
- @server_url = server_url if server_url != OMIT
88
- @server_url_secret = server_url_secret if server_url_secret != OMIT
83
+ @server = server if server != OMIT
89
84
  @additional_properties = additional_properties
90
85
  @_field_set = {
91
86
  "fallbackDestination": fallback_destination,
@@ -94,8 +89,7 @@ module Vapi
94
89
  "name": name,
95
90
  "assistantId": assistant_id,
96
91
  "squadId": squad_id,
97
- "serverUrl": server_url,
98
- "serverUrlSecret": server_url_secret
92
+ "server": server
99
93
  }.reject do |_k, v|
100
94
  v == OMIT
101
95
  end
@@ -119,8 +113,12 @@ module Vapi
119
113
  name = parsed_json["name"]
120
114
  assistant_id = parsed_json["assistantId"]
121
115
  squad_id = parsed_json["squadId"]
122
- server_url = parsed_json["serverUrl"]
123
- server_url_secret = parsed_json["serverUrlSecret"]
116
+ if parsed_json["server"].nil?
117
+ server = nil
118
+ else
119
+ server = parsed_json["server"].to_json
120
+ server = Vapi::Server.from_json(json_object: server)
121
+ end
124
122
  new(
125
123
  fallback_destination: fallback_destination,
126
124
  number: number,
@@ -128,8 +126,7 @@ module Vapi
128
126
  name: name,
129
127
  assistant_id: assistant_id,
130
128
  squad_id: squad_id,
131
- server_url: server_url,
132
- server_url_secret: server_url_secret,
129
+ server: server,
133
130
  additional_properties: struct
134
131
  )
135
132
  end
@@ -154,8 +151,7 @@ module Vapi
154
151
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
155
152
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
156
153
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
157
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
158
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
154
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
159
155
  end
160
156
  end
161
157
  end
@@ -6,8 +6,6 @@ require "json"
6
6
 
7
7
  module Vapi
8
8
  class CreateWebhookCredentialDto
9
- # @return [String]
10
- attr_reader :provider
11
9
  # @return [Vapi::OAuth2AuthenticationPlan] This is the authentication plan. Currently supports OAuth2 RFC 6749.
12
10
  attr_reader :authentication_plan
13
11
  # @return [String] This is the name of credential. This is just for your reference.
@@ -20,21 +18,15 @@ module Vapi
20
18
 
21
19
  OMIT = Object.new
22
20
 
23
- # @param provider [String]
24
21
  # @param authentication_plan [Vapi::OAuth2AuthenticationPlan] This is the authentication plan. Currently supports OAuth2 RFC 6749.
25
22
  # @param name [String] This is the name of credential. This is just for your reference.
26
23
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
24
  # @return [Vapi::CreateWebhookCredentialDto]
28
- def initialize(provider:, authentication_plan:, name: OMIT, additional_properties: nil)
29
- @provider = provider
25
+ def initialize(authentication_plan:, name: OMIT, additional_properties: nil)
30
26
  @authentication_plan = authentication_plan
31
27
  @name = name if name != OMIT
32
28
  @additional_properties = additional_properties
33
- @_field_set = {
34
- "provider": provider,
35
- "authenticationPlan": authentication_plan,
36
- "name": name
37
- }.reject do |_k, v|
29
+ @_field_set = { "authenticationPlan": authentication_plan, "name": name }.reject do |_k, v|
38
30
  v == OMIT
39
31
  end
40
32
  end
@@ -46,7 +38,6 @@ module Vapi
46
38
  def self.from_json(json_object:)
47
39
  struct = JSON.parse(json_object, object_class: OpenStruct)
48
40
  parsed_json = JSON.parse(json_object)
49
- provider = parsed_json["provider"]
50
41
  if parsed_json["authenticationPlan"].nil?
51
42
  authentication_plan = nil
52
43
  else
@@ -55,7 +46,6 @@ module Vapi
55
46
  end
56
47
  name = parsed_json["name"]
57
48
  new(
58
- provider: provider,
59
49
  authentication_plan: authentication_plan,
60
50
  name: name,
61
51
  additional_properties: struct
@@ -76,7 +66,6 @@ module Vapi
76
66
  # @param obj [Object]
77
67
  # @return [Void]
78
68
  def self.validate_raw(obj:)
79
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
80
69
  Vapi::OAuth2AuthenticationPlan.validate_raw(obj: obj.authentication_plan)
81
70
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
82
71
  end
@@ -5,9 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class CreateXAiCredentialDto
8
- # @return [String] This is the api key for Grok in XAi's console. Get it from here:
9
- # https://console.x.ai
10
- attr_reader :provider
11
8
  # @return [String] This is not returned in the API.
12
9
  attr_reader :api_key
13
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -20,18 +17,15 @@ module Vapi
20
17
 
21
18
  OMIT = Object.new
22
19
 
23
- # @param provider [String] This is the api key for Grok in XAi's console. Get it from here:
24
- # https://console.x.ai
25
20
  # @param api_key [String] This is not returned in the API.
26
21
  # @param name [String] This is the name of credential. This is just for your reference.
27
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
23
  # @return [Vapi::CreateXAiCredentialDto]
29
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
30
- @provider = provider
24
+ def initialize(api_key:, name: OMIT, additional_properties: nil)
31
25
  @api_key = api_key
32
26
  @name = name if name != OMIT
33
27
  @additional_properties = additional_properties
34
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
35
29
  v == OMIT
36
30
  end
37
31
  end
@@ -43,11 +37,9 @@ module Vapi
43
37
  def self.from_json(json_object:)
44
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
45
39
  parsed_json = JSON.parse(json_object)
46
- provider = parsed_json["provider"]
47
40
  api_key = parsed_json["apiKey"]
48
41
  name = parsed_json["name"]
49
42
  new(
50
- provider: provider,
51
43
  api_key: api_key,
52
44
  name: name,
53
45
  additional_properties: struct
@@ -68,7 +60,6 @@ module Vapi
68
60
  # @param obj [Object]
69
61
  # @return [Void]
70
62
  def self.validate_raw(obj:)
71
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
72
63
  obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
73
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
74
65
  end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class DeepSeekCredential
9
+ # @return [String]
10
+ attr_reader :provider
11
+ # @return [String] This is not returned in the API.
12
+ attr_reader :api_key
13
+ # @return [String] This is the unique identifier for the credential.
14
+ attr_reader :id
15
+ # @return [String] This is the unique identifier for the org that this credential belongs to.
16
+ attr_reader :org_id
17
+ # @return [DateTime] This is the ISO 8601 date-time string of when the credential was created.
18
+ attr_reader :created_at
19
+ # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
20
+ attr_reader :updated_at
21
+ # @return [String] This is the name of credential. This is just for your reference.
22
+ attr_reader :name
23
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
24
+ attr_reader :additional_properties
25
+ # @return [Object]
26
+ attr_reader :_field_set
27
+ protected :_field_set
28
+
29
+ OMIT = Object.new
30
+
31
+ # @param provider [String]
32
+ # @param api_key [String] This is not returned in the API.
33
+ # @param id [String] This is the unique identifier for the credential.
34
+ # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
35
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
36
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
37
+ # @param name [String] This is the name of credential. This is just for your reference.
38
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
+ # @return [Vapi::DeepSeekCredential]
40
+ def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, name: OMIT, additional_properties: nil)
41
+ @provider = provider
42
+ @api_key = api_key
43
+ @id = id
44
+ @org_id = org_id
45
+ @created_at = created_at
46
+ @updated_at = updated_at
47
+ @name = name if name != OMIT
48
+ @additional_properties = additional_properties
49
+ @_field_set = {
50
+ "provider": provider,
51
+ "apiKey": api_key,
52
+ "id": id,
53
+ "orgId": org_id,
54
+ "createdAt": created_at,
55
+ "updatedAt": updated_at,
56
+ "name": name
57
+ }.reject do |_k, v|
58
+ v == OMIT
59
+ end
60
+ end
61
+
62
+ # Deserialize a JSON object to an instance of DeepSeekCredential
63
+ #
64
+ # @param json_object [String]
65
+ # @return [Vapi::DeepSeekCredential]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ provider = parsed_json["provider"]
70
+ api_key = parsed_json["apiKey"]
71
+ id = parsed_json["id"]
72
+ org_id = parsed_json["orgId"]
73
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
74
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
75
+ name = parsed_json["name"]
76
+ new(
77
+ provider: provider,
78
+ api_key: api_key,
79
+ id: id,
80
+ org_id: org_id,
81
+ created_at: created_at,
82
+ updated_at: updated_at,
83
+ name: name,
84
+ additional_properties: struct
85
+ )
86
+ end
87
+
88
+ # Serialize an instance of DeepSeekCredential to a JSON object
89
+ #
90
+ # @return [String]
91
+ def to_json(*_args)
92
+ @_field_set&.to_json
93
+ end
94
+
95
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
96
+ # hash and check each fields type against the current object's property
97
+ # definitions.
98
+ #
99
+ # @param obj [Object]
100
+ # @return [Void]
101
+ def self.validate_raw(obj:)
102
+ obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
103
+ obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
104
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
105
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
106
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
107
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
108
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
109
+ end
110
+ end
111
+ end