vapi_server_sdk 0.1.0 → 0.2.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 (356) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +184 -26
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +57 -60
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +58 -28
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  14. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  19. data/lib/vapi_server_sdk/logs/client.rb +10 -6
  20. data/lib/vapi_server_sdk/squads/client.rb +56 -32
  21. data/lib/vapi_server_sdk/tools/client.rb +4 -0
  22. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  23. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  24. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  25. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  26. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  27. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  28. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  29. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  30. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  31. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  32. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  33. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  34. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  35. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  36. data/lib/vapi_server_sdk/types/assistant.rb +42 -64
  37. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  38. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  39. data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
  40. data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
  41. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
  43. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
  45. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
  46. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  47. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
  48. data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
  49. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  50. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
  51. data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
  52. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  53. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
  54. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  55. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
  56. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  57. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  58. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  59. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  60. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  61. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  62. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  63. data/lib/vapi_server_sdk/types/call.rb +15 -1
  64. data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
  65. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  66. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  67. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  68. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  69. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  70. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  71. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  72. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  73. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  74. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  75. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  76. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  77. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  78. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  79. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  80. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  81. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  82. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  83. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
  84. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
  85. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
  86. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
  87. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  88. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
  89. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  90. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
  91. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
  92. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
  93. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  94. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
  95. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  96. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
  97. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  98. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  99. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
  100. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
  101. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  102. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  103. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  104. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
  105. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
  106. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
  107. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
  108. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
  109. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
  110. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
  111. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  112. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
  113. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  114. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
  115. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
  117. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
  118. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
  119. data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
  120. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  121. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
  122. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
  123. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
  124. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
  125. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
  126. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
  127. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  128. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  129. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
  130. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  131. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
  132. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
  133. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
  134. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
  135. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
  136. data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
  137. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  138. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  139. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  140. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  141. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  142. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  143. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  144. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  145. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  146. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  147. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  148. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  149. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  150. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  151. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  152. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  153. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  154. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  155. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  156. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
  157. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  158. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  159. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  160. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  161. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  162. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  163. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  164. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
  165. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  166. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  167. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  168. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  169. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  170. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  171. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  172. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  173. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  174. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
  175. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  176. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  177. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  178. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  179. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  180. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  181. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  182. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  183. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  184. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  185. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  186. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  187. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  188. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  189. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  190. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  191. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  192. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  193. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  194. data/lib/vapi_server_sdk/types/google_model.rb +178 -0
  195. data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
  196. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  197. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  198. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  199. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  201. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  202. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  203. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  204. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  205. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  206. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  207. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  208. data/lib/vapi_server_sdk/types/log.rb +12 -4
  209. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  210. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  211. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  212. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  213. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  214. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  215. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  216. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  217. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  218. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  219. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  220. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  221. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  222. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  223. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  224. data/lib/vapi_server_sdk/types/org.rb +35 -2
  225. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  226. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  227. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  228. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  229. data/lib/vapi_server_sdk/types/payment.rb +167 -0
  230. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
  231. data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
  232. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
  233. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  234. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  235. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  236. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  237. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  238. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  239. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  240. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  241. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  242. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  243. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  244. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  245. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  246. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  247. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  248. data/lib/vapi_server_sdk/types/server.rb +16 -2
  249. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
  250. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  251. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  252. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  253. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  254. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  255. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  256. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  257. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  258. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
  259. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  260. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  261. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  262. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  263. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  264. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  265. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  266. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
  267. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
  268. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
  269. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
  270. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  271. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  272. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  273. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  274. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  275. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  276. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  277. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  278. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  279. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  280. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  281. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  282. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  283. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  284. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  285. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  286. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  287. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  288. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  289. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  290. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  291. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  292. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  293. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  294. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  295. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  296. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  297. data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
  298. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
  299. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  300. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  301. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  302. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  303. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  304. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  305. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  306. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  307. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  308. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  309. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
  310. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
  311. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
  312. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
  313. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  314. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
  315. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  316. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
  317. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
  318. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
  319. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
  320. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
  321. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
  322. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
  323. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
  324. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
  325. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
  326. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
  327. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
  328. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
  329. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
  330. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
  331. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
  332. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
  333. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
  334. data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
  335. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  336. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
  337. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
  338. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
  339. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
  340. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
  341. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
  342. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
  343. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
  344. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
  345. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
  346. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  347. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  348. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  349. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
  350. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  351. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  352. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  353. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  354. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  355. data/lib/vapi_server_sdk.rb +7 -0
  356. metadata +165 -6
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative "open_ai_message"
4
4
  require_relative "open_router_model_tools_item"
5
- require_relative "knowledge_base"
5
+ require_relative "create_custom_knowledge_base_dto"
6
6
  require "ostruct"
7
7
  require "json"
8
8
 
@@ -18,13 +18,15 @@ module Vapi
18
18
  # tools, use `tools`.
19
19
  # Both `tools` and `toolIds` can be used together.
20
20
  attr_reader :tool_ids
21
+ # @return [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
22
+ attr_reader :knowledge_base
23
+ # @return [String] This is the ID of the knowledge base the model will use.
24
+ attr_reader :knowledge_base_id
21
25
  # @return [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
22
26
  attr_reader :model
23
27
  # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
24
28
  # caching for lower latency.
25
29
  attr_reader :temperature
26
- # @return [Vapi::KnowledgeBase] These are the options for the knowledge base.
27
- attr_reader :knowledge_base
28
30
  # @return [Float] This is the max number of tokens that the assistant will be allowed to generate
29
31
  # in each turn of the conversation. Default is 250.
30
32
  attr_reader :max_tokens
@@ -55,10 +57,11 @@ module Vapi
55
57
  # @param tool_ids [Array<String>] These are the tools that the assistant can use during the call. To use transient
56
58
  # tools, use `tools`.
57
59
  # Both `tools` and `toolIds` can be used together.
60
+ # @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
61
+ # @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
58
62
  # @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
59
63
  # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
60
64
  # caching for lower latency.
61
- # @param knowledge_base [Vapi::KnowledgeBase] These are the options for the knowledge base.
62
65
  # @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
63
66
  # in each turn of the conversation. Default is 250.
64
67
  # @param emotion_recognition_enabled [Boolean] This determines whether we detect user's emotion while they speak and send it as
@@ -73,14 +76,15 @@ module Vapi
73
76
  # @default 0
74
77
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
75
78
  # @return [Vapi::OpenRouterModel]
76
- def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, temperature: OMIT, knowledge_base: OMIT,
77
- max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
79
+ def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
80
+ temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
78
81
  @messages = messages if messages != OMIT
79
82
  @tools = tools if tools != OMIT
80
83
  @tool_ids = tool_ids if tool_ids != OMIT
84
+ @knowledge_base = knowledge_base if knowledge_base != OMIT
85
+ @knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
81
86
  @model = model
82
87
  @temperature = temperature if temperature != OMIT
83
- @knowledge_base = knowledge_base if knowledge_base != OMIT
84
88
  @max_tokens = max_tokens if max_tokens != OMIT
85
89
  @emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
86
90
  @num_fast_turns = num_fast_turns if num_fast_turns != OMIT
@@ -89,9 +93,10 @@ module Vapi
89
93
  "messages": messages,
90
94
  "tools": tools,
91
95
  "toolIds": tool_ids,
96
+ "knowledgeBase": knowledge_base,
97
+ "knowledgeBaseId": knowledge_base_id,
92
98
  "model": model,
93
99
  "temperature": temperature,
94
- "knowledgeBase": knowledge_base,
95
100
  "maxTokens": max_tokens,
96
101
  "emotionRecognitionEnabled": emotion_recognition_enabled,
97
102
  "numFastTurns": num_fast_turns
@@ -116,14 +121,15 @@ module Vapi
116
121
  Vapi::OpenRouterModelToolsItem.from_json(json_object: item)
117
122
  end
118
123
  tool_ids = parsed_json["toolIds"]
119
- model = parsed_json["model"]
120
- temperature = parsed_json["temperature"]
121
124
  if parsed_json["knowledgeBase"].nil?
122
125
  knowledge_base = nil
123
126
  else
124
127
  knowledge_base = parsed_json["knowledgeBase"].to_json
125
- knowledge_base = Vapi::KnowledgeBase.from_json(json_object: knowledge_base)
128
+ knowledge_base = Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: knowledge_base)
126
129
  end
130
+ knowledge_base_id = parsed_json["knowledgeBaseId"]
131
+ model = parsed_json["model"]
132
+ temperature = parsed_json["temperature"]
127
133
  max_tokens = parsed_json["maxTokens"]
128
134
  emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
129
135
  num_fast_turns = parsed_json["numFastTurns"]
@@ -131,9 +137,10 @@ module Vapi
131
137
  messages: messages,
132
138
  tools: tools,
133
139
  tool_ids: tool_ids,
140
+ knowledge_base: knowledge_base,
141
+ knowledge_base_id: knowledge_base_id,
134
142
  model: model,
135
143
  temperature: temperature,
136
- knowledge_base: knowledge_base,
137
144
  max_tokens: max_tokens,
138
145
  emotion_recognition_enabled: emotion_recognition_enabled,
139
146
  num_fast_turns: num_fast_turns,
@@ -158,9 +165,10 @@ module Vapi
158
165
  obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
159
166
  obj.tools&.is_a?(Array) != false || raise("Passed value for field obj.tools is not the expected type, validation failed.")
160
167
  obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
168
+ obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
169
+ obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
161
170
  obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
162
171
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
163
- obj.knowledge_base.nil? || Vapi::KnowledgeBase.validate_raw(obj: obj.knowledge_base)
164
172
  obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
165
173
  obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
166
174
  obj.num_fast_turns&.is_a?(Float) != false || raise("Passed value for field obj.num_fast_turns is not the expected type, validation failed.")
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "subscription"
3
4
  require "date"
4
5
  require_relative "org_plan"
6
+ require_relative "org_channel"
5
7
  require "ostruct"
6
8
  require "json"
7
9
 
@@ -15,6 +17,10 @@ module Vapi
15
17
  # This is due to the compliance requirements of HIPAA. Other providers may not
16
18
  # meet these requirements.
17
19
  attr_reader :hipaa_enabled
20
+ # @return [Vapi::Subscription]
21
+ attr_reader :subscription
22
+ # @return [String] This is the ID of the subscription the org belongs to.
23
+ attr_reader :subscription_id
18
24
  # @return [String] This is the unique identifier for the org.
19
25
  attr_reader :id
20
26
  # @return [DateTime] This is the ISO 8601 date-time string of when the org was created.
@@ -35,6 +41,9 @@ module Vapi
35
41
  attr_reader :plan
36
42
  # @return [String] This is the name of the org. This is just for your own reference.
37
43
  attr_reader :name
44
+ # @return [Vapi::OrgChannel] This is the channel of the org. There is the cluster the API traffic for the org
45
+ # will be directed.
46
+ attr_reader :channel
38
47
  # @return [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
39
48
  # contact us at support@vapi.ai.
40
49
  attr_reader :billing_limit
@@ -65,6 +74,8 @@ module Vapi
65
74
  # available for LLM and Voice respectively.
66
75
  # This is due to the compliance requirements of HIPAA. Other providers may not
67
76
  # meet these requirements.
77
+ # @param subscription [Vapi::Subscription]
78
+ # @param subscription_id [String] This is the ID of the subscription the org belongs to.
68
79
  # @param id [String] This is the unique identifier for the org.
69
80
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the org was created.
70
81
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the org was last updated.
@@ -75,6 +86,8 @@ module Vapi
75
86
  # @param stripe_subscription_status [String] This is the subscription's status.
76
87
  # @param plan [Vapi::OrgPlan] This is the plan for the org.
77
88
  # @param name [String] This is the name of the org. This is just for your own reference.
89
+ # @param channel [Vapi::OrgChannel] This is the channel of the org. There is the cluster the API traffic for the org
90
+ # will be directed.
78
91
  # @param billing_limit [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
79
92
  # contact us at support@vapi.ai.
80
93
  # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
@@ -88,9 +101,11 @@ module Vapi
88
101
  # support@vapi.ai.
89
102
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
90
103
  # @return [Vapi::Org]
91
- def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, stripe_customer_id: OMIT,
92
- stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, additional_properties: nil)
104
+ def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, subscription: OMIT, subscription_id: OMIT,
105
+ stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, additional_properties: nil)
93
106
  @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
107
+ @subscription = subscription if subscription != OMIT
108
+ @subscription_id = subscription_id if subscription_id != OMIT
94
109
  @id = id
95
110
  @created_at = created_at
96
111
  @updated_at = updated_at
@@ -103,6 +118,7 @@ module Vapi
103
118
  @stripe_subscription_status = stripe_subscription_status if stripe_subscription_status != OMIT
104
119
  @plan = plan if plan != OMIT
105
120
  @name = name if name != OMIT
121
+ @channel = channel if channel != OMIT
106
122
  @billing_limit = billing_limit if billing_limit != OMIT
107
123
  @server_url = server_url if server_url != OMIT
108
124
  @server_url_secret = server_url_secret if server_url_secret != OMIT
@@ -110,6 +126,8 @@ module Vapi
110
126
  @additional_properties = additional_properties
111
127
  @_field_set = {
112
128
  "hipaaEnabled": hipaa_enabled,
129
+ "subscription": subscription,
130
+ "subscriptionId": subscription_id,
113
131
  "id": id,
114
132
  "createdAt": created_at,
115
133
  "updatedAt": updated_at,
@@ -120,6 +138,7 @@ module Vapi
120
138
  "stripeSubscriptionStatus": stripe_subscription_status,
121
139
  "plan": plan,
122
140
  "name": name,
141
+ "channel": channel,
123
142
  "billingLimit": billing_limit,
124
143
  "serverUrl": server_url,
125
144
  "serverUrlSecret": server_url_secret,
@@ -137,6 +156,13 @@ module Vapi
137
156
  struct = JSON.parse(json_object, object_class: OpenStruct)
138
157
  parsed_json = JSON.parse(json_object)
139
158
  hipaa_enabled = parsed_json["hipaaEnabled"]
159
+ if parsed_json["subscription"].nil?
160
+ subscription = nil
161
+ else
162
+ subscription = parsed_json["subscription"].to_json
163
+ subscription = Vapi::Subscription.from_json(json_object: subscription)
164
+ end
165
+ subscription_id = parsed_json["subscriptionId"]
140
166
  id = parsed_json["id"]
141
167
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
142
168
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
@@ -154,12 +180,15 @@ module Vapi
154
180
  plan = Vapi::OrgPlan.from_json(json_object: plan)
155
181
  end
156
182
  name = parsed_json["name"]
183
+ channel = parsed_json["channel"]
157
184
  billing_limit = parsed_json["billingLimit"]
158
185
  server_url = parsed_json["serverUrl"]
159
186
  server_url_secret = parsed_json["serverUrlSecret"]
160
187
  concurrency_limit = parsed_json["concurrencyLimit"]
161
188
  new(
162
189
  hipaa_enabled: hipaa_enabled,
190
+ subscription: subscription,
191
+ subscription_id: subscription_id,
163
192
  id: id,
164
193
  created_at: created_at,
165
194
  updated_at: updated_at,
@@ -170,6 +199,7 @@ module Vapi
170
199
  stripe_subscription_status: stripe_subscription_status,
171
200
  plan: plan,
172
201
  name: name,
202
+ channel: channel,
173
203
  billing_limit: billing_limit,
174
204
  server_url: server_url,
175
205
  server_url_secret: server_url_secret,
@@ -193,6 +223,8 @@ module Vapi
193
223
  # @return [Void]
194
224
  def self.validate_raw(obj:)
195
225
  obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
226
+ obj.subscription.nil? || Vapi::Subscription.validate_raw(obj: obj.subscription)
227
+ obj.subscription_id&.is_a?(String) != false || raise("Passed value for field obj.subscription_id is not the expected type, validation failed.")
196
228
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
197
229
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
198
230
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
@@ -203,6 +235,7 @@ module Vapi
203
235
  obj.stripe_subscription_status&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_status is not the expected type, validation failed.")
204
236
  obj.plan.nil? || Vapi::OrgPlan.validate_raw(obj: obj.plan)
205
237
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
238
+ obj.channel&.is_a?(Vapi::OrgChannel) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
206
239
  obj.billing_limit&.is_a?(Float) != false || raise("Passed value for field obj.billing_limit is not the expected type, validation failed.")
207
240
  obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
208
241
  obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the channel of the org. There is the cluster the API traffic for the org
5
+ # will be directed.
6
+ class OrgChannel
7
+ DEFAULT = "default"
8
+ WEEKLY = "weekly"
9
+ end
10
+ end
@@ -0,0 +1,262 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "subscription"
4
+ require "date"
5
+ require_relative "org_plan"
6
+ require_relative "org_with_org_user_channel"
7
+ require_relative "org_with_org_user_role"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module Vapi
12
+ class OrgWithOrgUser
13
+ # @return [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
14
+ # the end of the call, you will still receive an end-of-call-report message to
15
+ # store on your server. Defaults to false.
16
+ # When HIPAA is enabled, only OpenAI/Custom LLM or Azure Providers will be
17
+ # available for LLM and Voice respectively.
18
+ # This is due to the compliance requirements of HIPAA. Other providers may not
19
+ # meet these requirements.
20
+ attr_reader :hipaa_enabled
21
+ # @return [Vapi::Subscription]
22
+ attr_reader :subscription
23
+ # @return [String] This is the ID of the subscription the org belongs to.
24
+ attr_reader :subscription_id
25
+ # @return [String] This is the unique identifier for the org.
26
+ attr_reader :id
27
+ # @return [DateTime] This is the ISO 8601 date-time string of when the org was created.
28
+ attr_reader :created_at
29
+ # @return [DateTime] This is the ISO 8601 date-time string of when the org was last updated.
30
+ attr_reader :updated_at
31
+ # @return [String] This is the Stripe customer for the org.
32
+ attr_reader :stripe_customer_id
33
+ # @return [String] This is the subscription for the org.
34
+ attr_reader :stripe_subscription_id
35
+ # @return [String] This is the subscription's subscription item.
36
+ attr_reader :stripe_subscription_item_id
37
+ # @return [DateTime] This is the subscription's current period start.
38
+ attr_reader :stripe_subscription_current_period_start
39
+ # @return [String] This is the subscription's status.
40
+ attr_reader :stripe_subscription_status
41
+ # @return [Vapi::OrgPlan] This is the plan for the org.
42
+ attr_reader :plan
43
+ # @return [String] This is the name of the org. This is just for your own reference.
44
+ attr_reader :name
45
+ # @return [Vapi::OrgWithOrgUserChannel] This is the channel of the org. There is the cluster the API traffic for the org
46
+ # will be directed.
47
+ attr_reader :channel
48
+ # @return [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
49
+ # contact us at support@vapi.ai.
50
+ attr_reader :billing_limit
51
+ # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
52
+ # is used for retrieving context, function calling, and end-of-call reports.
53
+ # All requests will be sent with the call object among other things relevant to
54
+ # that message. You can find more details in the Server URL documentation.
55
+ attr_reader :server_url
56
+ # @return [String] This is the secret you can set that Vapi will send with every request to your
57
+ # server. Will be sent as a header called x-vapi-secret.
58
+ attr_reader :server_url_secret
59
+ # @return [Float] This is the concurrency limit for the org. This is the maximum number of calls
60
+ # that can be active at any given time. To go beyond 10, please contact us at
61
+ # support@vapi.ai.
62
+ attr_reader :concurrency_limit
63
+ # @return [String]
64
+ attr_reader :invited_by_user_id
65
+ # @return [Vapi::OrgWithOrgUserRole]
66
+ attr_reader :role
67
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
68
+ attr_reader :additional_properties
69
+ # @return [Object]
70
+ attr_reader :_field_set
71
+ protected :_field_set
72
+
73
+ OMIT = Object.new
74
+
75
+ # @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
76
+ # the end of the call, you will still receive an end-of-call-report message to
77
+ # store on your server. Defaults to false.
78
+ # When HIPAA is enabled, only OpenAI/Custom LLM or Azure Providers will be
79
+ # available for LLM and Voice respectively.
80
+ # This is due to the compliance requirements of HIPAA. Other providers may not
81
+ # meet these requirements.
82
+ # @param subscription [Vapi::Subscription]
83
+ # @param subscription_id [String] This is the ID of the subscription the org belongs to.
84
+ # @param id [String] This is the unique identifier for the org.
85
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the org was created.
86
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the org was last updated.
87
+ # @param stripe_customer_id [String] This is the Stripe customer for the org.
88
+ # @param stripe_subscription_id [String] This is the subscription for the org.
89
+ # @param stripe_subscription_item_id [String] This is the subscription's subscription item.
90
+ # @param stripe_subscription_current_period_start [DateTime] This is the subscription's current period start.
91
+ # @param stripe_subscription_status [String] This is the subscription's status.
92
+ # @param plan [Vapi::OrgPlan] This is the plan for the org.
93
+ # @param name [String] This is the name of the org. This is just for your own reference.
94
+ # @param channel [Vapi::OrgWithOrgUserChannel] This is the channel of the org. There is the cluster the API traffic for the org
95
+ # will be directed.
96
+ # @param billing_limit [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
97
+ # contact us at support@vapi.ai.
98
+ # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
99
+ # is used for retrieving context, function calling, and end-of-call reports.
100
+ # All requests will be sent with the call object among other things relevant to
101
+ # that message. You can find more details in the Server URL documentation.
102
+ # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
103
+ # server. Will be sent as a header called x-vapi-secret.
104
+ # @param concurrency_limit [Float] This is the concurrency limit for the org. This is the maximum number of calls
105
+ # that can be active at any given time. To go beyond 10, please contact us at
106
+ # support@vapi.ai.
107
+ # @param invited_by_user_id [String]
108
+ # @param role [Vapi::OrgWithOrgUserRole]
109
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
110
+ # @return [Vapi::OrgWithOrgUser]
111
+ def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, subscription: OMIT, subscription_id: OMIT,
112
+ stripe_customer_id: OMIT, stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, channel: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, invited_by_user_id: OMIT, role: OMIT, additional_properties: nil)
113
+ @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
114
+ @subscription = subscription if subscription != OMIT
115
+ @subscription_id = subscription_id if subscription_id != OMIT
116
+ @id = id
117
+ @created_at = created_at
118
+ @updated_at = updated_at
119
+ @stripe_customer_id = stripe_customer_id if stripe_customer_id != OMIT
120
+ @stripe_subscription_id = stripe_subscription_id if stripe_subscription_id != OMIT
121
+ @stripe_subscription_item_id = stripe_subscription_item_id if stripe_subscription_item_id != OMIT
122
+ if stripe_subscription_current_period_start != OMIT
123
+ @stripe_subscription_current_period_start = stripe_subscription_current_period_start
124
+ end
125
+ @stripe_subscription_status = stripe_subscription_status if stripe_subscription_status != OMIT
126
+ @plan = plan if plan != OMIT
127
+ @name = name if name != OMIT
128
+ @channel = channel if channel != OMIT
129
+ @billing_limit = billing_limit if billing_limit != OMIT
130
+ @server_url = server_url if server_url != OMIT
131
+ @server_url_secret = server_url_secret if server_url_secret != OMIT
132
+ @concurrency_limit = concurrency_limit if concurrency_limit != OMIT
133
+ @invited_by_user_id = invited_by_user_id if invited_by_user_id != OMIT
134
+ @role = role if role != OMIT
135
+ @additional_properties = additional_properties
136
+ @_field_set = {
137
+ "hipaaEnabled": hipaa_enabled,
138
+ "subscription": subscription,
139
+ "subscriptionId": subscription_id,
140
+ "id": id,
141
+ "createdAt": created_at,
142
+ "updatedAt": updated_at,
143
+ "stripeCustomerId": stripe_customer_id,
144
+ "stripeSubscriptionId": stripe_subscription_id,
145
+ "stripeSubscriptionItemId": stripe_subscription_item_id,
146
+ "stripeSubscriptionCurrentPeriodStart": stripe_subscription_current_period_start,
147
+ "stripeSubscriptionStatus": stripe_subscription_status,
148
+ "plan": plan,
149
+ "name": name,
150
+ "channel": channel,
151
+ "billingLimit": billing_limit,
152
+ "serverUrl": server_url,
153
+ "serverUrlSecret": server_url_secret,
154
+ "concurrencyLimit": concurrency_limit,
155
+ "invitedByUserId": invited_by_user_id,
156
+ "role": role
157
+ }.reject do |_k, v|
158
+ v == OMIT
159
+ end
160
+ end
161
+
162
+ # Deserialize a JSON object to an instance of OrgWithOrgUser
163
+ #
164
+ # @param json_object [String]
165
+ # @return [Vapi::OrgWithOrgUser]
166
+ def self.from_json(json_object:)
167
+ struct = JSON.parse(json_object, object_class: OpenStruct)
168
+ parsed_json = JSON.parse(json_object)
169
+ hipaa_enabled = parsed_json["hipaaEnabled"]
170
+ if parsed_json["subscription"].nil?
171
+ subscription = nil
172
+ else
173
+ subscription = parsed_json["subscription"].to_json
174
+ subscription = Vapi::Subscription.from_json(json_object: subscription)
175
+ end
176
+ subscription_id = parsed_json["subscriptionId"]
177
+ id = parsed_json["id"]
178
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
179
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
180
+ stripe_customer_id = parsed_json["stripeCustomerId"]
181
+ stripe_subscription_id = parsed_json["stripeSubscriptionId"]
182
+ stripe_subscription_item_id = parsed_json["stripeSubscriptionItemId"]
183
+ stripe_subscription_current_period_start = unless parsed_json["stripeSubscriptionCurrentPeriodStart"].nil?
184
+ DateTime.parse(parsed_json["stripeSubscriptionCurrentPeriodStart"])
185
+ end
186
+ stripe_subscription_status = parsed_json["stripeSubscriptionStatus"]
187
+ if parsed_json["plan"].nil?
188
+ plan = nil
189
+ else
190
+ plan = parsed_json["plan"].to_json
191
+ plan = Vapi::OrgPlan.from_json(json_object: plan)
192
+ end
193
+ name = parsed_json["name"]
194
+ channel = parsed_json["channel"]
195
+ billing_limit = parsed_json["billingLimit"]
196
+ server_url = parsed_json["serverUrl"]
197
+ server_url_secret = parsed_json["serverUrlSecret"]
198
+ concurrency_limit = parsed_json["concurrencyLimit"]
199
+ invited_by_user_id = parsed_json["invitedByUserId"]
200
+ role = parsed_json["role"]
201
+ new(
202
+ hipaa_enabled: hipaa_enabled,
203
+ subscription: subscription,
204
+ subscription_id: subscription_id,
205
+ id: id,
206
+ created_at: created_at,
207
+ updated_at: updated_at,
208
+ stripe_customer_id: stripe_customer_id,
209
+ stripe_subscription_id: stripe_subscription_id,
210
+ stripe_subscription_item_id: stripe_subscription_item_id,
211
+ stripe_subscription_current_period_start: stripe_subscription_current_period_start,
212
+ stripe_subscription_status: stripe_subscription_status,
213
+ plan: plan,
214
+ name: name,
215
+ channel: channel,
216
+ billing_limit: billing_limit,
217
+ server_url: server_url,
218
+ server_url_secret: server_url_secret,
219
+ concurrency_limit: concurrency_limit,
220
+ invited_by_user_id: invited_by_user_id,
221
+ role: role,
222
+ additional_properties: struct
223
+ )
224
+ end
225
+
226
+ # Serialize an instance of OrgWithOrgUser to a JSON object
227
+ #
228
+ # @return [String]
229
+ def to_json(*_args)
230
+ @_field_set&.to_json
231
+ end
232
+
233
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
234
+ # hash and check each fields type against the current object's property
235
+ # definitions.
236
+ #
237
+ # @param obj [Object]
238
+ # @return [Void]
239
+ def self.validate_raw(obj:)
240
+ obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
241
+ obj.subscription.nil? || Vapi::Subscription.validate_raw(obj: obj.subscription)
242
+ obj.subscription_id&.is_a?(String) != false || raise("Passed value for field obj.subscription_id is not the expected type, validation failed.")
243
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
244
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
245
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
246
+ obj.stripe_customer_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_customer_id is not the expected type, validation failed.")
247
+ obj.stripe_subscription_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_id is not the expected type, validation failed.")
248
+ obj.stripe_subscription_item_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_item_id is not the expected type, validation failed.")
249
+ obj.stripe_subscription_current_period_start&.is_a?(DateTime) != false || raise("Passed value for field obj.stripe_subscription_current_period_start is not the expected type, validation failed.")
250
+ obj.stripe_subscription_status&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_status is not the expected type, validation failed.")
251
+ obj.plan.nil? || Vapi::OrgPlan.validate_raw(obj: obj.plan)
252
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
253
+ obj.channel&.is_a?(Vapi::OrgWithOrgUserChannel) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
254
+ obj.billing_limit&.is_a?(Float) != false || raise("Passed value for field obj.billing_limit is not the expected type, validation failed.")
255
+ obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
256
+ obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
257
+ obj.concurrency_limit&.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit is not the expected type, validation failed.")
258
+ obj.invited_by_user_id&.is_a?(String) != false || raise("Passed value for field obj.invited_by_user_id is not the expected type, validation failed.")
259
+ obj.role&.is_a?(Vapi::OrgWithOrgUserRole) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
260
+ end
261
+ end
262
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the channel of the org. There is the cluster the API traffic for the org
5
+ # will be directed.
6
+ class OrgWithOrgUserChannel
7
+ DEFAULT = "default"
8
+ WEEKLY = "weekly"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ class OrgWithOrgUserRole
5
+ ADMIN = "admin"
6
+ EDITOR = "editor"
7
+ VIEWER = "viewer"
8
+ end
9
+ end