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.
- vapi/__init__.py +1081 -0
- vapi/analytics/__init__.py +2 -0
- vapi/analytics/client.py +159 -0
- vapi/assistants/__init__.py +21 -0
- vapi/assistants/client.py +1593 -0
- vapi/assistants/types/__init__.py +19 -0
- vapi/assistants/types/update_assistant_dto_background_sound.py +5 -0
- vapi/assistants/types/update_assistant_dto_client_messages_item.py +23 -0
- vapi/assistants/types/update_assistant_dto_first_message_mode.py +10 -0
- vapi/assistants/types/update_assistant_dto_model.py +26 -0
- vapi/assistants/types/update_assistant_dto_server_messages_item.py +24 -0
- vapi/assistants/types/update_assistant_dto_transcriber.py +8 -0
- vapi/assistants/types/update_assistant_dto_voice.py +24 -0
- vapi/blocks/__init__.py +25 -0
- vapi/blocks/client.py +804 -0
- vapi/blocks/types/__init__.py +23 -0
- vapi/blocks/types/blocks_create_request.py +8 -0
- vapi/blocks/types/blocks_create_response.py +8 -0
- vapi/blocks/types/blocks_delete_response.py +8 -0
- vapi/blocks/types/blocks_get_response.py +8 -0
- vapi/blocks/types/blocks_list_response_item.py +8 -0
- vapi/blocks/types/blocks_update_response.py +8 -0
- vapi/blocks/types/update_block_dto_messages_item.py +7 -0
- vapi/blocks/types/update_block_dto_steps_item.py +7 -0
- vapi/blocks/types/update_block_dto_tool.py +20 -0
- vapi/calls/__init__.py +2 -0
- vapi/calls/client.py +776 -0
- vapi/client.py +172 -0
- vapi/core/__init__.py +50 -0
- vapi/core/api_error.py +15 -0
- vapi/core/client_wrapper.py +76 -0
- vapi/core/datetime_utils.py +28 -0
- vapi/core/file.py +62 -0
- vapi/core/http_client.py +487 -0
- vapi/core/jsonable_encoder.py +101 -0
- vapi/core/pagination.py +88 -0
- vapi/core/pydantic_utilities.py +296 -0
- vapi/core/query_encoder.py +58 -0
- vapi/core/remove_none_from_dict.py +11 -0
- vapi/core/request_options.py +32 -0
- vapi/core/serialization.py +272 -0
- vapi/environment.py +7 -0
- vapi/errors/__init__.py +5 -0
- vapi/errors/bad_request_error.py +9 -0
- vapi/files/__init__.py +2 -0
- vapi/files/client.py +544 -0
- vapi/logs/__init__.py +5 -0
- vapi/logs/client.py +367 -0
- vapi/logs/types/__init__.py +6 -0
- vapi/logs/types/logs_get_request_sort_order.py +5 -0
- vapi/logs/types/logs_get_request_type.py +5 -0
- vapi/phone_numbers/__init__.py +21 -0
- vapi/phone_numbers/client.py +735 -0
- vapi/phone_numbers/types/__init__.py +19 -0
- vapi/phone_numbers/types/phone_numbers_create_request.py +11 -0
- vapi/phone_numbers/types/phone_numbers_create_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_delete_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_get_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_list_response_item.py +9 -0
- vapi/phone_numbers/types/phone_numbers_update_response.py +9 -0
- vapi/phone_numbers/types/update_phone_number_dto_fallback_destination.py +7 -0
- vapi/py.typed +0 -0
- vapi/squads/__init__.py +2 -0
- vapi/squads/client.py +723 -0
- vapi/tools/__init__.py +21 -0
- vapi/tools/client.py +717 -0
- vapi/tools/types/__init__.py +19 -0
- vapi/tools/types/tools_create_request.py +20 -0
- vapi/tools/types/tools_create_response.py +12 -0
- vapi/tools/types/tools_delete_response.py +12 -0
- vapi/tools/types/tools_get_response.py +12 -0
- vapi/tools/types/tools_list_response_item.py +14 -0
- vapi/tools/types/tools_update_response.py +12 -0
- vapi/tools/types/update_tool_dto_messages_item.py +9 -0
- vapi/types/__init__.py +993 -0
- vapi/types/add_voice_to_provider_dto.py +34 -0
- vapi/types/analysis.py +38 -0
- vapi/types/analysis_cost.py +52 -0
- vapi/types/analysis_cost_analysis_type.py +5 -0
- vapi/types/analysis_cost_breakdown.py +80 -0
- vapi/types/analysis_plan.py +43 -0
- vapi/types/analytics_operation.py +34 -0
- vapi/types/analytics_operation_column.py +19 -0
- vapi/types/analytics_operation_operation.py +5 -0
- vapi/types/analytics_query.py +51 -0
- vapi/types/analytics_query_group_by_item.py +7 -0
- vapi/types/analytics_query_result.py +42 -0
- vapi/types/anthropic_credential.py +46 -0
- vapi/types/anthropic_model.py +91 -0
- vapi/types/anthropic_model_model.py +10 -0
- vapi/types/anthropic_model_tools_item.py +20 -0
- vapi/types/anyscale_credential.py +46 -0
- vapi/types/anyscale_model.py +90 -0
- vapi/types/anyscale_model_tools_item.py +20 -0
- vapi/types/artifact.py +66 -0
- vapi/types/artifact_messages_item.py +10 -0
- vapi/types/artifact_plan.py +70 -0
- vapi/types/assignment_mutation.py +85 -0
- vapi/types/assignment_mutation_conditions_item.py +7 -0
- vapi/types/assistant.py +330 -0
- vapi/types/assistant_background_sound.py +5 -0
- vapi/types/assistant_client_messages_item.py +23 -0
- vapi/types/assistant_first_message_mode.py +10 -0
- vapi/types/assistant_model.py +26 -0
- vapi/types/assistant_overrides.py +316 -0
- vapi/types/assistant_overrides_background_sound.py +5 -0
- vapi/types/assistant_overrides_client_messages_item.py +23 -0
- vapi/types/assistant_overrides_first_message_mode.py +10 -0
- vapi/types/assistant_overrides_model.py +26 -0
- vapi/types/assistant_overrides_server_messages_item.py +24 -0
- vapi/types/assistant_overrides_transcriber.py +8 -0
- vapi/types/assistant_overrides_voice.py +24 -0
- vapi/types/assistant_server_messages_item.py +24 -0
- vapi/types/assistant_transcriber.py +8 -0
- vapi/types/assistant_voice.py +24 -0
- vapi/types/azure_open_ai_credential.py +52 -0
- vapi/types/azure_open_ai_credential_models_item.py +17 -0
- vapi/types/azure_open_ai_credential_region.py +24 -0
- vapi/types/azure_voice.py +52 -0
- vapi/types/azure_voice_id.py +6 -0
- vapi/types/azure_voice_id_enum.py +5 -0
- vapi/types/block_complete_message.py +33 -0
- vapi/types/block_complete_message_conditions_item.py +7 -0
- vapi/types/block_start_message.py +33 -0
- vapi/types/block_start_message_conditions_item.py +7 -0
- vapi/types/bot_message.py +54 -0
- vapi/types/bucket_plan.py +72 -0
- vapi/types/buy_phone_number_dto.py +81 -0
- vapi/types/buy_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/byo_phone_number.py +126 -0
- vapi/types/byo_phone_number_fallback_destination.py +7 -0
- vapi/types/byo_sip_trunk_credential.py +85 -0
- vapi/types/call.py +241 -0
- vapi/types/call_costs_item.py +11 -0
- vapi/types/call_destination.py +7 -0
- vapi/types/call_ended_reason.py +177 -0
- vapi/types/call_messages_item.py +10 -0
- vapi/types/call_paginated_response.py +32 -0
- vapi/types/call_phone_call_provider.py +5 -0
- vapi/types/call_phone_call_transport.py +5 -0
- vapi/types/call_status.py +5 -0
- vapi/types/call_type.py +5 -0
- vapi/types/callback_step.py +116 -0
- vapi/types/callback_step_block.py +11 -0
- vapi/types/cartesia_credential.py +46 -0
- vapi/types/cartesia_voice.py +58 -0
- vapi/types/cartesia_voice_language.py +5 -0
- vapi/types/cartesia_voice_model.py +5 -0
- vapi/types/chunk_plan.py +70 -0
- vapi/types/client_inbound_message.py +23 -0
- vapi/types/client_inbound_message_add_message.py +28 -0
- vapi/types/client_inbound_message_control.py +32 -0
- vapi/types/client_inbound_message_control_control.py +7 -0
- vapi/types/client_inbound_message_message.py +10 -0
- vapi/types/client_inbound_message_say.py +36 -0
- vapi/types/client_message.py +23 -0
- vapi/types/client_message_conversation_update.py +38 -0
- vapi/types/client_message_conversation_update_messages_item.py +12 -0
- vapi/types/client_message_hang.py +27 -0
- vapi/types/client_message_language_changed.py +27 -0
- vapi/types/client_message_message.py +28 -0
- vapi/types/client_message_metadata.py +27 -0
- vapi/types/client_message_model_output.py +27 -0
- vapi/types/client_message_speech_update.py +34 -0
- vapi/types/client_message_speech_update_role.py +5 -0
- vapi/types/client_message_speech_update_status.py +5 -0
- vapi/types/client_message_tool_calls.py +40 -0
- vapi/types/client_message_tool_calls_result.py +31 -0
- vapi/types/client_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
- vapi/types/client_message_transcript.py +43 -0
- vapi/types/client_message_transcript_role.py +5 -0
- vapi/types/client_message_transcript_transcript_type.py +5 -0
- vapi/types/client_message_user_interrupted.py +22 -0
- vapi/types/client_message_voice_input.py +27 -0
- vapi/types/clone_voice_dto.py +37 -0
- vapi/types/condition.py +33 -0
- vapi/types/condition_operator.py +5 -0
- vapi/types/conversation_block.py +109 -0
- vapi/types/conversation_block_messages_item.py +7 -0
- vapi/types/cost_breakdown.py +78 -0
- vapi/types/create_anthropic_credential_dto.py +25 -0
- vapi/types/create_anyscale_credential_dto.py +25 -0
- vapi/types/create_assistant_dto.py +309 -0
- vapi/types/create_assistant_dto_background_sound.py +5 -0
- vapi/types/create_assistant_dto_client_messages_item.py +23 -0
- vapi/types/create_assistant_dto_first_message_mode.py +10 -0
- vapi/types/create_assistant_dto_model.py +26 -0
- vapi/types/create_assistant_dto_server_messages_item.py +24 -0
- vapi/types/create_assistant_dto_transcriber.py +8 -0
- vapi/types/create_assistant_dto_voice.py +24 -0
- vapi/types/create_azure_open_ai_credential_dto.py +31 -0
- vapi/types/create_azure_open_ai_credential_dto_models_item.py +17 -0
- vapi/types/create_azure_open_ai_credential_dto_region.py +24 -0
- vapi/types/create_byo_phone_number_dto.py +105 -0
- vapi/types/create_byo_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_byo_sip_trunk_credential_dto.py +64 -0
- vapi/types/create_cartesia_credential_dto.py +25 -0
- vapi/types/create_conversation_block_dto.py +88 -0
- vapi/types/create_conversation_block_dto_messages_item.py +7 -0
- vapi/types/create_custom_llm_credential_dto.py +25 -0
- vapi/types/create_customer_dto.py +59 -0
- vapi/types/create_deep_infra_credential_dto.py +25 -0
- vapi/types/create_deepgram_credential_dto.py +32 -0
- vapi/types/create_dtmf_tool_dto.py +61 -0
- vapi/types/create_dtmf_tool_dto_messages_item.py +11 -0
- vapi/types/create_eleven_labs_credential_dto.py +25 -0
- vapi/types/create_end_call_tool_dto.py +61 -0
- vapi/types/create_end_call_tool_dto_messages_item.py +11 -0
- vapi/types/create_function_tool_dto.py +61 -0
- vapi/types/create_function_tool_dto_messages_item.py +11 -0
- vapi/types/create_gcp_credential_dto.py +41 -0
- vapi/types/create_ghl_tool_dto.py +63 -0
- vapi/types/create_ghl_tool_dto_messages_item.py +11 -0
- vapi/types/create_gladia_credential_dto.py +25 -0
- vapi/types/create_go_high_level_credential_dto.py +25 -0
- vapi/types/create_groq_credential_dto.py +25 -0
- vapi/types/create_lmnt_credential_dto.py +25 -0
- vapi/types/create_make_credential_dto.py +35 -0
- vapi/types/create_make_tool_dto.py +63 -0
- vapi/types/create_make_tool_dto_messages_item.py +11 -0
- vapi/types/create_open_ai_credential_dto.py +25 -0
- vapi/types/create_open_router_credential_dto.py +25 -0
- vapi/types/create_org_dto.py +63 -0
- vapi/types/create_outbound_call_dto.py +104 -0
- vapi/types/create_output_tool_dto.py +61 -0
- vapi/types/create_output_tool_dto_messages_item.py +11 -0
- vapi/types/create_perplexity_ai_credential_dto.py +25 -0
- vapi/types/create_play_ht_credential_dto.py +27 -0
- vapi/types/create_rime_ai_credential_dto.py +25 -0
- vapi/types/create_runpod_credential_dto.py +25 -0
- vapi/types/create_s_3_credential_dto.py +51 -0
- vapi/types/create_squad_dto.py +52 -0
- vapi/types/create_together_ai_credential_dto.py +25 -0
- vapi/types/create_token_dto.py +34 -0
- vapi/types/create_token_dto_tag.py +5 -0
- vapi/types/create_tool_call_block_dto.py +75 -0
- vapi/types/create_tool_call_block_dto_messages_item.py +7 -0
- vapi/types/create_tool_call_block_dto_tool.py +20 -0
- vapi/types/create_tool_template_dto.py +38 -0
- vapi/types/create_tool_template_dto_details.py +20 -0
- vapi/types/create_tool_template_dto_provider.py +5 -0
- vapi/types/create_tool_template_dto_provider_details.py +10 -0
- vapi/types/create_tool_template_dto_visibility.py +5 -0
- vapi/types/create_transfer_call_tool_dto.py +67 -0
- vapi/types/create_transfer_call_tool_dto_destinations_item.py +11 -0
- vapi/types/create_transfer_call_tool_dto_messages_item.py +11 -0
- vapi/types/create_twilio_credential_dto.py +27 -0
- vapi/types/create_twilio_phone_number_dto.py +92 -0
- vapi/types/create_twilio_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_vapi_phone_number_dto.py +84 -0
- vapi/types/create_vapi_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_voicemail_tool_dto.py +65 -0
- vapi/types/create_voicemail_tool_dto_messages_item.py +11 -0
- vapi/types/create_vonage_credential_dto.py +27 -0
- vapi/types/create_vonage_phone_number_dto.py +87 -0
- vapi/types/create_vonage_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_web_call_dto.py +63 -0
- vapi/types/create_workflow_block_dto.py +78 -0
- vapi/types/create_workflow_block_dto_messages_item.py +7 -0
- vapi/types/create_workflow_block_dto_steps_item.py +10 -0
- vapi/types/custom_llm_credential.py +46 -0
- vapi/types/custom_llm_model.py +115 -0
- vapi/types/custom_llm_model_metadata_send_mode.py +5 -0
- vapi/types/custom_llm_model_tools_item.py +20 -0
- vapi/types/deep_infra_credential.py +46 -0
- vapi/types/deep_infra_model.py +90 -0
- vapi/types/deep_infra_model_tools_item.py +20 -0
- vapi/types/deepgram_credential.py +53 -0
- vapi/types/deepgram_transcriber.py +68 -0
- vapi/types/deepgram_transcriber_language.py +65 -0
- vapi/types/deepgram_transcriber_model.py +37 -0
- vapi/types/deepgram_voice.py +47 -0
- vapi/types/deepgram_voice_id.py +6 -0
- vapi/types/deepgram_voice_id_enum.py +10 -0
- vapi/types/dtmf_tool.py +82 -0
- vapi/types/dtmf_tool_messages_item.py +9 -0
- vapi/types/eleven_labs_credential.py +46 -0
- vapi/types/eleven_labs_voice.py +98 -0
- vapi/types/eleven_labs_voice_id.py +6 -0
- vapi/types/eleven_labs_voice_id_enum.py +24 -0
- vapi/types/eleven_labs_voice_model.py +8 -0
- vapi/types/end_call_tool.py +82 -0
- vapi/types/end_call_tool_messages_item.py +9 -0
- vapi/types/error.py +19 -0
- vapi/types/exact_replacement.py +40 -0
- vapi/types/file.py +57 -0
- vapi/types/file_status.py +5 -0
- vapi/types/format_plan.py +64 -0
- vapi/types/format_plan_replacements_item.py +7 -0
- vapi/types/function_tool.py +82 -0
- vapi/types/function_tool_messages_item.py +9 -0
- vapi/types/function_tool_provider_details.py +35 -0
- vapi/types/function_tool_with_tool_call.py +67 -0
- vapi/types/function_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/gcp_credential.py +62 -0
- vapi/types/gcp_key.py +78 -0
- vapi/types/ghl_tool.py +85 -0
- vapi/types/ghl_tool_messages_item.py +9 -0
- vapi/types/ghl_tool_metadata.py +22 -0
- vapi/types/ghl_tool_provider_details.py +41 -0
- vapi/types/ghl_tool_with_tool_call.py +69 -0
- vapi/types/ghl_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/gladia_credential.py +46 -0
- vapi/types/gladia_transcriber.py +56 -0
- vapi/types/gladia_transcriber_language.py +109 -0
- vapi/types/gladia_transcriber_language_behaviour.py +7 -0
- vapi/types/gladia_transcriber_model.py +5 -0
- vapi/types/go_high_level_credential.py +46 -0
- vapi/types/groq_credential.py +46 -0
- vapi/types/groq_model.py +91 -0
- vapi/types/groq_model_model.py +19 -0
- vapi/types/groq_model_tools_item.py +20 -0
- vapi/types/handoff_step.py +116 -0
- vapi/types/handoff_step_block.py +11 -0
- vapi/types/import_twilio_phone_number_dto.py +91 -0
- vapi/types/import_twilio_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/import_vonage_phone_number_dto.py +88 -0
- vapi/types/import_vonage_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/invite_user_dto.py +21 -0
- vapi/types/invite_user_dto_role.py +5 -0
- vapi/types/json_schema.py +57 -0
- vapi/types/json_schema_type.py +5 -0
- vapi/types/knowledge_base.py +23 -0
- vapi/types/lmnt_credential.py +46 -0
- vapi/types/lmnt_voice.py +52 -0
- vapi/types/lmnt_voice_id.py +6 -0
- vapi/types/lmnt_voice_id_enum.py +5 -0
- vapi/types/log.py +164 -0
- vapi/types/log_request_http_method.py +5 -0
- vapi/types/log_resource.py +7 -0
- vapi/types/log_type.py +5 -0
- vapi/types/logs_paginated_response.py +22 -0
- vapi/types/make_credential.py +56 -0
- vapi/types/make_tool.py +85 -0
- vapi/types/make_tool_messages_item.py +9 -0
- vapi/types/make_tool_metadata.py +22 -0
- vapi/types/make_tool_provider_details.py +40 -0
- vapi/types/make_tool_with_tool_call.py +69 -0
- vapi/types/make_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/message_plan.py +51 -0
- vapi/types/metrics.py +44 -0
- vapi/types/model_based_condition.py +54 -0
- vapi/types/model_cost.py +53 -0
- vapi/types/monitor.py +33 -0
- vapi/types/monitor_plan.py +43 -0
- vapi/types/neets_voice.py +47 -0
- vapi/types/neets_voice_id.py +6 -0
- vapi/types/neets_voice_id_enum.py +5 -0
- vapi/types/open_ai_credential.py +46 -0
- vapi/types/open_ai_function.py +35 -0
- vapi/types/open_ai_function_parameters.py +35 -0
- vapi/types/open_ai_message.py +21 -0
- vapi/types/open_ai_message_role.py +5 -0
- vapi/types/open_ai_model.py +106 -0
- vapi/types/open_ai_model_fallback_models_item.py +26 -0
- vapi/types/open_ai_model_model.py +26 -0
- vapi/types/open_ai_model_tools_item.py +20 -0
- vapi/types/open_ai_voice.py +52 -0
- vapi/types/open_ai_voice_id.py +5 -0
- vapi/types/open_router_credential.py +46 -0
- vapi/types/open_router_model.py +90 -0
- vapi/types/open_router_model_tools_item.py +20 -0
- vapi/types/org.py +120 -0
- vapi/types/org_plan.py +28 -0
- vapi/types/output_tool.py +82 -0
- vapi/types/output_tool_messages_item.py +9 -0
- vapi/types/pagination_meta.py +23 -0
- vapi/types/perplexity_ai_credential.py +46 -0
- vapi/types/perplexity_ai_model.py +90 -0
- vapi/types/perplexity_ai_model_tools_item.py +20 -0
- vapi/types/play_ht_credential.py +48 -0
- vapi/types/play_ht_voice.py +84 -0
- vapi/types/play_ht_voice_emotion.py +21 -0
- vapi/types/play_ht_voice_id.py +6 -0
- vapi/types/play_ht_voice_id_enum.py +8 -0
- vapi/types/punctuation_boundary.py +7 -0
- vapi/types/regex_option.py +34 -0
- vapi/types/regex_option_type.py +5 -0
- vapi/types/regex_replacement.py +48 -0
- vapi/types/rime_ai_credential.py +46 -0
- vapi/types/rime_ai_voice.py +58 -0
- vapi/types/rime_ai_voice_id.py +6 -0
- vapi/types/rime_ai_voice_id_enum.py +90 -0
- vapi/types/rime_ai_voice_model.py +5 -0
- vapi/types/rule_based_condition.py +96 -0
- vapi/types/rule_based_condition_operator.py +5 -0
- vapi/types/runpod_credential.py +46 -0
- vapi/types/s_3_credential.py +72 -0
- vapi/types/sbc_configuration.py +17 -0
- vapi/types/server.py +40 -0
- vapi/types/server_message.py +40 -0
- vapi/types/server_message_assistant_request.py +96 -0
- vapi/types/server_message_assistant_request_phone_number.py +11 -0
- vapi/types/server_message_conversation_update.py +110 -0
- vapi/types/server_message_conversation_update_messages_item.py +12 -0
- vapi/types/server_message_conversation_update_phone_number.py +11 -0
- vapi/types/server_message_end_of_call_report.py +134 -0
- vapi/types/server_message_end_of_call_report_costs_item.py +13 -0
- vapi/types/server_message_end_of_call_report_ended_reason.py +177 -0
- vapi/types/server_message_end_of_call_report_phone_number.py +11 -0
- vapi/types/server_message_hang.py +101 -0
- vapi/types/server_message_hang_phone_number.py +11 -0
- vapi/types/server_message_language_changed.py +101 -0
- vapi/types/server_message_language_changed_phone_number.py +11 -0
- vapi/types/server_message_message.py +38 -0
- vapi/types/server_message_model_output.py +101 -0
- vapi/types/server_message_model_output_phone_number.py +11 -0
- vapi/types/server_message_phone_call_control.py +110 -0
- vapi/types/server_message_phone_call_control_destination.py +7 -0
- vapi/types/server_message_phone_call_control_phone_number.py +11 -0
- vapi/types/server_message_phone_call_control_request.py +5 -0
- vapi/types/server_message_response.py +39 -0
- vapi/types/server_message_response_assistant_request.py +80 -0
- vapi/types/server_message_response_assistant_request_destination.py +7 -0
- vapi/types/server_message_response_message_response.py +14 -0
- vapi/types/server_message_response_tool_calls.py +28 -0
- vapi/types/server_message_response_transfer_destination_request.py +32 -0
- vapi/types/server_message_response_transfer_destination_request_destination.py +11 -0
- vapi/types/server_message_response_voice_request.py +44 -0
- vapi/types/server_message_speech_update.py +108 -0
- vapi/types/server_message_speech_update_phone_number.py +11 -0
- vapi/types/server_message_speech_update_role.py +5 -0
- vapi/types/server_message_speech_update_status.py +5 -0
- vapi/types/server_message_status_update.py +145 -0
- vapi/types/server_message_status_update_destination.py +7 -0
- vapi/types/server_message_status_update_ended_reason.py +177 -0
- vapi/types/server_message_status_update_messages_item.py +12 -0
- vapi/types/server_message_status_update_phone_number.py +11 -0
- vapi/types/server_message_status_update_status.py +7 -0
- vapi/types/server_message_tool_calls.py +112 -0
- vapi/types/server_message_tool_calls_phone_number.py +11 -0
- vapi/types/server_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
- vapi/types/server_message_transcript.py +115 -0
- vapi/types/server_message_transcript_phone_number.py +11 -0
- vapi/types/server_message_transcript_role.py +5 -0
- vapi/types/server_message_transcript_transcript_type.py +5 -0
- vapi/types/server_message_transfer_destination_request.py +98 -0
- vapi/types/server_message_transfer_destination_request_phone_number.py +11 -0
- vapi/types/server_message_transfer_update.py +116 -0
- vapi/types/server_message_transfer_update_destination.py +11 -0
- vapi/types/server_message_transfer_update_phone_number.py +11 -0
- vapi/types/server_message_user_interrupted.py +96 -0
- vapi/types/server_message_user_interrupted_phone_number.py +11 -0
- vapi/types/server_message_voice_input.py +101 -0
- vapi/types/server_message_voice_input_phone_number.py +11 -0
- vapi/types/server_message_voice_request.py +128 -0
- vapi/types/server_message_voice_request_phone_number.py +11 -0
- vapi/types/sip_trunk_gateway.py +79 -0
- vapi/types/sip_trunk_gateway_outbound_protocol.py +5 -0
- vapi/types/sip_trunk_outbound_authentication_plan.py +35 -0
- vapi/types/sip_trunk_outbound_sip_register_plan.py +21 -0
- vapi/types/squad.py +73 -0
- vapi/types/squad_member_dto.py +60 -0
- vapi/types/start_speaking_plan.py +62 -0
- vapi/types/step_destination.py +28 -0
- vapi/types/step_destination_conditions_item.py +7 -0
- vapi/types/stop_speaking_plan.py +65 -0
- vapi/types/structured_data_plan.py +66 -0
- vapi/types/success_evaluation_plan.py +75 -0
- vapi/types/success_evaluation_plan_rubric.py +17 -0
- vapi/types/summary_plan.py +56 -0
- vapi/types/sync_voice_library_dto.py +23 -0
- vapi/types/sync_voice_library_dto_providers_item.py +10 -0
- vapi/types/system_message.py +39 -0
- vapi/types/talkscriber_transcriber.py +33 -0
- vapi/types/talkscriber_transcriber_language.py +109 -0
- vapi/types/template.py +58 -0
- vapi/types/template_details.py +20 -0
- vapi/types/template_provider.py +5 -0
- vapi/types/template_provider_details.py +8 -0
- vapi/types/template_visibility.py +5 -0
- vapi/types/time_range.py +47 -0
- vapi/types/time_range_step.py +8 -0
- vapi/types/together_ai_credential.py +46 -0
- vapi/types/together_ai_model.py +90 -0
- vapi/types/together_ai_model_tools_item.py +20 -0
- vapi/types/token.py +62 -0
- vapi/types/token_restrictions.py +53 -0
- vapi/types/token_tag.py +5 -0
- vapi/types/tool_call.py +33 -0
- vapi/types/tool_call_block.py +96 -0
- vapi/types/tool_call_block_messages_item.py +7 -0
- vapi/types/tool_call_block_tool.py +20 -0
- vapi/types/tool_call_function.py +27 -0
- vapi/types/tool_call_message.py +46 -0
- vapi/types/tool_call_result.py +62 -0
- vapi/types/tool_call_result_message.py +49 -0
- vapi/types/tool_call_result_message_item.py +7 -0
- vapi/types/tool_message_complete.py +74 -0
- vapi/types/tool_message_complete_role.py +5 -0
- vapi/types/tool_message_delayed.py +49 -0
- vapi/types/tool_message_failed.py +50 -0
- vapi/types/tool_message_start.py +37 -0
- vapi/types/tool_template_metadata.py +23 -0
- vapi/types/tool_template_setup.py +24 -0
- vapi/types/transcriber_cost.py +46 -0
- vapi/types/transcript_plan.py +66 -0
- vapi/types/transcription_endpointing_plan.py +52 -0
- vapi/types/transfer_call_tool.py +88 -0
- vapi/types/transfer_call_tool_destinations_item.py +11 -0
- vapi/types/transfer_call_tool_messages_item.py +11 -0
- vapi/types/transfer_destination_assistant.py +90 -0
- vapi/types/transfer_destination_number.py +77 -0
- vapi/types/transfer_destination_sip.py +39 -0
- vapi/types/transfer_destination_step.py +39 -0
- vapi/types/transfer_mode.py +5 -0
- vapi/types/transport_configuration_twilio.py +55 -0
- vapi/types/transport_configuration_twilio_recording_channels.py +5 -0
- vapi/types/transport_cost.py +32 -0
- vapi/types/twilio_credential.py +48 -0
- vapi/types/twilio_phone_number.py +113 -0
- vapi/types/twilio_phone_number_fallback_destination.py +7 -0
- vapi/types/twilio_voicemail_detection.py +107 -0
- vapi/types/twilio_voicemail_detection_voicemail_detection_types_item.py +10 -0
- vapi/types/update_anthropic_credential_dto.py +25 -0
- vapi/types/update_anyscale_credential_dto.py +25 -0
- vapi/types/update_azure_open_ai_credential_dto.py +31 -0
- vapi/types/update_azure_open_ai_credential_dto_models_item.py +17 -0
- vapi/types/update_azure_open_ai_credential_dto_region.py +24 -0
- vapi/types/update_byo_sip_trunk_credential_dto.py +64 -0
- vapi/types/update_cartesia_credential_dto.py +25 -0
- vapi/types/update_custom_llm_credential_dto.py +25 -0
- vapi/types/update_deep_infra_credential_dto.py +25 -0
- vapi/types/update_deepgram_credential_dto.py +32 -0
- vapi/types/update_eleven_labs_credential_dto.py +25 -0
- vapi/types/update_gcp_credential_dto.py +41 -0
- vapi/types/update_gladia_credential_dto.py +25 -0
- vapi/types/update_go_high_level_credential_dto.py +25 -0
- vapi/types/update_groq_credential_dto.py +25 -0
- vapi/types/update_lmnt_credential_dto.py +25 -0
- vapi/types/update_make_credential_dto.py +35 -0
- vapi/types/update_open_ai_credential_dto.py +25 -0
- vapi/types/update_open_router_credential_dto.py +25 -0
- vapi/types/update_org_dto.py +63 -0
- vapi/types/update_perplexity_ai_credential_dto.py +25 -0
- vapi/types/update_play_ht_credential_dto.py +27 -0
- vapi/types/update_rime_ai_credential_dto.py +25 -0
- vapi/types/update_runpod_credential_dto.py +25 -0
- vapi/types/update_s_3_credential_dto.py +51 -0
- vapi/types/update_together_ai_credential_dto.py +25 -0
- vapi/types/update_tool_template_dto.py +38 -0
- vapi/types/update_tool_template_dto_details.py +20 -0
- vapi/types/update_tool_template_dto_provider.py +5 -0
- vapi/types/update_tool_template_dto_provider_details.py +10 -0
- vapi/types/update_tool_template_dto_visibility.py +5 -0
- vapi/types/update_twilio_credential_dto.py +27 -0
- vapi/types/update_user_role_dto.py +23 -0
- vapi/types/update_user_role_dto_role.py +5 -0
- vapi/types/update_vonage_credential_dto.py +27 -0
- vapi/types/user.py +47 -0
- vapi/types/user_message.py +49 -0
- vapi/types/vapi_cost.py +32 -0
- vapi/types/vapi_model.py +102 -0
- vapi/types/vapi_model_steps_item.py +7 -0
- vapi/types/vapi_model_tools_item.py +20 -0
- vapi/types/vapi_phone_number.py +105 -0
- vapi/types/vapi_phone_number_fallback_destination.py +7 -0
- vapi/types/voice_cost.py +46 -0
- vapi/types/voice_library.py +126 -0
- vapi/types/voice_library_gender.py +5 -0
- vapi/types/voice_library_voice_response.py +27 -0
- vapi/types/vonage_credential.py +64 -0
- vapi/types/vonage_phone_number.py +108 -0
- vapi/types/vonage_phone_number_fallback_destination.py +7 -0
- vapi/types/workflow_block.py +99 -0
- vapi/types/workflow_block_messages_item.py +7 -0
- vapi/types/workflow_block_steps_item.py +7 -0
- vapi/version.py +3 -0
- vapi_server_sdk-0.0.0a7.dist-info/METADATA +179 -0
- vapi_server_sdk-0.0.0a7.dist-info/RECORD +571 -0
- vapi_server_sdk-0.0.0a7.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from .create_vapi_phone_number_dto_fallback_destination import CreateVapiPhoneNumberDtoFallbackDestination
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CreateVapiPhoneNumberDto(UniversalBaseModel):
|
|
13
|
+
fallback_destination: typing_extensions.Annotated[
|
|
14
|
+
typing.Optional[CreateVapiPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination")
|
|
15
|
+
] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
This is the fallback destination an inbound call will be transferred to if:
|
|
18
|
+
|
|
19
|
+
1. `assistantId` is not set
|
|
20
|
+
2. `squadId` is not set
|
|
21
|
+
3. and, `assistant-request` message to the `serverUrl` fails
|
|
22
|
+
|
|
23
|
+
If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
provider: typing.Literal["vapi"] = "vapi"
|
|
27
|
+
sip_uri: typing_extensions.Annotated[str, FieldMetadata(alias="sipUri")] = pydantic.Field()
|
|
28
|
+
"""
|
|
29
|
+
This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer.
|
|
30
|
+
|
|
31
|
+
This is case-insensitive.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
35
|
+
"""
|
|
36
|
+
This is the name of the phone number. This is just for your own reference.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
assistant_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantId")] = (
|
|
40
|
+
pydantic.Field(default=None)
|
|
41
|
+
)
|
|
42
|
+
"""
|
|
43
|
+
This is the assistant that will be used for incoming calls to this phone number.
|
|
44
|
+
|
|
45
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
squad_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="squadId")] = pydantic.Field(
|
|
49
|
+
default=None
|
|
50
|
+
)
|
|
51
|
+
"""
|
|
52
|
+
This is the squad that will be used for incoming calls to this phone number.
|
|
53
|
+
|
|
54
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
server_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrl")] = pydantic.Field(
|
|
58
|
+
default=None
|
|
59
|
+
)
|
|
60
|
+
"""
|
|
61
|
+
This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.
|
|
62
|
+
|
|
63
|
+
You can see the shape of the messages sent in `ServerMessage`.
|
|
64
|
+
|
|
65
|
+
This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
server_url_secret: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrlSecret")] = (
|
|
69
|
+
pydantic.Field(default=None)
|
|
70
|
+
)
|
|
71
|
+
"""
|
|
72
|
+
This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.
|
|
73
|
+
|
|
74
|
+
Same precedence logic as serverUrl.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
if IS_PYDANTIC_V2:
|
|
78
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
79
|
+
else:
|
|
80
|
+
|
|
81
|
+
class Config:
|
|
82
|
+
frozen = True
|
|
83
|
+
smart_union = True
|
|
84
|
+
extra = pydantic.Extra.allow
|
|
@@ -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
|
+
CreateVapiPhoneNumberDtoFallbackDestination = typing.Union[TransferDestinationNumber, TransferDestinationSip]
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from .create_voicemail_tool_dto_messages_item import CreateVoicemailToolDtoMessagesItem
|
|
9
|
+
from .open_ai_function import OpenAiFunction
|
|
10
|
+
from .server import Server
|
|
11
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CreateVoicemailToolDto(UniversalBaseModel):
|
|
15
|
+
async_: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="async")] = pydantic.Field(
|
|
16
|
+
default=None
|
|
17
|
+
)
|
|
18
|
+
"""
|
|
19
|
+
This determines if the tool is async.
|
|
20
|
+
|
|
21
|
+
If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
|
|
22
|
+
|
|
23
|
+
If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
|
|
24
|
+
|
|
25
|
+
Defaults to synchronous (`false`).
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
messages: typing.Optional[typing.List[CreateVoicemailToolDtoMessagesItem]] = pydantic.Field(default=None)
|
|
29
|
+
"""
|
|
30
|
+
These are the messages that will be spoken to the user as the tool is running.
|
|
31
|
+
|
|
32
|
+
For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
type: typing.Literal["voicemail"] = pydantic.Field(default="voicemail")
|
|
36
|
+
"""
|
|
37
|
+
The type of tool. "voicemail". This uses the model itself to determine if a voicemil was reached. Can be used alternatively/alongside with TwilioVoicemailDetection
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
function: typing.Optional[OpenAiFunction] = pydantic.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
This is the function definition of the tool.
|
|
43
|
+
|
|
44
|
+
For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
45
|
+
|
|
46
|
+
An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
server: typing.Optional[Server] = pydantic.Field(default=None)
|
|
50
|
+
"""
|
|
51
|
+
This is the server that will be hit when this tool is requested by the model.
|
|
52
|
+
|
|
53
|
+
All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
54
|
+
|
|
55
|
+
This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
if IS_PYDANTIC_V2:
|
|
59
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
60
|
+
else:
|
|
61
|
+
|
|
62
|
+
class Config:
|
|
63
|
+
frozen = True
|
|
64
|
+
smart_union = True
|
|
65
|
+
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 .tool_message_start import ToolMessageStart
|
|
5
|
+
from .tool_message_complete import ToolMessageComplete
|
|
6
|
+
from .tool_message_failed import ToolMessageFailed
|
|
7
|
+
from .tool_message_delayed import ToolMessageDelayed
|
|
8
|
+
|
|
9
|
+
CreateVoicemailToolDtoMessagesItem = typing.Union[
|
|
10
|
+
ToolMessageStart, ToolMessageComplete, ToolMessageFailed, ToolMessageDelayed
|
|
11
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import typing_extensions
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CreateVonageCredentialDto(UniversalBaseModel):
|
|
12
|
+
provider: typing.Literal["vonage"] = "vonage"
|
|
13
|
+
api_secret: typing_extensions.Annotated[str, FieldMetadata(alias="apiSecret")] = pydantic.Field()
|
|
14
|
+
"""
|
|
15
|
+
This is not returned in the API.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey")]
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from .create_vonage_phone_number_dto_fallback_destination import CreateVonagePhoneNumberDtoFallbackDestination
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CreateVonagePhoneNumberDto(UniversalBaseModel):
|
|
13
|
+
fallback_destination: typing_extensions.Annotated[
|
|
14
|
+
typing.Optional[CreateVonagePhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination")
|
|
15
|
+
] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
This is the fallback destination an inbound call will be transferred to if:
|
|
18
|
+
|
|
19
|
+
1. `assistantId` is not set
|
|
20
|
+
2. `squadId` is not set
|
|
21
|
+
3. and, `assistant-request` message to the `serverUrl` fails
|
|
22
|
+
|
|
23
|
+
If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
provider: typing.Literal["vonage"] = "vonage"
|
|
27
|
+
number: str = pydantic.Field()
|
|
28
|
+
"""
|
|
29
|
+
These are the digits of the phone number you own on your Vonage.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
credential_id: typing_extensions.Annotated[str, FieldMetadata(alias="credentialId")] = pydantic.Field()
|
|
33
|
+
"""
|
|
34
|
+
This is the credential that is used to make outgoing calls, and do operations like call transfer and hang up.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
This is the name of the phone number. This is just for your own reference.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
assistant_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantId")] = (
|
|
43
|
+
pydantic.Field(default=None)
|
|
44
|
+
)
|
|
45
|
+
"""
|
|
46
|
+
This is the assistant that will be used for incoming calls to this phone number.
|
|
47
|
+
|
|
48
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
squad_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="squadId")] = pydantic.Field(
|
|
52
|
+
default=None
|
|
53
|
+
)
|
|
54
|
+
"""
|
|
55
|
+
This is the squad that will be used for incoming calls to this phone number.
|
|
56
|
+
|
|
57
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
server_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrl")] = pydantic.Field(
|
|
61
|
+
default=None
|
|
62
|
+
)
|
|
63
|
+
"""
|
|
64
|
+
This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.
|
|
65
|
+
|
|
66
|
+
You can see the shape of the messages sent in `ServerMessage`.
|
|
67
|
+
|
|
68
|
+
This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
server_url_secret: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrlSecret")] = (
|
|
72
|
+
pydantic.Field(default=None)
|
|
73
|
+
)
|
|
74
|
+
"""
|
|
75
|
+
This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.
|
|
76
|
+
|
|
77
|
+
Same precedence logic as serverUrl.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
if IS_PYDANTIC_V2:
|
|
81
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
82
|
+
else:
|
|
83
|
+
|
|
84
|
+
class Config:
|
|
85
|
+
frozen = True
|
|
86
|
+
smart_union = True
|
|
87
|
+
extra = pydantic.Extra.allow
|
|
@@ -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
|
+
CreateVonagePhoneNumberDtoFallbackDestination = typing.Union[TransferDestinationNumber, TransferDestinationSip]
|
|
@@ -0,0 +1,63 @@
|
|
|
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 ..core.serialization import FieldMetadata
|
|
11
|
+
import pydantic
|
|
12
|
+
from .create_assistant_dto import CreateAssistantDto
|
|
13
|
+
from .assistant_overrides import AssistantOverrides
|
|
14
|
+
from .create_squad_dto import CreateSquadDto
|
|
15
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
16
|
+
from ..core.pydantic_utilities import update_forward_refs
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CreateWebCallDto(UniversalBaseModel):
|
|
20
|
+
assistant_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantId")] = (
|
|
21
|
+
pydantic.Field(default=None)
|
|
22
|
+
)
|
|
23
|
+
"""
|
|
24
|
+
This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
assistant: typing.Optional[CreateAssistantDto] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
assistant_overrides: typing_extensions.Annotated[
|
|
33
|
+
typing.Optional[AssistantOverrides], FieldMetadata(alias="assistantOverrides")
|
|
34
|
+
] = pydantic.Field(default=None)
|
|
35
|
+
"""
|
|
36
|
+
These are the overrides for the `assistant` or `assistantId`'s settings and template variables.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
squad_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="squadId")] = pydantic.Field(
|
|
40
|
+
default=None
|
|
41
|
+
)
|
|
42
|
+
"""
|
|
43
|
+
This is the squad that will be used for the call. To use a transient squad, use `squad` instead.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
squad: typing.Optional[CreateSquadDto] = pydantic.Field(default=None)
|
|
47
|
+
"""
|
|
48
|
+
This is a squad that will be used for the call. To use an existing squad, use `squadId` instead.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
if IS_PYDANTIC_V2:
|
|
52
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
53
|
+
else:
|
|
54
|
+
|
|
55
|
+
class Config:
|
|
56
|
+
frozen = True
|
|
57
|
+
smart_union = True
|
|
58
|
+
extra = pydantic.Extra.allow
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
update_forward_refs(CallbackStep, CreateWebCallDto=CreateWebCallDto)
|
|
62
|
+
update_forward_refs(CreateWorkflowBlockDto, CreateWebCallDto=CreateWebCallDto)
|
|
63
|
+
update_forward_refs(HandoffStep, CreateWebCallDto=CreateWebCallDto)
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
import typing
|
|
6
|
+
from .create_workflow_block_dto_messages_item import CreateWorkflowBlockDtoMessagesItem
|
|
7
|
+
import pydantic
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from .json_schema import JsonSchema
|
|
10
|
+
from ..core.serialization import FieldMetadata
|
|
11
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
12
|
+
from ..core.pydantic_utilities import update_forward_refs
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class CreateWorkflowBlockDto(UniversalBaseModel):
|
|
16
|
+
messages: typing.Optional[typing.List[CreateWorkflowBlockDtoMessagesItem]] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
These are the pre-configured messages that will be spoken to the user while the block is running.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
input_schema: typing_extensions.Annotated[typing.Optional[JsonSchema], FieldMetadata(alias="inputSchema")] = (
|
|
22
|
+
pydantic.Field(default=None)
|
|
23
|
+
)
|
|
24
|
+
"""
|
|
25
|
+
This is the input schema for the block. This is the input the block needs to run. It's given to the block as `steps[0].input`
|
|
26
|
+
|
|
27
|
+
These are accessible as variables:
|
|
28
|
+
|
|
29
|
+
- ({{input.propertyName}}) in context of the block execution (step)
|
|
30
|
+
- ({{stepName.input.propertyName}}) in context of the workflow
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
output_schema: typing_extensions.Annotated[typing.Optional[JsonSchema], FieldMetadata(alias="outputSchema")] = (
|
|
34
|
+
pydantic.Field(default=None)
|
|
35
|
+
)
|
|
36
|
+
"""
|
|
37
|
+
This is the output schema for the block. This is the output the block will return to the workflow (`{{stepName.output}}`).
|
|
38
|
+
|
|
39
|
+
These are accessible as variables:
|
|
40
|
+
|
|
41
|
+
- ({{output.propertyName}}) in context of the block execution (step)
|
|
42
|
+
- ({{stepName.output.propertyName}}) in context of the workflow (read caveat #1)
|
|
43
|
+
- ({{blockName.output.propertyName}}) in context of the workflow (read caveat #2)
|
|
44
|
+
|
|
45
|
+
Caveats:
|
|
46
|
+
|
|
47
|
+
1. a workflow can execute a step multiple times. example, if a loop is used in the graph. {{stepName.output.propertyName}} will reference the latest usage of the step.
|
|
48
|
+
2. a workflow can execute a block multiple times. example, if a step is called multiple times or if a block is used in multiple steps. {{blockName.output.propertyName}} will reference the latest usage of the block. this liquid variable is just provided for convenience when creating blocks outside of a workflow with steps.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
type: typing.Literal["workflow"] = "workflow"
|
|
52
|
+
steps: typing.Optional[typing.List["CreateWorkflowBlockDtoStepsItem"]] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
These are the steps in the workflow.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
58
|
+
"""
|
|
59
|
+
This is the name of the block. This is just for your reference.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
if IS_PYDANTIC_V2:
|
|
63
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
64
|
+
else:
|
|
65
|
+
|
|
66
|
+
class Config:
|
|
67
|
+
frozen = True
|
|
68
|
+
smart_union = True
|
|
69
|
+
extra = pydantic.Extra.allow
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
from .callback_step import CallbackStep # noqa: E402
|
|
73
|
+
from .handoff_step import HandoffStep # noqa: E402
|
|
74
|
+
from .create_workflow_block_dto_steps_item import CreateWorkflowBlockDtoStepsItem # noqa: E402
|
|
75
|
+
|
|
76
|
+
update_forward_refs(CallbackStep, CreateWorkflowBlockDto=CreateWorkflowBlockDto)
|
|
77
|
+
update_forward_refs(HandoffStep, CreateWorkflowBlockDto=CreateWorkflowBlockDto)
|
|
78
|
+
update_forward_refs(CreateWorkflowBlockDto)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .block_start_message import BlockStartMessage
|
|
5
|
+
from .block_complete_message import BlockCompleteMessage
|
|
6
|
+
|
|
7
|
+
CreateWorkflowBlockDtoMessagesItem = typing.Union[BlockStartMessage, BlockCompleteMessage]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
import typing
|
|
5
|
+
import typing
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from .handoff_step import HandoffStep
|
|
9
|
+
from .callback_step import CallbackStep
|
|
10
|
+
CreateWorkflowBlockDtoStepsItem = typing.Union["HandoffStep", "CallbackStep"]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import typing_extensions
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
import datetime as dt
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CustomLlmCredential(UniversalBaseModel):
|
|
13
|
+
provider: typing.Literal["custom-llm"] = "custom-llm"
|
|
14
|
+
api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey")] = pydantic.Field()
|
|
15
|
+
"""
|
|
16
|
+
This is not returned in the API.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
id: str = pydantic.Field()
|
|
20
|
+
"""
|
|
21
|
+
This is the unique identifier for the credential.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId")] = pydantic.Field()
|
|
25
|
+
"""
|
|
26
|
+
This is the unique identifier for the org that this credential belongs to.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")] = pydantic.Field()
|
|
30
|
+
"""
|
|
31
|
+
This is the ISO 8601 date-time string of when the credential was created.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")] = pydantic.Field()
|
|
35
|
+
"""
|
|
36
|
+
This is the ISO 8601 date-time string of when the assistant was last updated.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
if IS_PYDANTIC_V2:
|
|
40
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
41
|
+
else:
|
|
42
|
+
|
|
43
|
+
class Config:
|
|
44
|
+
frozen = True
|
|
45
|
+
smart_union = True
|
|
46
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,115 @@
|
|
|
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 .open_ai_message import OpenAiMessage
|
|
6
|
+
import pydantic
|
|
7
|
+
from .custom_llm_model_tools_item import CustomLlmModelToolsItem
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode
|
|
11
|
+
from .knowledge_base import KnowledgeBase
|
|
12
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class CustomLlmModel(UniversalBaseModel):
|
|
16
|
+
messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
This is the starting state for the conversation.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
tools: typing.Optional[typing.List[CustomLlmModelToolsItem]] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
|
|
24
|
+
|
|
25
|
+
Both `tools` and `toolIds` can be used together.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
tool_ids: typing_extensions.Annotated[typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds")] = (
|
|
29
|
+
pydantic.Field(default=None)
|
|
30
|
+
)
|
|
31
|
+
"""
|
|
32
|
+
These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
33
|
+
|
|
34
|
+
Both `tools` and `toolIds` can be used together.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
provider: typing.Literal["custom-llm"] = pydantic.Field(default="custom-llm")
|
|
38
|
+
"""
|
|
39
|
+
This is the provider that will be used for the model. Any service, including your own server, that is compatible with the OpenAI API can be used.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
metadata_send_mode: typing_extensions.Annotated[
|
|
43
|
+
typing.Optional[CustomLlmModelMetadataSendMode], FieldMetadata(alias="metadataSendMode")
|
|
44
|
+
] = pydantic.Field(default=None)
|
|
45
|
+
"""
|
|
46
|
+
This determines whether metadata is sent in requests to the custom provider.
|
|
47
|
+
|
|
48
|
+
- `off` will not send any metadata. payload will look like `{ messages }`
|
|
49
|
+
- `variable` will send `assistant.metadata` as a variable on the payload. payload will look like `{ messages, metadata }`
|
|
50
|
+
- `destructured` will send `assistant.metadata` fields directly on the payload. payload will look like `{ messages, ...metadata }`
|
|
51
|
+
|
|
52
|
+
Further, `variable` and `destructured` will send `call`, `phoneNumber`, and `customer` objects in the payload.
|
|
53
|
+
|
|
54
|
+
Default is `variable`.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
url: str = pydantic.Field()
|
|
58
|
+
"""
|
|
59
|
+
These is the URL we'll use for the OpenAI client's `baseURL`. Ex. https://openrouter.ai/api/v1
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
model: str = pydantic.Field()
|
|
63
|
+
"""
|
|
64
|
+
This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
temperature: typing.Optional[float] = pydantic.Field(default=None)
|
|
68
|
+
"""
|
|
69
|
+
This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
knowledge_base: typing_extensions.Annotated[
|
|
73
|
+
typing.Optional[KnowledgeBase], FieldMetadata(alias="knowledgeBase")
|
|
74
|
+
] = pydantic.Field(default=None)
|
|
75
|
+
"""
|
|
76
|
+
These are the options for the knowledge base.
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
max_tokens: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="maxTokens")] = pydantic.Field(
|
|
80
|
+
default=None
|
|
81
|
+
)
|
|
82
|
+
"""
|
|
83
|
+
This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
emotion_recognition_enabled: typing_extensions.Annotated[
|
|
87
|
+
typing.Optional[bool], FieldMetadata(alias="emotionRecognitionEnabled")
|
|
88
|
+
] = pydantic.Field(default=None)
|
|
89
|
+
"""
|
|
90
|
+
This determines whether we detect user's emotion while they speak and send it as an additional info to model.
|
|
91
|
+
|
|
92
|
+
Default `false` because the model is usually are good at understanding the user's emotion from text.
|
|
93
|
+
|
|
94
|
+
@default false
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
num_fast_turns: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="numFastTurns")] = (
|
|
98
|
+
pydantic.Field(default=None)
|
|
99
|
+
)
|
|
100
|
+
"""
|
|
101
|
+
This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.
|
|
102
|
+
|
|
103
|
+
Default is 0.
|
|
104
|
+
|
|
105
|
+
@default 0
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
if IS_PYDANTIC_V2:
|
|
109
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
110
|
+
else:
|
|
111
|
+
|
|
112
|
+
class Config:
|
|
113
|
+
frozen = True
|
|
114
|
+
smart_union = True
|
|
115
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .create_dtmf_tool_dto import CreateDtmfToolDto
|
|
5
|
+
from .create_end_call_tool_dto import CreateEndCallToolDto
|
|
6
|
+
from .create_voicemail_tool_dto import CreateVoicemailToolDto
|
|
7
|
+
from .create_function_tool_dto import CreateFunctionToolDto
|
|
8
|
+
from .create_ghl_tool_dto import CreateGhlToolDto
|
|
9
|
+
from .create_make_tool_dto import CreateMakeToolDto
|
|
10
|
+
from .create_transfer_call_tool_dto import CreateTransferCallToolDto
|
|
11
|
+
|
|
12
|
+
CustomLlmModelToolsItem = typing.Union[
|
|
13
|
+
CreateDtmfToolDto,
|
|
14
|
+
CreateEndCallToolDto,
|
|
15
|
+
CreateVoicemailToolDto,
|
|
16
|
+
CreateFunctionToolDto,
|
|
17
|
+
CreateGhlToolDto,
|
|
18
|
+
CreateMakeToolDto,
|
|
19
|
+
CreateTransferCallToolDto,
|
|
20
|
+
]
|