vapi_server_sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +129 -62
  4. data/lib/vapi_server_sdk/assistants/client.rb +15 -2
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  9. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  10. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +16 -4
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -8
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  14. data/lib/vapi_server_sdk/logs/client.rb +84 -0
  15. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  16. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  17. data/lib/vapi_server_sdk/squads/client.rb +8 -0
  18. data/lib/vapi_server_sdk/tools/client.rb +7 -91
  19. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  20. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  21. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  22. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  23. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  27. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  28. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  30. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  31. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  32. data/lib/vapi_server_sdk/types/azure_credential_region.rb +1 -1
  33. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  34. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  35. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -1
  36. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  37. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  38. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  39. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  40. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  41. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  42. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  43. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  44. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  45. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  46. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  47. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  48. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  49. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  50. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  51. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  52. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  53. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  54. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  55. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  56. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +1 -1
  57. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  58. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  59. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -1
  60. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  61. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  62. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  63. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  64. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  65. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  66. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  67. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  68. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  69. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  70. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  71. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  72. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  74. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  75. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  76. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  77. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  79. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  80. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  82. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  85. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  86. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  88. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  89. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  90. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  91. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  92. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  93. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  94. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  95. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  96. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  97. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  98. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  99. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  100. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  101. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  102. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  103. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  104. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  105. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  106. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  107. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  108. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  109. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  110. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  111. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  112. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  113. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  114. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  115. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  116. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  117. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  118. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  119. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/org.rb +25 -25
  122. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  123. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  124. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  125. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  126. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  127. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  128. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  129. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  130. data/lib/vapi_server_sdk/types/subscription.rb +2 -2
  131. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  132. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  133. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  134. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  135. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  136. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  137. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  138. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  139. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +1 -1
  140. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  141. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  142. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -1
  143. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  144. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  145. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  146. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  147. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  148. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  149. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  150. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  151. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  152. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  153. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  154. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  155. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  156. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  157. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  158. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  159. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  160. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  161. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  162. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  163. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  164. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  165. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  166. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  167. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  168. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  169. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  170. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  171. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  172. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  173. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  175. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  176. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  177. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  178. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  179. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  180. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  181. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  182. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  183. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  184. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  185. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  187. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  188. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  189. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  190. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  191. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  192. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  193. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  194. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  196. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  197. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  198. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  199. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  200. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  201. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  202. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  203. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  204. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  206. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  207. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  208. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  209. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  210. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  211. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  212. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  213. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  214. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  215. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  216. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  217. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  218. metadata +88 -21
  219. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  220. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  221. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  222. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  223. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  224. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  225. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  226. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  227. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +0 -55
  228. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  229. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  230. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +0 -55
  231. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +0 -55
  232. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  233. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -0,0 +1,142 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "cloudflare_r_2_bucket_plan"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class CloudflareCredential
10
+ # @return [String] Credential provider. Only allowed value is cloudflare
11
+ attr_reader :provider
12
+ # @return [String] Cloudflare Account Id.
13
+ attr_reader :account_id
14
+ # @return [String] Cloudflare API Key / Token.
15
+ attr_reader :api_key
16
+ # @return [String] Cloudflare Account Email.
17
+ attr_reader :account_email
18
+ # @return [String] This is the unique identifier for the credential.
19
+ attr_reader :id
20
+ # @return [String] This is the unique identifier for the org that this credential belongs to.
21
+ attr_reader :org_id
22
+ # @return [DateTime] This is the ISO 8601 date-time string of when the credential was created.
23
+ attr_reader :created_at
24
+ # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
25
+ attr_reader :updated_at
26
+ # @return [String] This is the name of credential. This is just for your reference.
27
+ attr_reader :name
28
+ # @return [Vapi::CloudflareR2BucketPlan] This is the bucket plan that can be provided to store call artifacts in R2
29
+ attr_reader :bucket_plan
30
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
31
+ attr_reader :additional_properties
32
+ # @return [Object]
33
+ attr_reader :_field_set
34
+ protected :_field_set
35
+
36
+ OMIT = Object.new
37
+
38
+ # @param provider [String] Credential provider. Only allowed value is cloudflare
39
+ # @param account_id [String] Cloudflare Account Id.
40
+ # @param api_key [String] Cloudflare API Key / Token.
41
+ # @param account_email [String] Cloudflare Account Email.
42
+ # @param id [String] This is the unique identifier for the credential.
43
+ # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
44
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
45
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
46
+ # @param name [String] This is the name of credential. This is just for your reference.
47
+ # @param bucket_plan [Vapi::CloudflareR2BucketPlan] This is the bucket plan that can be provided to store call artifacts in R2
48
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
49
+ # @return [Vapi::CloudflareCredential]
50
+ def initialize(provider:, id:, org_id:, created_at:, updated_at:, account_id: OMIT, api_key: OMIT,
51
+ account_email: OMIT, name: OMIT, bucket_plan: OMIT, additional_properties: nil)
52
+ @provider = provider
53
+ @account_id = account_id if account_id != OMIT
54
+ @api_key = api_key if api_key != OMIT
55
+ @account_email = account_email if account_email != OMIT
56
+ @id = id
57
+ @org_id = org_id
58
+ @created_at = created_at
59
+ @updated_at = updated_at
60
+ @name = name if name != OMIT
61
+ @bucket_plan = bucket_plan if bucket_plan != OMIT
62
+ @additional_properties = additional_properties
63
+ @_field_set = {
64
+ "provider": provider,
65
+ "accountId": account_id,
66
+ "apiKey": api_key,
67
+ "accountEmail": account_email,
68
+ "id": id,
69
+ "orgId": org_id,
70
+ "createdAt": created_at,
71
+ "updatedAt": updated_at,
72
+ "name": name,
73
+ "bucketPlan": bucket_plan
74
+ }.reject do |_k, v|
75
+ v == OMIT
76
+ end
77
+ end
78
+
79
+ # Deserialize a JSON object to an instance of CloudflareCredential
80
+ #
81
+ # @param json_object [String]
82
+ # @return [Vapi::CloudflareCredential]
83
+ def self.from_json(json_object:)
84
+ struct = JSON.parse(json_object, object_class: OpenStruct)
85
+ parsed_json = JSON.parse(json_object)
86
+ provider = parsed_json["provider"]
87
+ account_id = parsed_json["accountId"]
88
+ api_key = parsed_json["apiKey"]
89
+ account_email = parsed_json["accountEmail"]
90
+ id = parsed_json["id"]
91
+ org_id = parsed_json["orgId"]
92
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
93
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
94
+ name = parsed_json["name"]
95
+ if parsed_json["bucketPlan"].nil?
96
+ bucket_plan = nil
97
+ else
98
+ bucket_plan = parsed_json["bucketPlan"].to_json
99
+ bucket_plan = Vapi::CloudflareR2BucketPlan.from_json(json_object: bucket_plan)
100
+ end
101
+ new(
102
+ provider: provider,
103
+ account_id: account_id,
104
+ api_key: api_key,
105
+ account_email: account_email,
106
+ id: id,
107
+ org_id: org_id,
108
+ created_at: created_at,
109
+ updated_at: updated_at,
110
+ name: name,
111
+ bucket_plan: bucket_plan,
112
+ additional_properties: struct
113
+ )
114
+ end
115
+
116
+ # Serialize an instance of CloudflareCredential to a JSON object
117
+ #
118
+ # @return [String]
119
+ def to_json(*_args)
120
+ @_field_set&.to_json
121
+ end
122
+
123
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
124
+ # hash and check each fields type against the current object's property
125
+ # definitions.
126
+ #
127
+ # @param obj [Object]
128
+ # @return [Void]
129
+ def self.validate_raw(obj:)
130
+ obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
131
+ obj.account_id&.is_a?(String) != false || raise("Passed value for field obj.account_id is not the expected type, validation failed.")
132
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
133
+ obj.account_email&.is_a?(String) != false || raise("Passed value for field obj.account_email is not the expected type, validation failed.")
134
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
135
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
136
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
137
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
138
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
139
+ obj.bucket_plan.nil? || Vapi::CloudflareR2BucketPlan.validate_raw(obj: obj.bucket_plan)
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class CloudflareR2BucketPlan
8
+ # @return [String] Cloudflare R2 Access key ID.
9
+ attr_reader :access_key_id
10
+ # @return [String] Cloudflare R2 access key secret. This is not returned in the API.
11
+ attr_reader :secret_access_key
12
+ # @return [String] Cloudflare R2 base url.
13
+ attr_reader :url
14
+ # @return [String] This is the name of the bucket.
15
+ attr_reader :name
16
+ # @return [String] This is the path where call artifacts will be stored.
17
+ # Usage:
18
+ # - To store call artifacts in a specific folder, set this to the full path. Eg.
19
+ # "/folder-name1/folder-name2".
20
+ # - To store call artifacts in the root of the bucket, leave this blank.
21
+ # @default "/"
22
+ attr_reader :path
23
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
24
+ attr_reader :additional_properties
25
+ # @return [Object]
26
+ attr_reader :_field_set
27
+ protected :_field_set
28
+
29
+ OMIT = Object.new
30
+
31
+ # @param access_key_id [String] Cloudflare R2 Access key ID.
32
+ # @param secret_access_key [String] Cloudflare R2 access key secret. This is not returned in the API.
33
+ # @param url [String] Cloudflare R2 base url.
34
+ # @param name [String] This is the name of the bucket.
35
+ # @param path [String] This is the path where call artifacts will be stored.
36
+ # Usage:
37
+ # - To store call artifacts in a specific folder, set this to the full path. Eg.
38
+ # "/folder-name1/folder-name2".
39
+ # - To store call artifacts in the root of the bucket, leave this blank.
40
+ # @default "/"
41
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
42
+ # @return [Vapi::CloudflareR2BucketPlan]
43
+ def initialize(name:, access_key_id: OMIT, secret_access_key: OMIT, url: OMIT, path: OMIT,
44
+ additional_properties: nil)
45
+ @access_key_id = access_key_id if access_key_id != OMIT
46
+ @secret_access_key = secret_access_key if secret_access_key != OMIT
47
+ @url = url if url != OMIT
48
+ @name = name
49
+ @path = path if path != OMIT
50
+ @additional_properties = additional_properties
51
+ @_field_set = {
52
+ "accessKeyId": access_key_id,
53
+ "secretAccessKey": secret_access_key,
54
+ "url": url,
55
+ "name": name,
56
+ "path": path
57
+ }.reject do |_k, v|
58
+ v == OMIT
59
+ end
60
+ end
61
+
62
+ # Deserialize a JSON object to an instance of CloudflareR2BucketPlan
63
+ #
64
+ # @param json_object [String]
65
+ # @return [Vapi::CloudflareR2BucketPlan]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ access_key_id = parsed_json["accessKeyId"]
70
+ secret_access_key = parsed_json["secretAccessKey"]
71
+ url = parsed_json["url"]
72
+ name = parsed_json["name"]
73
+ path = parsed_json["path"]
74
+ new(
75
+ access_key_id: access_key_id,
76
+ secret_access_key: secret_access_key,
77
+ url: url,
78
+ name: name,
79
+ path: path,
80
+ additional_properties: struct
81
+ )
82
+ end
83
+
84
+ # Serialize an instance of CloudflareR2BucketPlan to a JSON object
85
+ #
86
+ # @return [String]
87
+ def to_json(*_args)
88
+ @_field_set&.to_json
89
+ end
90
+
91
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
92
+ # hash and check each fields type against the current object's property
93
+ # definitions.
94
+ #
95
+ # @param obj [Object]
96
+ # @return [Void]
97
+ def self.validate_raw(obj:)
98
+ obj.access_key_id&.is_a?(String) != false || raise("Passed value for field obj.access_key_id is not the expected type, validation failed.")
99
+ obj.secret_access_key&.is_a?(String) != false || raise("Passed value for field obj.secret_access_key is not the expected type, validation failed.")
100
+ obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
101
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
102
+ obj.path&.is_a?(String) != false || raise("Passed value for field obj.path is not the expected type, validation failed.")
103
+ end
104
+ end
105
+ end
@@ -5,8 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class CreateAnthropicCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_key
12
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -19,17 +17,15 @@ module Vapi
19
17
 
20
18
  OMIT = Object.new
21
19
 
22
- # @param provider [String]
23
20
  # @param api_key [String] This is not returned in the API.
24
21
  # @param name [String] This is the name of credential. This is just for your reference.
25
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
23
  # @return [Vapi::CreateAnthropicCredentialDto]
27
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
28
- @provider = provider
24
+ def initialize(api_key:, name: OMIT, additional_properties: nil)
29
25
  @api_key = api_key
30
26
  @name = name if name != OMIT
31
27
  @additional_properties = additional_properties
32
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
33
29
  v == OMIT
34
30
  end
35
31
  end
@@ -41,11 +37,9 @@ module Vapi
41
37
  def self.from_json(json_object:)
42
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
39
  parsed_json = JSON.parse(json_object)
44
- provider = parsed_json["provider"]
45
40
  api_key = parsed_json["apiKey"]
46
41
  name = parsed_json["name"]
47
42
  new(
48
- provider: provider,
49
43
  api_key: api_key,
50
44
  name: name,
51
45
  additional_properties: struct
@@ -66,7 +60,6 @@ module Vapi
66
60
  # @param obj [Object]
67
61
  # @return [Void]
68
62
  def self.validate_raw(obj:)
69
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
70
63
  obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
71
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
72
65
  end
@@ -5,8 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class CreateAnyscaleCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_key
12
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -19,17 +17,15 @@ module Vapi
19
17
 
20
18
  OMIT = Object.new
21
19
 
22
- # @param provider [String]
23
20
  # @param api_key [String] This is not returned in the API.
24
21
  # @param name [String] This is the name of credential. This is just for your reference.
25
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
23
  # @return [Vapi::CreateAnyscaleCredentialDto]
27
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
28
- @provider = provider
24
+ def initialize(api_key:, name: OMIT, additional_properties: nil)
29
25
  @api_key = api_key
30
26
  @name = name if name != OMIT
31
27
  @additional_properties = additional_properties
32
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
33
29
  v == OMIT
34
30
  end
35
31
  end
@@ -41,11 +37,9 @@ module Vapi
41
37
  def self.from_json(json_object:)
42
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
39
  parsed_json = JSON.parse(json_object)
44
- provider = parsed_json["provider"]
45
40
  api_key = parsed_json["apiKey"]
46
41
  name = parsed_json["name"]
47
42
  new(
48
- provider: provider,
49
43
  api_key: api_key,
50
44
  name: name,
51
45
  additional_properties: struct
@@ -66,7 +60,6 @@ module Vapi
66
60
  # @param obj [Object]
67
61
  # @return [Void]
68
62
  def self.validate_raw(obj:)
69
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
70
63
  obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
71
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
72
65
  end
@@ -5,8 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class CreateAssemblyAiCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_key
12
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -19,17 +17,15 @@ module Vapi
19
17
 
20
18
  OMIT = Object.new
21
19
 
22
- # @param provider [String]
23
20
  # @param api_key [String] This is not returned in the API.
24
21
  # @param name [String] This is the name of credential. This is just for your reference.
25
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
23
  # @return [Vapi::CreateAssemblyAiCredentialDto]
27
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
28
- @provider = provider
24
+ def initialize(api_key:, name: OMIT, additional_properties: nil)
29
25
  @api_key = api_key
30
26
  @name = name if name != OMIT
31
27
  @additional_properties = additional_properties
32
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
33
29
  v == OMIT
34
30
  end
35
31
  end
@@ -41,11 +37,9 @@ module Vapi
41
37
  def self.from_json(json_object:)
42
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
39
  parsed_json = JSON.parse(json_object)
44
- provider = parsed_json["provider"]
45
40
  api_key = parsed_json["apiKey"]
46
41
  name = parsed_json["name"]
47
42
  new(
48
- provider: provider,
49
43
  api_key: api_key,
50
44
  name: name,
51
45
  additional_properties: struct
@@ -66,7 +60,6 @@ module Vapi
66
60
  # @param obj [Object]
67
61
  # @return [Void]
68
62
  def self.validate_raw(obj:)
69
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
70
63
  obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
71
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
72
65
  end
@@ -8,6 +8,7 @@ require_relative "create_assistant_dto_client_messages_item"
8
8
  require_relative "create_assistant_dto_server_messages_item"
9
9
  require_relative "create_assistant_dto_background_sound"
10
10
  require_relative "transport_configuration_twilio"
11
+ require_relative "create_assistant_dto_credentials_item"
11
12
  require_relative "twilio_voicemail_detection"
12
13
  require_relative "analysis_plan"
13
14
  require_relative "artifact_plan"
@@ -79,6 +80,11 @@ module Vapi
79
80
  # different transport providers. For a call, only the configuration matching the
80
81
  # call transport provider is used.
81
82
  attr_reader :transport_configurations
83
+ # @return [Array<Vapi::CreateAssistantDtoCredentialsItem>] These are dynamic credentials that will be used for the assistant calls. By
84
+ # default, all the credentials are available for use in the call but you can
85
+ # supplement an additional credentials using this. Dynamic credentials override
86
+ # existing credentials.
87
+ attr_reader :credentials
82
88
  # @return [String] This is the name of the assistant.
83
89
  # This is required when you want to transfer between assistants in a call.
84
90
  attr_reader :name
@@ -206,6 +212,10 @@ module Vapi
206
212
  # assistant's calls, like Twilio. You can store multiple configurations for
207
213
  # different transport providers. For a call, only the configuration matching the
208
214
  # call transport provider is used.
215
+ # @param credentials [Array<Vapi::CreateAssistantDtoCredentialsItem>] These are dynamic credentials that will be used for the assistant calls. By
216
+ # default, all the credentials are available for use in the call but you can
217
+ # supplement an additional credentials using this. Dynamic credentials override
218
+ # existing credentials.
209
219
  # @param name [String] This is the name of the assistant.
210
220
  # This is required when you want to transfer between assistants in a call.
211
221
  # @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
@@ -270,7 +280,7 @@ module Vapi
270
280
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
271
281
  # @return [Vapi::CreateAssistantDto]
272
282
  def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
273
- hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
283
+ hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, credentials: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
274
284
  @transcriber = transcriber if transcriber != OMIT
275
285
  @model = model if model != OMIT
276
286
  @voice = voice if voice != OMIT
@@ -285,6 +295,7 @@ module Vapi
285
295
  @background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
286
296
  @model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
287
297
  @transport_configurations = transport_configurations if transport_configurations != OMIT
298
+ @credentials = credentials if credentials != OMIT
288
299
  @name = name if name != OMIT
289
300
  @voicemail_detection = voicemail_detection if voicemail_detection != OMIT
290
301
  @voicemail_message = voicemail_message if voicemail_message != OMIT
@@ -315,6 +326,7 @@ module Vapi
315
326
  "backgroundDenoisingEnabled": background_denoising_enabled,
316
327
  "modelOutputInMessagesEnabled": model_output_in_messages_enabled,
317
328
  "transportConfigurations": transport_configurations,
329
+ "credentials": credentials,
318
330
  "name": name,
319
331
  "voicemailDetection": voicemail_detection,
320
332
  "voicemailMessage": voicemail_message,
@@ -373,6 +385,10 @@ module Vapi
373
385
  item = item.to_json
374
386
  Vapi::TransportConfigurationTwilio.from_json(json_object: item)
375
387
  end
388
+ credentials = parsed_json["credentials"]&.map do |item|
389
+ item = item.to_json
390
+ Vapi::CreateAssistantDtoCredentialsItem.from_json(json_object: item)
391
+ end
376
392
  name = parsed_json["name"]
377
393
  if parsed_json["voicemailDetection"].nil?
378
394
  voicemail_detection = nil
@@ -442,6 +458,7 @@ module Vapi
442
458
  background_denoising_enabled: background_denoising_enabled,
443
459
  model_output_in_messages_enabled: model_output_in_messages_enabled,
444
460
  transport_configurations: transport_configurations,
461
+ credentials: credentials,
445
462
  name: name,
446
463
  voicemail_detection: voicemail_detection,
447
464
  voicemail_message: voicemail_message,
@@ -488,6 +505,7 @@ module Vapi
488
505
  obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
489
506
  obj.model_output_in_messages_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.model_output_in_messages_enabled is not the expected type, validation failed.")
490
507
  obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
508
+ obj.credentials&.is_a?(Array) != false || raise("Passed value for field obj.credentials is not the expected type, validation failed.")
491
509
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
492
510
  obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
493
511
  obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")