vapi-server-sdk 0.0.0a7__py3-none-any.whl

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 (571) hide show
  1. vapi/__init__.py +1081 -0
  2. vapi/analytics/__init__.py +2 -0
  3. vapi/analytics/client.py +159 -0
  4. vapi/assistants/__init__.py +21 -0
  5. vapi/assistants/client.py +1593 -0
  6. vapi/assistants/types/__init__.py +19 -0
  7. vapi/assistants/types/update_assistant_dto_background_sound.py +5 -0
  8. vapi/assistants/types/update_assistant_dto_client_messages_item.py +23 -0
  9. vapi/assistants/types/update_assistant_dto_first_message_mode.py +10 -0
  10. vapi/assistants/types/update_assistant_dto_model.py +26 -0
  11. vapi/assistants/types/update_assistant_dto_server_messages_item.py +24 -0
  12. vapi/assistants/types/update_assistant_dto_transcriber.py +8 -0
  13. vapi/assistants/types/update_assistant_dto_voice.py +24 -0
  14. vapi/blocks/__init__.py +25 -0
  15. vapi/blocks/client.py +804 -0
  16. vapi/blocks/types/__init__.py +23 -0
  17. vapi/blocks/types/blocks_create_request.py +8 -0
  18. vapi/blocks/types/blocks_create_response.py +8 -0
  19. vapi/blocks/types/blocks_delete_response.py +8 -0
  20. vapi/blocks/types/blocks_get_response.py +8 -0
  21. vapi/blocks/types/blocks_list_response_item.py +8 -0
  22. vapi/blocks/types/blocks_update_response.py +8 -0
  23. vapi/blocks/types/update_block_dto_messages_item.py +7 -0
  24. vapi/blocks/types/update_block_dto_steps_item.py +7 -0
  25. vapi/blocks/types/update_block_dto_tool.py +20 -0
  26. vapi/calls/__init__.py +2 -0
  27. vapi/calls/client.py +776 -0
  28. vapi/client.py +172 -0
  29. vapi/core/__init__.py +50 -0
  30. vapi/core/api_error.py +15 -0
  31. vapi/core/client_wrapper.py +76 -0
  32. vapi/core/datetime_utils.py +28 -0
  33. vapi/core/file.py +62 -0
  34. vapi/core/http_client.py +487 -0
  35. vapi/core/jsonable_encoder.py +101 -0
  36. vapi/core/pagination.py +88 -0
  37. vapi/core/pydantic_utilities.py +296 -0
  38. vapi/core/query_encoder.py +58 -0
  39. vapi/core/remove_none_from_dict.py +11 -0
  40. vapi/core/request_options.py +32 -0
  41. vapi/core/serialization.py +272 -0
  42. vapi/environment.py +7 -0
  43. vapi/errors/__init__.py +5 -0
  44. vapi/errors/bad_request_error.py +9 -0
  45. vapi/files/__init__.py +2 -0
  46. vapi/files/client.py +544 -0
  47. vapi/logs/__init__.py +5 -0
  48. vapi/logs/client.py +367 -0
  49. vapi/logs/types/__init__.py +6 -0
  50. vapi/logs/types/logs_get_request_sort_order.py +5 -0
  51. vapi/logs/types/logs_get_request_type.py +5 -0
  52. vapi/phone_numbers/__init__.py +21 -0
  53. vapi/phone_numbers/client.py +735 -0
  54. vapi/phone_numbers/types/__init__.py +19 -0
  55. vapi/phone_numbers/types/phone_numbers_create_request.py +11 -0
  56. vapi/phone_numbers/types/phone_numbers_create_response.py +9 -0
  57. vapi/phone_numbers/types/phone_numbers_delete_response.py +9 -0
  58. vapi/phone_numbers/types/phone_numbers_get_response.py +9 -0
  59. vapi/phone_numbers/types/phone_numbers_list_response_item.py +9 -0
  60. vapi/phone_numbers/types/phone_numbers_update_response.py +9 -0
  61. vapi/phone_numbers/types/update_phone_number_dto_fallback_destination.py +7 -0
  62. vapi/py.typed +0 -0
  63. vapi/squads/__init__.py +2 -0
  64. vapi/squads/client.py +723 -0
  65. vapi/tools/__init__.py +21 -0
  66. vapi/tools/client.py +717 -0
  67. vapi/tools/types/__init__.py +19 -0
  68. vapi/tools/types/tools_create_request.py +20 -0
  69. vapi/tools/types/tools_create_response.py +12 -0
  70. vapi/tools/types/tools_delete_response.py +12 -0
  71. vapi/tools/types/tools_get_response.py +12 -0
  72. vapi/tools/types/tools_list_response_item.py +14 -0
  73. vapi/tools/types/tools_update_response.py +12 -0
  74. vapi/tools/types/update_tool_dto_messages_item.py +9 -0
  75. vapi/types/__init__.py +993 -0
  76. vapi/types/add_voice_to_provider_dto.py +34 -0
  77. vapi/types/analysis.py +38 -0
  78. vapi/types/analysis_cost.py +52 -0
  79. vapi/types/analysis_cost_analysis_type.py +5 -0
  80. vapi/types/analysis_cost_breakdown.py +80 -0
  81. vapi/types/analysis_plan.py +43 -0
  82. vapi/types/analytics_operation.py +34 -0
  83. vapi/types/analytics_operation_column.py +19 -0
  84. vapi/types/analytics_operation_operation.py +5 -0
  85. vapi/types/analytics_query.py +51 -0
  86. vapi/types/analytics_query_group_by_item.py +7 -0
  87. vapi/types/analytics_query_result.py +42 -0
  88. vapi/types/anthropic_credential.py +46 -0
  89. vapi/types/anthropic_model.py +91 -0
  90. vapi/types/anthropic_model_model.py +10 -0
  91. vapi/types/anthropic_model_tools_item.py +20 -0
  92. vapi/types/anyscale_credential.py +46 -0
  93. vapi/types/anyscale_model.py +90 -0
  94. vapi/types/anyscale_model_tools_item.py +20 -0
  95. vapi/types/artifact.py +66 -0
  96. vapi/types/artifact_messages_item.py +10 -0
  97. vapi/types/artifact_plan.py +70 -0
  98. vapi/types/assignment_mutation.py +85 -0
  99. vapi/types/assignment_mutation_conditions_item.py +7 -0
  100. vapi/types/assistant.py +330 -0
  101. vapi/types/assistant_background_sound.py +5 -0
  102. vapi/types/assistant_client_messages_item.py +23 -0
  103. vapi/types/assistant_first_message_mode.py +10 -0
  104. vapi/types/assistant_model.py +26 -0
  105. vapi/types/assistant_overrides.py +316 -0
  106. vapi/types/assistant_overrides_background_sound.py +5 -0
  107. vapi/types/assistant_overrides_client_messages_item.py +23 -0
  108. vapi/types/assistant_overrides_first_message_mode.py +10 -0
  109. vapi/types/assistant_overrides_model.py +26 -0
  110. vapi/types/assistant_overrides_server_messages_item.py +24 -0
  111. vapi/types/assistant_overrides_transcriber.py +8 -0
  112. vapi/types/assistant_overrides_voice.py +24 -0
  113. vapi/types/assistant_server_messages_item.py +24 -0
  114. vapi/types/assistant_transcriber.py +8 -0
  115. vapi/types/assistant_voice.py +24 -0
  116. vapi/types/azure_open_ai_credential.py +52 -0
  117. vapi/types/azure_open_ai_credential_models_item.py +17 -0
  118. vapi/types/azure_open_ai_credential_region.py +24 -0
  119. vapi/types/azure_voice.py +52 -0
  120. vapi/types/azure_voice_id.py +6 -0
  121. vapi/types/azure_voice_id_enum.py +5 -0
  122. vapi/types/block_complete_message.py +33 -0
  123. vapi/types/block_complete_message_conditions_item.py +7 -0
  124. vapi/types/block_start_message.py +33 -0
  125. vapi/types/block_start_message_conditions_item.py +7 -0
  126. vapi/types/bot_message.py +54 -0
  127. vapi/types/bucket_plan.py +72 -0
  128. vapi/types/buy_phone_number_dto.py +81 -0
  129. vapi/types/buy_phone_number_dto_fallback_destination.py +7 -0
  130. vapi/types/byo_phone_number.py +126 -0
  131. vapi/types/byo_phone_number_fallback_destination.py +7 -0
  132. vapi/types/byo_sip_trunk_credential.py +85 -0
  133. vapi/types/call.py +241 -0
  134. vapi/types/call_costs_item.py +11 -0
  135. vapi/types/call_destination.py +7 -0
  136. vapi/types/call_ended_reason.py +177 -0
  137. vapi/types/call_messages_item.py +10 -0
  138. vapi/types/call_paginated_response.py +32 -0
  139. vapi/types/call_phone_call_provider.py +5 -0
  140. vapi/types/call_phone_call_transport.py +5 -0
  141. vapi/types/call_status.py +5 -0
  142. vapi/types/call_type.py +5 -0
  143. vapi/types/callback_step.py +116 -0
  144. vapi/types/callback_step_block.py +11 -0
  145. vapi/types/cartesia_credential.py +46 -0
  146. vapi/types/cartesia_voice.py +58 -0
  147. vapi/types/cartesia_voice_language.py +5 -0
  148. vapi/types/cartesia_voice_model.py +5 -0
  149. vapi/types/chunk_plan.py +70 -0
  150. vapi/types/client_inbound_message.py +23 -0
  151. vapi/types/client_inbound_message_add_message.py +28 -0
  152. vapi/types/client_inbound_message_control.py +32 -0
  153. vapi/types/client_inbound_message_control_control.py +7 -0
  154. vapi/types/client_inbound_message_message.py +10 -0
  155. vapi/types/client_inbound_message_say.py +36 -0
  156. vapi/types/client_message.py +23 -0
  157. vapi/types/client_message_conversation_update.py +38 -0
  158. vapi/types/client_message_conversation_update_messages_item.py +12 -0
  159. vapi/types/client_message_hang.py +27 -0
  160. vapi/types/client_message_language_changed.py +27 -0
  161. vapi/types/client_message_message.py +28 -0
  162. vapi/types/client_message_metadata.py +27 -0
  163. vapi/types/client_message_model_output.py +27 -0
  164. vapi/types/client_message_speech_update.py +34 -0
  165. vapi/types/client_message_speech_update_role.py +5 -0
  166. vapi/types/client_message_speech_update_status.py +5 -0
  167. vapi/types/client_message_tool_calls.py +40 -0
  168. vapi/types/client_message_tool_calls_result.py +31 -0
  169. vapi/types/client_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
  170. vapi/types/client_message_transcript.py +43 -0
  171. vapi/types/client_message_transcript_role.py +5 -0
  172. vapi/types/client_message_transcript_transcript_type.py +5 -0
  173. vapi/types/client_message_user_interrupted.py +22 -0
  174. vapi/types/client_message_voice_input.py +27 -0
  175. vapi/types/clone_voice_dto.py +37 -0
  176. vapi/types/condition.py +33 -0
  177. vapi/types/condition_operator.py +5 -0
  178. vapi/types/conversation_block.py +109 -0
  179. vapi/types/conversation_block_messages_item.py +7 -0
  180. vapi/types/cost_breakdown.py +78 -0
  181. vapi/types/create_anthropic_credential_dto.py +25 -0
  182. vapi/types/create_anyscale_credential_dto.py +25 -0
  183. vapi/types/create_assistant_dto.py +309 -0
  184. vapi/types/create_assistant_dto_background_sound.py +5 -0
  185. vapi/types/create_assistant_dto_client_messages_item.py +23 -0
  186. vapi/types/create_assistant_dto_first_message_mode.py +10 -0
  187. vapi/types/create_assistant_dto_model.py +26 -0
  188. vapi/types/create_assistant_dto_server_messages_item.py +24 -0
  189. vapi/types/create_assistant_dto_transcriber.py +8 -0
  190. vapi/types/create_assistant_dto_voice.py +24 -0
  191. vapi/types/create_azure_open_ai_credential_dto.py +31 -0
  192. vapi/types/create_azure_open_ai_credential_dto_models_item.py +17 -0
  193. vapi/types/create_azure_open_ai_credential_dto_region.py +24 -0
  194. vapi/types/create_byo_phone_number_dto.py +105 -0
  195. vapi/types/create_byo_phone_number_dto_fallback_destination.py +7 -0
  196. vapi/types/create_byo_sip_trunk_credential_dto.py +64 -0
  197. vapi/types/create_cartesia_credential_dto.py +25 -0
  198. vapi/types/create_conversation_block_dto.py +88 -0
  199. vapi/types/create_conversation_block_dto_messages_item.py +7 -0
  200. vapi/types/create_custom_llm_credential_dto.py +25 -0
  201. vapi/types/create_customer_dto.py +59 -0
  202. vapi/types/create_deep_infra_credential_dto.py +25 -0
  203. vapi/types/create_deepgram_credential_dto.py +32 -0
  204. vapi/types/create_dtmf_tool_dto.py +61 -0
  205. vapi/types/create_dtmf_tool_dto_messages_item.py +11 -0
  206. vapi/types/create_eleven_labs_credential_dto.py +25 -0
  207. vapi/types/create_end_call_tool_dto.py +61 -0
  208. vapi/types/create_end_call_tool_dto_messages_item.py +11 -0
  209. vapi/types/create_function_tool_dto.py +61 -0
  210. vapi/types/create_function_tool_dto_messages_item.py +11 -0
  211. vapi/types/create_gcp_credential_dto.py +41 -0
  212. vapi/types/create_ghl_tool_dto.py +63 -0
  213. vapi/types/create_ghl_tool_dto_messages_item.py +11 -0
  214. vapi/types/create_gladia_credential_dto.py +25 -0
  215. vapi/types/create_go_high_level_credential_dto.py +25 -0
  216. vapi/types/create_groq_credential_dto.py +25 -0
  217. vapi/types/create_lmnt_credential_dto.py +25 -0
  218. vapi/types/create_make_credential_dto.py +35 -0
  219. vapi/types/create_make_tool_dto.py +63 -0
  220. vapi/types/create_make_tool_dto_messages_item.py +11 -0
  221. vapi/types/create_open_ai_credential_dto.py +25 -0
  222. vapi/types/create_open_router_credential_dto.py +25 -0
  223. vapi/types/create_org_dto.py +63 -0
  224. vapi/types/create_outbound_call_dto.py +104 -0
  225. vapi/types/create_output_tool_dto.py +61 -0
  226. vapi/types/create_output_tool_dto_messages_item.py +11 -0
  227. vapi/types/create_perplexity_ai_credential_dto.py +25 -0
  228. vapi/types/create_play_ht_credential_dto.py +27 -0
  229. vapi/types/create_rime_ai_credential_dto.py +25 -0
  230. vapi/types/create_runpod_credential_dto.py +25 -0
  231. vapi/types/create_s_3_credential_dto.py +51 -0
  232. vapi/types/create_squad_dto.py +52 -0
  233. vapi/types/create_together_ai_credential_dto.py +25 -0
  234. vapi/types/create_token_dto.py +34 -0
  235. vapi/types/create_token_dto_tag.py +5 -0
  236. vapi/types/create_tool_call_block_dto.py +75 -0
  237. vapi/types/create_tool_call_block_dto_messages_item.py +7 -0
  238. vapi/types/create_tool_call_block_dto_tool.py +20 -0
  239. vapi/types/create_tool_template_dto.py +38 -0
  240. vapi/types/create_tool_template_dto_details.py +20 -0
  241. vapi/types/create_tool_template_dto_provider.py +5 -0
  242. vapi/types/create_tool_template_dto_provider_details.py +10 -0
  243. vapi/types/create_tool_template_dto_visibility.py +5 -0
  244. vapi/types/create_transfer_call_tool_dto.py +67 -0
  245. vapi/types/create_transfer_call_tool_dto_destinations_item.py +11 -0
  246. vapi/types/create_transfer_call_tool_dto_messages_item.py +11 -0
  247. vapi/types/create_twilio_credential_dto.py +27 -0
  248. vapi/types/create_twilio_phone_number_dto.py +92 -0
  249. vapi/types/create_twilio_phone_number_dto_fallback_destination.py +7 -0
  250. vapi/types/create_vapi_phone_number_dto.py +84 -0
  251. vapi/types/create_vapi_phone_number_dto_fallback_destination.py +7 -0
  252. vapi/types/create_voicemail_tool_dto.py +65 -0
  253. vapi/types/create_voicemail_tool_dto_messages_item.py +11 -0
  254. vapi/types/create_vonage_credential_dto.py +27 -0
  255. vapi/types/create_vonage_phone_number_dto.py +87 -0
  256. vapi/types/create_vonage_phone_number_dto_fallback_destination.py +7 -0
  257. vapi/types/create_web_call_dto.py +63 -0
  258. vapi/types/create_workflow_block_dto.py +78 -0
  259. vapi/types/create_workflow_block_dto_messages_item.py +7 -0
  260. vapi/types/create_workflow_block_dto_steps_item.py +10 -0
  261. vapi/types/custom_llm_credential.py +46 -0
  262. vapi/types/custom_llm_model.py +115 -0
  263. vapi/types/custom_llm_model_metadata_send_mode.py +5 -0
  264. vapi/types/custom_llm_model_tools_item.py +20 -0
  265. vapi/types/deep_infra_credential.py +46 -0
  266. vapi/types/deep_infra_model.py +90 -0
  267. vapi/types/deep_infra_model_tools_item.py +20 -0
  268. vapi/types/deepgram_credential.py +53 -0
  269. vapi/types/deepgram_transcriber.py +68 -0
  270. vapi/types/deepgram_transcriber_language.py +65 -0
  271. vapi/types/deepgram_transcriber_model.py +37 -0
  272. vapi/types/deepgram_voice.py +47 -0
  273. vapi/types/deepgram_voice_id.py +6 -0
  274. vapi/types/deepgram_voice_id_enum.py +10 -0
  275. vapi/types/dtmf_tool.py +82 -0
  276. vapi/types/dtmf_tool_messages_item.py +9 -0
  277. vapi/types/eleven_labs_credential.py +46 -0
  278. vapi/types/eleven_labs_voice.py +98 -0
  279. vapi/types/eleven_labs_voice_id.py +6 -0
  280. vapi/types/eleven_labs_voice_id_enum.py +24 -0
  281. vapi/types/eleven_labs_voice_model.py +8 -0
  282. vapi/types/end_call_tool.py +82 -0
  283. vapi/types/end_call_tool_messages_item.py +9 -0
  284. vapi/types/error.py +19 -0
  285. vapi/types/exact_replacement.py +40 -0
  286. vapi/types/file.py +57 -0
  287. vapi/types/file_status.py +5 -0
  288. vapi/types/format_plan.py +64 -0
  289. vapi/types/format_plan_replacements_item.py +7 -0
  290. vapi/types/function_tool.py +82 -0
  291. vapi/types/function_tool_messages_item.py +9 -0
  292. vapi/types/function_tool_provider_details.py +35 -0
  293. vapi/types/function_tool_with_tool_call.py +67 -0
  294. vapi/types/function_tool_with_tool_call_messages_item.py +11 -0
  295. vapi/types/gcp_credential.py +62 -0
  296. vapi/types/gcp_key.py +78 -0
  297. vapi/types/ghl_tool.py +85 -0
  298. vapi/types/ghl_tool_messages_item.py +9 -0
  299. vapi/types/ghl_tool_metadata.py +22 -0
  300. vapi/types/ghl_tool_provider_details.py +41 -0
  301. vapi/types/ghl_tool_with_tool_call.py +69 -0
  302. vapi/types/ghl_tool_with_tool_call_messages_item.py +11 -0
  303. vapi/types/gladia_credential.py +46 -0
  304. vapi/types/gladia_transcriber.py +56 -0
  305. vapi/types/gladia_transcriber_language.py +109 -0
  306. vapi/types/gladia_transcriber_language_behaviour.py +7 -0
  307. vapi/types/gladia_transcriber_model.py +5 -0
  308. vapi/types/go_high_level_credential.py +46 -0
  309. vapi/types/groq_credential.py +46 -0
  310. vapi/types/groq_model.py +91 -0
  311. vapi/types/groq_model_model.py +19 -0
  312. vapi/types/groq_model_tools_item.py +20 -0
  313. vapi/types/handoff_step.py +116 -0
  314. vapi/types/handoff_step_block.py +11 -0
  315. vapi/types/import_twilio_phone_number_dto.py +91 -0
  316. vapi/types/import_twilio_phone_number_dto_fallback_destination.py +7 -0
  317. vapi/types/import_vonage_phone_number_dto.py +88 -0
  318. vapi/types/import_vonage_phone_number_dto_fallback_destination.py +7 -0
  319. vapi/types/invite_user_dto.py +21 -0
  320. vapi/types/invite_user_dto_role.py +5 -0
  321. vapi/types/json_schema.py +57 -0
  322. vapi/types/json_schema_type.py +5 -0
  323. vapi/types/knowledge_base.py +23 -0
  324. vapi/types/lmnt_credential.py +46 -0
  325. vapi/types/lmnt_voice.py +52 -0
  326. vapi/types/lmnt_voice_id.py +6 -0
  327. vapi/types/lmnt_voice_id_enum.py +5 -0
  328. vapi/types/log.py +164 -0
  329. vapi/types/log_request_http_method.py +5 -0
  330. vapi/types/log_resource.py +7 -0
  331. vapi/types/log_type.py +5 -0
  332. vapi/types/logs_paginated_response.py +22 -0
  333. vapi/types/make_credential.py +56 -0
  334. vapi/types/make_tool.py +85 -0
  335. vapi/types/make_tool_messages_item.py +9 -0
  336. vapi/types/make_tool_metadata.py +22 -0
  337. vapi/types/make_tool_provider_details.py +40 -0
  338. vapi/types/make_tool_with_tool_call.py +69 -0
  339. vapi/types/make_tool_with_tool_call_messages_item.py +11 -0
  340. vapi/types/message_plan.py +51 -0
  341. vapi/types/metrics.py +44 -0
  342. vapi/types/model_based_condition.py +54 -0
  343. vapi/types/model_cost.py +53 -0
  344. vapi/types/monitor.py +33 -0
  345. vapi/types/monitor_plan.py +43 -0
  346. vapi/types/neets_voice.py +47 -0
  347. vapi/types/neets_voice_id.py +6 -0
  348. vapi/types/neets_voice_id_enum.py +5 -0
  349. vapi/types/open_ai_credential.py +46 -0
  350. vapi/types/open_ai_function.py +35 -0
  351. vapi/types/open_ai_function_parameters.py +35 -0
  352. vapi/types/open_ai_message.py +21 -0
  353. vapi/types/open_ai_message_role.py +5 -0
  354. vapi/types/open_ai_model.py +106 -0
  355. vapi/types/open_ai_model_fallback_models_item.py +26 -0
  356. vapi/types/open_ai_model_model.py +26 -0
  357. vapi/types/open_ai_model_tools_item.py +20 -0
  358. vapi/types/open_ai_voice.py +52 -0
  359. vapi/types/open_ai_voice_id.py +5 -0
  360. vapi/types/open_router_credential.py +46 -0
  361. vapi/types/open_router_model.py +90 -0
  362. vapi/types/open_router_model_tools_item.py +20 -0
  363. vapi/types/org.py +120 -0
  364. vapi/types/org_plan.py +28 -0
  365. vapi/types/output_tool.py +82 -0
  366. vapi/types/output_tool_messages_item.py +9 -0
  367. vapi/types/pagination_meta.py +23 -0
  368. vapi/types/perplexity_ai_credential.py +46 -0
  369. vapi/types/perplexity_ai_model.py +90 -0
  370. vapi/types/perplexity_ai_model_tools_item.py +20 -0
  371. vapi/types/play_ht_credential.py +48 -0
  372. vapi/types/play_ht_voice.py +84 -0
  373. vapi/types/play_ht_voice_emotion.py +21 -0
  374. vapi/types/play_ht_voice_id.py +6 -0
  375. vapi/types/play_ht_voice_id_enum.py +8 -0
  376. vapi/types/punctuation_boundary.py +7 -0
  377. vapi/types/regex_option.py +34 -0
  378. vapi/types/regex_option_type.py +5 -0
  379. vapi/types/regex_replacement.py +48 -0
  380. vapi/types/rime_ai_credential.py +46 -0
  381. vapi/types/rime_ai_voice.py +58 -0
  382. vapi/types/rime_ai_voice_id.py +6 -0
  383. vapi/types/rime_ai_voice_id_enum.py +90 -0
  384. vapi/types/rime_ai_voice_model.py +5 -0
  385. vapi/types/rule_based_condition.py +96 -0
  386. vapi/types/rule_based_condition_operator.py +5 -0
  387. vapi/types/runpod_credential.py +46 -0
  388. vapi/types/s_3_credential.py +72 -0
  389. vapi/types/sbc_configuration.py +17 -0
  390. vapi/types/server.py +40 -0
  391. vapi/types/server_message.py +40 -0
  392. vapi/types/server_message_assistant_request.py +96 -0
  393. vapi/types/server_message_assistant_request_phone_number.py +11 -0
  394. vapi/types/server_message_conversation_update.py +110 -0
  395. vapi/types/server_message_conversation_update_messages_item.py +12 -0
  396. vapi/types/server_message_conversation_update_phone_number.py +11 -0
  397. vapi/types/server_message_end_of_call_report.py +134 -0
  398. vapi/types/server_message_end_of_call_report_costs_item.py +13 -0
  399. vapi/types/server_message_end_of_call_report_ended_reason.py +177 -0
  400. vapi/types/server_message_end_of_call_report_phone_number.py +11 -0
  401. vapi/types/server_message_hang.py +101 -0
  402. vapi/types/server_message_hang_phone_number.py +11 -0
  403. vapi/types/server_message_language_changed.py +101 -0
  404. vapi/types/server_message_language_changed_phone_number.py +11 -0
  405. vapi/types/server_message_message.py +38 -0
  406. vapi/types/server_message_model_output.py +101 -0
  407. vapi/types/server_message_model_output_phone_number.py +11 -0
  408. vapi/types/server_message_phone_call_control.py +110 -0
  409. vapi/types/server_message_phone_call_control_destination.py +7 -0
  410. vapi/types/server_message_phone_call_control_phone_number.py +11 -0
  411. vapi/types/server_message_phone_call_control_request.py +5 -0
  412. vapi/types/server_message_response.py +39 -0
  413. vapi/types/server_message_response_assistant_request.py +80 -0
  414. vapi/types/server_message_response_assistant_request_destination.py +7 -0
  415. vapi/types/server_message_response_message_response.py +14 -0
  416. vapi/types/server_message_response_tool_calls.py +28 -0
  417. vapi/types/server_message_response_transfer_destination_request.py +32 -0
  418. vapi/types/server_message_response_transfer_destination_request_destination.py +11 -0
  419. vapi/types/server_message_response_voice_request.py +44 -0
  420. vapi/types/server_message_speech_update.py +108 -0
  421. vapi/types/server_message_speech_update_phone_number.py +11 -0
  422. vapi/types/server_message_speech_update_role.py +5 -0
  423. vapi/types/server_message_speech_update_status.py +5 -0
  424. vapi/types/server_message_status_update.py +145 -0
  425. vapi/types/server_message_status_update_destination.py +7 -0
  426. vapi/types/server_message_status_update_ended_reason.py +177 -0
  427. vapi/types/server_message_status_update_messages_item.py +12 -0
  428. vapi/types/server_message_status_update_phone_number.py +11 -0
  429. vapi/types/server_message_status_update_status.py +7 -0
  430. vapi/types/server_message_tool_calls.py +112 -0
  431. vapi/types/server_message_tool_calls_phone_number.py +11 -0
  432. vapi/types/server_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
  433. vapi/types/server_message_transcript.py +115 -0
  434. vapi/types/server_message_transcript_phone_number.py +11 -0
  435. vapi/types/server_message_transcript_role.py +5 -0
  436. vapi/types/server_message_transcript_transcript_type.py +5 -0
  437. vapi/types/server_message_transfer_destination_request.py +98 -0
  438. vapi/types/server_message_transfer_destination_request_phone_number.py +11 -0
  439. vapi/types/server_message_transfer_update.py +116 -0
  440. vapi/types/server_message_transfer_update_destination.py +11 -0
  441. vapi/types/server_message_transfer_update_phone_number.py +11 -0
  442. vapi/types/server_message_user_interrupted.py +96 -0
  443. vapi/types/server_message_user_interrupted_phone_number.py +11 -0
  444. vapi/types/server_message_voice_input.py +101 -0
  445. vapi/types/server_message_voice_input_phone_number.py +11 -0
  446. vapi/types/server_message_voice_request.py +128 -0
  447. vapi/types/server_message_voice_request_phone_number.py +11 -0
  448. vapi/types/sip_trunk_gateway.py +79 -0
  449. vapi/types/sip_trunk_gateway_outbound_protocol.py +5 -0
  450. vapi/types/sip_trunk_outbound_authentication_plan.py +35 -0
  451. vapi/types/sip_trunk_outbound_sip_register_plan.py +21 -0
  452. vapi/types/squad.py +73 -0
  453. vapi/types/squad_member_dto.py +60 -0
  454. vapi/types/start_speaking_plan.py +62 -0
  455. vapi/types/step_destination.py +28 -0
  456. vapi/types/step_destination_conditions_item.py +7 -0
  457. vapi/types/stop_speaking_plan.py +65 -0
  458. vapi/types/structured_data_plan.py +66 -0
  459. vapi/types/success_evaluation_plan.py +75 -0
  460. vapi/types/success_evaluation_plan_rubric.py +17 -0
  461. vapi/types/summary_plan.py +56 -0
  462. vapi/types/sync_voice_library_dto.py +23 -0
  463. vapi/types/sync_voice_library_dto_providers_item.py +10 -0
  464. vapi/types/system_message.py +39 -0
  465. vapi/types/talkscriber_transcriber.py +33 -0
  466. vapi/types/talkscriber_transcriber_language.py +109 -0
  467. vapi/types/template.py +58 -0
  468. vapi/types/template_details.py +20 -0
  469. vapi/types/template_provider.py +5 -0
  470. vapi/types/template_provider_details.py +8 -0
  471. vapi/types/template_visibility.py +5 -0
  472. vapi/types/time_range.py +47 -0
  473. vapi/types/time_range_step.py +8 -0
  474. vapi/types/together_ai_credential.py +46 -0
  475. vapi/types/together_ai_model.py +90 -0
  476. vapi/types/together_ai_model_tools_item.py +20 -0
  477. vapi/types/token.py +62 -0
  478. vapi/types/token_restrictions.py +53 -0
  479. vapi/types/token_tag.py +5 -0
  480. vapi/types/tool_call.py +33 -0
  481. vapi/types/tool_call_block.py +96 -0
  482. vapi/types/tool_call_block_messages_item.py +7 -0
  483. vapi/types/tool_call_block_tool.py +20 -0
  484. vapi/types/tool_call_function.py +27 -0
  485. vapi/types/tool_call_message.py +46 -0
  486. vapi/types/tool_call_result.py +62 -0
  487. vapi/types/tool_call_result_message.py +49 -0
  488. vapi/types/tool_call_result_message_item.py +7 -0
  489. vapi/types/tool_message_complete.py +74 -0
  490. vapi/types/tool_message_complete_role.py +5 -0
  491. vapi/types/tool_message_delayed.py +49 -0
  492. vapi/types/tool_message_failed.py +50 -0
  493. vapi/types/tool_message_start.py +37 -0
  494. vapi/types/tool_template_metadata.py +23 -0
  495. vapi/types/tool_template_setup.py +24 -0
  496. vapi/types/transcriber_cost.py +46 -0
  497. vapi/types/transcript_plan.py +66 -0
  498. vapi/types/transcription_endpointing_plan.py +52 -0
  499. vapi/types/transfer_call_tool.py +88 -0
  500. vapi/types/transfer_call_tool_destinations_item.py +11 -0
  501. vapi/types/transfer_call_tool_messages_item.py +11 -0
  502. vapi/types/transfer_destination_assistant.py +90 -0
  503. vapi/types/transfer_destination_number.py +77 -0
  504. vapi/types/transfer_destination_sip.py +39 -0
  505. vapi/types/transfer_destination_step.py +39 -0
  506. vapi/types/transfer_mode.py +5 -0
  507. vapi/types/transport_configuration_twilio.py +55 -0
  508. vapi/types/transport_configuration_twilio_recording_channels.py +5 -0
  509. vapi/types/transport_cost.py +32 -0
  510. vapi/types/twilio_credential.py +48 -0
  511. vapi/types/twilio_phone_number.py +113 -0
  512. vapi/types/twilio_phone_number_fallback_destination.py +7 -0
  513. vapi/types/twilio_voicemail_detection.py +107 -0
  514. vapi/types/twilio_voicemail_detection_voicemail_detection_types_item.py +10 -0
  515. vapi/types/update_anthropic_credential_dto.py +25 -0
  516. vapi/types/update_anyscale_credential_dto.py +25 -0
  517. vapi/types/update_azure_open_ai_credential_dto.py +31 -0
  518. vapi/types/update_azure_open_ai_credential_dto_models_item.py +17 -0
  519. vapi/types/update_azure_open_ai_credential_dto_region.py +24 -0
  520. vapi/types/update_byo_sip_trunk_credential_dto.py +64 -0
  521. vapi/types/update_cartesia_credential_dto.py +25 -0
  522. vapi/types/update_custom_llm_credential_dto.py +25 -0
  523. vapi/types/update_deep_infra_credential_dto.py +25 -0
  524. vapi/types/update_deepgram_credential_dto.py +32 -0
  525. vapi/types/update_eleven_labs_credential_dto.py +25 -0
  526. vapi/types/update_gcp_credential_dto.py +41 -0
  527. vapi/types/update_gladia_credential_dto.py +25 -0
  528. vapi/types/update_go_high_level_credential_dto.py +25 -0
  529. vapi/types/update_groq_credential_dto.py +25 -0
  530. vapi/types/update_lmnt_credential_dto.py +25 -0
  531. vapi/types/update_make_credential_dto.py +35 -0
  532. vapi/types/update_open_ai_credential_dto.py +25 -0
  533. vapi/types/update_open_router_credential_dto.py +25 -0
  534. vapi/types/update_org_dto.py +63 -0
  535. vapi/types/update_perplexity_ai_credential_dto.py +25 -0
  536. vapi/types/update_play_ht_credential_dto.py +27 -0
  537. vapi/types/update_rime_ai_credential_dto.py +25 -0
  538. vapi/types/update_runpod_credential_dto.py +25 -0
  539. vapi/types/update_s_3_credential_dto.py +51 -0
  540. vapi/types/update_together_ai_credential_dto.py +25 -0
  541. vapi/types/update_tool_template_dto.py +38 -0
  542. vapi/types/update_tool_template_dto_details.py +20 -0
  543. vapi/types/update_tool_template_dto_provider.py +5 -0
  544. vapi/types/update_tool_template_dto_provider_details.py +10 -0
  545. vapi/types/update_tool_template_dto_visibility.py +5 -0
  546. vapi/types/update_twilio_credential_dto.py +27 -0
  547. vapi/types/update_user_role_dto.py +23 -0
  548. vapi/types/update_user_role_dto_role.py +5 -0
  549. vapi/types/update_vonage_credential_dto.py +27 -0
  550. vapi/types/user.py +47 -0
  551. vapi/types/user_message.py +49 -0
  552. vapi/types/vapi_cost.py +32 -0
  553. vapi/types/vapi_model.py +102 -0
  554. vapi/types/vapi_model_steps_item.py +7 -0
  555. vapi/types/vapi_model_tools_item.py +20 -0
  556. vapi/types/vapi_phone_number.py +105 -0
  557. vapi/types/vapi_phone_number_fallback_destination.py +7 -0
  558. vapi/types/voice_cost.py +46 -0
  559. vapi/types/voice_library.py +126 -0
  560. vapi/types/voice_library_gender.py +5 -0
  561. vapi/types/voice_library_voice_response.py +27 -0
  562. vapi/types/vonage_credential.py +64 -0
  563. vapi/types/vonage_phone_number.py +108 -0
  564. vapi/types/vonage_phone_number_fallback_destination.py +7 -0
  565. vapi/types/workflow_block.py +99 -0
  566. vapi/types/workflow_block_messages_item.py +7 -0
  567. vapi/types/workflow_block_steps_item.py +7 -0
  568. vapi/version.py +3 -0
  569. vapi_server_sdk-0.0.0a7.dist-info/METADATA +179 -0
  570. vapi_server_sdk-0.0.0a7.dist-info/RECORD +571 -0
  571. vapi_server_sdk-0.0.0a7.dist-info/WHEEL +4 -0
@@ -0,0 +1,28 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .tool_call_result import ToolCallResult
6
+ import pydantic
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class ServerMessageResponseToolCalls(UniversalBaseModel):
11
+ results: typing.Optional[typing.List[ToolCallResult]] = pydantic.Field(default=None)
12
+ """
13
+ These are the results of the "tool-calls" message.
14
+ """
15
+
16
+ error: typing.Optional[str] = pydantic.Field(default=None)
17
+ """
18
+ This is the error message if the tool call was not successful.
19
+ """
20
+
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .server_message_response_transfer_destination_request_destination import (
6
+ ServerMessageResponseTransferDestinationRequestDestination,
7
+ )
8
+ import pydantic
9
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
+
11
+
12
+ class ServerMessageResponseTransferDestinationRequest(UniversalBaseModel):
13
+ destination: typing.Optional[ServerMessageResponseTransferDestinationRequestDestination] = pydantic.Field(
14
+ default=None
15
+ )
16
+ """
17
+ This is the destination you'd like the call to be transferred to.
18
+ """
19
+
20
+ error: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ This is the error message if the transfer should not be made.
23
+ """
24
+
25
+ if IS_PYDANTIC_V2:
26
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
+ else:
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
@@ -0,0 +1,11 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .transfer_destination_assistant import TransferDestinationAssistant
5
+ from .transfer_destination_step import TransferDestinationStep
6
+ from .transfer_destination_number import TransferDestinationNumber
7
+ from .transfer_destination_sip import TransferDestinationSip
8
+
9
+ ServerMessageResponseTransferDestinationRequestDestination = typing.Union[
10
+ TransferDestinationAssistant, TransferDestinationStep, TransferDestinationNumber, TransferDestinationSip
11
+ ]
@@ -0,0 +1,44 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+
8
+
9
+ class ServerMessageResponseVoiceRequest(UniversalBaseModel):
10
+ data: str = pydantic.Field()
11
+ """
12
+ DO NOT respond to a `voice-request` webhook with this schema of { data }. This schema just exists to document what the response should look like. Follow these instructions:
13
+
14
+ Here is what the request will look like:
15
+
16
+ POST https://{assistant.voice.server.url}
17
+ Content-Type: application/json
18
+
19
+ {
20
+ "messsage": {
21
+ "type": "voice-request",
22
+ "text": "Hello, world!",
23
+ "sampleRate": 24000,
24
+ ...other metadata about the call...
25
+ }
26
+ }
27
+
28
+ The expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:
29
+
30
+ ```
31
+ response.on('data', (chunk: Buffer) => {
32
+ outputStream.write(chunk);
33
+ });
34
+ ```
35
+ """
36
+
37
+ if IS_PYDANTIC_V2:
38
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
39
+ else:
40
+
41
+ class Config:
42
+ frozen = True
43
+ smart_union = True
44
+ extra = pydantic.Extra.allow
@@ -0,0 +1,108 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .callback_step import CallbackStep
6
+ from .create_workflow_block_dto import CreateWorkflowBlockDto
7
+ from .handoff_step import HandoffStep
8
+ import typing_extensions
9
+ import typing
10
+ from .server_message_speech_update_phone_number import ServerMessageSpeechUpdatePhoneNumber
11
+ from ..core.serialization import FieldMetadata
12
+ import pydantic
13
+ from .server_message_speech_update_status import ServerMessageSpeechUpdateStatus
14
+ from .server_message_speech_update_role import ServerMessageSpeechUpdateRole
15
+ from .artifact import Artifact
16
+ from .create_assistant_dto import CreateAssistantDto
17
+ from .create_customer_dto import CreateCustomerDto
18
+ from .call import Call
19
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
20
+ from ..core.pydantic_utilities import update_forward_refs
21
+
22
+
23
+ class ServerMessageSpeechUpdate(UniversalBaseModel):
24
+ phone_number: typing_extensions.Annotated[
25
+ typing.Optional[ServerMessageSpeechUpdatePhoneNumber], FieldMetadata(alias="phoneNumber")
26
+ ] = pydantic.Field(default=None)
27
+ """
28
+ This is the phone number associated with the call.
29
+
30
+ This matches one of the following:
31
+
32
+ - `call.phoneNumber`,
33
+ - `call.phoneNumberId`.
34
+ """
35
+
36
+ type: typing.Literal["speech-update"] = pydantic.Field(default="speech-update")
37
+ """
38
+ This is the type of the message. "speech-update" is sent whenever assistant or user start or stop speaking.
39
+ """
40
+
41
+ status: ServerMessageSpeechUpdateStatus = pydantic.Field()
42
+ """
43
+ This is the status of the speech update.
44
+ """
45
+
46
+ role: ServerMessageSpeechUpdateRole = pydantic.Field()
47
+ """
48
+ This is the role which the speech update is for.
49
+ """
50
+
51
+ timestamp: typing.Optional[str] = pydantic.Field(default=None)
52
+ """
53
+ This is the ISO-8601 formatted timestamp of when the message was sent.
54
+ """
55
+
56
+ artifact: typing.Optional[Artifact] = pydantic.Field(default=None)
57
+ """
58
+ This is a live version of the `call.artifact`.
59
+
60
+ This matches what is stored on `call.artifact` after the call.
61
+ """
62
+
63
+ assistant: typing.Optional[CreateAssistantDto] = pydantic.Field(default=None)
64
+ """
65
+ This is the assistant that is currently active. This is provided for convenience.
66
+
67
+ This matches one of the following:
68
+
69
+ - `call.assistant`,
70
+ - `call.assistantId`,
71
+ - `call.squad[n].assistant`,
72
+ - `call.squad[n].assistantId`,
73
+ - `call.squadId->[n].assistant`,
74
+ - `call.squadId->[n].assistantId`.
75
+ """
76
+
77
+ customer: typing.Optional[CreateCustomerDto] = pydantic.Field(default=None)
78
+ """
79
+ This is the customer associated with the call.
80
+
81
+ This matches one of the following:
82
+
83
+ - `call.customer`,
84
+ - `call.customerId`.
85
+ """
86
+
87
+ call: typing.Optional[Call] = pydantic.Field(default=None)
88
+ """
89
+ This is the call object.
90
+
91
+ This matches what was returned in POST /call.
92
+
93
+ Note: This might get stale during the call. To get the latest call object, especially after the call is ended, use GET /call/:id.
94
+ """
95
+
96
+ if IS_PYDANTIC_V2:
97
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
98
+ else:
99
+
100
+ class Config:
101
+ frozen = True
102
+ smart_union = True
103
+ extra = pydantic.Extra.allow
104
+
105
+
106
+ update_forward_refs(CallbackStep, ServerMessageSpeechUpdate=ServerMessageSpeechUpdate)
107
+ update_forward_refs(CreateWorkflowBlockDto, ServerMessageSpeechUpdate=ServerMessageSpeechUpdate)
108
+ update_forward_refs(HandoffStep, ServerMessageSpeechUpdate=ServerMessageSpeechUpdate)
@@ -0,0 +1,11 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .create_byo_phone_number_dto import CreateByoPhoneNumberDto
5
+ from .create_twilio_phone_number_dto import CreateTwilioPhoneNumberDto
6
+ from .create_vonage_phone_number_dto import CreateVonagePhoneNumberDto
7
+ from .create_vapi_phone_number_dto import CreateVapiPhoneNumberDto
8
+
9
+ ServerMessageSpeechUpdatePhoneNumber = typing.Union[
10
+ CreateByoPhoneNumberDto, CreateTwilioPhoneNumberDto, CreateVonagePhoneNumberDto, CreateVapiPhoneNumberDto
11
+ ]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ServerMessageSpeechUpdateRole = typing.Union[typing.Literal["assistant", "user"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ServerMessageSpeechUpdateStatus = typing.Union[typing.Literal["started", "stopped"], typing.Any]
@@ -0,0 +1,145 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .callback_step import CallbackStep
6
+ from .create_workflow_block_dto import CreateWorkflowBlockDto
7
+ from .handoff_step import HandoffStep
8
+ import typing_extensions
9
+ import typing
10
+ from .server_message_status_update_phone_number import ServerMessageStatusUpdatePhoneNumber
11
+ from ..core.serialization import FieldMetadata
12
+ import pydantic
13
+ from .server_message_status_update_status import ServerMessageStatusUpdateStatus
14
+ from .server_message_status_update_ended_reason import ServerMessageStatusUpdateEndedReason
15
+ from .server_message_status_update_messages_item import ServerMessageStatusUpdateMessagesItem
16
+ from .open_ai_message import OpenAiMessage
17
+ from .server_message_status_update_destination import ServerMessageStatusUpdateDestination
18
+ from .artifact import Artifact
19
+ from .create_assistant_dto import CreateAssistantDto
20
+ from .create_customer_dto import CreateCustomerDto
21
+ from .call import Call
22
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
23
+ from ..core.pydantic_utilities import update_forward_refs
24
+
25
+
26
+ class ServerMessageStatusUpdate(UniversalBaseModel):
27
+ phone_number: typing_extensions.Annotated[
28
+ typing.Optional[ServerMessageStatusUpdatePhoneNumber], FieldMetadata(alias="phoneNumber")
29
+ ] = pydantic.Field(default=None)
30
+ """
31
+ This is the phone number associated with the call.
32
+
33
+ This matches one of the following:
34
+
35
+ - `call.phoneNumber`,
36
+ - `call.phoneNumberId`.
37
+ """
38
+
39
+ type: typing.Literal["status-update"] = pydantic.Field(default="status-update")
40
+ """
41
+ This is the type of the message. "status-update" is sent whenever the `call.status` changes.
42
+ """
43
+
44
+ status: ServerMessageStatusUpdateStatus = pydantic.Field()
45
+ """
46
+ This is the status of the call.
47
+ """
48
+
49
+ ended_reason: typing_extensions.Annotated[
50
+ typing.Optional[ServerMessageStatusUpdateEndedReason], FieldMetadata(alias="endedReason")
51
+ ] = pydantic.Field(default=None)
52
+ """
53
+ This is the reason the call ended. This is only sent if the status is "ended".
54
+ """
55
+
56
+ messages: typing.Optional[typing.List[ServerMessageStatusUpdateMessagesItem]] = pydantic.Field(default=None)
57
+ """
58
+ These are the conversation messages of the call. This is only sent if the status is "forwarding".
59
+ """
60
+
61
+ messages_open_ai_formatted: typing_extensions.Annotated[
62
+ typing.Optional[typing.List[OpenAiMessage]], FieldMetadata(alias="messagesOpenAIFormatted")
63
+ ] = pydantic.Field(default=None)
64
+ """
65
+ These are the conversation messages of the call. This is only sent if the status is "forwarding".
66
+ """
67
+
68
+ destination: typing.Optional[ServerMessageStatusUpdateDestination] = pydantic.Field(default=None)
69
+ """
70
+ This is the destination the call is being transferred to. This is only sent if the status is "forwarding".
71
+ """
72
+
73
+ timestamp: typing.Optional[str] = pydantic.Field(default=None)
74
+ """
75
+ This is the ISO-8601 formatted timestamp of when the message was sent.
76
+ """
77
+
78
+ artifact: typing.Optional[Artifact] = pydantic.Field(default=None)
79
+ """
80
+ This is a live version of the `call.artifact`.
81
+
82
+ This matches what is stored on `call.artifact` after the call.
83
+ """
84
+
85
+ assistant: typing.Optional[CreateAssistantDto] = pydantic.Field(default=None)
86
+ """
87
+ This is the assistant that is currently active. This is provided for convenience.
88
+
89
+ This matches one of the following:
90
+
91
+ - `call.assistant`,
92
+ - `call.assistantId`,
93
+ - `call.squad[n].assistant`,
94
+ - `call.squad[n].assistantId`,
95
+ - `call.squadId->[n].assistant`,
96
+ - `call.squadId->[n].assistantId`.
97
+ """
98
+
99
+ customer: typing.Optional[CreateCustomerDto] = pydantic.Field(default=None)
100
+ """
101
+ This is the customer associated with the call.
102
+
103
+ This matches one of the following:
104
+
105
+ - `call.customer`,
106
+ - `call.customerId`.
107
+ """
108
+
109
+ call: typing.Optional[Call] = pydantic.Field(default=None)
110
+ """
111
+ This is the call object.
112
+
113
+ This matches what was returned in POST /call.
114
+
115
+ Note: This might get stale during the call. To get the latest call object, especially after the call is ended, use GET /call/:id.
116
+ """
117
+
118
+ transcript: typing.Optional[str] = pydantic.Field(default=None)
119
+ """
120
+ This is the transcript of the call. This is only sent if the status is "forwarding".
121
+ """
122
+
123
+ inbound_phone_call_debugging_artifacts: typing_extensions.Annotated[
124
+ typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]],
125
+ FieldMetadata(alias="inboundPhoneCallDebuggingArtifacts"),
126
+ ] = pydantic.Field(default=None)
127
+ """
128
+ This is the inbound phone call debugging artifacts. This is only sent if the status is "ended" and there was an error accepting the inbound phone call.
129
+
130
+ This will include any errors related to the "assistant-request" if one was made.
131
+ """
132
+
133
+ if IS_PYDANTIC_V2:
134
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
135
+ else:
136
+
137
+ class Config:
138
+ frozen = True
139
+ smart_union = True
140
+ extra = pydantic.Extra.allow
141
+
142
+
143
+ update_forward_refs(CallbackStep, ServerMessageStatusUpdate=ServerMessageStatusUpdate)
144
+ update_forward_refs(CreateWorkflowBlockDto, ServerMessageStatusUpdate=ServerMessageStatusUpdate)
145
+ update_forward_refs(HandoffStep, ServerMessageStatusUpdate=ServerMessageStatusUpdate)
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .transfer_destination_number import TransferDestinationNumber
5
+ from .transfer_destination_sip import TransferDestinationSip
6
+
7
+ ServerMessageStatusUpdateDestination = typing.Union[TransferDestinationNumber, TransferDestinationSip]
@@ -0,0 +1,177 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ServerMessageStatusUpdateEndedReason = typing.Union[
6
+ typing.Literal[
7
+ "assistant-error",
8
+ "assistant-not-found",
9
+ "db-error",
10
+ "no-server-available",
11
+ "license-check-failed",
12
+ "pipeline-error-openai-llm-failed",
13
+ "pipeline-error-azure-openai-llm-failed",
14
+ "pipeline-error-groq-llm-failed",
15
+ "pipeline-error-anthropic-llm-failed",
16
+ "pipeline-error-vapi-llm-failed",
17
+ "pipeline-error-vapi-400-bad-request-validation-failed",
18
+ "pipeline-error-vapi-401-unauthorized",
19
+ "pipeline-error-vapi-403-model-access-denied",
20
+ "pipeline-error-vapi-429-exceeded-quota",
21
+ "pipeline-error-vapi-500-server-error",
22
+ "pipeline-error-openai-voice-failed",
23
+ "pipeline-error-cartesia-voice-failed",
24
+ "pipeline-error-deepgram-transcriber-failed",
25
+ "pipeline-error-deepgram-voice-failed",
26
+ "pipeline-error-gladia-transcriber-failed",
27
+ "pipeline-error-eleven-labs-voice-failed",
28
+ "pipeline-error-playht-voice-failed",
29
+ "pipeline-error-lmnt-voice-failed",
30
+ "pipeline-error-azure-voice-failed",
31
+ "pipeline-error-rime-ai-voice-failed",
32
+ "pipeline-error-neets-voice-failed",
33
+ "pipeline-no-available-model",
34
+ "worker-shutdown",
35
+ "unknown-error",
36
+ "vonage-disconnected",
37
+ "vonage-failed-to-connect-call",
38
+ "phone-call-provider-bypass-enabled-but-no-call-received",
39
+ "vapifault-phone-call-worker-setup-socket-error",
40
+ "vapifault-phone-call-worker-worker-setup-socket-timeout",
41
+ "vapifault-phone-call-worker-could-not-find-call",
42
+ "vapifault-transport-never-connected",
43
+ "vapifault-web-call-worker-setup-failed",
44
+ "vapifault-transport-connected-but-call-not-active",
45
+ "assistant-not-invalid",
46
+ "assistant-not-provided",
47
+ "call-start-error-neither-assistant-nor-server-set",
48
+ "assistant-request-failed",
49
+ "assistant-request-returned-error",
50
+ "assistant-request-returned-unspeakable-error",
51
+ "assistant-request-returned-invalid-assistant",
52
+ "assistant-request-returned-no-assistant",
53
+ "assistant-request-returned-forwarding-phone-number",
54
+ "assistant-ended-call",
55
+ "assistant-said-end-call-phrase",
56
+ "assistant-forwarded-call",
57
+ "assistant-join-timed-out",
58
+ "customer-busy",
59
+ "customer-ended-call",
60
+ "customer-did-not-answer",
61
+ "customer-did-not-give-microphone-permission",
62
+ "assistant-said-message-with-end-call-enabled",
63
+ "exceeded-max-duration",
64
+ "manually-canceled",
65
+ "phone-call-provider-closed-websocket",
66
+ "pipeline-error-openai-400-bad-request-validation-failed",
67
+ "pipeline-error-openai-401-unauthorized",
68
+ "pipeline-error-openai-403-model-access-denied",
69
+ "pipeline-error-openai-429-exceeded-quota",
70
+ "pipeline-error-openai-500-server-error",
71
+ "pipeline-error-azure-openai-400-bad-request-validation-failed",
72
+ "pipeline-error-azure-openai-401-unauthorized",
73
+ "pipeline-error-azure-openai-403-model-access-denied",
74
+ "pipeline-error-azure-openai-429-exceeded-quota",
75
+ "pipeline-error-azure-openai-500-server-error",
76
+ "pipeline-error-groq-400-bad-request-validation-failed",
77
+ "pipeline-error-groq-401-unauthorized",
78
+ "pipeline-error-groq-403-model-access-denied",
79
+ "pipeline-error-groq-429-exceeded-quota",
80
+ "pipeline-error-groq-500-server-error",
81
+ "pipeline-error-anthropic-400-bad-request-validation-failed",
82
+ "pipeline-error-anthropic-401-unauthorized",
83
+ "pipeline-error-anthropic-403-model-access-denied",
84
+ "pipeline-error-anthropic-429-exceeded-quota",
85
+ "pipeline-error-anthropic-500-server-error",
86
+ "pipeline-error-together-ai-400-bad-request-validation-failed",
87
+ "pipeline-error-together-ai-401-unauthorized",
88
+ "pipeline-error-together-ai-403-model-access-denied",
89
+ "pipeline-error-together-ai-429-exceeded-quota",
90
+ "pipeline-error-together-ai-500-server-error",
91
+ "pipeline-error-together-ai-llm-failed",
92
+ "pipeline-error-anyscale-400-bad-request-validation-failed",
93
+ "pipeline-error-anyscale-401-unauthorized",
94
+ "pipeline-error-anyscale-403-model-access-denied",
95
+ "pipeline-error-anyscale-429-exceeded-quota",
96
+ "pipeline-error-anyscale-500-server-error",
97
+ "pipeline-error-anyscale-llm-failed",
98
+ "pipeline-error-openrouter-400-bad-request-validation-failed",
99
+ "pipeline-error-openrouter-401-unauthorized",
100
+ "pipeline-error-openrouter-403-model-access-denied",
101
+ "pipeline-error-openrouter-429-exceeded-quota",
102
+ "pipeline-error-openrouter-500-server-error",
103
+ "pipeline-error-openrouter-llm-failed",
104
+ "pipeline-error-perplexity-ai-400-bad-request-validation-failed",
105
+ "pipeline-error-perplexity-ai-401-unauthorized",
106
+ "pipeline-error-perplexity-ai-403-model-access-denied",
107
+ "pipeline-error-perplexity-ai-429-exceeded-quota",
108
+ "pipeline-error-perplexity-ai-500-server-error",
109
+ "pipeline-error-perplexity-ai-llm-failed",
110
+ "pipeline-error-deepinfra-400-bad-request-validation-failed",
111
+ "pipeline-error-deepinfra-401-unauthorized",
112
+ "pipeline-error-deepinfra-403-model-access-denied",
113
+ "pipeline-error-deepinfra-429-exceeded-quota",
114
+ "pipeline-error-deepinfra-500-server-error",
115
+ "pipeline-error-deepinfra-llm-failed",
116
+ "pipeline-error-runpod-400-bad-request-validation-failed",
117
+ "pipeline-error-runpod-401-unauthorized",
118
+ "pipeline-error-runpod-403-model-access-denied",
119
+ "pipeline-error-runpod-429-exceeded-quota",
120
+ "pipeline-error-runpod-500-server-error",
121
+ "pipeline-error-runpod-llm-failed",
122
+ "pipeline-error-custom-llm-400-bad-request-validation-failed",
123
+ "pipeline-error-custom-llm-401-unauthorized",
124
+ "pipeline-error-custom-llm-403-model-access-denied",
125
+ "pipeline-error-custom-llm-429-exceeded-quota",
126
+ "pipeline-error-custom-llm-500-server-error",
127
+ "pipeline-error-custom-llm-llm-failed",
128
+ "pipeline-error-cartesia-socket-hang-up",
129
+ "pipeline-error-cartesia-requested-payment",
130
+ "pipeline-error-cartesia-500-server-error",
131
+ "pipeline-error-cartesia-503-server-error",
132
+ "pipeline-error-cartesia-522-server-error",
133
+ "pipeline-error-custom-voice-failed",
134
+ "pipeline-error-eleven-labs-voice-not-found",
135
+ "pipeline-error-eleven-labs-quota-exceeded",
136
+ "pipeline-error-eleven-labs-unauthorized-access",
137
+ "pipeline-error-eleven-labs-unauthorized-to-access-model",
138
+ "pipeline-error-eleven-labs-professional-voices-only-for-creator-plus",
139
+ "pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade",
140
+ "pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade",
141
+ "pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade",
142
+ "pipeline-error-eleven-labs-system-busy-and-requested-upgrade",
143
+ "pipeline-error-eleven-labs-voice-not-fine-tuned",
144
+ "pipeline-error-eleven-labs-invalid-api-key",
145
+ "pipeline-error-eleven-labs-invalid-voice-samples",
146
+ "pipeline-error-eleven-labs-voice-disabled-by-owner",
147
+ "pipeline-error-eleven-labs-blocked-account-in-probation",
148
+ "pipeline-error-eleven-labs-blocked-content-against-their-policy",
149
+ "pipeline-error-eleven-labs-missing-samples-for-voice-clone",
150
+ "pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used",
151
+ "pipeline-error-eleven-labs-voice-not-allowed-for-free-users",
152
+ "pipeline-error-eleven-labs-500-server-error",
153
+ "pipeline-error-eleven-labs-max-character-limit-exceeded",
154
+ "pipeline-error-playht-request-timed-out",
155
+ "pipeline-error-playht-invalid-voice",
156
+ "pipeline-error-playht-unexpected-error",
157
+ "pipeline-error-playht-out-of-credits",
158
+ "pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri",
159
+ "pipeline-error-playht-401-unauthorized",
160
+ "pipeline-error-playht-403-forbidden-out-of-characters",
161
+ "pipeline-error-playht-403-forbidden-api-access-not-available",
162
+ "pipeline-error-playht-429-exceeded-quota",
163
+ "pipeline-error-playht-502-gateway-error",
164
+ "pipeline-error-playht-504-gateway-error",
165
+ "pipeline-error-deepgram-403-model-access-denied",
166
+ "pipeline-error-deepgram-404-not-found",
167
+ "pipeline-error-deepgram-400-no-such-model-language-tier-combination",
168
+ "pipeline-error-deepgram-500-returning-invalid-json",
169
+ "sip-gateway-failed-to-connect-call",
170
+ "silence-timed-out",
171
+ "twilio-failed-to-connect-call",
172
+ "twilio-reported-customer-misdialed",
173
+ "voicemail",
174
+ "vonage-rejected",
175
+ ],
176
+ typing.Any,
177
+ ]
@@ -0,0 +1,12 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .user_message import UserMessage
5
+ from .system_message import SystemMessage
6
+ from .bot_message import BotMessage
7
+ from .tool_call_message import ToolCallMessage
8
+ from .tool_call_result_message import ToolCallResultMessage
9
+
10
+ ServerMessageStatusUpdateMessagesItem = typing.Union[
11
+ UserMessage, SystemMessage, BotMessage, ToolCallMessage, ToolCallResultMessage
12
+ ]
@@ -0,0 +1,11 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .create_byo_phone_number_dto import CreateByoPhoneNumberDto
5
+ from .create_twilio_phone_number_dto import CreateTwilioPhoneNumberDto
6
+ from .create_vonage_phone_number_dto import CreateVonagePhoneNumberDto
7
+ from .create_vapi_phone_number_dto import CreateVapiPhoneNumberDto
8
+
9
+ ServerMessageStatusUpdatePhoneNumber = typing.Union[
10
+ CreateByoPhoneNumberDto, CreateTwilioPhoneNumberDto, CreateVonagePhoneNumberDto, CreateVapiPhoneNumberDto
11
+ ]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ServerMessageStatusUpdateStatus = typing.Union[
6
+ typing.Literal["queued", "ringing", "in-progress", "forwarding", "ended"], typing.Any
7
+ ]