vapi_server_sdk 0.0.0.pre.alpha7 → 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 -10
  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 +167 -8
@@ -0,0 +1,336 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "subscription_type"
5
+ require_relative "subscription_status"
6
+ require_relative "auto_reload_plan"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Vapi
11
+ class Subscription
12
+ # @return [String] This is the unique identifier for the subscription.
13
+ attr_reader :id
14
+ # @return [DateTime] This is the timestamp when the subscription was created.
15
+ attr_reader :created_at
16
+ # @return [DateTime] This is the timestamp when the subscription was last updated.
17
+ attr_reader :updated_at
18
+ # @return [Vapi::SubscriptionType] This is the type / tier of the subscription.
19
+ attr_reader :type
20
+ # @return [Vapi::SubscriptionStatus] This is the status of the subscription. Past due subscriptions are subscriptions
21
+ # with past due payments.
22
+ attr_reader :status
23
+ # @return [String] This is the number of credits the subscription currently has.
24
+ # Note: This is a string to avoid floating point precision issues.
25
+ attr_reader :credits
26
+ # @return [Float] This is the total concurrency limit for the subscription.
27
+ attr_reader :concurrency_limit
28
+ # @return [Float] This is the default concurrency limit for the subscription.
29
+ attr_reader :concurrency_limit_included
30
+ # @return [Float] This is the purchased add-on concurrency limit for the subscription.
31
+ attr_reader :concurrency_limit_purchased
32
+ # @return [Float] This is the ID of the monthly job that charges for subscription add ons and
33
+ # phone numbers.
34
+ attr_reader :monthly_charge_schedule_id
35
+ # @return [Float] This is the ID of the monthly job that checks whether the credit balance of the
36
+ # subscription
37
+ # is sufficient for the monthly charge.
38
+ attr_reader :monthly_credit_check_schedule_id
39
+ # @return [String] This is the Stripe customer ID.
40
+ attr_reader :stripe_customer_id
41
+ # @return [String] This is the Stripe payment ID.
42
+ attr_reader :stripe_payment_method_id
43
+ # @return [Boolean] If this flag is true, then the user has purchased slack support.
44
+ attr_reader :slack_support_enabled
45
+ # @return [String] If this subscription has a slack support subscription, the slack channel's ID
46
+ # will be stored here.
47
+ attr_reader :slack_channel_id
48
+ # @return [Boolean] This is the HIPAA enabled flag for the subscription. It determines whether orgs
49
+ # under this
50
+ # subscription have the option to enable HIPAA compliance.
51
+ attr_reader :hipaa_enabled
52
+ # @return [String] This is the ID for the Common Paper agreement outlining the HIPAA contract.
53
+ attr_reader :hipaa_common_paper_agreement_id
54
+ # @return [String] This is the Stripe fingerprint of the payment method (card). It allows us
55
+ # to detect users who try to abuse our system through multiple sign-ups.
56
+ attr_reader :stripe_payment_method_fingerprint
57
+ # @return [String] This is the stripe customer's email.
58
+ attr_reader :stripe_customer_email
59
+ # @return [String] This is the email of the referrer for the subscription.
60
+ attr_reader :referred_by_email
61
+ # @return [Vapi::AutoReloadPlan] This is the auto reload plan configured for the subscription.
62
+ attr_reader :auto_reload_plan
63
+ # @return [Float] The number of minutes included in the subscription. Enterprise only.
64
+ attr_reader :minutes_included
65
+ # @return [Float] The number of minutes used in the subscription. Enterprise only.
66
+ attr_reader :minutes_used
67
+ # @return [Float] The per minute charge on minutes that exceed the included minutes. Enterprise
68
+ # only.
69
+ attr_reader :minutes_overage_cost
70
+ # @return [Array<String>] The list of providers included in the subscription. Enterprise only.
71
+ attr_reader :providers_included
72
+ # @return [Float] The maximum number of outbound calls this subscription may make in a day. Resets
73
+ # every night.
74
+ attr_reader :outbound_calls_daily_limit
75
+ # @return [Float] The current number of outbound calls the subscription has made in the current
76
+ # day.
77
+ attr_reader :outbound_calls_counter
78
+ # @return [DateTime] This is the timestamp at which the outbound calls counter is scheduled to reset
79
+ # at.
80
+ attr_reader :outbound_calls_counter_next_reset_at
81
+ # @return [Array<String>] This is the IDs of the coupons applicable to this subscription.
82
+ attr_reader :coupon_ids
83
+ # @return [String] This is the number of credits left obtained from a coupon.
84
+ attr_reader :coupon_usage_left
85
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
86
+ attr_reader :additional_properties
87
+ # @return [Object]
88
+ attr_reader :_field_set
89
+ protected :_field_set
90
+
91
+ OMIT = Object.new
92
+
93
+ # @param id [String] This is the unique identifier for the subscription.
94
+ # @param created_at [DateTime] This is the timestamp when the subscription was created.
95
+ # @param updated_at [DateTime] This is the timestamp when the subscription was last updated.
96
+ # @param type [Vapi::SubscriptionType] This is the type / tier of the subscription.
97
+ # @param status [Vapi::SubscriptionStatus] This is the status of the subscription. Past due subscriptions are subscriptions
98
+ # with past due payments.
99
+ # @param credits [String] This is the number of credits the subscription currently has.
100
+ # Note: This is a string to avoid floating point precision issues.
101
+ # @param concurrency_limit [Float] This is the total concurrency limit for the subscription.
102
+ # @param concurrency_limit_included [Float] This is the default concurrency limit for the subscription.
103
+ # @param concurrency_limit_purchased [Float] This is the purchased add-on concurrency limit for the subscription.
104
+ # @param monthly_charge_schedule_id [Float] This is the ID of the monthly job that charges for subscription add ons and
105
+ # phone numbers.
106
+ # @param monthly_credit_check_schedule_id [Float] This is the ID of the monthly job that checks whether the credit balance of the
107
+ # subscription
108
+ # is sufficient for the monthly charge.
109
+ # @param stripe_customer_id [String] This is the Stripe customer ID.
110
+ # @param stripe_payment_method_id [String] This is the Stripe payment ID.
111
+ # @param slack_support_enabled [Boolean] If this flag is true, then the user has purchased slack support.
112
+ # @param slack_channel_id [String] If this subscription has a slack support subscription, the slack channel's ID
113
+ # will be stored here.
114
+ # @param hipaa_enabled [Boolean] This is the HIPAA enabled flag for the subscription. It determines whether orgs
115
+ # under this
116
+ # subscription have the option to enable HIPAA compliance.
117
+ # @param hipaa_common_paper_agreement_id [String] This is the ID for the Common Paper agreement outlining the HIPAA contract.
118
+ # @param stripe_payment_method_fingerprint [String] This is the Stripe fingerprint of the payment method (card). It allows us
119
+ # to detect users who try to abuse our system through multiple sign-ups.
120
+ # @param stripe_customer_email [String] This is the stripe customer's email.
121
+ # @param referred_by_email [String] This is the email of the referrer for the subscription.
122
+ # @param auto_reload_plan [Vapi::AutoReloadPlan] This is the auto reload plan configured for the subscription.
123
+ # @param minutes_included [Float] The number of minutes included in the subscription. Enterprise only.
124
+ # @param minutes_used [Float] The number of minutes used in the subscription. Enterprise only.
125
+ # @param minutes_overage_cost [Float] The per minute charge on minutes that exceed the included minutes. Enterprise
126
+ # only.
127
+ # @param providers_included [Array<String>] The list of providers included in the subscription. Enterprise only.
128
+ # @param outbound_calls_daily_limit [Float] The maximum number of outbound calls this subscription may make in a day. Resets
129
+ # every night.
130
+ # @param outbound_calls_counter [Float] The current number of outbound calls the subscription has made in the current
131
+ # day.
132
+ # @param outbound_calls_counter_next_reset_at [DateTime] This is the timestamp at which the outbound calls counter is scheduled to reset
133
+ # at.
134
+ # @param coupon_ids [Array<String>] This is the IDs of the coupons applicable to this subscription.
135
+ # @param coupon_usage_left [String] This is the number of credits left obtained from a coupon.
136
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
137
+ # @return [Vapi::Subscription]
138
+ def initialize(id:, created_at:, updated_at:, type:, status:, credits:, concurrency_limit:,
139
+ concurrency_limit_included:, concurrency_limit_purchased:, monthly_charge_schedule_id: OMIT, monthly_credit_check_schedule_id: OMIT, stripe_customer_id: OMIT, stripe_payment_method_id: OMIT, slack_support_enabled: OMIT, slack_channel_id: OMIT, hipaa_enabled: OMIT, hipaa_common_paper_agreement_id: OMIT, stripe_payment_method_fingerprint: OMIT, stripe_customer_email: OMIT, referred_by_email: OMIT, auto_reload_plan: OMIT, minutes_included: OMIT, minutes_used: OMIT, minutes_overage_cost: OMIT, providers_included: OMIT, outbound_calls_daily_limit: OMIT, outbound_calls_counter: OMIT, outbound_calls_counter_next_reset_at: OMIT, coupon_ids: OMIT, coupon_usage_left: OMIT, additional_properties: nil)
140
+ @id = id
141
+ @created_at = created_at
142
+ @updated_at = updated_at
143
+ @type = type
144
+ @status = status
145
+ @credits = credits
146
+ @concurrency_limit = concurrency_limit
147
+ @concurrency_limit_included = concurrency_limit_included
148
+ @concurrency_limit_purchased = concurrency_limit_purchased
149
+ @monthly_charge_schedule_id = monthly_charge_schedule_id if monthly_charge_schedule_id != OMIT
150
+ @monthly_credit_check_schedule_id = monthly_credit_check_schedule_id if monthly_credit_check_schedule_id != OMIT
151
+ @stripe_customer_id = stripe_customer_id if stripe_customer_id != OMIT
152
+ @stripe_payment_method_id = stripe_payment_method_id if stripe_payment_method_id != OMIT
153
+ @slack_support_enabled = slack_support_enabled if slack_support_enabled != OMIT
154
+ @slack_channel_id = slack_channel_id if slack_channel_id != OMIT
155
+ @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
156
+ @hipaa_common_paper_agreement_id = hipaa_common_paper_agreement_id if hipaa_common_paper_agreement_id != OMIT
157
+ if stripe_payment_method_fingerprint != OMIT
158
+ @stripe_payment_method_fingerprint = stripe_payment_method_fingerprint
159
+ end
160
+ @stripe_customer_email = stripe_customer_email if stripe_customer_email != OMIT
161
+ @referred_by_email = referred_by_email if referred_by_email != OMIT
162
+ @auto_reload_plan = auto_reload_plan if auto_reload_plan != OMIT
163
+ @minutes_included = minutes_included if minutes_included != OMIT
164
+ @minutes_used = minutes_used if minutes_used != OMIT
165
+ @minutes_overage_cost = minutes_overage_cost if minutes_overage_cost != OMIT
166
+ @providers_included = providers_included if providers_included != OMIT
167
+ @outbound_calls_daily_limit = outbound_calls_daily_limit if outbound_calls_daily_limit != OMIT
168
+ @outbound_calls_counter = outbound_calls_counter if outbound_calls_counter != OMIT
169
+ if outbound_calls_counter_next_reset_at != OMIT
170
+ @outbound_calls_counter_next_reset_at = outbound_calls_counter_next_reset_at
171
+ end
172
+ @coupon_ids = coupon_ids if coupon_ids != OMIT
173
+ @coupon_usage_left = coupon_usage_left if coupon_usage_left != OMIT
174
+ @additional_properties = additional_properties
175
+ @_field_set = {
176
+ "id": id,
177
+ "createdAt": created_at,
178
+ "updatedAt": updated_at,
179
+ "type": type,
180
+ "status": status,
181
+ "credits": credits,
182
+ "concurrencyLimit": concurrency_limit,
183
+ "concurrencyLimitIncluded": concurrency_limit_included,
184
+ "concurrencyLimitPurchased": concurrency_limit_purchased,
185
+ "monthlyChargeScheduleId": monthly_charge_schedule_id,
186
+ "monthlyCreditCheckScheduleId": monthly_credit_check_schedule_id,
187
+ "stripeCustomerId": stripe_customer_id,
188
+ "stripePaymentMethodId": stripe_payment_method_id,
189
+ "slackSupportEnabled": slack_support_enabled,
190
+ "slackChannelId": slack_channel_id,
191
+ "hipaaEnabled": hipaa_enabled,
192
+ "hipaaCommonPaperAgreementId": hipaa_common_paper_agreement_id,
193
+ "stripePaymentMethodFingerprint": stripe_payment_method_fingerprint,
194
+ "stripeCustomerEmail": stripe_customer_email,
195
+ "referredByEmail": referred_by_email,
196
+ "autoReloadPlan": auto_reload_plan,
197
+ "minutesIncluded": minutes_included,
198
+ "minutesUsed": minutes_used,
199
+ "minutesOverageCost": minutes_overage_cost,
200
+ "providersIncluded": providers_included,
201
+ "outboundCallsDailyLimit": outbound_calls_daily_limit,
202
+ "outboundCallsCounter": outbound_calls_counter,
203
+ "outboundCallsCounterNextResetAt": outbound_calls_counter_next_reset_at,
204
+ "couponIds": coupon_ids,
205
+ "couponUsageLeft": coupon_usage_left
206
+ }.reject do |_k, v|
207
+ v == OMIT
208
+ end
209
+ end
210
+
211
+ # Deserialize a JSON object to an instance of Subscription
212
+ #
213
+ # @param json_object [String]
214
+ # @return [Vapi::Subscription]
215
+ def self.from_json(json_object:)
216
+ struct = JSON.parse(json_object, object_class: OpenStruct)
217
+ parsed_json = JSON.parse(json_object)
218
+ id = parsed_json["id"]
219
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
220
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
221
+ type = parsed_json["type"]
222
+ status = parsed_json["status"]
223
+ credits = parsed_json["credits"]
224
+ concurrency_limit = parsed_json["concurrencyLimit"]
225
+ concurrency_limit_included = parsed_json["concurrencyLimitIncluded"]
226
+ concurrency_limit_purchased = parsed_json["concurrencyLimitPurchased"]
227
+ monthly_charge_schedule_id = parsed_json["monthlyChargeScheduleId"]
228
+ monthly_credit_check_schedule_id = parsed_json["monthlyCreditCheckScheduleId"]
229
+ stripe_customer_id = parsed_json["stripeCustomerId"]
230
+ stripe_payment_method_id = parsed_json["stripePaymentMethodId"]
231
+ slack_support_enabled = parsed_json["slackSupportEnabled"]
232
+ slack_channel_id = parsed_json["slackChannelId"]
233
+ hipaa_enabled = parsed_json["hipaaEnabled"]
234
+ hipaa_common_paper_agreement_id = parsed_json["hipaaCommonPaperAgreementId"]
235
+ stripe_payment_method_fingerprint = parsed_json["stripePaymentMethodFingerprint"]
236
+ stripe_customer_email = parsed_json["stripeCustomerEmail"]
237
+ referred_by_email = parsed_json["referredByEmail"]
238
+ if parsed_json["autoReloadPlan"].nil?
239
+ auto_reload_plan = nil
240
+ else
241
+ auto_reload_plan = parsed_json["autoReloadPlan"].to_json
242
+ auto_reload_plan = Vapi::AutoReloadPlan.from_json(json_object: auto_reload_plan)
243
+ end
244
+ minutes_included = parsed_json["minutesIncluded"]
245
+ minutes_used = parsed_json["minutesUsed"]
246
+ minutes_overage_cost = parsed_json["minutesOverageCost"]
247
+ providers_included = parsed_json["providersIncluded"]
248
+ outbound_calls_daily_limit = parsed_json["outboundCallsDailyLimit"]
249
+ outbound_calls_counter = parsed_json["outboundCallsCounter"]
250
+ outbound_calls_counter_next_reset_at = unless parsed_json["outboundCallsCounterNextResetAt"].nil?
251
+ DateTime.parse(parsed_json["outboundCallsCounterNextResetAt"])
252
+ end
253
+ coupon_ids = parsed_json["couponIds"]
254
+ coupon_usage_left = parsed_json["couponUsageLeft"]
255
+ new(
256
+ id: id,
257
+ created_at: created_at,
258
+ updated_at: updated_at,
259
+ type: type,
260
+ status: status,
261
+ credits: credits,
262
+ concurrency_limit: concurrency_limit,
263
+ concurrency_limit_included: concurrency_limit_included,
264
+ concurrency_limit_purchased: concurrency_limit_purchased,
265
+ monthly_charge_schedule_id: monthly_charge_schedule_id,
266
+ monthly_credit_check_schedule_id: monthly_credit_check_schedule_id,
267
+ stripe_customer_id: stripe_customer_id,
268
+ stripe_payment_method_id: stripe_payment_method_id,
269
+ slack_support_enabled: slack_support_enabled,
270
+ slack_channel_id: slack_channel_id,
271
+ hipaa_enabled: hipaa_enabled,
272
+ hipaa_common_paper_agreement_id: hipaa_common_paper_agreement_id,
273
+ stripe_payment_method_fingerprint: stripe_payment_method_fingerprint,
274
+ stripe_customer_email: stripe_customer_email,
275
+ referred_by_email: referred_by_email,
276
+ auto_reload_plan: auto_reload_plan,
277
+ minutes_included: minutes_included,
278
+ minutes_used: minutes_used,
279
+ minutes_overage_cost: minutes_overage_cost,
280
+ providers_included: providers_included,
281
+ outbound_calls_daily_limit: outbound_calls_daily_limit,
282
+ outbound_calls_counter: outbound_calls_counter,
283
+ outbound_calls_counter_next_reset_at: outbound_calls_counter_next_reset_at,
284
+ coupon_ids: coupon_ids,
285
+ coupon_usage_left: coupon_usage_left,
286
+ additional_properties: struct
287
+ )
288
+ end
289
+
290
+ # Serialize an instance of Subscription to a JSON object
291
+ #
292
+ # @return [String]
293
+ def to_json(*_args)
294
+ @_field_set&.to_json
295
+ end
296
+
297
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
298
+ # hash and check each fields type against the current object's property
299
+ # definitions.
300
+ #
301
+ # @param obj [Object]
302
+ # @return [Void]
303
+ def self.validate_raw(obj:)
304
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
305
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
306
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
307
+ obj.type.is_a?(Vapi::SubscriptionType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
308
+ obj.status.is_a?(Vapi::SubscriptionStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
309
+ obj.credits.is_a?(String) != false || raise("Passed value for field obj.credits is not the expected type, validation failed.")
310
+ obj.concurrency_limit.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit is not the expected type, validation failed.")
311
+ obj.concurrency_limit_included.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit_included is not the expected type, validation failed.")
312
+ obj.concurrency_limit_purchased.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit_purchased is not the expected type, validation failed.")
313
+ obj.monthly_charge_schedule_id&.is_a?(Float) != false || raise("Passed value for field obj.monthly_charge_schedule_id is not the expected type, validation failed.")
314
+ obj.monthly_credit_check_schedule_id&.is_a?(Float) != false || raise("Passed value for field obj.monthly_credit_check_schedule_id is not the expected type, validation failed.")
315
+ obj.stripe_customer_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_customer_id is not the expected type, validation failed.")
316
+ obj.stripe_payment_method_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_payment_method_id is not the expected type, validation failed.")
317
+ obj.slack_support_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.slack_support_enabled is not the expected type, validation failed.")
318
+ obj.slack_channel_id&.is_a?(String) != false || raise("Passed value for field obj.slack_channel_id is not the expected type, validation failed.")
319
+ obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
320
+ obj.hipaa_common_paper_agreement_id&.is_a?(String) != false || raise("Passed value for field obj.hipaa_common_paper_agreement_id is not the expected type, validation failed.")
321
+ obj.stripe_payment_method_fingerprint&.is_a?(String) != false || raise("Passed value for field obj.stripe_payment_method_fingerprint is not the expected type, validation failed.")
322
+ obj.stripe_customer_email&.is_a?(String) != false || raise("Passed value for field obj.stripe_customer_email is not the expected type, validation failed.")
323
+ obj.referred_by_email&.is_a?(String) != false || raise("Passed value for field obj.referred_by_email is not the expected type, validation failed.")
324
+ obj.auto_reload_plan.nil? || Vapi::AutoReloadPlan.validate_raw(obj: obj.auto_reload_plan)
325
+ obj.minutes_included&.is_a?(Float) != false || raise("Passed value for field obj.minutes_included is not the expected type, validation failed.")
326
+ obj.minutes_used&.is_a?(Float) != false || raise("Passed value for field obj.minutes_used is not the expected type, validation failed.")
327
+ obj.minutes_overage_cost&.is_a?(Float) != false || raise("Passed value for field obj.minutes_overage_cost is not the expected type, validation failed.")
328
+ obj.providers_included&.is_a?(Array) != false || raise("Passed value for field obj.providers_included is not the expected type, validation failed.")
329
+ obj.outbound_calls_daily_limit&.is_a?(Float) != false || raise("Passed value for field obj.outbound_calls_daily_limit is not the expected type, validation failed.")
330
+ obj.outbound_calls_counter&.is_a?(Float) != false || raise("Passed value for field obj.outbound_calls_counter is not the expected type, validation failed.")
331
+ obj.outbound_calls_counter_next_reset_at&.is_a?(DateTime) != false || raise("Passed value for field obj.outbound_calls_counter_next_reset_at is not the expected type, validation failed.")
332
+ obj.coupon_ids&.is_a?(Array) != false || raise("Passed value for field obj.coupon_ids is not the expected type, validation failed.")
333
+ obj.coupon_usage_left&.is_a?(String) != false || raise("Passed value for field obj.coupon_usage_left is not the expected type, validation failed.")
334
+ end
335
+ end
336
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class SubscriptionConcurrencyLineBuyDto
8
+ # @return [Float] This is the number of concurrency lines to purchase.
9
+ attr_reader :quantity
10
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
11
+ attr_reader :additional_properties
12
+ # @return [Object]
13
+ attr_reader :_field_set
14
+ protected :_field_set
15
+
16
+ OMIT = Object.new
17
+
18
+ # @param quantity [Float] This is the number of concurrency lines to purchase.
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [Vapi::SubscriptionConcurrencyLineBuyDto]
21
+ def initialize(quantity:, additional_properties: nil)
22
+ @quantity = quantity
23
+ @additional_properties = additional_properties
24
+ @_field_set = { "quantity": quantity }
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of SubscriptionConcurrencyLineBuyDto
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::SubscriptionConcurrencyLineBuyDto]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ parsed_json = JSON.parse(json_object)
34
+ quantity = parsed_json["quantity"]
35
+ new(quantity: quantity, additional_properties: struct)
36
+ end
37
+
38
+ # Serialize an instance of SubscriptionConcurrencyLineBuyDto to a JSON object
39
+ #
40
+ # @return [String]
41
+ def to_json(*_args)
42
+ @_field_set&.to_json
43
+ end
44
+
45
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
46
+ # hash and check each fields type against the current object's property
47
+ # definitions.
48
+ #
49
+ # @param obj [Object]
50
+ # @return [Void]
51
+ def self.validate_raw(obj:)
52
+ obj.quantity.is_a?(Float) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class SubscriptionConcurrencyLineRemoveDto
8
+ # @return [Float] This is the number of concurrency lines to remove.
9
+ attr_reader :quantity
10
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
11
+ attr_reader :additional_properties
12
+ # @return [Object]
13
+ attr_reader :_field_set
14
+ protected :_field_set
15
+
16
+ OMIT = Object.new
17
+
18
+ # @param quantity [Float] This is the number of concurrency lines to remove.
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [Vapi::SubscriptionConcurrencyLineRemoveDto]
21
+ def initialize(quantity:, additional_properties: nil)
22
+ @quantity = quantity
23
+ @additional_properties = additional_properties
24
+ @_field_set = { "quantity": quantity }
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of SubscriptionConcurrencyLineRemoveDto
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::SubscriptionConcurrencyLineRemoveDto]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ parsed_json = JSON.parse(json_object)
34
+ quantity = parsed_json["quantity"]
35
+ new(quantity: quantity, additional_properties: struct)
36
+ end
37
+
38
+ # Serialize an instance of SubscriptionConcurrencyLineRemoveDto to a JSON object
39
+ #
40
+ # @return [String]
41
+ def to_json(*_args)
42
+ @_field_set&.to_json
43
+ end
44
+
45
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
46
+ # hash and check each fields type against the current object's property
47
+ # definitions.
48
+ #
49
+ # @param obj [Object]
50
+ # @return [Void]
51
+ def self.validate_raw(obj:)
52
+ obj.quantity.is_a?(Float) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class SubscriptionCouponAddDto
8
+ # @return [String] This is the ID of the org within the subscription which the coupon will take
9
+ # effect on.
10
+ attr_reader :org_id
11
+ # @return [String] This is the code of the coupon to apply to the subscription.
12
+ attr_reader :coupon_code
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param org_id [String] This is the ID of the org within the subscription which the coupon will take
22
+ # effect on.
23
+ # @param coupon_code [String] This is the code of the coupon to apply to the subscription.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Vapi::SubscriptionCouponAddDto]
26
+ def initialize(org_id:, coupon_code:, additional_properties: nil)
27
+ @org_id = org_id
28
+ @coupon_code = coupon_code
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "orgId": org_id, "couponCode": coupon_code }
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of SubscriptionCouponAddDto
34
+ #
35
+ # @param json_object [String]
36
+ # @return [Vapi::SubscriptionCouponAddDto]
37
+ def self.from_json(json_object:)
38
+ struct = JSON.parse(json_object, object_class: OpenStruct)
39
+ parsed_json = JSON.parse(json_object)
40
+ org_id = parsed_json["orgId"]
41
+ coupon_code = parsed_json["couponCode"]
42
+ new(
43
+ org_id: org_id,
44
+ coupon_code: coupon_code,
45
+ additional_properties: struct
46
+ )
47
+ end
48
+
49
+ # Serialize an instance of SubscriptionCouponAddDto to a JSON object
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ @_field_set&.to_json
54
+ end
55
+
56
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
57
+ # hash and check each fields type against the current object's property
58
+ # definitions.
59
+ #
60
+ # @param obj [Object]
61
+ # @return [Void]
62
+ def self.validate_raw(obj:)
63
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
64
+ obj.coupon_code.is_a?(String) != false || raise("Passed value for field obj.coupon_code is not the expected type, validation failed.")
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class SubscriptionMonthlyCharge
8
+ # @return [Float] This is the monthly charge for the subscription.
9
+ attr_reader :monthly_charge
10
+ # @return [Array<Hash{String => Object}>] These are the different costs that make up the monthly charge.
11
+ attr_reader :costs
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param monthly_charge [Float] This is the monthly charge for the subscription.
21
+ # @param costs [Array<Hash{String => Object}>] These are the different costs that make up the monthly charge.
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Vapi::SubscriptionMonthlyCharge]
24
+ def initialize(monthly_charge:, costs:, additional_properties: nil)
25
+ @monthly_charge = monthly_charge
26
+ @costs = costs
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "monthlyCharge": monthly_charge, "costs": costs }
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of SubscriptionMonthlyCharge
32
+ #
33
+ # @param json_object [String]
34
+ # @return [Vapi::SubscriptionMonthlyCharge]
35
+ def self.from_json(json_object:)
36
+ struct = JSON.parse(json_object, object_class: OpenStruct)
37
+ parsed_json = JSON.parse(json_object)
38
+ monthly_charge = parsed_json["monthlyCharge"]
39
+ costs = parsed_json["costs"]
40
+ new(
41
+ monthly_charge: monthly_charge,
42
+ costs: costs,
43
+ additional_properties: struct
44
+ )
45
+ end
46
+
47
+ # Serialize an instance of SubscriptionMonthlyCharge to a JSON object
48
+ #
49
+ # @return [String]
50
+ def to_json(*_args)
51
+ @_field_set&.to_json
52
+ end
53
+
54
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
55
+ # hash and check each fields type against the current object's property
56
+ # definitions.
57
+ #
58
+ # @param obj [Object]
59
+ # @return [Void]
60
+ def self.validate_raw(obj:)
61
+ obj.monthly_charge.is_a?(Float) != false || raise("Passed value for field obj.monthly_charge is not the expected type, validation failed.")
62
+ obj.costs.is_a?(Array) != false || raise("Passed value for field obj.costs is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the status of the subscription. Past due subscriptions are subscriptions
5
+ # with past due payments.
6
+ class SubscriptionStatus
7
+ ACTIVE = "active"
8
+ FROZEN = "frozen"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the type / tier of the subscription.
5
+ class SubscriptionType
6
+ TRIAL = "trial"
7
+ PAY_AS_YOU_GO = "pay-as-you-go"
8
+ ENTERPRISE = "enterprise"
9
+ end
10
+ end