vapi_server_sdk 0.0.0.pre.alpha7

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 (541) hide show
  1. checksums.yaml +7 -0
  2. data/lib/core/file_utilities.rb +26 -0
  3. data/lib/environment.rb +7 -0
  4. data/lib/gemconfig.rb +14 -0
  5. data/lib/requests.rb +174 -0
  6. data/lib/types_export.rb +526 -0
  7. data/lib/vapi_server_sdk/analytics/client.rb +115 -0
  8. data/lib/vapi_server_sdk/assistants/client.rb +949 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +12 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +22 -0
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_first_message_mode.rb +21 -0
  12. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +201 -0
  13. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +23 -0
  14. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +110 -0
  15. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +188 -0
  16. data/lib/vapi_server_sdk/blocks/client.rb +552 -0
  17. data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +109 -0
  18. data/lib/vapi_server_sdk/blocks/types/blocks_create_response.rb +109 -0
  19. data/lib/vapi_server_sdk/blocks/types/blocks_delete_response.rb +109 -0
  20. data/lib/vapi_server_sdk/blocks/types/blocks_get_response.rb +109 -0
  21. data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +109 -0
  22. data/lib/vapi_server_sdk/blocks/types/blocks_update_response.rb +109 -0
  23. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +96 -0
  24. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +96 -0
  25. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +163 -0
  26. data/lib/vapi_server_sdk/calls/client.rb +966 -0
  27. data/lib/vapi_server_sdk/files/client.rb +347 -0
  28. data/lib/vapi_server_sdk/logs/client.rb +174 -0
  29. data/lib/vapi_server_sdk/logs/types/logs_get_request_sort_order.rb +10 -0
  30. data/lib/vapi_server_sdk/logs/types/logs_get_request_type.rb +12 -0
  31. data/lib/vapi_server_sdk/phone_numbers/client.rb +455 -0
  32. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +122 -0
  33. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +122 -0
  34. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +122 -0
  35. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +122 -0
  36. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +122 -0
  37. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +122 -0
  38. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +103 -0
  39. data/lib/vapi_server_sdk/squads/client.rb +1050 -0
  40. data/lib/vapi_server_sdk/tools/client.rb +473 -0
  41. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +161 -0
  42. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +161 -0
  43. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +161 -0
  44. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +161 -0
  45. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +161 -0
  46. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +161 -0
  47. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +122 -0
  48. data/lib/vapi_server_sdk/types/add_voice_to_provider_dto.rb +78 -0
  49. data/lib/vapi_server_sdk/types/analysis.rb +88 -0
  50. data/lib/vapi_server_sdk/types/analysis_cost.rb +93 -0
  51. data/lib/vapi_server_sdk/types/analysis_cost_analysis_type.rb +10 -0
  52. data/lib/vapi_server_sdk/types/analysis_cost_breakdown.rb +137 -0
  53. data/lib/vapi_server_sdk/types/analysis_plan.rb +103 -0
  54. data/lib/vapi_server_sdk/types/analytics_operation.rb +76 -0
  55. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +17 -0
  56. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +12 -0
  57. data/lib/vapi_server_sdk/types/analytics_query.rb +107 -0
  58. data/lib/vapi_server_sdk/types/analytics_query_group_by_item.rb +11 -0
  59. data/lib/vapi_server_sdk/types/analytics_query_result.rb +96 -0
  60. data/lib/vapi_server_sdk/types/anthropic_credential.rb +101 -0
  61. data/lib/vapi_server_sdk/types/anthropic_model.rb +170 -0
  62. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +11 -0
  63. data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +159 -0
  64. data/lib/vapi_server_sdk/types/anyscale_credential.rb +101 -0
  65. data/lib/vapi_server_sdk/types/anyscale_model.rb +169 -0
  66. data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +159 -0
  67. data/lib/vapi_server_sdk/types/artifact.rb +133 -0
  68. data/lib/vapi_server_sdk/types/artifact_messages_item.rb +96 -0
  69. data/lib/vapi_server_sdk/types/artifact_plan.rb +139 -0
  70. data/lib/vapi_server_sdk/types/assignment_mutation.rb +189 -0
  71. data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +94 -0
  72. data/lib/vapi_server_sdk/types/assistant.rb +562 -0
  73. data/lib/vapi_server_sdk/types/assistant_background_sound.rb +10 -0
  74. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +20 -0
  75. data/lib/vapi_server_sdk/types/assistant_first_message_mode.rb +19 -0
  76. data/lib/vapi_server_sdk/types/assistant_model.rb +199 -0
  77. data/lib/vapi_server_sdk/types/assistant_overrides.rb +539 -0
  78. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +10 -0
  79. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +20 -0
  80. data/lib/vapi_server_sdk/types/assistant_overrides_first_message_mode.rb +19 -0
  81. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +199 -0
  82. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +21 -0
  83. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +108 -0
  84. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +186 -0
  85. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +21 -0
  86. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +108 -0
  87. data/lib/vapi_server_sdk/types/assistant_voice.rb +186 -0
  88. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +128 -0
  89. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +14 -0
  90. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +21 -0
  91. data/lib/vapi_server_sdk/types/azure_voice.rb +104 -0
  92. data/lib/vapi_server_sdk/types/azure_voice_id.rb +53 -0
  93. data/lib/vapi_server_sdk/types/azure_voice_id_enum.rb +9 -0
  94. data/lib/vapi_server_sdk/types/block_complete_message.rb +73 -0
  95. data/lib/vapi_server_sdk/types/block_complete_message_conditions_item.rb +94 -0
  96. data/lib/vapi_server_sdk/types/block_start_message.rb +73 -0
  97. data/lib/vapi_server_sdk/types/block_start_message_conditions_item.rb +94 -0
  98. data/lib/vapi_server_sdk/types/bot_message.rb +111 -0
  99. data/lib/vapi_server_sdk/types/bucket_plan.rb +139 -0
  100. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +151 -0
  101. data/lib/vapi_server_sdk/types/buy_phone_number_dto_fallback_destination.rb +100 -0
  102. data/lib/vapi_server_sdk/types/byo_phone_number.rb +224 -0
  103. data/lib/vapi_server_sdk/types/byo_phone_number_fallback_destination.rb +100 -0
  104. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +166 -0
  105. data/lib/vapi_server_sdk/types/call.rb +425 -0
  106. data/lib/vapi_server_sdk/types/call_costs_item.rb +146 -0
  107. data/lib/vapi_server_sdk/types/call_destination.rb +96 -0
  108. data/lib/vapi_server_sdk/types/call_ended_reason.rb +175 -0
  109. data/lib/vapi_server_sdk/types/call_messages_item.rb +96 -0
  110. data/lib/vapi_server_sdk/types/call_paginated_response.rb +75 -0
  111. data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +11 -0
  112. data/lib/vapi_server_sdk/types/call_phone_call_transport.rb +10 -0
  113. data/lib/vapi_server_sdk/types/call_status.rb +12 -0
  114. data/lib/vapi_server_sdk/types/call_type.rb +10 -0
  115. data/lib/vapi_server_sdk/types/callback_step.rb +204 -0
  116. data/lib/vapi_server_sdk/types/callback_step_block.rb +108 -0
  117. data/lib/vapi_server_sdk/types/cartesia_credential.rb +101 -0
  118. data/lib/vapi_server_sdk/types/cartesia_voice.rb +113 -0
  119. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +15 -0
  120. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +10 -0
  121. data/lib/vapi_server_sdk/types/chunk_plan.rb +128 -0
  122. data/lib/vapi_server_sdk/types/client_inbound_message.rb +63 -0
  123. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +61 -0
  124. data/lib/vapi_server_sdk/types/client_inbound_message_control.rb +56 -0
  125. data/lib/vapi_server_sdk/types/client_inbound_message_control_control.rb +10 -0
  126. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +109 -0
  127. data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +67 -0
  128. data/lib/vapi_server_sdk/types/client_message.rb +65 -0
  129. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +79 -0
  130. data/lib/vapi_server_sdk/types/client_message_conversation_update_messages_item.rb +97 -0
  131. data/lib/vapi_server_sdk/types/client_message_hang.rb +47 -0
  132. data/lib/vapi_server_sdk/types/client_message_language_changed.rb +55 -0
  133. data/lib/vapi_server_sdk/types/client_message_message.rb +214 -0
  134. data/lib/vapi_server_sdk/types/client_message_metadata.rb +55 -0
  135. data/lib/vapi_server_sdk/types/client_message_model_output.rb +55 -0
  136. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +67 -0
  137. data/lib/vapi_server_sdk/types/client_message_speech_update_role.rb +9 -0
  138. data/lib/vapi_server_sdk/types/client_message_speech_update_status.rb +9 -0
  139. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +75 -0
  140. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +55 -0
  141. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
  142. data/lib/vapi_server_sdk/types/client_message_transcript.rb +74 -0
  143. data/lib/vapi_server_sdk/types/client_message_transcript_role.rb +9 -0
  144. data/lib/vapi_server_sdk/types/client_message_transcript_transcript_type.rb +9 -0
  145. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +47 -0
  146. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +55 -0
  147. data/lib/vapi_server_sdk/types/clone_voice_dto.rb +83 -0
  148. data/lib/vapi_server_sdk/types/condition.rb +73 -0
  149. data/lib/vapi_server_sdk/types/condition_operator.rb +13 -0
  150. data/lib/vapi_server_sdk/types/conversation_block.rb +239 -0
  151. data/lib/vapi_server_sdk/types/conversation_block_messages_item.rb +94 -0
  152. data/lib/vapi_server_sdk/types/cost_breakdown.rb +141 -0
  153. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +65 -0
  154. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +65 -0
  155. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +529 -0
  156. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +10 -0
  157. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +20 -0
  158. data/lib/vapi_server_sdk/types/create_assistant_dto_first_message_mode.rb +19 -0
  159. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +199 -0
  160. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +21 -0
  161. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +108 -0
  162. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +186 -0
  163. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +94 -0
  164. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +14 -0
  165. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +21 -0
  166. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +191 -0
  167. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto_fallback_destination.rb +101 -0
  168. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +133 -0
  169. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +65 -0
  170. data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +206 -0
  171. data/lib/vapi_server_sdk/types/create_conversation_block_dto_messages_item.rb +95 -0
  172. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +65 -0
  173. data/lib/vapi_server_sdk/types/create_customer_dto.rb +117 -0
  174. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +65 -0
  175. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +76 -0
  176. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +139 -0
  177. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto_messages_item.rb +120 -0
  178. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +65 -0
  179. data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +139 -0
  180. data/lib/vapi_server_sdk/types/create_end_call_tool_dto_messages_item.rb +120 -0
  181. data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +139 -0
  182. data/lib/vapi_server_sdk/types/create_function_tool_dto_messages_item.rb +120 -0
  183. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +104 -0
  184. data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +158 -0
  185. data/lib/vapi_server_sdk/types/create_ghl_tool_dto_messages_item.rb +120 -0
  186. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +65 -0
  187. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +65 -0
  188. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +65 -0
  189. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +65 -0
  190. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +79 -0
  191. data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +158 -0
  192. data/lib/vapi_server_sdk/types/create_make_tool_dto_messages_item.rb +120 -0
  193. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +65 -0
  194. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +65 -0
  195. data/lib/vapi_server_sdk/types/create_org_dto.rb +129 -0
  196. data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +191 -0
  197. data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +139 -0
  198. data/lib/vapi_server_sdk/types/create_output_tool_dto_messages_item.rb +120 -0
  199. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +72 -0
  201. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +65 -0
  202. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +65 -0
  203. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +101 -0
  204. data/lib/vapi_server_sdk/types/create_squad_dto.rb +94 -0
  205. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +65 -0
  206. data/lib/vapi_server_sdk/types/create_token_dto.rb +81 -0
  207. data/lib/vapi_server_sdk/types/create_token_dto_tag.rb +9 -0
  208. data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +168 -0
  209. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +94 -0
  210. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +161 -0
  211. data/lib/vapi_server_sdk/types/create_tool_template_dto.rb +131 -0
  212. data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +159 -0
  213. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider.rb +9 -0
  214. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +107 -0
  215. data/lib/vapi_server_sdk/types/create_tool_template_dto_visibility.rb +8 -0
  216. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +161 -0
  217. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +121 -0
  218. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_messages_item.rb +121 -0
  219. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +72 -0
  220. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +167 -0
  221. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto_fallback_destination.rb +101 -0
  222. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +155 -0
  223. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto_fallback_destination.rb +101 -0
  224. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +139 -0
  225. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto_messages_item.rb +120 -0
  226. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +72 -0
  227. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +161 -0
  228. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto_fallback_destination.rb +101 -0
  229. data/lib/vapi_server_sdk/types/create_web_call_dto.rb +123 -0
  230. data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +154 -0
  231. data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +94 -0
  232. data/lib/vapi_server_sdk/types/create_workflow_block_dto_steps_item.rb +94 -0
  233. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +101 -0
  234. data/lib/vapi_server_sdk/types/custom_llm_model.rb +204 -0
  235. data/lib/vapi_server_sdk/types/custom_llm_model_metadata_send_mode.rb +18 -0
  236. data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +159 -0
  237. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +101 -0
  238. data/lib/vapi_server_sdk/types/deep_infra_model.rb +169 -0
  239. data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +159 -0
  240. data/lib/vapi_server_sdk/types/deepgram_credential.rb +114 -0
  241. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +143 -0
  242. data/lib/vapi_server_sdk/types/deepgram_transcriber_language.rb +62 -0
  243. data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +34 -0
  244. data/lib/vapi_server_sdk/types/deepgram_voice.rb +96 -0
  245. data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +53 -0
  246. data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +18 -0
  247. data/lib/vapi_server_sdk/types/dtmf_tool.rb +178 -0
  248. data/lib/vapi_server_sdk/types/dtmf_tool_messages_item.rb +120 -0
  249. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +101 -0
  250. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +176 -0
  251. data/lib/vapi_server_sdk/types/eleven_labs_voice_id.rb +54 -0
  252. data/lib/vapi_server_sdk/types/eleven_labs_voice_id_enum.rb +21 -0
  253. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +12 -0
  254. data/lib/vapi_server_sdk/types/end_call_tool.rb +178 -0
  255. data/lib/vapi_server_sdk/types/end_call_tool_messages_item.rb +120 -0
  256. data/lib/vapi_server_sdk/types/error.rb +55 -0
  257. data/lib/vapi_server_sdk/types/exact_replacement.rb +65 -0
  258. data/lib/vapi_server_sdk/types/file.rb +185 -0
  259. data/lib/vapi_server_sdk/types/file_status.rb +8 -0
  260. data/lib/vapi_server_sdk/types/format_plan.rb +130 -0
  261. data/lib/vapi_server_sdk/types/format_plan_replacements_item.rb +94 -0
  262. data/lib/vapi_server_sdk/types/function_tool.rb +178 -0
  263. data/lib/vapi_server_sdk/types/function_tool_messages_item.rb +120 -0
  264. data/lib/vapi_server_sdk/types/function_tool_provider_details.rb +71 -0
  265. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +158 -0
  266. data/lib/vapi_server_sdk/types/function_tool_with_tool_call_messages_item.rb +120 -0
  267. data/lib/vapi_server_sdk/types/gcp_credential.rb +138 -0
  268. data/lib/vapi_server_sdk/types/gcp_key.rb +143 -0
  269. data/lib/vapi_server_sdk/types/ghl_tool.rb +192 -0
  270. data/lib/vapi_server_sdk/types/ghl_tool_messages_item.rb +120 -0
  271. data/lib/vapi_server_sdk/types/ghl_tool_metadata.rb +67 -0
  272. data/lib/vapi_server_sdk/types/ghl_tool_provider_details.rb +115 -0
  273. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +173 -0
  274. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call_messages_item.rb +120 -0
  275. data/lib/vapi_server_sdk/types/gladia_credential.rb +101 -0
  276. data/lib/vapi_server_sdk/types/gladia_transcriber.rb +122 -0
  277. data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +108 -0
  278. data/lib/vapi_server_sdk/types/gladia_transcriber_language_behaviour.rb +9 -0
  279. data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +8 -0
  280. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +101 -0
  281. data/lib/vapi_server_sdk/types/groq_credential.rb +101 -0
  282. data/lib/vapi_server_sdk/types/groq_model.rb +170 -0
  283. data/lib/vapi_server_sdk/types/groq_model_model.rb +17 -0
  284. data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +159 -0
  285. data/lib/vapi_server_sdk/types/handoff_step.rb +204 -0
  286. data/lib/vapi_server_sdk/types/handoff_step_block.rb +108 -0
  287. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +167 -0
  288. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto_fallback_destination.rb +101 -0
  289. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +165 -0
  290. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto_fallback_destination.rb +101 -0
  291. data/lib/vapi_server_sdk/types/invite_user_dto.rb +66 -0
  292. data/lib/vapi_server_sdk/types/invite_user_dto_role.rb +9 -0
  293. data/lib/vapi_server_sdk/types/json_schema.rb +125 -0
  294. data/lib/vapi_server_sdk/types/json_schema_type.rb +21 -0
  295. data/lib/vapi_server_sdk/types/knowledge_base.rb +74 -0
  296. data/lib/vapi_server_sdk/types/lmnt_credential.rb +101 -0
  297. data/lib/vapi_server_sdk/types/lmnt_voice.rb +104 -0
  298. data/lib/vapi_server_sdk/types/lmnt_voice_id.rb +53 -0
  299. data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +8 -0
  300. data/lib/vapi_server_sdk/types/log.rb +248 -0
  301. data/lib/vapi_server_sdk/types/log_request_http_method.rb +12 -0
  302. data/lib/vapi_server_sdk/types/log_resource.rb +15 -0
  303. data/lib/vapi_server_sdk/types/log_type.rb +11 -0
  304. data/lib/vapi_server_sdk/types/logs_paginated_response.rb +75 -0
  305. data/lib/vapi_server_sdk/types/make_credential.rb +118 -0
  306. data/lib/vapi_server_sdk/types/make_tool.rb +192 -0
  307. data/lib/vapi_server_sdk/types/make_tool_messages_item.rb +120 -0
  308. data/lib/vapi_server_sdk/types/make_tool_metadata.rb +67 -0
  309. data/lib/vapi_server_sdk/types/make_tool_provider_details.rb +107 -0
  310. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +173 -0
  311. data/lib/vapi_server_sdk/types/make_tool_with_tool_call_messages_item.rb +120 -0
  312. data/lib/vapi_server_sdk/types/message_plan.rb +107 -0
  313. data/lib/vapi_server_sdk/types/metrics.rb +165 -0
  314. data/lib/vapi_server_sdk/types/model_based_condition.rb +117 -0
  315. data/lib/vapi_server_sdk/types/model_cost.rb +106 -0
  316. data/lib/vapi_server_sdk/types/monitor.rb +71 -0
  317. data/lib/vapi_server_sdk/types/monitor_plan.rb +85 -0
  318. data/lib/vapi_server_sdk/types/neets_voice.rb +96 -0
  319. data/lib/vapi_server_sdk/types/neets_voice_id.rb +53 -0
  320. data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +7 -0
  321. data/lib/vapi_server_sdk/types/open_ai_credential.rb +101 -0
  322. data/lib/vapi_server_sdk/types/open_ai_function.rb +96 -0
  323. data/lib/vapi_server_sdk/types/open_ai_function_parameters.rb +85 -0
  324. data/lib/vapi_server_sdk/types/open_ai_message.rb +68 -0
  325. data/lib/vapi_server_sdk/types/open_ai_message_role.rb +11 -0
  326. data/lib/vapi_server_sdk/types/open_ai_model.rb +191 -0
  327. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +23 -0
  328. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +24 -0
  329. data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +159 -0
  330. data/lib/vapi_server_sdk/types/open_ai_voice.rb +99 -0
  331. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +13 -0
  332. data/lib/vapi_server_sdk/types/open_router_credential.rb +101 -0
  333. data/lib/vapi_server_sdk/types/open_router_model.rb +169 -0
  334. data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +159 -0
  335. data/lib/vapi_server_sdk/types/org.rb +212 -0
  336. data/lib/vapi_server_sdk/types/org_plan.rb +79 -0
  337. data/lib/vapi_server_sdk/types/output_tool.rb +178 -0
  338. data/lib/vapi_server_sdk/types/output_tool_messages_item.rb +120 -0
  339. data/lib/vapi_server_sdk/types/pagination_meta.rb +72 -0
  340. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +101 -0
  341. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +169 -0
  342. data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +159 -0
  343. data/lib/vapi_server_sdk/types/play_ht_credential.rb +109 -0
  344. data/lib/vapi_server_sdk/types/play_ht_voice.rb +166 -0
  345. data/lib/vapi_server_sdk/types/play_ht_voice_emotion.rb +19 -0
  346. data/lib/vapi_server_sdk/types/play_ht_voice_id.rb +53 -0
  347. data/lib/vapi_server_sdk/types/play_ht_voice_id_enum.rb +16 -0
  348. data/lib/vapi_server_sdk/types/punctuation_boundary.rb +21 -0
  349. data/lib/vapi_server_sdk/types/regex_option.rb +74 -0
  350. data/lib/vapi_server_sdk/types/regex_option_type.rb +13 -0
  351. data/lib/vapi_server_sdk/types/regex_replacement.rb +82 -0
  352. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +101 -0
  353. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +114 -0
  354. data/lib/vapi_server_sdk/types/rime_ai_voice_id.rb +53 -0
  355. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +87 -0
  356. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +9 -0
  357. data/lib/vapi_server_sdk/types/rule_based_condition.rb +195 -0
  358. data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +14 -0
  359. data/lib/vapi_server_sdk/types/runpod_credential.rb +101 -0
  360. data/lib/vapi_server_sdk/types/s_3_credential.rb +134 -0
  361. data/lib/vapi_server_sdk/types/sbc_configuration.rb +47 -0
  362. data/lib/vapi_server_sdk/types/server.rb +82 -0
  363. data/lib/vapi_server_sdk/types/server_message.rb +77 -0
  364. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +169 -0
  365. data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +125 -0
  366. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +197 -0
  367. data/lib/vapi_server_sdk/types/server_message_conversation_update_messages_item.rb +97 -0
  368. data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +125 -0
  369. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +241 -0
  370. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +147 -0
  371. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +176 -0
  372. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +125 -0
  373. data/lib/vapi_server_sdk/types/server_message_hang.rb +169 -0
  374. data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +124 -0
  375. data/lib/vapi_server_sdk/types/server_message_language_changed.rb +177 -0
  376. data/lib/vapi_server_sdk/types/server_message_language_changed_phone_number.rb +125 -0
  377. data/lib/vapi_server_sdk/types/server_message_message.rb +285 -0
  378. data/lib/vapi_server_sdk/types/server_message_model_output.rb +177 -0
  379. data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +124 -0
  380. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +192 -0
  381. data/lib/vapi_server_sdk/types/server_message_phone_call_control_destination.rb +96 -0
  382. data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +125 -0
  383. data/lib/vapi_server_sdk/types/server_message_phone_call_control_request.rb +9 -0
  384. data/lib/vapi_server_sdk/types/server_message_response.rb +65 -0
  385. data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +162 -0
  386. data/lib/vapi_server_sdk/types/server_message_response_assistant_request_destination.rb +98 -0
  387. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +85 -0
  388. data/lib/vapi_server_sdk/types/server_message_response_tool_calls.rb +71 -0
  389. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +75 -0
  390. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +122 -0
  391. data/lib/vapi_server_sdk/types/server_message_response_voice_request.rb +97 -0
  392. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +187 -0
  393. data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +124 -0
  394. data/lib/vapi_server_sdk/types/server_message_speech_update_role.rb +9 -0
  395. data/lib/vapi_server_sdk/types/server_message_speech_update_status.rb +9 -0
  396. data/lib/vapi_server_sdk/types/server_message_status_update.rb +255 -0
  397. data/lib/vapi_server_sdk/types/server_message_status_update_destination.rb +96 -0
  398. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +175 -0
  399. data/lib/vapi_server_sdk/types/server_message_status_update_messages_item.rb +97 -0
  400. data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +124 -0
  401. data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +12 -0
  402. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +195 -0
  403. data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +124 -0
  404. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
  405. data/lib/vapi_server_sdk/types/server_message_transcript.rb +195 -0
  406. data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +124 -0
  407. data/lib/vapi_server_sdk/types/server_message_transcript_role.rb +9 -0
  408. data/lib/vapi_server_sdk/types/server_message_transcript_transcript_type.rb +9 -0
  409. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +171 -0
  410. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +125 -0
  411. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +213 -0
  412. data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +122 -0
  413. data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +125 -0
  414. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +169 -0
  415. data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +125 -0
  416. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +177 -0
  417. data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +124 -0
  418. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +185 -0
  419. data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +124 -0
  420. data/lib/vapi_server_sdk/types/sip_trunk_gateway.rb +138 -0
  421. data/lib/vapi_server_sdk/types/sip_trunk_gateway_outbound_protocol.rb +12 -0
  422. data/lib/vapi_server_sdk/types/sip_trunk_outbound_authentication_plan.rb +86 -0
  423. data/lib/vapi_server_sdk/types/sip_trunk_outbound_sip_register_plan.rb +74 -0
  424. data/lib/vapi_server_sdk/types/squad.rb +132 -0
  425. data/lib/vapi_server_sdk/types/squad_member_dto.rb +113 -0
  426. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +119 -0
  427. data/lib/vapi_server_sdk/types/step_destination.rb +82 -0
  428. data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +94 -0
  429. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +120 -0
  430. data/lib/vapi_server_sdk/types/structured_data_plan.rb +140 -0
  431. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +161 -0
  432. data/lib/vapi_server_sdk/types/success_evaluation_plan_rubric.rb +29 -0
  433. data/lib/vapi_server_sdk/types/summary_plan.rb +110 -0
  434. data/lib/vapi_server_sdk/types/sync_voice_library_dto.rb +58 -0
  435. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +16 -0
  436. data/lib/vapi_server_sdk/types/system_message.rb +79 -0
  437. data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +72 -0
  438. data/lib/vapi_server_sdk/types/talkscriber_transcriber_language.rb +109 -0
  439. data/lib/vapi_server_sdk/types/template.rb +164 -0
  440. data/lib/vapi_server_sdk/types/template_details.rb +159 -0
  441. data/lib/vapi_server_sdk/types/template_provider.rb +9 -0
  442. data/lib/vapi_server_sdk/types/template_provider_details.rb +107 -0
  443. data/lib/vapi_server_sdk/types/template_visibility.rb +8 -0
  444. data/lib/vapi_server_sdk/types/time_range.rb +91 -0
  445. data/lib/vapi_server_sdk/types/time_range_step.rb +18 -0
  446. data/lib/vapi_server_sdk/types/together_ai_credential.rb +101 -0
  447. data/lib/vapi_server_sdk/types/together_ai_model.rb +169 -0
  448. data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +159 -0
  449. data/lib/vapi_server_sdk/types/token.rb +127 -0
  450. data/lib/vapi_server_sdk/types/token_restrictions.rb +103 -0
  451. data/lib/vapi_server_sdk/types/token_tag.rb +9 -0
  452. data/lib/vapi_server_sdk/types/tool_call.rb +78 -0
  453. data/lib/vapi_server_sdk/types/tool_call_block.rb +201 -0
  454. data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +94 -0
  455. data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +161 -0
  456. data/lib/vapi_server_sdk/types/tool_call_function.rb +65 -0
  457. data/lib/vapi_server_sdk/types/tool_call_message.rb +92 -0
  458. data/lib/vapi_server_sdk/types/tool_call_result.rb +126 -0
  459. data/lib/vapi_server_sdk/types/tool_call_result_message.rb +100 -0
  460. data/lib/vapi_server_sdk/types/tool_call_result_message_item.rb +94 -0
  461. data/lib/vapi_server_sdk/types/tool_message_complete.rb +130 -0
  462. data/lib/vapi_server_sdk/types/tool_message_complete_role.rb +24 -0
  463. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +86 -0
  464. data/lib/vapi_server_sdk/types/tool_message_failed.rb +88 -0
  465. data/lib/vapi_server_sdk/types/tool_message_start.rb +73 -0
  466. data/lib/vapi_server_sdk/types/tool_template_metadata.rb +78 -0
  467. data/lib/vapi_server_sdk/types/tool_template_setup.rb +86 -0
  468. data/lib/vapi_server_sdk/types/transcriber_cost.rb +90 -0
  469. data/lib/vapi_server_sdk/types/transcript_plan.rb +122 -0
  470. data/lib/vapi_server_sdk/types/transcription_endpointing_plan.rb +109 -0
  471. data/lib/vapi_server_sdk/types/transfer_call_tool.rb +194 -0
  472. data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +120 -0
  473. data/lib/vapi_server_sdk/types/transfer_call_tool_messages_item.rb +120 -0
  474. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +181 -0
  475. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +163 -0
  476. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +90 -0
  477. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +90 -0
  478. data/lib/vapi_server_sdk/types/transfer_mode.rb +8 -0
  479. data/lib/vapi_server_sdk/types/transport_configuration_twilio.rb +125 -0
  480. data/lib/vapi_server_sdk/types/transport_configuration_twilio_recording_channels.rb +16 -0
  481. data/lib/vapi_server_sdk/types/transport_cost.rb +67 -0
  482. data/lib/vapi_server_sdk/types/twilio_credential.rb +110 -0
  483. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +200 -0
  484. data/lib/vapi_server_sdk/types/twilio_phone_number_fallback_destination.rb +100 -0
  485. data/lib/vapi_server_sdk/types/twilio_voicemail_detection.rb +248 -0
  486. data/lib/vapi_server_sdk/types/twilio_voicemail_detection_voicemail_detection_types_item.rb +13 -0
  487. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +65 -0
  488. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +65 -0
  489. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +94 -0
  490. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +14 -0
  491. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +21 -0
  492. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +133 -0
  493. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +65 -0
  494. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +65 -0
  495. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +65 -0
  496. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +76 -0
  497. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +65 -0
  498. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +104 -0
  499. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +65 -0
  500. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +65 -0
  501. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +65 -0
  502. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +65 -0
  503. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +79 -0
  504. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +65 -0
  505. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +65 -0
  506. data/lib/vapi_server_sdk/types/update_org_dto.rb +129 -0
  507. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +65 -0
  508. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +72 -0
  509. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +65 -0
  510. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +65 -0
  511. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +101 -0
  512. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +65 -0
  513. data/lib/vapi_server_sdk/types/update_tool_template_dto.rb +131 -0
  514. data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +159 -0
  515. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider.rb +9 -0
  516. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +107 -0
  517. data/lib/vapi_server_sdk/types/update_tool_template_dto_visibility.rb +8 -0
  518. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +72 -0
  519. data/lib/vapi_server_sdk/types/update_user_role_dto.rb +66 -0
  520. data/lib/vapi_server_sdk/types/update_user_role_dto_role.rb +9 -0
  521. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +72 -0
  522. data/lib/vapi_server_sdk/types/user.rb +95 -0
  523. data/lib/vapi_server_sdk/types/user_message.rb +102 -0
  524. data/lib/vapi_server_sdk/types/vapi_cost.rb +67 -0
  525. data/lib/vapi_server_sdk/types/vapi_model.rb +181 -0
  526. data/lib/vapi_server_sdk/types/vapi_model_steps_item.rb +94 -0
  527. data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +159 -0
  528. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +188 -0
  529. data/lib/vapi_server_sdk/types/vapi_phone_number_fallback_destination.rb +100 -0
  530. data/lib/vapi_server_sdk/types/voice_cost.rb +90 -0
  531. data/lib/vapi_server_sdk/types/voice_library.rb +209 -0
  532. data/lib/vapi_server_sdk/types/voice_library_gender.rb +9 -0
  533. data/lib/vapi_server_sdk/types/voice_library_voice_response.rb +111 -0
  534. data/lib/vapi_server_sdk/types/vonage_credential.rb +128 -0
  535. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +194 -0
  536. data/lib/vapi_server_sdk/types/vonage_phone_number_fallback_destination.rb +100 -0
  537. data/lib/vapi_server_sdk/types/workflow_block.rb +187 -0
  538. data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +94 -0
  539. data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +94 -0
  540. data/lib/vapi_server_sdk.rb +110 -0
  541. metadata +697 -0
@@ -0,0 +1,455 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require "date"
5
+ require_relative "types/phone_numbers_list_response_item"
6
+ require "json"
7
+ require_relative "types/phone_numbers_create_request"
8
+ require_relative "types/phone_numbers_create_response"
9
+ require_relative "types/phone_numbers_get_response"
10
+ require_relative "types/phone_numbers_delete_response"
11
+ require_relative "types/update_phone_number_dto_fallback_destination"
12
+ require_relative "types/phone_numbers_update_response"
13
+ require "async"
14
+
15
+ module Vapi
16
+ class PhoneNumbersClient
17
+ # @return [Vapi::RequestClient]
18
+ attr_reader :request_client
19
+
20
+ # @param request_client [Vapi::RequestClient]
21
+ # @return [Vapi::PhoneNumbersClient]
22
+ def initialize(request_client:)
23
+ @request_client = request_client
24
+ end
25
+
26
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
27
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
28
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
29
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
30
+ # specified value.
31
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
32
+ # specified value.
33
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
34
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
35
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
36
+ # specified value.
37
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
38
+ # specified value.
39
+ # @param request_options [Vapi::RequestOptions]
40
+ # @return [Array<Vapi::PhoneNumbers::PhoneNumbersListResponseItem>]
41
+ # @example
42
+ # api = Vapi::Client.new(
43
+ # base_url: "https://api.example.com",
44
+ # environment: Vapi::Environment::DEFAULT,
45
+ # token: "YOUR_AUTH_TOKEN"
46
+ # )
47
+ # api.phone_numbers.list
48
+ def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
49
+ updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
50
+ response = @request_client.conn.get do |req|
51
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
52
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
53
+ req.headers = {
54
+ **(req.headers || {}),
55
+ **@request_client.get_headers,
56
+ **(request_options&.additional_headers || {})
57
+ }.compact
58
+ req.params = {
59
+ **(request_options&.additional_query_parameters || {}),
60
+ "limit": limit,
61
+ "createdAtGt": created_at_gt,
62
+ "createdAtLt": created_at_lt,
63
+ "createdAtGe": created_at_ge,
64
+ "createdAtLe": created_at_le,
65
+ "updatedAtGt": updated_at_gt,
66
+ "updatedAtLt": updated_at_lt,
67
+ "updatedAtGe": updated_at_ge,
68
+ "updatedAtLe": updated_at_le
69
+ }.compact
70
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
71
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
72
+ end
73
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number"
74
+ end
75
+ parsed_json = JSON.parse(response.body)
76
+ parsed_json&.map do |item|
77
+ item = item.to_json
78
+ Vapi::PhoneNumbers::PhoneNumbersListResponseItem.from_json(json_object: item)
79
+ end
80
+ end
81
+
82
+ # @param request [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
83
+ # @param request_options [Vapi::RequestOptions]
84
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateResponse]
85
+ # @example
86
+ # api = Vapi::Client.new(
87
+ # base_url: "https://api.example.com",
88
+ # environment: Vapi::Environment::DEFAULT,
89
+ # token: "YOUR_AUTH_TOKEN"
90
+ # )
91
+ # api.phone_numbers.create
92
+ def create(request:, request_options: nil)
93
+ response = @request_client.conn.post do |req|
94
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
95
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
96
+ req.headers = {
97
+ **(req.headers || {}),
98
+ **@request_client.get_headers,
99
+ **(request_options&.additional_headers || {})
100
+ }.compact
101
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
102
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
103
+ end
104
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
105
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number"
106
+ end
107
+ Vapi::PhoneNumbers::PhoneNumbersCreateResponse.from_json(json_object: response.body)
108
+ end
109
+
110
+ # @param id [String]
111
+ # @param request_options [Vapi::RequestOptions]
112
+ # @return [Vapi::PhoneNumbers::PhoneNumbersGetResponse]
113
+ # @example
114
+ # api = Vapi::Client.new(
115
+ # base_url: "https://api.example.com",
116
+ # environment: Vapi::Environment::DEFAULT,
117
+ # token: "YOUR_AUTH_TOKEN"
118
+ # )
119
+ # api.phone_numbers.get(id: "id")
120
+ def get(id:, request_options: nil)
121
+ response = @request_client.conn.get do |req|
122
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
123
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
124
+ req.headers = {
125
+ **(req.headers || {}),
126
+ **@request_client.get_headers,
127
+ **(request_options&.additional_headers || {})
128
+ }.compact
129
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
130
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
131
+ end
132
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
133
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
134
+ end
135
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
136
+ end
137
+ Vapi::PhoneNumbers::PhoneNumbersGetResponse.from_json(json_object: response.body)
138
+ end
139
+
140
+ # @param id [String]
141
+ # @param request_options [Vapi::RequestOptions]
142
+ # @return [Vapi::PhoneNumbers::PhoneNumbersDeleteResponse]
143
+ # @example
144
+ # api = Vapi::Client.new(
145
+ # base_url: "https://api.example.com",
146
+ # environment: Vapi::Environment::DEFAULT,
147
+ # token: "YOUR_AUTH_TOKEN"
148
+ # )
149
+ # api.phone_numbers.delete(id: "id")
150
+ def delete(id:, request_options: nil)
151
+ response = @request_client.conn.delete do |req|
152
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
153
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
154
+ req.headers = {
155
+ **(req.headers || {}),
156
+ **@request_client.get_headers,
157
+ **(request_options&.additional_headers || {})
158
+ }.compact
159
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
160
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
161
+ end
162
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
163
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
164
+ end
165
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
166
+ end
167
+ Vapi::PhoneNumbers::PhoneNumbersDeleteResponse.from_json(json_object: response.body)
168
+ end
169
+
170
+ # @param id [String]
171
+ # @param fallback_destination [Vapi::PhoneNumbers::UpdatePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
172
+ # 1. `assistantId` is not set
173
+ # 2. `squadId` is not set
174
+ # 3. and, `assistant-request` message to the `serverUrl` fails
175
+ # If this is not set and above conditions are met, the inbound call is hung up
176
+ # with an error message.
177
+ # @param name [String] This is the name of the phone number. This is just for your own reference.
178
+ # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
179
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
180
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
181
+ # shape of the message and response that is expected.
182
+ # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
183
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
184
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
185
+ # shape of the message and response that is expected.
186
+ # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
187
+ # This includes the `assistant-request` message.
188
+ # You can see the shape of the messages sent in `ServerMessage`.
189
+ # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
190
+ # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
191
+ # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
192
+ # as a header called x-vapi-secret.
193
+ # Same precedence logic as serverUrl.
194
+ # @param request_options [Vapi::RequestOptions]
195
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
196
+ # @example
197
+ # api = Vapi::Client.new(
198
+ # base_url: "https://api.example.com",
199
+ # environment: Vapi::Environment::DEFAULT,
200
+ # token: "YOUR_AUTH_TOKEN"
201
+ # )
202
+ # api.phone_numbers.update(id: "id")
203
+ def update(id:, fallback_destination: nil, name: nil, assistant_id: nil, squad_id: nil, server_url: nil,
204
+ server_url_secret: nil, request_options: nil)
205
+ response = @request_client.conn.patch do |req|
206
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
207
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
208
+ req.headers = {
209
+ **(req.headers || {}),
210
+ **@request_client.get_headers,
211
+ **(request_options&.additional_headers || {})
212
+ }.compact
213
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
214
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
215
+ end
216
+ req.body = {
217
+ **(request_options&.additional_body_parameters || {}),
218
+ fallbackDestination: fallback_destination,
219
+ name: name,
220
+ assistantId: assistant_id,
221
+ squadId: squad_id,
222
+ serverUrl: server_url,
223
+ serverUrlSecret: server_url_secret
224
+ }.compact
225
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
226
+ end
227
+ Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
228
+ end
229
+ end
230
+
231
+ class AsyncPhoneNumbersClient
232
+ # @return [Vapi::AsyncRequestClient]
233
+ attr_reader :request_client
234
+
235
+ # @param request_client [Vapi::AsyncRequestClient]
236
+ # @return [Vapi::AsyncPhoneNumbersClient]
237
+ def initialize(request_client:)
238
+ @request_client = request_client
239
+ end
240
+
241
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
242
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
243
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
244
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
245
+ # specified value.
246
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
247
+ # specified value.
248
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
249
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
250
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
251
+ # specified value.
252
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
253
+ # specified value.
254
+ # @param request_options [Vapi::RequestOptions]
255
+ # @return [Array<Vapi::PhoneNumbers::PhoneNumbersListResponseItem>]
256
+ # @example
257
+ # api = Vapi::Client.new(
258
+ # base_url: "https://api.example.com",
259
+ # environment: Vapi::Environment::DEFAULT,
260
+ # token: "YOUR_AUTH_TOKEN"
261
+ # )
262
+ # api.phone_numbers.list
263
+ def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
264
+ updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
265
+ Async do
266
+ response = @request_client.conn.get do |req|
267
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
268
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
269
+ req.headers = {
270
+ **(req.headers || {}),
271
+ **@request_client.get_headers,
272
+ **(request_options&.additional_headers || {})
273
+ }.compact
274
+ req.params = {
275
+ **(request_options&.additional_query_parameters || {}),
276
+ "limit": limit,
277
+ "createdAtGt": created_at_gt,
278
+ "createdAtLt": created_at_lt,
279
+ "createdAtGe": created_at_ge,
280
+ "createdAtLe": created_at_le,
281
+ "updatedAtGt": updated_at_gt,
282
+ "updatedAtLt": updated_at_lt,
283
+ "updatedAtGe": updated_at_ge,
284
+ "updatedAtLe": updated_at_le
285
+ }.compact
286
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
287
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
288
+ end
289
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number"
290
+ end
291
+ parsed_json = JSON.parse(response.body)
292
+ parsed_json&.map do |item|
293
+ item = item.to_json
294
+ Vapi::PhoneNumbers::PhoneNumbersListResponseItem.from_json(json_object: item)
295
+ end
296
+ end
297
+ end
298
+
299
+ # @param request [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
300
+ # @param request_options [Vapi::RequestOptions]
301
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateResponse]
302
+ # @example
303
+ # api = Vapi::Client.new(
304
+ # base_url: "https://api.example.com",
305
+ # environment: Vapi::Environment::DEFAULT,
306
+ # token: "YOUR_AUTH_TOKEN"
307
+ # )
308
+ # api.phone_numbers.create
309
+ def create(request:, request_options: nil)
310
+ Async do
311
+ response = @request_client.conn.post do |req|
312
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
313
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
314
+ req.headers = {
315
+ **(req.headers || {}),
316
+ **@request_client.get_headers,
317
+ **(request_options&.additional_headers || {})
318
+ }.compact
319
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
320
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
321
+ end
322
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
323
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number"
324
+ end
325
+ Vapi::PhoneNumbers::PhoneNumbersCreateResponse.from_json(json_object: response.body)
326
+ end
327
+ end
328
+
329
+ # @param id [String]
330
+ # @param request_options [Vapi::RequestOptions]
331
+ # @return [Vapi::PhoneNumbers::PhoneNumbersGetResponse]
332
+ # @example
333
+ # api = Vapi::Client.new(
334
+ # base_url: "https://api.example.com",
335
+ # environment: Vapi::Environment::DEFAULT,
336
+ # token: "YOUR_AUTH_TOKEN"
337
+ # )
338
+ # api.phone_numbers.get(id: "id")
339
+ def get(id:, request_options: nil)
340
+ Async do
341
+ response = @request_client.conn.get do |req|
342
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
343
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
344
+ req.headers = {
345
+ **(req.headers || {}),
346
+ **@request_client.get_headers,
347
+ **(request_options&.additional_headers || {})
348
+ }.compact
349
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
350
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
351
+ end
352
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
353
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
354
+ end
355
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
356
+ end
357
+ Vapi::PhoneNumbers::PhoneNumbersGetResponse.from_json(json_object: response.body)
358
+ end
359
+ end
360
+
361
+ # @param id [String]
362
+ # @param request_options [Vapi::RequestOptions]
363
+ # @return [Vapi::PhoneNumbers::PhoneNumbersDeleteResponse]
364
+ # @example
365
+ # api = Vapi::Client.new(
366
+ # base_url: "https://api.example.com",
367
+ # environment: Vapi::Environment::DEFAULT,
368
+ # token: "YOUR_AUTH_TOKEN"
369
+ # )
370
+ # api.phone_numbers.delete(id: "id")
371
+ def delete(id:, request_options: nil)
372
+ Async do
373
+ response = @request_client.conn.delete do |req|
374
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
375
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
376
+ req.headers = {
377
+ **(req.headers || {}),
378
+ **@request_client.get_headers,
379
+ **(request_options&.additional_headers || {})
380
+ }.compact
381
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
382
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
383
+ end
384
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
385
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
386
+ end
387
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
388
+ end
389
+ Vapi::PhoneNumbers::PhoneNumbersDeleteResponse.from_json(json_object: response.body)
390
+ end
391
+ end
392
+
393
+ # @param id [String]
394
+ # @param fallback_destination [Vapi::PhoneNumbers::UpdatePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
395
+ # 1. `assistantId` is not set
396
+ # 2. `squadId` is not set
397
+ # 3. and, `assistant-request` message to the `serverUrl` fails
398
+ # If this is not set and above conditions are met, the inbound call is hung up
399
+ # with an error message.
400
+ # @param name [String] This is the name of the phone number. This is just for your own reference.
401
+ # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
402
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
403
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
404
+ # shape of the message and response that is expected.
405
+ # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
406
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
407
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
408
+ # shape of the message and response that is expected.
409
+ # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
410
+ # This includes the `assistant-request` message.
411
+ # You can see the shape of the messages sent in `ServerMessage`.
412
+ # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
413
+ # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
414
+ # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
415
+ # as a header called x-vapi-secret.
416
+ # Same precedence logic as serverUrl.
417
+ # @param request_options [Vapi::RequestOptions]
418
+ # @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
419
+ # @example
420
+ # api = Vapi::Client.new(
421
+ # base_url: "https://api.example.com",
422
+ # environment: Vapi::Environment::DEFAULT,
423
+ # token: "YOUR_AUTH_TOKEN"
424
+ # )
425
+ # api.phone_numbers.update(id: "id")
426
+ def update(id:, fallback_destination: nil, name: nil, assistant_id: nil, squad_id: nil, server_url: nil,
427
+ server_url_secret: nil, request_options: nil)
428
+ Async do
429
+ response = @request_client.conn.patch do |req|
430
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
431
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
432
+ req.headers = {
433
+ **(req.headers || {}),
434
+ **@request_client.get_headers,
435
+ **(request_options&.additional_headers || {})
436
+ }.compact
437
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
438
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
439
+ end
440
+ req.body = {
441
+ **(request_options&.additional_body_parameters || {}),
442
+ fallbackDestination: fallback_destination,
443
+ name: name,
444
+ assistantId: assistant_id,
445
+ squadId: squad_id,
446
+ serverUrl: server_url,
447
+ serverUrlSecret: server_url_secret
448
+ }.compact
449
+ req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
450
+ end
451
+ Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
452
+ end
453
+ end
454
+ end
455
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/create_byo_phone_number_dto"
5
+ require_relative "../../types/create_twilio_phone_number_dto"
6
+ require_relative "../../types/create_vonage_phone_number_dto"
7
+ require_relative "../../types/create_vapi_phone_number_dto"
8
+
9
+ module Vapi
10
+ class PhoneNumbers
11
+ class PhoneNumbersCreateRequest
12
+ # @return [Object]
13
+ attr_reader :member
14
+ # @return [String]
15
+ attr_reader :discriminant
16
+
17
+ private_class_method :new
18
+ alias kind_of? is_a?
19
+
20
+ # @param member [Object]
21
+ # @param discriminant [String]
22
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
23
+ def initialize(member:, discriminant:)
24
+ @member = member
25
+ @discriminant = discriminant
26
+ end
27
+
28
+ # Deserialize a JSON object to an instance of PhoneNumbersCreateRequest
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.provider
35
+ when "byo-phone-number"
36
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
37
+ when "twilio"
38
+ Vapi::CreateTwilioPhoneNumberDto.from_json(json_object: json_object)
39
+ when "vonage"
40
+ Vapi::CreateVonagePhoneNumberDto.from_json(json_object: json_object)
41
+ when "vapi"
42
+ Vapi::CreateVapiPhoneNumberDto.from_json(json_object: json_object)
43
+ else
44
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.provider)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "byo-phone-number"
55
+ { **@member.to_json, provider: @discriminant }.to_json
56
+ when "twilio"
57
+ { **@member.to_json, provider: @discriminant }.to_json
58
+ when "vonage"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "vapi"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ else
63
+ { "provider": @discriminant, value: @member }.to_json
64
+ end
65
+ @member.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ case obj.provider
76
+ when "byo-phone-number"
77
+ Vapi::CreateByoPhoneNumberDto.validate_raw(obj: obj)
78
+ when "twilio"
79
+ Vapi::CreateTwilioPhoneNumberDto.validate_raw(obj: obj)
80
+ when "vonage"
81
+ Vapi::CreateVonagePhoneNumberDto.validate_raw(obj: obj)
82
+ when "vapi"
83
+ Vapi::CreateVapiPhoneNumberDto.validate_raw(obj: obj)
84
+ else
85
+ raise("Passed value matched no type within the union, validation failed.")
86
+ end
87
+ end
88
+
89
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Boolean]
93
+ def is_a?(obj)
94
+ @member.is_a?(obj)
95
+ end
96
+
97
+ # @param member [Vapi::CreateByoPhoneNumberDto]
98
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
99
+ def self.byo_phone_number(member:)
100
+ new(member: member, discriminant: "byo-phone-number")
101
+ end
102
+
103
+ # @param member [Vapi::CreateTwilioPhoneNumberDto]
104
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
105
+ def self.twilio(member:)
106
+ new(member: member, discriminant: "twilio")
107
+ end
108
+
109
+ # @param member [Vapi::CreateVonagePhoneNumberDto]
110
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
111
+ def self.vonage(member:)
112
+ new(member: member, discriminant: "vonage")
113
+ end
114
+
115
+ # @param member [Vapi::CreateVapiPhoneNumberDto]
116
+ # @return [Vapi::PhoneNumbers::PhoneNumbersCreateRequest]
117
+ def self.vapi(member:)
118
+ new(member: member, discriminant: "vapi")
119
+ end
120
+ end
121
+ end
122
+ end