From f2fa65048a3a8f3f2797df077d809f1217d1624f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:32:28 +0000 Subject: [PATCH 1/4] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-ruby-sdk: 1.1.13 --- .fern/metadata.json | 6 +- .fern/replay.lock | 10 + .fernignore | 3 + .gitattributes | 1 + Gemfile.lock | 12 +- lib/vapi.rb | 536 ++++++++++++++---- lib/vapi/analytics/client.rb | 3 + lib/vapi/assistants/client.rb | 12 + .../update_assistant_dto_credentials_item.rb | 3 +- .../types/update_assistant_dto_model.rb | 1 + .../types/update_assistant_dto_transcriber.rb | 2 + .../types/update_assistant_dto_voice.rb | 2 + lib/vapi/board/client.rb | 238 ++++++++ .../board_controller_find_all_request.rb | 22 + ...ard_controller_find_all_request_sort_by.rb | 15 + ..._controller_find_all_request_sort_order.rb | 14 + .../board_controller_find_one_request.rb | 11 + .../types/board_controller_remove_request.rb | 11 + lib/vapi/board/types/create_board_dto.rb | 14 + .../types/create_board_dto_items_item.rb | 14 + lib/vapi/board/types/update_board_dto.rb | 15 + .../types/update_board_dto_items_item.rb | 14 + lib/vapi/calls/client.rb | 222 ++++++++ ...er_assistant_recording_download_request.rb | 11 + ...t_controller_call_logs_download_request.rb | 11 + ...ler_customer_recording_download_request.rb | 11 + ...troller_mono_recording_download_request.rb | 11 + ...tifact_controller_pcap_download_request.rb | 11 + ...oller_stereo_recording_download_request.rb | 11 + ...roller_video_recording_download_request.rb | 11 + lib/vapi/calls/types/create_call_dto.rb | 3 +- .../calls/types/create_call_dto_transport.rb | 21 + lib/vapi/campaigns/client.rb | 225 +++++++- .../campaign_controller_find_all_request.rb | 1 + ...ign_controller_find_all_request_sort_by.rb | 15 + ...aign_controller_find_all_request_status.rb | 2 + ...ampaign_controller_find_all_v_2_request.rb | 24 + ...controller_find_all_v_2_request_sort_by.rb | 15 + ...roller_find_all_v_2_request_sort_order.rb} | 5 +- ..._controller_find_all_v_2_request_status.rb | 17 + ...ampaign_controller_find_one_v_2_request.rb | 11 + .../campaign_controller_remove_v_2_request.rb | 11 + .../campaign_controller_update_request.rb | 12 + .../campaign_controller_update_v_2_request.rb | 12 + .../campaigns/types/create_campaign_dto.rb | 18 - .../campaigns/types/update_campaign_dto.rb | 19 - lib/vapi/chats/client.rb | 4 +- lib/vapi/chats/types/list_chats_request.rb | 1 + .../chats/types/list_chats_request_sort_by.rb | 15 + lib/vapi/client.rb | 7 +- lib/vapi/eval/client.rb | 29 +- .../eval_controller_get_paginated_request.rb | 1 + ...ontroller_get_paginated_request_sort_by.rb | 15 + ...l_controller_get_runs_paginated_request.rb | 1 + ...ller_get_runs_paginated_request_sort_by.rb | 15 + lib/vapi/files/client.rb | 19 +- lib/vapi/files/types/list_files_request.rb | 11 + lib/vapi/insight/client.rb | 20 +- .../insight_controller_find_all_request.rb | 1 + ...ght_controller_find_all_request_sort_by.rb | 15 + lib/vapi/insight/types/insight_run_dto.rb | 1 + lib/vapi/observability_scorecard/client.rb | 15 +- ...recard_controller_get_paginated_request.rb | 1 + ...ontroller_get_paginated_request_sort_by.rb | 15 + lib/vapi/phone_numbers/client.rb | 19 +- ...r_controller_find_all_paginated_request.rb | 1 + ...ller_find_all_paginated_request_sort_by.rb | 15 + lib/vapi/provider_resources/client.rb | 15 +- ...et_provider_resources_paginated_request.rb | 1 + ...der_resources_paginated_request_sort_by.rb | 15 + lib/vapi/sessions/client.rb | 6 +- .../sessions/types/list_sessions_request.rb | 2 + .../types/list_sessions_request_sort_by.rb | 15 + lib/vapi/squads/client.rb | 11 + lib/vapi/structured_outputs/client.rb | 23 +- ...ured_output_controller_find_all_request.rb | 1 + ...put_controller_find_all_request_sort_by.rb | 15 + ...ructured_output_controller_run_response.rb | 14 + ...red_output_controller_run_response_zero.rb | 11 + .../types/update_structured_output_dto.rb | 1 + ...e_structured_output_dto_conditions_item.rb | 17 + lib/vapi/tools/client.rb | 11 + lib/vapi/types/ai_edge_condition.rb | 1 + lib/vapi/types/analysis.rb | 1 + lib/vapi/types/analysis_cost.rb | 1 + lib/vapi/types/analysis_cost_breakdown.rb | 2 + lib/vapi/types/analysis_plan.rb | 1 + lib/vapi/types/analytics_operation.rb | 1 + lib/vapi/types/analytics_query.rb | 2 + lib/vapi/types/analytics_query_result.rb | 1 + .../anthropic_bedrock_credential_region.rb | 1 + lib/vapi/types/anthropic_bedrock_model.rb | 3 + .../types/anthropic_bedrock_model_model.rb | 1 + lib/vapi/types/anthropic_model.rb | 3 + lib/vapi/types/anthropic_model_model.rb | 1 + lib/vapi/types/anthropic_thinking_config.rb | 1 + lib/vapi/types/anyscale_model.rb | 3 + lib/vapi/types/api_request_tool.rb | 5 +- lib/vapi/types/artifact.rb | 13 +- lib/vapi/types/artifact_plan.rb | 2 + lib/vapi/types/assembly_ai_transcriber.rb | 2 + lib/vapi/types/assistant.rb | 3 + lib/vapi/types/assistant_activation.rb | 2 + lib/vapi/types/assistant_credentials_item.rb | 3 +- .../assistant_custom_endpointing_rule.rb | 1 + lib/vapi/types/assistant_draft.rb | 46 ++ .../types/assistant_draft_background_sound.rb | 14 + .../assistant_draft_background_sound_zero.rb | 12 + .../assistant_draft_client_messages_item.rb | 29 + .../assistant_draft_conflict_response_dto.rb | 11 + .../types/assistant_draft_credentials_item.rb | 69 +++ .../assistant_draft_first_message_mode.rb | 13 + lib/vapi/types/assistant_draft_hooks_item.rb | 15 + lib/vapi/types/assistant_draft_model.rb | 30 + .../assistant_draft_paginated_metadata.rb | 11 + .../assistant_draft_paginated_response.rb | 10 + .../assistant_draft_server_messages_item.rb | 37 ++ lib/vapi/types/assistant_draft_transcriber.rb | 27 + lib/vapi/types/assistant_draft_voice.rb | 33 ++ .../assistant_draft_voicemail_detection.rb | 18 + ...ssistant_draft_voicemail_detection_zero.rb | 11 + lib/vapi/types/assistant_message.rb | 1 + ...istant_message_evaluation_continue_plan.rb | 2 + .../types/assistant_message_judge_plan_ai.rb | 1 + .../assistant_message_judge_plan_exact.rb | 1 + .../assistant_message_judge_plan_regex.rb | 1 + lib/vapi/types/assistant_model.rb | 1 + lib/vapi/types/assistant_overrides.rb | 2 + .../assistant_overrides_credentials_item.rb | 3 +- lib/vapi/types/assistant_overrides_model.rb | 1 + .../types/assistant_overrides_transcriber.rb | 2 + lib/vapi/types/assistant_overrides_voice.rb | 2 + .../assistant_pinned_conflict_response_dto.rb | 10 + ...tant_pinned_conflict_response_dto_error.rb | 11 + lib/vapi/types/assistant_transcriber.rb | 2 + lib/vapi/types/assistant_version.rb | 50 ++ .../assistant_version_background_sound.rb | 14 + ...assistant_version_background_sound_zero.rb | 12 + .../assistant_version_client_messages_item.rb | 29 + .../assistant_version_credentials_item.rb | 69 +++ .../assistant_version_first_message_mode.rb | 13 + .../types/assistant_version_hooks_item.rb | 15 + lib/vapi/types/assistant_version_model.rb | 30 + .../assistant_version_paginated_metadata.rb | 11 + .../assistant_version_paginated_response.rb | 5 +- .../assistant_version_server_messages_item.rb | 37 ++ .../types/assistant_version_transcriber.rb | 27 + lib/vapi/types/assistant_version_voice.rb | 33 ++ .../assistant_version_voicemail_detection.rb | 18 + ...istant_version_voicemail_detection_zero.rb | 11 + lib/vapi/types/assistant_voice.rb | 2 + lib/vapi/types/audio_format.rb | 11 + ..._provider.rb => audio_format_container.rb} | 4 +- lib/vapi/types/aws_sts_authentication_plan.rb | 1 + .../awsiam_credentials_authentication_plan.rb | 1 + .../types/azure_blob_storage_bucket_plan.rb | 2 + lib/vapi/types/azure_credential_region.rb | 2 + .../azure_open_ai_credential_models_item.rb | 3 + .../types/azure_open_ai_credential_region.rb | 2 + lib/vapi/types/azure_speech_transcriber.rb | 2 + lib/vapi/types/azure_voice.rb | 2 + .../types/background_speech_denoising_plan.rb | 1 + lib/vapi/types/backoff_plan.rb | 2 + lib/vapi/types/bar_insight.rb | 3 + lib/vapi/types/bar_insight_metadata.rb | 1 + lib/vapi/types/bash_tool.rb | 2 + lib/vapi/types/bearer_authentication_plan.rb | 2 + lib/vapi/types/board.rb | 17 + lib/vapi/types/board_insight_item.rb | 13 + ...provider.rb => board_insight_item_type.rb} | 4 +- lib/vapi/types/board_item_position.rb | 10 + lib/vapi/types/board_item_size.rb | 10 + lib/vapi/types/board_items_item.rb | 12 + lib/vapi/types/board_layout.rb | 9 + lib/vapi/types/board_metric_widget_item.rb | 13 + .../types/board_metric_widget_item_type.rb | 13 + lib/vapi/types/board_paginated_response.rb | 10 + ...n_comparator_scorecard_metric_condition.rb | 12 + ...r_scorecard_metric_condition_comparator.rb | 11 + ...parator_scorecard_metric_condition_type.rb | 11 + lib/vapi/types/bot_message.rb | 3 + .../types/both_custom_endpointing_rule.rb | 2 + lib/vapi/types/bucket_plan.rb | 2 + lib/vapi/types/byo_phone_number.rb | 2 + lib/vapi/types/byo_sip_trunk_credential.rb | 1 - lib/vapi/types/call.rb | 6 +- lib/vapi/types/call_batch_error.rb | 1 + lib/vapi/types/call_batch_response.rb | 2 + lib/vapi/types/call_ended_reason.rb | 24 + .../call_hook_assistant_speech_interrupted.rb | 1 + lib/vapi/types/call_hook_call_ending.rb | 1 + .../call_hook_customer_speech_interrupted.rb | 1 + .../call_hook_customer_speech_timeout.rb | 2 + lib/vapi/types/call_hook_filter.rb | 1 + .../types/call_hook_model_response_timeout.rb | 1 + lib/vapi/types/call_transport.rb | 19 + lib/vapi/types/campaign.rb | 8 + lib/vapi/types/campaign_contact.rb | 17 + lib/vapi/types/campaign_paginated_response.rb | 1 + lib/vapi/types/campaign_predial_plan.rb | 9 + .../types/campaign_server_messages_item.rb | 21 + lib/vapi/types/campaign_status.rb | 2 + lib/vapi/types/cartesia_credential.rb | 1 + .../types/cartesia_experimental_controls.rb | 1 + lib/vapi/types/cartesia_generation_config.rb | 1 + ...cartesia_generation_config_experimental.rb | 1 + lib/vapi/types/cartesia_speed_control.rb | 1 + lib/vapi/types/cartesia_transcriber.rb | 2 + lib/vapi/types/cartesia_transcriber_model.rb | 1 + lib/vapi/types/cartesia_voice.rb | 2 + lib/vapi/types/cartesia_voice_model.rb | 2 + lib/vapi/types/cerebras_model.rb | 3 + .../chat_eval_assistant_message_evaluation.rb | 2 + .../types/chat_eval_assistant_message_mock.rb | 1 + ...t_eval_assistant_message_mock_tool_call.rb | 1 + .../types/chat_eval_system_message_mock.rb | 1 + ...t_eval_tool_response_message_evaluation.rb | 1 + .../chat_eval_tool_response_message_mock.rb | 1 + lib/vapi/types/chat_eval_user_message_mock.rb | 1 + lib/vapi/types/chunk_plan.rb | 2 + .../types/client_message_assistant_speech.rb | 1 + .../types/client_message_assistant_started.rb | 1 + .../client_message_call_delete_failed.rb | 1 + lib/vapi/types/client_message_call_deleted.rb | 1 + lib/vapi/types/client_message_chat_created.rb | 1 + lib/vapi/types/client_message_chat_deleted.rb | 1 + .../client_message_conversation_update.rb | 1 + lib/vapi/types/client_message_hang.rb | 1 + ...client_message_language_change_detected.rb | 1 + lib/vapi/types/client_message_metadata.rb | 1 + lib/vapi/types/client_message_model_output.rb | 1 + .../types/client_message_session_created.rb | 1 + .../types/client_message_session_deleted.rb | 1 + .../types/client_message_session_updated.rb | 1 + .../types/client_message_speech_update.rb | 1 + lib/vapi/types/client_message_tool_calls.rb | 1 + .../types/client_message_tool_calls_result.rb | 1 + lib/vapi/types/client_message_transcript.rb | 1 + .../types/client_message_transfer_update.rb | 1 + .../types/client_message_user_interrupted.rb | 1 + lib/vapi/types/client_message_voice_input.rb | 1 + .../client_message_workflow_node_started.rb | 1 + lib/vapi/types/cloudflare_r_2_bucket_plan.rb | 2 + lib/vapi/types/code_tool.rb | 2 + .../types/code_tool_environment_variable.rb | 1 + lib/vapi/types/compliance.rb | 1 + lib/vapi/types/compliance_override.rb | 1 + lib/vapi/types/compliance_plan.rb | 2 + .../compliance_plan_recording_consent_plan.rb | 1 + lib/vapi/types/computer_tool.rb | 3 + lib/vapi/types/condition.rb | 1 + .../types/context_engineering_plan_all.rb | 1 + ...ontext_engineering_plan_last_n_messages.rb | 1 + .../types/context_engineering_plan_none.rb | 1 + ...eering_plan_previous_assistant_messages.rb | 7 + ...eering_plan_user_and_assistant_messages.rb | 1 + lib/vapi/types/conversation_node.rb | 2 + .../types/conversation_node_transcriber.rb | 2 + lib/vapi/types/conversation_node_voice.rb | 2 + lib/vapi/types/cost_breakdown.rb | 2 + ...create_anthropic_bedrock_credential_dto.rb | 2 + ...anthropic_bedrock_credential_dto_region.rb | 1 + .../types/create_anthropic_credential_dto.rb | 1 + .../types/create_anyscale_credential_dto.rb | 1 + lib/vapi/types/create_api_request_tool_dto.rb | 4 +- .../create_assembly_ai_credential_dto.rb | 1 + lib/vapi/types/create_assistant_draft_dto.rb | 40 ++ ...te_assistant_draft_dto_background_sound.rb | 14 + ...sistant_draft_dto_background_sound_zero.rb | 12 + ...ssistant_draft_dto_client_messages_item.rb | 29 + ...te_assistant_draft_dto_credentials_item.rb | 69 +++ ..._assistant_draft_dto_first_message_mode.rb | 13 + .../create_assistant_draft_dto_hooks_item.rb | 15 + .../types/create_assistant_draft_dto_model.rb | 30 + ...ssistant_draft_dto_server_messages_item.rb | 37 ++ .../create_assistant_draft_dto_transcriber.rb | 27 + .../types/create_assistant_draft_dto_voice.rb | 33 ++ ...assistant_draft_dto_voicemail_detection.rb | 18 + ...tant_draft_dto_voicemail_detection_zero.rb | 11 + lib/vapi/types/create_assistant_dto.rb | 2 + .../create_assistant_dto_credentials_item.rb | 3 +- lib/vapi/types/create_assistant_dto_model.rb | 1 + .../types/create_assistant_dto_transcriber.rb | 2 + lib/vapi/types/create_assistant_dto_voice.rb | 2 + lib/vapi/types/create_azure_credential_dto.rb | 1 + .../create_azure_credential_dto_region.rb | 2 + .../create_azure_open_ai_credential_dto.rb | 2 + ...zure_open_ai_credential_dto_models_item.rb | 3 + ...ate_azure_open_ai_credential_dto_region.rb | 2 + .../create_bar_insight_from_call_table_dto.rb | 2 + lib/vapi/types/create_bash_tool_dto.rb | 1 + lib/vapi/types/create_byo_phone_number_dto.rb | 2 + .../create_byo_sip_trunk_credential_dto.rb | 3 +- lib/vapi/types/create_campaign_dto.rb | 25 + ...reate_campaign_dto_server_messages_item.rb | 21 + .../types/create_cartesia_credential_dto.rb | 2 + .../types/create_cerebras_credential_dto.rb | 1 + .../types/create_cloudflare_credential_dto.rb | 2 + lib/vapi/types/create_code_tool_dto.rb | 2 + lib/vapi/types/create_computer_tool_dto.rb | 2 + .../types/create_custom_credential_dto.rb | 2 + .../types/create_custom_knowledge_base_dto.rb | 1 + .../types/create_custom_llm_credential_dto.rb | 2 + lib/vapi/types/create_customer_dto.rb | 3 + .../types/create_deep_infra_credential_dto.rb | 1 + .../types/create_deep_seek_credential_dto.rb | 1 + .../types/create_deepgram_credential_dto.rb | 2 + lib/vapi/types/create_dtmf_tool_dto.rb | 1 + .../create_eleven_labs_credential_dto.rb | 2 + ...eate_eleven_labs_credential_dto_api_url.rb | 12 + lib/vapi/types/create_email_credential_dto.rb | 1 + lib/vapi/types/create_end_call_tool_dto.rb | 1 + lib/vapi/types/create_eval_dto.rb | 2 + lib/vapi/types/create_function_tool_dto.rb | 2 + lib/vapi/types/create_gcp_credential_dto.rb | 2 + .../types/create_gladia_credential_dto.rb | 1 + ...gh_level_calendar_availability_tool_dto.rb | 1 + ...gh_level_calendar_event_create_tool_dto.rb | 1 + ...e_go_high_level_contact_create_tool_dto.rb | 1 + ...eate_go_high_level_contact_get_tool_dto.rb | 1 + .../create_go_high_level_credential_dto.rb | 1 + ...create_go_high_level_mcp_credential_dto.rb | 1 + ...le_calendar_check_availability_tool_dto.rb | 1 + ...e_google_calendar_create_event_tool_dto.rb | 1 + ...r_o_auth_2_authorization_credential_dto.rb | 1 + ...calendar_o_auth_2_client_credential_dto.rb | 1 + .../types/create_google_credential_dto.rb | 1 + ...s_o_auth_2_authorization_credential_dto.rb | 1 + ...reate_google_sheets_row_append_tool_dto.rb | 1 + lib/vapi/types/create_groq_credential_dto.rb | 1 + lib/vapi/types/create_handoff_tool_dto.rb | 2 + lib/vapi/types/create_hume_credential_dto.rb | 1 + .../create_inflection_ai_credential_dto.rb | 1 + .../types/create_inworld_credential_dto.rb | 1 + .../types/create_langfuse_credential_dto.rb | 2 + ...create_line_insight_from_call_table_dto.rb | 2 + lib/vapi/types/create_lmnt_credential_dto.rb | 1 + lib/vapi/types/create_make_credential_dto.rb | 1 + lib/vapi/types/create_mcp_tool_dto.rb | 2 + .../types/create_microsoft_credential_dto.rb | 11 + .../types/create_minimax_credential_dto.rb | 2 + .../types/create_mistral_credential_dto.rb | 1 + .../types/create_neuphonic_credential_dto.rb | 1 + .../types/create_open_ai_credential_dto.rb | 1 + .../create_open_router_credential_dto.rb | 1 + lib/vapi/types/create_outbound_call_dto.rb | 3 +- .../create_outbound_call_dto_transport.rb | 19 + .../create_perplexity_ai_credential_dto.rb | 1 + .../create_pie_insight_from_call_table_dto.rb | 2 + .../types/create_play_ht_credential_dto.rb | 1 + lib/vapi/types/create_query_tool_dto.rb | 2 + .../types/create_rime_ai_credential_dto.rb | 1 + .../types/create_runpod_credential_dto.rb | 1 + .../create_s_3_compatible_credential_dto.rb | 11 + lib/vapi/types/create_s_3_credential_dto.rb | 2 + lib/vapi/types/create_scorecard_dto.rb | 2 + lib/vapi/types/create_sesame_voice_dto.rb | 5 +- .../types/create_simulation_run_response.rb | 25 + ...imulation_run_response_simulations_item.rb | 14 + .../create_simulation_run_response_status.rb | 13 + .../create_simulation_run_response_target.rb | 15 + lib/vapi/types/create_simulation_suite_dto.rb | 1 + lib/vapi/types/create_sip_request_tool_dto.rb | 2 + ...k_o_auth_2_authorization_credential_dto.rb | 1 + .../create_slack_send_message_tool_dto.rb | 1 + .../create_slack_webhook_credential_dto.rb | 1 + .../create_smallest_ai_credential_dto.rb | 1 + lib/vapi/types/create_sms_tool_dto.rb | 1 + .../types/create_soniox_credential_dto.rb | 2 + .../create_speechmatics_credential_dto.rb | 1 + lib/vapi/types/create_squad_dto.rb | 2 + .../types/create_structured_output_dto.rb | 3 + ...e_structured_output_dto_conditions_item.rb | 15 + .../types/create_supabase_credential_dto.rb | 2 + lib/vapi/types/create_tavus_credential_dto.rb | 1 + .../types/create_telnyx_phone_number_dto.rb | 1 + lib/vapi/types/create_text_editor_tool_dto.rb | 1 + ...create_text_insight_from_call_table_dto.rb | 2 + .../create_together_ai_credential_dto.rb | 1 + lib/vapi/types/create_tool_draft_dto.rb | 43 ++ .../create_tool_draft_dto_messages_item.rb | 16 + .../types/create_tool_draft_dto_method.rb | 15 + lib/vapi/types/create_tool_draft_dto_type.rb | 38 ++ lib/vapi/types/create_tool_draft_dto_verb.rb | 13 + .../types/create_transfer_call_tool_dto.rb | 1 + .../types/create_trieve_credential_dto.rb | 4 +- .../types/create_trieve_knowledge_base_dto.rb | 21 +- .../types/create_twilio_credential_dto.rb | 2 + .../types/create_twilio_phone_number_dto.rb | 1 + .../types/create_vapi_phone_number_dto.rb | 2 + lib/vapi/types/create_voicemail_tool_dto.rb | 1 + .../types/create_vonage_credential_dto.rb | 1 + .../types/create_vonage_phone_number_dto.rb | 1 + lib/vapi/types/create_web_call_dto.rb | 1 + .../types/create_well_said_credential_dto.rb | 1 + lib/vapi/types/create_workflow_dto.rb | 2 + .../create_workflow_dto_credentials_item.rb | 3 +- .../types/create_workflow_dto_transcriber.rb | 2 + lib/vapi/types/create_workflow_dto_voice.rb | 2 + lib/vapi/types/create_x_ai_credential_dto.rb | 1 + ...ndpointing_model_smart_endpointing_plan.rb | 1 + lib/vapi/types/custom_llm_model.rb | 3 + lib/vapi/types/custom_message.rb | 1 + lib/vapi/types/custom_transcriber.rb | 1 + lib/vapi/types/custom_voice.rb | 2 + .../types/customer_custom_endpointing_rule.rb | 1 + .../types/customer_speech_timeout_options.rb | 3 +- ...eech_timeout_options_trigger_reset_mode.rb | 12 + lib/vapi/types/deep_infra_model.rb | 3 + lib/vapi/types/deep_seek_model.rb | 3 + lib/vapi/types/deepgram_transcriber.rb | 5 +- .../deepgram_transcriber_redaction_item.rb | 14 + lib/vapi/types/deepgram_voice.rb | 2 + lib/vapi/types/deepgram_voice_id.rb | 7 + lib/vapi/types/developer_message.rb | 1 + lib/vapi/types/dial_plan_entry.rb | 1 + lib/vapi/types/dtmf_tool.rb | 2 + lib/vapi/types/edge.rb | 1 + lib/vapi/types/eleven_labs_credential.rb | 1 + .../types/eleven_labs_credential_api_url.rb | 12 + ...n_labs_pronunciation_dictionary_locator.rb | 1 + lib/vapi/types/eleven_labs_transcriber.rb | 2 + lib/vapi/types/eleven_labs_voice.rb | 3 + lib/vapi/types/end_call_tool.rb | 2 + lib/vapi/types/ended_reason_condition.rb | 10 + .../types/ended_reason_condition_operator.rb | 12 + lib/vapi/types/eval.rb | 2 + lib/vapi/types/eval_anthropic_model.rb | 2 + lib/vapi/types/eval_anthropic_model_model.rb | 1 + lib/vapi/types/eval_custom_model.rb | 2 + lib/vapi/types/eval_google_model.rb | 1 + lib/vapi/types/eval_google_model_model.rb | 2 + lib/vapi/types/eval_groq_model_model.rb | 1 - lib/vapi/types/eval_open_ai_model.rb | 1 + lib/vapi/types/eval_open_ai_model_model.rb | 8 + lib/vapi/types/eval_paginated_response.rb | 1 + lib/vapi/types/eval_run.rb | 2 + lib/vapi/types/eval_run_paginated_response.rb | 1 + lib/vapi/types/eval_run_result.rb | 1 + lib/vapi/types/eval_run_target_assistant.rb | 2 + lib/vapi/types/eval_run_target_squad.rb | 1 + lib/vapi/types/evaluation_plan_item.rb | 1 + .../types/events_table_boolean_condition.rb | 1 + .../types/events_table_number_condition.rb | 1 + .../types/events_table_string_condition.rb | 1 + lib/vapi/types/exact_replacement.rb | 1 + lib/vapi/types/export_chat_dto.rb | 1 + lib/vapi/types/export_chat_dto_sort_by.rb | 13 + lib/vapi/types/export_session_dto.rb | 1 + lib/vapi/types/export_session_dto_sort_by.rb | 13 + .../types/fallback_assembly_ai_transcriber.rb | 2 + .../fallback_azure_speech_transcriber.rb | 1 + lib/vapi/types/fallback_azure_voice.rb | 2 + .../types/fallback_cartesia_transcriber.rb | 1 + .../fallback_cartesia_transcriber_model.rb | 1 + lib/vapi/types/fallback_cartesia_voice.rb | 2 + .../types/fallback_cartesia_voice_model.rb | 2 + lib/vapi/types/fallback_custom_transcriber.rb | 1 + lib/vapi/types/fallback_custom_voice.rb | 2 + .../types/fallback_deepgram_transcriber.rb | 5 +- ...ack_deepgram_transcriber_redaction_item.rb | 14 + lib/vapi/types/fallback_deepgram_voice.rb | 2 + lib/vapi/types/fallback_deepgram_voice_id.rb | 7 + .../types/fallback_eleven_labs_transcriber.rb | 1 + lib/vapi/types/fallback_eleven_labs_voice.rb | 3 + lib/vapi/types/fallback_gladia_transcriber.rb | 4 +- ...back_gladia_transcriber_languages_item.rb} | 2 +- lib/vapi/types/fallback_google_transcriber.rb | 1 + .../fallback_google_transcriber_model.rb | 2 + lib/vapi/types/fallback_hume_voice.rb | 2 + lib/vapi/types/fallback_inworld_voice.rb | 2 + lib/vapi/types/fallback_lmnt_voice.rb | 2 + lib/vapi/types/fallback_microsoft_voice.rb | 15 + .../types/fallback_microsoft_voice_role.rb | 18 + .../types/fallback_microsoft_voice_style.rb | 39 ++ .../fallback_microsoft_voice_voice_id.rb | 56 ++ lib/vapi/types/fallback_neuphonic_voice.rb | 2 + .../types/fallback_open_ai_transcriber.rb | 1 + lib/vapi/types/fallback_open_ai_voice.rb | 2 + lib/vapi/types/fallback_plan.rb | 1 + lib/vapi/types/fallback_plan_voices_item.rb | 2 + lib/vapi/types/fallback_play_ht_voice.rb | 2 + lib/vapi/types/fallback_rime_ai_voice.rb | 2 + lib/vapi/types/fallback_sesame_voice.rb | 2 + lib/vapi/types/fallback_smallest_ai_voice.rb | 2 + lib/vapi/types/fallback_soniox_transcriber.rb | 4 + ...lback_soniox_transcriber_languages_item.rb | 195 +++++++ .../fallback_soniox_transcriber_model.rb | 1 + .../fallback_speechmatics_transcriber.rb | 2 + .../types/fallback_talkscriber_transcriber.rb | 1 + lib/vapi/types/fallback_tavus_voice.rb | 2 + lib/vapi/types/fallback_transcriber_plan.rb | 3 +- ...back_transcriber_plan_transcribers_item.rb | 1 + lib/vapi/types/fallback_vapi_voice.rb | 4 + .../types/fallback_vapi_voice_language.rb | 67 +++ lib/vapi/types/fallback_vapi_voice_version.rb | 13 + .../types/fallback_vapi_voice_voice_id.rb | 14 +- lib/vapi/types/fallback_well_said_voice.rb | 2 + lib/vapi/types/fallback_xai_transcriber.rb | 10 + .../fallback_xai_transcriber_language.rb | 35 ++ ...e.rb => fallback_xai_transcriber_model.rb} | 4 +- lib/vapi/types/fallback_xai_voice.rb | 13 + lib/vapi/types/fallback_xai_voice_language.rb | 31 + lib/vapi/types/fallback_xai_voice_voice_id.rb | 15 + lib/vapi/types/file.rb | 2 + .../filter_date_type_column_on_call_table.rb | 1 + ..._number_array_type_column_on_call_table.rb | 1 + ...filter_number_type_column_on_call_table.rb | 1 + ..._string_array_type_column_on_call_table.rb | 1 + ...filter_string_type_column_on_call_table.rb | 1 + ..._structured_output_column_on_call_table.rb | 2 + lib/vapi/types/format_plan.rb | 2 + lib/vapi/types/fourier_denoising_plan.rb | 2 + lib/vapi/types/function_tool.rb | 3 + lib/vapi/types/gcp_key.rb | 1 + ...i_multimodal_live_prebuilt_voice_config.rb | 1 + .../gemini_multimodal_live_speech_config.rb | 1 + .../gemini_multimodal_live_voice_config.rb | 1 + lib/vapi/types/get_chat_paginated_dto.rb | 1 + .../types/get_chat_paginated_dto_sort_by.rb | 13 + lib/vapi/types/get_eval_paginated_dto.rb | 1 + .../types/get_eval_paginated_dto_sort_by.rb | 13 + lib/vapi/types/get_eval_run_paginated_dto.rb | 1 + .../get_eval_run_paginated_dto_sort_by.rb | 13 + lib/vapi/types/get_session_paginated_dto.rb | 1 + .../get_session_paginated_dto_sort_by.rb | 13 + lib/vapi/types/get_tool_drafts_dto.rb | 11 + lib/vapi/types/ghl_tool.rb | 1 + lib/vapi/types/ghl_tool_metadata.rb | 1 + .../gladia_custom_vocabulary_config_dto.rb | 2 + lib/vapi/types/gladia_transcriber.rb | 4 +- ...b => gladia_transcriber_languages_item.rb} | 2 +- lib/vapi/types/gladia_vocabulary_item_dto.rb | 1 + lib/vapi/types/global_node_plan.rb | 1 + ...o_high_level_calendar_availability_tool.rb | 2 + ...o_high_level_calendar_event_create_tool.rb | 2 + .../go_high_level_contact_create_tool.rb | 2 + .../types/go_high_level_contact_get_tool.rb | 2 + ...google_calendar_check_availability_tool.rb | 2 + .../google_calendar_create_event_tool.rb | 2 + lib/vapi/types/google_model.rb | 3 + lib/vapi/types/google_model_model.rb | 2 + lib/vapi/types/google_realtime_config.rb | 2 + .../types/google_sheets_row_append_tool.rb | 2 + lib/vapi/types/google_transcriber.rb | 2 + lib/vapi/types/google_transcriber_model.rb | 2 + .../types/google_voicemail_detection_plan.rb | 1 + lib/vapi/types/groq_model.rb | 3 + lib/vapi/types/groq_model_model.rb | 1 - lib/vapi/types/group_condition.rb | 1 + .../types/handoff_destination_assistant.rb | 2 + ...tion_assistant_context_engineering_plan.rb | 1 + lib/vapi/types/handoff_destination_dynamic.rb | 1 + lib/vapi/types/handoff_destination_squad.rb | 2 + ...tination_squad_context_engineering_plan.rb | 1 + lib/vapi/types/handoff_tool.rb | 2 + lib/vapi/types/hmac_authentication_plan.rb | 2 + lib/vapi/types/hume_voice.rb | 2 + .../types/import_twilio_phone_number_dto.rb | 2 + lib/vapi/types/inflection_ai_model.rb | 3 + lib/vapi/types/insight.rb | 3 + lib/vapi/types/insight_formula.rb | 1 + lib/vapi/types/insight_paginated_response.rb | 1 + lib/vapi/types/insight_run_format_plan.rb | 1 + lib/vapi/types/insight_run_response.rb | 1 + lib/vapi/types/insight_time_range.rb | 1 + .../types/insight_time_range_with_step.rb | 1 + lib/vapi/types/invite_user_dto_role.rb | 9 +- lib/vapi/types/invite_user_dto_role_zero.rb | 13 + lib/vapi/types/inworld_voice.rb | 2 + ...y_on_call_table_with_number_type_column.rb | 1 + ...y_on_call_table_with_string_type_column.rb | 1 + ...all_table_with_structured_output_column.rb | 1 + lib/vapi/types/json_query_on_events_table.rb | 2 + .../types/json_query_on_events_table_on.rb | 1 + lib/vapi/types/json_schema.rb | 1 + lib/vapi/types/keypad_input_plan.rb | 2 + lib/vapi/types/knowledge_base.rb | 1 + lib/vapi/types/knowledge_base_cost.rb | 1 + lib/vapi/types/knowledge_base_model.rb | 2 + lib/vapi/types/langfuse_observability_plan.rb | 2 + lib/vapi/types/legacy_assistant_version.rb | 13 + ...cy_assistant_version_paginated_response.rb | 11 + lib/vapi/types/line_insight.rb | 3 + lib/vapi/types/line_insight_metadata.rb | 1 + lib/vapi/types/liquid_condition.rb | 1 + .../types/livekit_smart_endpointing_plan.rb | 1 + lib/vapi/types/lmnt_voice.rb | 2 + lib/vapi/types/make_tool.rb | 1 + lib/vapi/types/mcp_tool.rb | 2 + lib/vapi/types/mcp_tool_messages.rb | 1 + lib/vapi/types/mcp_tool_metadata.rb | 1 + lib/vapi/types/message_add_hook_action.rb | 1 + lib/vapi/types/message_target.rb | 1 + ..._credential.rb => microsoft_credential.rb} | 5 +- .../types/microsoft_credential_provider.rb | 11 + lib/vapi/types/microsoft_voice.rb | 16 + lib/vapi/types/microsoft_voice_role.rb | 18 + lib/vapi/types/microsoft_voice_style.rb | 39 ++ lib/vapi/types/microsoft_voice_voice_id.rb | 56 ++ lib/vapi/types/min_call_duration_condition.rb | 9 + lib/vapi/types/min_messages_condition.rb | 9 + lib/vapi/types/minimax_llm_model.rb | 3 + lib/vapi/types/minimax_voice.rb | 2 + lib/vapi/types/model_cost.rb | 2 + lib/vapi/types/monitor.rb | 1 + lib/vapi/types/monitor_plan.rb | 2 + lib/vapi/types/monitor_result.rb | 1 + lib/vapi/types/mono.rb | 1 + lib/vapi/types/neuphonic_voice.rb | 2 + lib/vapi/types/node_artifact.rb | 1 + ...r_comparator_scorecard_metric_condition.rb | 12 + ...r_scorecard_metric_condition_comparator.rb | 16 + ...parator_scorecard_metric_condition_type.rb | 11 + .../types/o_auth_2_authentication_plan.rb | 1 + .../types/oauth_2_authentication_session.rb | 1 + lib/vapi/types/open_ai_function.rb | 4 +- lib/vapi/types/open_ai_function_parameters.rb | 1 + lib/vapi/types/open_ai_message.rb | 1 + lib/vapi/types/open_ai_model.rb | 4 + .../open_ai_model_fallback_models_item.rb | 9 + lib/vapi/types/open_ai_model_model.rb | 9 + .../types/open_ai_model_reasoning_effort.rb | 16 + lib/vapi/types/open_ai_transcriber.rb | 2 + lib/vapi/types/open_ai_voice.rb | 2 + .../types/open_ai_voicemail_detection_plan.rb | 1 + lib/vapi/types/open_router_model.rb | 3 + lib/vapi/types/org.rb | 2 + lib/vapi/types/output_tool.rb | 1 + lib/vapi/types/pagination_meta.rb | 5 + lib/vapi/types/pagination_meta_sort_order.rb | 12 + lib/vapi/types/pending_invitation_dto.rb | 10 + .../types/pending_invitations_response_dto.rb | 9 + lib/vapi/types/performance_metrics.rb | 2 + lib/vapi/types/perplexity_ai_model.rb | 3 + .../phone_number_call_ending_hook_filter.rb | 1 + .../phone_number_call_ringing_hook_filter.rb | 1 + .../types/phone_number_hook_call_ending.rb | 1 + .../types/phone_number_hook_call_ringing.rb | 2 + .../types/phone_number_paginated_response.rb | 1 + lib/vapi/types/pie_insight.rb | 3 + lib/vapi/types/play_ht_voice.rb | 2 + .../types/prompt_injection_security_filter.rb | 1 + lib/vapi/types/provider_resource.rb | 2 + .../provider_resource_paginated_response.rb | 1 + lib/vapi/types/public_key_encryption_plan.rb | 1 + lib/vapi/types/query_tool.rb | 2 + lib/vapi/types/rce_security_filter.rb | 1 + lib/vapi/types/recording.rb | 1 + lib/vapi/types/recording_consent.rb | 3 +- .../recording_consent_plan_stay_on_line.rb | 3 + ...nt_plan_stay_on_line_first_message_mode.rb | 12 + ...cording_consent_plan_stay_on_line_voice.rb | 2 + .../types/recording_consent_plan_verbal.rb | 3 + ..._consent_plan_verbal_first_message_mode.rb | 12 + .../recording_consent_plan_verbal_voice.rb | 2 + lib/vapi/types/recording_consent_type.rb | 12 + lib/vapi/types/regex_condition.rb | 1 + lib/vapi/types/regex_option.rb | 1 + lib/vapi/types/regex_replacement.rb | 1 + lib/vapi/types/regex_security_filter.rb | 1 + .../types/revoke_invitation_response_dto.rb | 9 + lib/vapi/types/rime_ai_voice.rb | 2 + lib/vapi/types/s_3_compatible_bucket_plan.rb | 14 + .../s_3_compatible_storage_credential.rb | 16 + ..._compatible_storage_credential_provider.rb | 11 + lib/vapi/types/say_hook_action.rb | 3 +- lib/vapi/types/say_hook_action_exact.rb | 13 + .../types/say_phone_number_hook_action.rb | 1 + lib/vapi/types/sbc_configuration.rb | 18 +- lib/vapi/types/schedule_plan.rb | 1 + lib/vapi/types/scorecard.rb | 2 + lib/vapi/types/scorecard_metric.rb | 3 +- .../types/scorecard_metric_conditions_item.rb | 12 + .../types/scorecard_paginated_response.rb | 1 + lib/vapi/types/security_filter_base.rb | 1 + lib/vapi/types/security_filter_plan.rb | 2 + lib/vapi/types/server.rb | 2 + .../types/server_message_assistant_request.rb | 1 + .../types/server_message_assistant_speech.rb | 1 + .../server_message_call_delete_failed.rb | 1 + lib/vapi/types/server_message_call_deleted.rb | 1 + ...server_message_call_endpointing_request.rb | 1 + .../types/server_message_campaign_predial.rb | 19 + ...r_message_campaign_predial_phone_number.rb | 18 + .../server_message_campaign_predial_type.rb | 11 + lib/vapi/types/server_message_chat_created.rb | 1 + lib/vapi/types/server_message_chat_deleted.rb | 1 + .../server_message_conversation_update.rb | 1 + .../server_message_end_of_call_report.rb | 1 + ...message_end_of_call_report_ended_reason.rb | 24 + ...ver_message_handoff_destination_request.rb | 1 + lib/vapi/types/server_message_hang.rb | 1 + .../server_message_knowledge_base_request.rb | 1 + ...server_message_language_change_detected.rb | 1 + lib/vapi/types/server_message_message.rb | 1 + lib/vapi/types/server_message_model_output.rb | 1 + .../server_message_phone_call_control.rb | 1 + ...erver_message_response_campaign_predial.rb | 9 + ...erver_message_response_message_response.rb | 1 + .../types/server_message_session_created.rb | 1 + .../types/server_message_session_deleted.rb | 1 + .../types/server_message_session_updated.rb | 1 + .../types/server_message_speech_update.rb | 1 + .../types/server_message_status_update.rb | 1 + ...rver_message_status_update_ended_reason.rb | 24 + lib/vapi/types/server_message_tool_calls.rb | 1 + lib/vapi/types/server_message_transcript.rb | 1 + ...er_message_transfer_destination_request.rb | 1 + .../types/server_message_transfer_update.rb | 1 + .../types/server_message_user_interrupted.rb | 1 + lib/vapi/types/server_message_voice_input.rb | 1 + .../types/server_message_voice_request.rb | 1 + lib/vapi/types/sesame_voice.rb | 2 + lib/vapi/types/simulation_suite.rb | 1 + .../simulation_suite_target_assignment.rb | 10 + ...ion_suite_target_assignment_target_type.rb | 12 + lib/vapi/types/sip_authentication.rb | 1 + lib/vapi/types/sip_request_tool.rb | 2 + lib/vapi/types/sip_trunk_gateway.rb | 2 + .../sip_trunk_outbound_authentication_plan.rb | 1 + .../sip_trunk_outbound_sip_register_plan.rb | 1 + lib/vapi/types/skipped_structured_output.rb | 10 + ...ipped_structured_output_unmet_condition.rb | 17 + lib/vapi/types/slack_send_message_tool.rb | 2 + lib/vapi/types/smallest_ai_voice.rb | 2 + lib/vapi/types/smart_denoising_plan.rb | 1 + lib/vapi/types/sms_tool.rb | 2 + lib/vapi/types/soniox_context_general_item.rb | 10 + lib/vapi/types/soniox_credential.rb | 1 + lib/vapi/types/soniox_transcriber.rb | 4 + .../soniox_transcriber_languages_item.rb | 195 +++++++ lib/vapi/types/soniox_transcriber_model.rb | 1 + .../speechmatics_custom_vocabulary_item.rb | 1 + lib/vapi/types/speechmatics_transcriber.rb | 2 + lib/vapi/types/spki_pem_public_key_config.rb | 1 + .../types/sql_injection_security_filter.rb | 1 + lib/vapi/types/squad.rb | 2 + lib/vapi/types/squad_member_dto.rb | 3 + lib/vapi/types/ssrf_security_filter.rb | 1 + lib/vapi/types/start_speaking_plan.rb | 2 + lib/vapi/types/stop_speaking_plan.rb | 2 + lib/vapi/types/structured_data_multi_plan.rb | 1 + lib/vapi/types/structured_data_plan.rb | 2 + lib/vapi/types/structured_output.rb | 3 + .../structured_output_conditions_item.rb | 15 + .../structured_output_evaluation_result.rb | 3 + .../structured_output_paginated_response.rb | 1 + .../types/structured_output_rerun_response.rb | 10 + .../structured_output_run_preview_response.rb | 9 + .../types/structured_output_run_result.rb | 11 + .../structured_output_run_result_result.rb | 16 + lib/vapi/types/subscription_limits.rb | 1 + lib/vapi/types/success_evaluation_plan.rb | 1 + lib/vapi/types/summary_plan.rb | 1 + lib/vapi/types/supabase_bucket_plan.rb | 2 + .../sync_voice_library_dto_providers_item.rb | 2 + lib/vapi/types/system_message.rb | 1 + lib/vapi/types/talkscriber_transcriber.rb | 2 + .../types/tavus_conversation_properties.rb | 2 + lib/vapi/types/tavus_voice.rb | 2 + lib/vapi/types/telnyx_phone_number.rb | 2 + lib/vapi/types/telnyx_transport.rb | 12 + ... => telnyx_transport_conversation_type.rb} | 4 +- lib/vapi/types/text_content.rb | 1 + lib/vapi/types/text_editor_tool.rb | 2 + lib/vapi/types/text_insight.rb | 2 + lib/vapi/types/time_range.rb | 1 + lib/vapi/types/together_ai_model.rb | 3 + lib/vapi/types/tool_call.rb | 1 + lib/vapi/types/tool_call_function.rb | 1 + lib/vapi/types/tool_call_hook_action.rb | 1 + lib/vapi/types/tool_call_message.rb | 1 + lib/vapi/types/tool_call_result_message.rb | 18 +- .../types/tool_call_result_message_warning.rb | 11 + .../tool_call_result_message_warning_type.rb | 11 + lib/vapi/types/tool_draft.rb | 49 ++ .../types/tool_draft_conflict_response_dto.rb | 11 + lib/vapi/types/tool_draft_messages_item.rb | 16 + lib/vapi/types/tool_draft_method.rb | 15 + .../types/tool_draft_paginated_metadata.rb | 11 + .../types/tool_draft_paginated_response.rb | 10 + lib/vapi/types/tool_draft_type.rb | 38 ++ lib/vapi/types/tool_draft_verb.rb | 13 + lib/vapi/types/tool_message.rb | 1 + lib/vapi/types/tool_message_complete.rb | 2 + lib/vapi/types/tool_message_delayed.rb | 2 + lib/vapi/types/tool_message_failed.rb | 3 + lib/vapi/types/tool_message_failed_role.rb | 12 + lib/vapi/types/tool_message_start.rb | 2 + lib/vapi/types/tool_node.rb | 1 + lib/vapi/types/tool_parameter.rb | 1 + .../tool_pinned_conflict_response_dto.rb | 10 + ...tool_pinned_conflict_response_dto_error.rb | 11 + lib/vapi/types/tool_ref.rb | 10 + lib/vapi/types/tool_rejection_plan.rb | 1 + lib/vapi/types/tool_version.rb | 53 ++ .../types/tool_version_paginated_metadata.rb | 11 + .../types/tool_version_paginated_response.rb | 10 + lib/vapi/types/transcriber_cost.rb | 1 + lib/vapi/types/transcript_plan.rb | 1 + .../types/transcription_endpointing_plan.rb | 2 + lib/vapi/types/transfer_artifact.rb | 13 + .../types/transfer_artifact_destination.rb | 15 + .../types/transfer_artifact_messages_item.rb | 15 + lib/vapi/types/transfer_artifact_mode.rb | 18 + lib/vapi/types/transfer_artifact_status.rb | 17 + .../types/transfer_assistant_transcriber.rb | 2 + lib/vapi/types/transfer_assistant_voice.rb | 2 + lib/vapi/types/transfer_call_tool.rb | 2 + .../types/transfer_destination_assistant.rb | 1 + lib/vapi/types/transfer_destination_number.rb | 2 + lib/vapi/types/transfer_destination_sip.rb | 1 + lib/vapi/types/transfer_fallback_plan.rb | 1 + .../transfer_phone_number_hook_action.rb | 1 + lib/vapi/types/transfer_plan.rb | 2 + .../types/transport_configuration_twilio.rb | 1 + lib/vapi/types/transport_cost.rb | 1 + lib/vapi/types/trieve_knowledge_base.rb | 23 +- .../types/trieve_knowledge_base_chunk_plan.rb | 13 - .../types/trieve_knowledge_base_create.rb | 10 - .../types/trieve_knowledge_base_import.rb | 19 +- .../trieve_knowledge_base_search_plan.rb | 12 - ..._knowledge_base_search_plan_search_type.rb | 14 - lib/vapi/types/turn_latency.rb | 1 + lib/vapi/types/twilio_phone_number.rb | 2 + lib/vapi/types/twilio_transport.rb | 13 + .../twilio_transport_conversation_type.rb | 11 + .../types/twilio_voicemail_detection_plan.rb | 2 + ...update_anthropic_bedrock_credential_dto.rb | 1 + ...thropic_bedrock_credential_dto_provider.rb | 11 + ...anthropic_bedrock_credential_dto_region.rb | 1 + .../types/update_anthropic_credential_dto.rb | 1 + ...pdate_anthropic_credential_dto_provider.rb | 11 + .../types/update_anyscale_credential_dto.rb | 1 + ...update_anyscale_credential_dto_provider.rb | 11 + lib/vapi/types/update_api_request_tool_dto.rb | 4 +- .../update_assembly_ai_credential_dto.rb | 1 + ...ate_assembly_ai_credential_dto_provider.rb | 11 + lib/vapi/types/update_assistant_draft_dto.rb | 39 ++ ...te_assistant_draft_dto_background_sound.rb | 14 + ...sistant_draft_dto_background_sound_zero.rb | 12 + ...ssistant_draft_dto_client_messages_item.rb | 29 + ...te_assistant_draft_dto_credentials_item.rb | 69 +++ ..._assistant_draft_dto_first_message_mode.rb | 13 + .../update_assistant_draft_dto_hooks_item.rb | 15 + .../types/update_assistant_draft_dto_model.rb | 30 + ...ssistant_draft_dto_server_messages_item.rb | 37 ++ .../update_assistant_draft_dto_transcriber.rb | 27 + .../types/update_assistant_draft_dto_voice.rb | 33 ++ ...assistant_draft_dto_voicemail_detection.rb | 18 + ...tant_draft_dto_voicemail_detection_zero.rb | 11 + .../update_assistant_version_metadata_dto.rb | 10 + lib/vapi/types/update_azure_credential_dto.rb | 1 + .../update_azure_credential_dto_provider.rb | 11 + .../update_azure_credential_dto_region.rb | 2 + .../update_azure_open_ai_credential_dto.rb | 1 + ...zure_open_ai_credential_dto_models_item.rb | 3 + ...e_azure_open_ai_credential_dto_provider.rb | 11 + ...ate_azure_open_ai_credential_dto_region.rb | 2 + .../update_bar_insight_from_call_table_dto.rb | 2 + lib/vapi/types/update_bash_tool_dto.rb | 1 + lib/vapi/types/update_byo_phone_number_dto.rb | 2 + .../update_byo_sip_trunk_credential_dto.rb | 2 +- ...e_byo_sip_trunk_credential_dto_provider.rb | 11 + lib/vapi/types/update_campaign_dto.rb | 18 + lib/vapi/types/update_campaign_dto_status.rb | 12 + .../types/update_cartesia_credential_dto.rb | 2 + ...update_cartesia_credential_dto_provider.rb | 11 + .../types/update_cerebras_credential_dto.rb | 1 + ...update_cerebras_credential_dto_provider.rb | 11 + .../types/update_cloudflare_credential_dto.rb | 1 + ...date_cloudflare_credential_dto_provider.rb | 11 + lib/vapi/types/update_code_tool_dto.rb | 1 + ...ovider.rb => update_code_tool_dto_type.rb} | 4 +- lib/vapi/types/update_computer_tool_dto.rb | 2 + .../types/update_custom_credential_dto.rb | 1 + .../update_custom_credential_dto_provider.rb | 11 + .../types/update_custom_knowledge_base_dto.rb | 1 + ...date_custom_knowledge_base_dto_provider.rb | 11 + .../types/update_custom_llm_credential_dto.rb | 1 + ...date_custom_llm_credential_dto_provider.rb | 11 + .../types/update_deep_infra_credential_dto.rb | 1 + ...date_deep_infra_credential_dto_provider.rb | 11 + .../types/update_deep_seek_credential_dto.rb | 1 + ...pdate_deep_seek_credential_dto_provider.rb | 11 + .../types/update_deepgram_credential_dto.rb | 1 + ...update_deepgram_credential_dto_provider.rb | 11 + lib/vapi/types/update_dtmf_tool_dto.rb | 1 + .../update_eleven_labs_credential_dto.rb | 3 +- ...date_eleven_labs_credential_dto_api_url.rb | 12 + lib/vapi/types/update_email_credential_dto.rb | 1 + .../update_email_credential_dto_provider.rb | 11 + lib/vapi/types/update_end_call_tool_dto.rb | 1 + lib/vapi/types/update_function_tool_dto.rb | 2 + lib/vapi/types/update_gcp_credential_dto.rb | 1 + .../update_gcp_credential_dto_provider.rb | 11 + lib/vapi/types/update_ghl_tool_dto.rb | 1 + lib/vapi/types/update_ghl_tool_dto_type.rb | 11 + .../types/update_gladia_credential_dto.rb | 1 + .../update_gladia_credential_dto_provider.rb | 11 + ...gh_level_calendar_availability_tool_dto.rb | 1 + ...gh_level_calendar_event_create_tool_dto.rb | 1 + ...e_go_high_level_contact_create_tool_dto.rb | 1 + ...date_go_high_level_contact_get_tool_dto.rb | 1 + .../update_go_high_level_credential_dto.rb | 1 + ...e_go_high_level_credential_dto_provider.rb | 11 + ...update_go_high_level_mcp_credential_dto.rb | 1 + ..._high_level_mcp_credential_dto_provider.rb | 11 + ...le_calendar_check_availability_tool_dto.rb | 1 + ...e_google_calendar_create_event_tool_dto.rb | 1 + ...r_o_auth_2_authorization_credential_dto.rb | 1 + ...2_authorization_credential_dto_provider.rb | 11 + ...calendar_o_auth_2_client_credential_dto.rb | 1 + ...o_auth_2_client_credential_dto_provider.rb | 11 + .../types/update_google_credential_dto.rb | 1 + .../update_google_credential_dto_provider.rb | 11 + ...s_o_auth_2_authorization_credential_dto.rb | 1 + ...2_authorization_credential_dto_provider.rb | 11 + ...pdate_google_sheets_row_append_tool_dto.rb | 1 + lib/vapi/types/update_groq_credential_dto.rb | 1 + .../update_groq_credential_dto_provider.rb | 11 + lib/vapi/types/update_handoff_tool_dto.rb | 2 + lib/vapi/types/update_hume_credential_dto.rb | 1 + .../update_hume_credential_dto_provider.rb | 11 + .../update_inflection_ai_credential_dto.rb | 1 + ...e_inflection_ai_credential_dto_provider.rb | 11 + .../types/update_inworld_credential_dto.rb | 1 + ...update_inworld_credential_dto_provider.rb} | 4 +- .../types/update_langfuse_credential_dto.rb | 1 + ...update_langfuse_credential_dto_provider.rb | 11 + ...update_line_insight_from_call_table_dto.rb | 2 + lib/vapi/types/update_lmnt_credential_dto.rb | 1 + .../update_lmnt_credential_dto_provider.rb | 11 + lib/vapi/types/update_make_credential_dto.rb | 1 + .../update_make_credential_dto_provider.rb | 11 + lib/vapi/types/update_make_tool_dto.rb | 1 + lib/vapi/types/update_make_tool_dto_type.rb | 11 + lib/vapi/types/update_mcp_tool_dto.rb | 2 + .../types/update_microsoft_credential_dto.rb | 12 + ...pdate_microsoft_credential_dto_provider.rb | 11 + .../types/update_mistral_credential_dto.rb | 1 + .../update_mistral_credential_dto_provider.rb | 11 + .../types/update_neuphonic_credential_dto.rb | 1 + ...pdate_neuphonic_credential_dto_provider.rb | 11 + .../types/update_open_ai_credential_dto.rb | 1 + .../update_open_ai_credential_dto_provider.rb | 11 + .../update_open_router_credential_dto.rb | 1 + ...ate_open_router_credential_dto_provider.rb | 11 + lib/vapi/types/update_output_tool_dto.rb | 1 + lib/vapi/types/update_output_tool_dto_type.rb | 11 + .../update_perplexity_ai_credential_dto.rb | 1 + ...e_perplexity_ai_credential_dto_provider.rb | 11 + .../update_pie_insight_from_call_table_dto.rb | 1 + .../types/update_play_ht_credential_dto.rb | 1 + .../update_play_ht_credential_dto_provider.rb | 11 + lib/vapi/types/update_query_tool_dto.rb | 1 + .../types/update_rime_ai_credential_dto.rb | 1 + .../update_rime_ai_credential_dto_provider.rb | 11 + .../types/update_runpod_credential_dto.rb | 1 + .../update_runpod_credential_dto_provider.rb | 11 + .../update_s_3_compatible_bucket_plan_dto.rb | 14 + .../update_s_3_compatible_credential_dto.rb | 12 + ..._s_3_compatible_credential_dto_provider.rb | 11 + lib/vapi/types/update_s_3_credential_dto.rb | 1 + .../update_s_3_credential_dto_provider.rb | 11 + lib/vapi/types/update_simulation_suite_dto.rb | 1 + lib/vapi/types/update_sip_request_tool_dto.rb | 2 + ...k_o_auth_2_authorization_credential_dto.rb | 1 + ...2_authorization_credential_dto_provider.rb | 11 + .../update_slack_send_message_tool_dto.rb | 1 + .../update_slack_webhook_credential_dto.rb | 1 + ...e_slack_webhook_credential_dto_provider.rb | 11 + lib/vapi/types/update_sms_tool_dto.rb | 1 + .../types/update_soniox_credential_dto.rb | 2 + .../update_soniox_credential_dto_provider.rb | 11 + .../types/update_telnyx_phone_number_dto.rb | 2 + lib/vapi/types/update_text_editor_tool_dto.rb | 2 + ...update_text_insight_from_call_table_dto.rb | 1 + .../update_together_ai_credential_dto.rb | 1 + ...ate_together_ai_credential_dto_provider.rb | 11 + lib/vapi/types/update_tool_draft_dto.rb | 42 ++ .../update_tool_draft_dto_messages_item.rb | 16 + .../types/update_tool_draft_dto_method.rb | 15 + lib/vapi/types/update_tool_draft_dto_type.rb | 38 ++ lib/vapi/types/update_tool_draft_dto_verb.rb | 13 + .../types/update_tool_version_metadata_dto.rb | 10 + .../types/update_transfer_call_tool_dto.rb | 1 + .../types/update_trieve_credential_dto.rb | 10 - .../types/update_trieve_knowledge_base_dto.rb | 20 +- .../types/update_twilio_credential_dto.rb | 1 + .../update_twilio_credential_dto_provider.rb | 11 + .../types/update_twilio_phone_number_dto.rb | 2 + lib/vapi/types/update_user_role_dto_role.rb | 9 +- .../types/update_user_role_dto_role_zero.rb | 13 + .../types/update_vapi_phone_number_dto.rb | 2 + lib/vapi/types/update_voicemail_tool_dto.rb | 1 + .../types/update_vonage_credential_dto.rb | 1 + .../update_vonage_credential_dto_provider.rb | 11 + .../types/update_vonage_phone_number_dto.rb | 2 + .../types/update_webhook_credential_dto.rb | 1 + .../update_webhook_credential_dto_provider.rb | 11 + .../types/update_well_said_credential_dto.rb | 1 + ...pdate_well_said_credential_dto_provider.rb | 11 + .../update_workflow_dto_credentials_item.rb | 3 +- .../types/update_workflow_dto_transcriber.rb | 2 + lib/vapi/types/update_workflow_dto_voice.rb | 2 + lib/vapi/types/update_x_ai_credential_dto.rb | 1 + .../update_x_ai_credential_dto_provider.rb | 11 + lib/vapi/types/user_message.rb | 2 + lib/vapi/types/vapi_cost.rb | 1 + lib/vapi/types/vapi_model.rb | 6 +- lib/vapi/types/vapi_model_version.rb | 12 + lib/vapi/types/vapi_phone_number.rb | 2 + .../vapi_pronunciation_dictionary_locator.rb | 1 + lib/vapi/types/vapi_sip_transport.rb | 12 + .../vapi_sip_transport_conversation_type.rb | 11 + lib/vapi/types/vapi_smart_endpointing_plan.rb | 1 + lib/vapi/types/vapi_transcriber.rb | 13 + lib/vapi/types/vapi_transcriber_language.rb | 195 +++++++ .../types/vapi_transcriber_languages_item.rb | 195 +++++++ .../types/vapi_transcriber_turn_taking.rb | 12 + lib/vapi/types/vapi_transcriber_version.rb | 12 + lib/vapi/types/vapi_voice.rb | 5 +- lib/vapi/types/vapi_voice_language.rb | 67 +++ lib/vapi/types/vapi_voice_version.rb | 13 + lib/vapi/types/vapi_voice_voice_id.rb | 14 +- .../types/vapi_voicemail_detection_plan.rb | 1 + lib/vapi/types/vapi_web_call_transport.rb | 12 + ...pi_web_call_transport_conversation_type.rb | 11 + lib/vapi/types/vapi_websocket_transport.rb | 10 + ...i_websocket_transport_conversation_type.rb | 11 + lib/vapi/types/variable_extraction_alias.rb | 1 + lib/vapi/types/variable_extraction_plan.rb | 1 + lib/vapi/types/variable_value_group_by.rb | 1 + .../version_pin_conflict_response_dto.rb | 11 + ...version_pin_conflict_response_dto_error.rb | 11 + lib/vapi/types/version_pin_reference.rb | 10 + .../version_pin_reference_source_type.rb | 13 + lib/vapi/types/voice_cost.rb | 1 + .../types/voice_library_voice_response.rb | 2 +- .../types/voice_library_voice_response_age.rb | 12 + .../types/voicemail_detection_backoff_plan.rb | 1 + lib/vapi/types/voicemail_detection_cost.rb | 1 + lib/vapi/types/voicemail_tool.rb | 2 + lib/vapi/types/vonage_phone_number.rb | 2 + lib/vapi/types/vonage_transport.rb | 11 + .../vonage_transport_conversation_type.rb | 11 + lib/vapi/types/well_said_voice.rb | 2 + .../types/workflow_anthropic_bedrock_model.rb | 3 + .../workflow_anthropic_bedrock_model_model.rb | 1 + lib/vapi/types/workflow_anthropic_model.rb | 3 + .../types/workflow_anthropic_model_model.rb | 1 + lib/vapi/types/workflow_credentials_item.rb | 3 +- lib/vapi/types/workflow_custom_model.rb | 3 + lib/vapi/types/workflow_google_model.rb | 2 + lib/vapi/types/workflow_google_model_model.rb | 2 + lib/vapi/types/workflow_open_ai_model.rb | 2 + .../types/workflow_open_ai_model_model.rb | 8 + lib/vapi/types/workflow_overrides.rb | 1 + lib/vapi/types/workflow_transcriber.rb | 2 + ...workflow_user_editable_credentials_item.rb | 3 +- .../workflow_user_editable_transcriber.rb | 2 + .../types/workflow_user_editable_voice.rb | 2 + lib/vapi/types/workflow_voice.rb | 2 + lib/vapi/types/xai_model.rb | 3 + lib/vapi/types/xai_model_model.rb | 3 + lib/vapi/types/xai_transcriber.rb | 11 + lib/vapi/types/xai_transcriber_language.rb | 35 ++ lib/vapi/types/xai_transcriber_model.rb | 11 + lib/vapi/types/xai_voice.rb | 14 + lib/vapi/types/xai_voice_language.rb | 31 + lib/vapi/types/xai_voice_voice_id.rb | 15 + lib/vapi/types/xss_security_filter.rb | 1 + lib/vapi/version.rb | 2 +- reference.md | 1 + 1076 files changed, 8635 insertions(+), 353 deletions(-) create mode 100644 .fern/replay.lock create mode 100644 .gitattributes create mode 100644 lib/vapi/board/client.rb create mode 100644 lib/vapi/board/types/board_controller_find_all_request.rb create mode 100644 lib/vapi/board/types/board_controller_find_all_request_sort_by.rb create mode 100644 lib/vapi/board/types/board_controller_find_all_request_sort_order.rb create mode 100644 lib/vapi/board/types/board_controller_find_one_request.rb create mode 100644 lib/vapi/board/types/board_controller_remove_request.rb create mode 100644 lib/vapi/board/types/create_board_dto.rb create mode 100644 lib/vapi/board/types/create_board_dto_items_item.rb create mode 100644 lib/vapi/board/types/update_board_dto.rb create mode 100644 lib/vapi/board/types/update_board_dto_items_item.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_assistant_recording_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_call_logs_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_customer_recording_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_mono_recording_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_pcap_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_stereo_recording_download_request.rb create mode 100644 lib/vapi/calls/types/call_artifact_controller_video_recording_download_request.rb create mode 100644 lib/vapi/calls/types/create_call_dto_transport.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.rb rename lib/vapi/campaigns/types/{update_campaign_dto_status.rb => campaign_controller_find_all_v_2_request_sort_order.rb} (60%) create mode 100644 lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_find_one_v_2_request.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_remove_v_2_request.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_update_request.rb create mode 100644 lib/vapi/campaigns/types/campaign_controller_update_v_2_request.rb delete mode 100644 lib/vapi/campaigns/types/create_campaign_dto.rb delete mode 100644 lib/vapi/campaigns/types/update_campaign_dto.rb create mode 100644 lib/vapi/chats/types/list_chats_request_sort_by.rb create mode 100644 lib/vapi/eval/types/eval_controller_get_paginated_request_sort_by.rb create mode 100644 lib/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.rb create mode 100644 lib/vapi/files/types/list_files_request.rb create mode 100644 lib/vapi/insight/types/insight_controller_find_all_request_sort_by.rb create mode 100644 lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.rb create mode 100644 lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.rb create mode 100644 lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.rb create mode 100644 lib/vapi/sessions/types/list_sessions_request_sort_by.rb create mode 100644 lib/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.rb create mode 100644 lib/vapi/structured_outputs/types/structured_output_controller_run_response.rb create mode 100644 lib/vapi/structured_outputs/types/structured_output_controller_run_response_zero.rb create mode 100644 lib/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.rb create mode 100644 lib/vapi/types/assistant_draft.rb create mode 100644 lib/vapi/types/assistant_draft_background_sound.rb create mode 100644 lib/vapi/types/assistant_draft_background_sound_zero.rb create mode 100644 lib/vapi/types/assistant_draft_client_messages_item.rb create mode 100644 lib/vapi/types/assistant_draft_conflict_response_dto.rb create mode 100644 lib/vapi/types/assistant_draft_credentials_item.rb create mode 100644 lib/vapi/types/assistant_draft_first_message_mode.rb create mode 100644 lib/vapi/types/assistant_draft_hooks_item.rb create mode 100644 lib/vapi/types/assistant_draft_model.rb create mode 100644 lib/vapi/types/assistant_draft_paginated_metadata.rb create mode 100644 lib/vapi/types/assistant_draft_paginated_response.rb create mode 100644 lib/vapi/types/assistant_draft_server_messages_item.rb create mode 100644 lib/vapi/types/assistant_draft_transcriber.rb create mode 100644 lib/vapi/types/assistant_draft_voice.rb create mode 100644 lib/vapi/types/assistant_draft_voicemail_detection.rb create mode 100644 lib/vapi/types/assistant_draft_voicemail_detection_zero.rb create mode 100644 lib/vapi/types/assistant_pinned_conflict_response_dto.rb create mode 100644 lib/vapi/types/assistant_pinned_conflict_response_dto_error.rb create mode 100644 lib/vapi/types/assistant_version.rb create mode 100644 lib/vapi/types/assistant_version_background_sound.rb create mode 100644 lib/vapi/types/assistant_version_background_sound_zero.rb create mode 100644 lib/vapi/types/assistant_version_client_messages_item.rb create mode 100644 lib/vapi/types/assistant_version_credentials_item.rb create mode 100644 lib/vapi/types/assistant_version_first_message_mode.rb create mode 100644 lib/vapi/types/assistant_version_hooks_item.rb create mode 100644 lib/vapi/types/assistant_version_model.rb create mode 100644 lib/vapi/types/assistant_version_paginated_metadata.rb create mode 100644 lib/vapi/types/assistant_version_server_messages_item.rb create mode 100644 lib/vapi/types/assistant_version_transcriber.rb create mode 100644 lib/vapi/types/assistant_version_voice.rb create mode 100644 lib/vapi/types/assistant_version_voicemail_detection.rb create mode 100644 lib/vapi/types/assistant_version_voicemail_detection_zero.rb create mode 100644 lib/vapi/types/audio_format.rb rename lib/vapi/types/{vapi_model_provider.rb => audio_format_container.rb} (70%) create mode 100644 lib/vapi/types/board.rb create mode 100644 lib/vapi/types/board_insight_item.rb rename lib/vapi/types/{trieve_credential_provider.rb => board_insight_item_type.rb} (66%) create mode 100644 lib/vapi/types/board_item_position.rb create mode 100644 lib/vapi/types/board_item_size.rb create mode 100644 lib/vapi/types/board_items_item.rb create mode 100644 lib/vapi/types/board_layout.rb create mode 100644 lib/vapi/types/board_metric_widget_item.rb create mode 100644 lib/vapi/types/board_metric_widget_item_type.rb create mode 100644 lib/vapi/types/board_paginated_response.rb create mode 100644 lib/vapi/types/boolean_comparator_scorecard_metric_condition.rb create mode 100644 lib/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.rb create mode 100644 lib/vapi/types/boolean_comparator_scorecard_metric_condition_type.rb create mode 100644 lib/vapi/types/call_transport.rb create mode 100644 lib/vapi/types/campaign_contact.rb create mode 100644 lib/vapi/types/campaign_predial_plan.rb create mode 100644 lib/vapi/types/campaign_server_messages_item.rb create mode 100644 lib/vapi/types/context_engineering_plan_previous_assistant_messages.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_background_sound.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_background_sound_zero.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_client_messages_item.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_credentials_item.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_first_message_mode.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_hooks_item.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_model.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_server_messages_item.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_transcriber.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_voice.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_voicemail_detection.rb create mode 100644 lib/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.rb create mode 100644 lib/vapi/types/create_campaign_dto.rb create mode 100644 lib/vapi/types/create_campaign_dto_server_messages_item.rb create mode 100644 lib/vapi/types/create_eleven_labs_credential_dto_api_url.rb create mode 100644 lib/vapi/types/create_microsoft_credential_dto.rb create mode 100644 lib/vapi/types/create_outbound_call_dto_transport.rb create mode 100644 lib/vapi/types/create_s_3_compatible_credential_dto.rb create mode 100644 lib/vapi/types/create_simulation_run_response.rb create mode 100644 lib/vapi/types/create_simulation_run_response_simulations_item.rb create mode 100644 lib/vapi/types/create_simulation_run_response_status.rb create mode 100644 lib/vapi/types/create_simulation_run_response_target.rb create mode 100644 lib/vapi/types/create_structured_output_dto_conditions_item.rb create mode 100644 lib/vapi/types/create_tool_draft_dto.rb create mode 100644 lib/vapi/types/create_tool_draft_dto_messages_item.rb create mode 100644 lib/vapi/types/create_tool_draft_dto_method.rb create mode 100644 lib/vapi/types/create_tool_draft_dto_type.rb create mode 100644 lib/vapi/types/create_tool_draft_dto_verb.rb create mode 100644 lib/vapi/types/customer_speech_timeout_options_trigger_reset_mode.rb create mode 100644 lib/vapi/types/deepgram_transcriber_redaction_item.rb create mode 100644 lib/vapi/types/eleven_labs_credential_api_url.rb create mode 100644 lib/vapi/types/ended_reason_condition.rb create mode 100644 lib/vapi/types/ended_reason_condition_operator.rb create mode 100644 lib/vapi/types/export_chat_dto_sort_by.rb create mode 100644 lib/vapi/types/export_session_dto_sort_by.rb create mode 100644 lib/vapi/types/fallback_deepgram_transcriber_redaction_item.rb rename lib/vapi/types/{fallback_gladia_transcriber_languages.rb => fallback_gladia_transcriber_languages_item.rb} (97%) create mode 100644 lib/vapi/types/fallback_microsoft_voice.rb create mode 100644 lib/vapi/types/fallback_microsoft_voice_role.rb create mode 100644 lib/vapi/types/fallback_microsoft_voice_style.rb create mode 100644 lib/vapi/types/fallback_microsoft_voice_voice_id.rb create mode 100644 lib/vapi/types/fallback_soniox_transcriber_languages_item.rb create mode 100644 lib/vapi/types/fallback_vapi_voice_language.rb create mode 100644 lib/vapi/types/fallback_vapi_voice_version.rb create mode 100644 lib/vapi/types/fallback_xai_transcriber.rb create mode 100644 lib/vapi/types/fallback_xai_transcriber_language.rb rename lib/vapi/types/{trieve_knowledge_base_create_type.rb => fallback_xai_transcriber_model.rb} (64%) create mode 100644 lib/vapi/types/fallback_xai_voice.rb create mode 100644 lib/vapi/types/fallback_xai_voice_language.rb create mode 100644 lib/vapi/types/fallback_xai_voice_voice_id.rb create mode 100644 lib/vapi/types/get_chat_paginated_dto_sort_by.rb create mode 100644 lib/vapi/types/get_eval_paginated_dto_sort_by.rb create mode 100644 lib/vapi/types/get_eval_run_paginated_dto_sort_by.rb create mode 100644 lib/vapi/types/get_session_paginated_dto_sort_by.rb create mode 100644 lib/vapi/types/get_tool_drafts_dto.rb rename lib/vapi/types/{gladia_transcriber_languages.rb => gladia_transcriber_languages_item.rb} (97%) create mode 100644 lib/vapi/types/invite_user_dto_role_zero.rb create mode 100644 lib/vapi/types/legacy_assistant_version.rb create mode 100644 lib/vapi/types/legacy_assistant_version_paginated_response.rb rename lib/vapi/types/{trieve_credential.rb => microsoft_credential.rb} (71%) create mode 100644 lib/vapi/types/microsoft_credential_provider.rb create mode 100644 lib/vapi/types/microsoft_voice.rb create mode 100644 lib/vapi/types/microsoft_voice_role.rb create mode 100644 lib/vapi/types/microsoft_voice_style.rb create mode 100644 lib/vapi/types/microsoft_voice_voice_id.rb create mode 100644 lib/vapi/types/min_call_duration_condition.rb create mode 100644 lib/vapi/types/min_messages_condition.rb create mode 100644 lib/vapi/types/number_comparator_scorecard_metric_condition.rb create mode 100644 lib/vapi/types/number_comparator_scorecard_metric_condition_comparator.rb create mode 100644 lib/vapi/types/number_comparator_scorecard_metric_condition_type.rb create mode 100644 lib/vapi/types/open_ai_model_reasoning_effort.rb create mode 100644 lib/vapi/types/pagination_meta_sort_order.rb create mode 100644 lib/vapi/types/pending_invitation_dto.rb create mode 100644 lib/vapi/types/pending_invitations_response_dto.rb create mode 100644 lib/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.rb create mode 100644 lib/vapi/types/recording_consent_plan_verbal_first_message_mode.rb create mode 100644 lib/vapi/types/recording_consent_type.rb create mode 100644 lib/vapi/types/revoke_invitation_response_dto.rb create mode 100644 lib/vapi/types/s_3_compatible_bucket_plan.rb create mode 100644 lib/vapi/types/s_3_compatible_storage_credential.rb create mode 100644 lib/vapi/types/s_3_compatible_storage_credential_provider.rb create mode 100644 lib/vapi/types/say_hook_action_exact.rb create mode 100644 lib/vapi/types/scorecard_metric_conditions_item.rb create mode 100644 lib/vapi/types/server_message_campaign_predial.rb create mode 100644 lib/vapi/types/server_message_campaign_predial_phone_number.rb create mode 100644 lib/vapi/types/server_message_campaign_predial_type.rb create mode 100644 lib/vapi/types/server_message_response_campaign_predial.rb create mode 100644 lib/vapi/types/simulation_suite_target_assignment.rb create mode 100644 lib/vapi/types/simulation_suite_target_assignment_target_type.rb create mode 100644 lib/vapi/types/skipped_structured_output.rb create mode 100644 lib/vapi/types/skipped_structured_output_unmet_condition.rb create mode 100644 lib/vapi/types/soniox_context_general_item.rb create mode 100644 lib/vapi/types/soniox_transcriber_languages_item.rb create mode 100644 lib/vapi/types/structured_output_conditions_item.rb create mode 100644 lib/vapi/types/structured_output_rerun_response.rb create mode 100644 lib/vapi/types/structured_output_run_preview_response.rb create mode 100644 lib/vapi/types/structured_output_run_result.rb create mode 100644 lib/vapi/types/structured_output_run_result_result.rb create mode 100644 lib/vapi/types/telnyx_transport.rb rename lib/vapi/types/{trieve_knowledge_base_import_type.rb => telnyx_transport_conversation_type.rb} (64%) create mode 100644 lib/vapi/types/tool_call_result_message_warning.rb create mode 100644 lib/vapi/types/tool_call_result_message_warning_type.rb create mode 100644 lib/vapi/types/tool_draft.rb create mode 100644 lib/vapi/types/tool_draft_conflict_response_dto.rb create mode 100644 lib/vapi/types/tool_draft_messages_item.rb create mode 100644 lib/vapi/types/tool_draft_method.rb create mode 100644 lib/vapi/types/tool_draft_paginated_metadata.rb create mode 100644 lib/vapi/types/tool_draft_paginated_response.rb create mode 100644 lib/vapi/types/tool_draft_type.rb create mode 100644 lib/vapi/types/tool_draft_verb.rb create mode 100644 lib/vapi/types/tool_message_failed_role.rb create mode 100644 lib/vapi/types/tool_pinned_conflict_response_dto.rb create mode 100644 lib/vapi/types/tool_pinned_conflict_response_dto_error.rb create mode 100644 lib/vapi/types/tool_ref.rb create mode 100644 lib/vapi/types/tool_version.rb create mode 100644 lib/vapi/types/tool_version_paginated_metadata.rb create mode 100644 lib/vapi/types/tool_version_paginated_response.rb create mode 100644 lib/vapi/types/transfer_artifact.rb create mode 100644 lib/vapi/types/transfer_artifact_destination.rb create mode 100644 lib/vapi/types/transfer_artifact_messages_item.rb create mode 100644 lib/vapi/types/transfer_artifact_mode.rb create mode 100644 lib/vapi/types/transfer_artifact_status.rb delete mode 100644 lib/vapi/types/trieve_knowledge_base_chunk_plan.rb delete mode 100644 lib/vapi/types/trieve_knowledge_base_create.rb delete mode 100644 lib/vapi/types/trieve_knowledge_base_search_plan.rb delete mode 100644 lib/vapi/types/trieve_knowledge_base_search_plan_search_type.rb create mode 100644 lib/vapi/types/twilio_transport.rb create mode 100644 lib/vapi/types/twilio_transport_conversation_type.rb create mode 100644 lib/vapi/types/update_anthropic_bedrock_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_anthropic_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_anyscale_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_assembly_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_background_sound.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_background_sound_zero.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_client_messages_item.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_credentials_item.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_first_message_mode.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_hooks_item.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_model.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_server_messages_item.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_transcriber.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_voice.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_voicemail_detection.rb create mode 100644 lib/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.rb create mode 100644 lib/vapi/types/update_assistant_version_metadata_dto.rb create mode 100644 lib/vapi/types/update_azure_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_azure_open_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_byo_sip_trunk_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_campaign_dto.rb create mode 100644 lib/vapi/types/update_campaign_dto_status.rb create mode 100644 lib/vapi/types/update_cartesia_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_cerebras_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_cloudflare_credential_dto_provider.rb rename lib/vapi/types/{trieve_knowledge_base_provider.rb => update_code_tool_dto_type.rb} (65%) create mode 100644 lib/vapi/types/update_custom_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_custom_knowledge_base_dto_provider.rb create mode 100644 lib/vapi/types/update_custom_llm_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_deep_infra_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_deep_seek_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_deepgram_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_eleven_labs_credential_dto_api_url.rb create mode 100644 lib/vapi/types/update_email_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_gcp_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_ghl_tool_dto_type.rb create mode 100644 lib/vapi/types/update_gladia_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_go_high_level_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_go_high_level_mcp_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_google_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_groq_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_hume_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_inflection_ai_credential_dto_provider.rb rename lib/vapi/types/{create_trieve_knowledge_base_dto_provider.rb => update_inworld_credential_dto_provider.rb} (62%) create mode 100644 lib/vapi/types/update_langfuse_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_lmnt_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_make_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_make_tool_dto_type.rb create mode 100644 lib/vapi/types/update_microsoft_credential_dto.rb create mode 100644 lib/vapi/types/update_microsoft_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_mistral_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_neuphonic_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_open_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_open_router_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_output_tool_dto_type.rb create mode 100644 lib/vapi/types/update_perplexity_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_play_ht_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_rime_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_runpod_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_s_3_compatible_bucket_plan_dto.rb create mode 100644 lib/vapi/types/update_s_3_compatible_credential_dto.rb create mode 100644 lib/vapi/types/update_s_3_compatible_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_s_3_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_slack_webhook_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_soniox_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_together_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_tool_draft_dto.rb create mode 100644 lib/vapi/types/update_tool_draft_dto_messages_item.rb create mode 100644 lib/vapi/types/update_tool_draft_dto_method.rb create mode 100644 lib/vapi/types/update_tool_draft_dto_type.rb create mode 100644 lib/vapi/types/update_tool_draft_dto_verb.rb create mode 100644 lib/vapi/types/update_tool_version_metadata_dto.rb delete mode 100644 lib/vapi/types/update_trieve_credential_dto.rb create mode 100644 lib/vapi/types/update_twilio_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_user_role_dto_role_zero.rb create mode 100644 lib/vapi/types/update_vonage_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_webhook_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_well_said_credential_dto_provider.rb create mode 100644 lib/vapi/types/update_x_ai_credential_dto_provider.rb create mode 100644 lib/vapi/types/vapi_model_version.rb create mode 100644 lib/vapi/types/vapi_sip_transport.rb create mode 100644 lib/vapi/types/vapi_sip_transport_conversation_type.rb create mode 100644 lib/vapi/types/vapi_transcriber.rb create mode 100644 lib/vapi/types/vapi_transcriber_language.rb create mode 100644 lib/vapi/types/vapi_transcriber_languages_item.rb create mode 100644 lib/vapi/types/vapi_transcriber_turn_taking.rb create mode 100644 lib/vapi/types/vapi_transcriber_version.rb create mode 100644 lib/vapi/types/vapi_voice_language.rb create mode 100644 lib/vapi/types/vapi_voice_version.rb create mode 100644 lib/vapi/types/vapi_web_call_transport.rb create mode 100644 lib/vapi/types/vapi_web_call_transport_conversation_type.rb create mode 100644 lib/vapi/types/vapi_websocket_transport.rb create mode 100644 lib/vapi/types/vapi_websocket_transport_conversation_type.rb create mode 100644 lib/vapi/types/version_pin_conflict_response_dto.rb create mode 100644 lib/vapi/types/version_pin_conflict_response_dto_error.rb create mode 100644 lib/vapi/types/version_pin_reference.rb create mode 100644 lib/vapi/types/version_pin_reference_source_type.rb create mode 100644 lib/vapi/types/voice_library_voice_response_age.rb create mode 100644 lib/vapi/types/vonage_transport.rb create mode 100644 lib/vapi/types/vonage_transport_conversation_type.rb create mode 100644 lib/vapi/types/xai_transcriber.rb create mode 100644 lib/vapi/types/xai_transcriber_language.rb create mode 100644 lib/vapi/types/xai_transcriber_model.rb create mode 100644 lib/vapi/types/xai_voice.rb create mode 100644 lib/vapi/types/xai_voice_language.rb create mode 100644 lib/vapi/types/xai_voice_voice_id.rb diff --git a/.fern/metadata.json b/.fern/metadata.json index 36e4fcdb..c4423281 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,11 +1,11 @@ { - "cliVersion": "5.51.2", + "cliVersion": "5.89.0", "generatorName": "fernapi/fern-ruby-sdk", "generatorVersion": "1.1.13", "generatorConfig": { "clientClassName": "Vapi", "rubocopVariableNumberStyle": "disabled" }, - "originGitCommit": "5a015aa01196915bea6110904c69d5804f457ff5", - "sdkVersion": "2.0.0" + "originGitCommit": "261d7f2a0130b6fa215176821c6f0a82e6445a26", + "sdkVersion": "0.0.0-fern-placeholder" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock new file mode 100644 index 00000000..dd93ea37 --- /dev/null +++ b/.fern/replay.lock @@ -0,0 +1,10 @@ +# DO NOT EDIT MANUALLY - Managed by Fern Replay +version: "1.0" +generations: + - commit_sha: caafff76234c021adc32f2c1a74e286394bc8b77 + tree_hash: 231edd13c9f4cb05cc6c24a0533392798b053746 + timestamp: 2026-07-31T17:31:21.263Z + cli_version: unknown + generator_versions: {} +current_generation: caafff76234c021adc32f2c1a74e286394bc8b77 +patches: [] diff --git a/.fernignore b/.fernignore index 82e7de06..fad339e2 100644 --- a/.fernignore +++ b/.fernignore @@ -3,3 +3,6 @@ .github/workflows/sdk-release-pr-notification.yml README.md changelog.md +.fern/replay.lock +.fern/replay.yml +.gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..74928d6a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.fern/replay.lock linguist-generated=true diff --git a/Gemfile.lock b/Gemfile.lock index 0c3e13fc..c145329f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -16,15 +16,15 @@ GEM rexml hashdiff (1.2.1) io-console (0.8.2) - json (2.20.0) - language_server-protocol (3.17.0.5) + json (2.21.2) + language_server-protocol (3.17.0.6) lint_roller (1.1.0) method_source (1.1.0) minitest (5.27.0) minitest-rg (5.4.0) minitest (>= 5.0, < 7) parallel (2.1.0) - parser (3.3.11.1) + parser (3.3.12.0) ast (~> 2.4.1) racc prism (1.9.0) @@ -40,7 +40,7 @@ GEM reline (0.6.3) io-console (~> 0.5) rexml (3.4.4) - rubocop (1.88.0) + rubocop (1.88.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -51,10 +51,10 @@ GEM rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.49.1) + rubocop-ast (1.50.0) parser (>= 3.3.7.2) prism (~> 1.7) - rubocop-minitest (0.39.1) + rubocop-minitest (0.40.0) lint_roller (~> 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) diff --git a/lib/vapi.rb b/lib/vapi.rb index ab84dcaa..50567b25 100644 --- a/lib/vapi.rb +++ b/lib/vapi.rb @@ -40,6 +40,7 @@ require_relative "vapi/types/gladia_vocabulary_item_dto" require_relative "vapi/types/gladia_custom_vocabulary_config_dto_vocabulary_item" require_relative "vapi/types/gladia_custom_vocabulary_config_dto" +require_relative "vapi/types/soniox_context_general_item" require_relative "vapi/types/speechmatics_custom_vocabulary_item" require_relative "vapi/types/fallback_assembly_ai_transcriber_language" require_relative "vapi/types/fallback_assembly_ai_transcriber_speech_model" @@ -51,6 +52,7 @@ require_relative "vapi/types/fallback_cartesia_transcriber_language" require_relative "vapi/types/fallback_cartesia_transcriber" require_relative "vapi/types/fallback_custom_transcriber" +require_relative "vapi/types/fallback_deepgram_transcriber_redaction_item" require_relative "vapi/types/deepgram_transcriber_language" require_relative "vapi/types/deepgram_transcriber_model" require_relative "vapi/types/fallback_deepgram_transcriber" @@ -60,11 +62,12 @@ require_relative "vapi/types/fallback_gladia_transcriber_model" require_relative "vapi/types/fallback_gladia_transcriber_language_behaviour" require_relative "vapi/types/fallback_gladia_transcriber_language" -require_relative "vapi/types/fallback_gladia_transcriber_languages" +require_relative "vapi/types/fallback_gladia_transcriber_languages_item" require_relative "vapi/types/fallback_gladia_transcriber_region" require_relative "vapi/types/fallback_gladia_transcriber" require_relative "vapi/types/fallback_soniox_transcriber_model" require_relative "vapi/types/fallback_soniox_transcriber_language" +require_relative "vapi/types/fallback_soniox_transcriber_languages_item" require_relative "vapi/types/fallback_soniox_transcriber" require_relative "vapi/types/fallback_speechmatics_transcriber_model" require_relative "vapi/types/fallback_speechmatics_transcriber_language" @@ -81,6 +84,9 @@ require_relative "vapi/types/fallback_open_ai_transcriber_model" require_relative "vapi/types/fallback_open_ai_transcriber_language" require_relative "vapi/types/fallback_open_ai_transcriber" +require_relative "vapi/types/fallback_xai_transcriber_model" +require_relative "vapi/types/fallback_xai_transcriber_language" +require_relative "vapi/types/fallback_xai_transcriber" require_relative "vapi/types/fallback_transcriber_plan_transcribers_item" require_relative "vapi/types/fallback_transcriber_plan" require_relative "vapi/types/assembly_ai_transcriber_language" @@ -93,6 +99,7 @@ require_relative "vapi/types/cartesia_transcriber_language" require_relative "vapi/types/cartesia_transcriber" require_relative "vapi/types/custom_transcriber" +require_relative "vapi/types/deepgram_transcriber_redaction_item" require_relative "vapi/types/deepgram_transcriber" require_relative "vapi/types/eleven_labs_transcriber_model" require_relative "vapi/types/eleven_labs_transcriber_language" @@ -100,11 +107,12 @@ require_relative "vapi/types/gladia_transcriber_model" require_relative "vapi/types/gladia_transcriber_language_behaviour" require_relative "vapi/types/gladia_transcriber_language" -require_relative "vapi/types/gladia_transcriber_languages" +require_relative "vapi/types/gladia_transcriber_languages_item" require_relative "vapi/types/gladia_transcriber_region" require_relative "vapi/types/gladia_transcriber" require_relative "vapi/types/soniox_transcriber_model" require_relative "vapi/types/soniox_transcriber_language" +require_relative "vapi/types/soniox_transcriber_languages_item" require_relative "vapi/types/soniox_transcriber" require_relative "vapi/types/speechmatics_transcriber_model" require_relative "vapi/types/speechmatics_transcriber_language" @@ -121,6 +129,14 @@ require_relative "vapi/types/open_ai_transcriber_model" require_relative "vapi/types/open_ai_transcriber_language" require_relative "vapi/types/open_ai_transcriber" +require_relative "vapi/types/xai_transcriber_model" +require_relative "vapi/types/xai_transcriber_language" +require_relative "vapi/types/xai_transcriber" +require_relative "vapi/types/vapi_transcriber_version" +require_relative "vapi/types/vapi_transcriber_language" +require_relative "vapi/types/vapi_transcriber_languages_item" +require_relative "vapi/types/vapi_transcriber_turn_taking" +require_relative "vapi/types/vapi_transcriber" require_relative "vapi/assistants/types/update_assistant_dto_transcriber" require_relative "vapi/types/langfuse_observability_plan_provider" require_relative "vapi/types/langfuse_observability_plan" @@ -132,6 +148,7 @@ require_relative "vapi/types/tool_message_start" require_relative "vapi/types/tool_message_complete_role" require_relative "vapi/types/tool_message_complete" +require_relative "vapi/types/tool_message_failed_role" require_relative "vapi/types/tool_message_failed" require_relative "vapi/types/tool_message_delayed" require_relative "vapi/types/message_target_role" @@ -205,6 +222,7 @@ require_relative "vapi/types/create_transfer_call_tool_dto_destinations_item" require_relative "vapi/types/create_transfer_call_tool_dto" require_relative "vapi/types/context_engineering_plan_user_and_assistant_messages" +require_relative "vapi/types/context_engineering_plan_previous_assistant_messages" require_relative "vapi/types/handoff_destination_assistant_type" require_relative "vapi/types/handoff_destination_assistant_context_engineering_plan" require_relative "vapi/types/handoff_destination_dynamic" @@ -241,6 +259,7 @@ require_relative "vapi/types/create_go_high_level_contact_get_tool_dto" require_relative "vapi/types/open_ai_message_role" require_relative "vapi/types/open_ai_message" +require_relative "vapi/types/tool_ref" require_relative "vapi/types/anthropic_thinking_config_type" require_relative "vapi/types/anthropic_thinking_config" require_relative "vapi/types/anthropic_model_model" @@ -261,6 +280,7 @@ require_relative "vapi/types/open_ai_model_fallback_models_item" require_relative "vapi/types/open_ai_model_tool_strict_compatibility_mode" require_relative "vapi/types/open_ai_model_prompt_cache_retention" +require_relative "vapi/types/open_ai_model_reasoning_effort" require_relative "vapi/types/workflow_open_ai_model_model" require_relative "vapi/types/workflow_open_ai_model" require_relative "vapi/types/workflow_anthropic_model_model" @@ -271,40 +291,9 @@ require_relative "vapi/types/workflow_google_model" require_relative "vapi/types/workflow_custom_model_metadata_send_mode" require_relative "vapi/types/workflow_custom_model" -require_relative "vapi/types/voicemail_detection_backoff_plan" -require_relative "vapi/types/google_voicemail_detection_plan_provider" -require_relative "vapi/types/google_voicemail_detection_plan_type" -require_relative "vapi/types/google_voicemail_detection_plan" -require_relative "vapi/types/open_ai_voicemail_detection_plan_provider" -require_relative "vapi/types/open_ai_voicemail_detection_plan_type" -require_relative "vapi/types/open_ai_voicemail_detection_plan" -require_relative "vapi/types/twilio_voicemail_detection_plan_provider" -require_relative "vapi/types/twilio_voicemail_detection_plan_voicemail_detection_types_item" -require_relative "vapi/types/twilio_voicemail_detection_plan" -require_relative "vapi/types/vapi_voicemail_detection_plan_provider" -require_relative "vapi/types/vapi_voicemail_detection_plan_type" -require_relative "vapi/types/vapi_voicemail_detection_plan" -require_relative "vapi/types/developer_message_role" -require_relative "vapi/types/developer_message" -require_relative "vapi/types/system_message" -require_relative "vapi/types/user_message" -require_relative "vapi/types/tool_call_function" -require_relative "vapi/types/tool_call" -require_relative "vapi/types/assistant_message_role" -require_relative "vapi/types/assistant_message" -require_relative "vapi/types/tool_message_role" -require_relative "vapi/types/tool_message" -require_relative "vapi/types/say_hook_action_prompt_one_item" -require_relative "vapi/types/say_hook_action_prompt" -require_relative "vapi/types/say_hook_action" -require_relative "vapi/types/message_add_hook_action" -require_relative "vapi/types/call_hook_filter_type" -require_relative "vapi/types/call_hook_filter" -require_relative "vapi/types/call_hook_call_ending_on" -require_relative "vapi/types/call_hook_assistant_speech_interrupted_on" -require_relative "vapi/types/call_hook_customer_speech_interrupted_on" -require_relative "vapi/types/tool_call_hook_action_type" -require_relative "vapi/types/customer_speech_timeout_options" +require_relative "vapi/types/global_node_plan" +require_relative "vapi/types/conversation_node_model" +require_relative "vapi/types/conversation_node_transcriber" require_relative "vapi/types/exact_replacement" require_relative "vapi/types/regex_replacement" require_relative "vapi/types/format_plan_replacements_item" @@ -370,11 +359,20 @@ require_relative "vapi/types/fallback_tavus_voice_voice_id" require_relative "vapi/types/fallback_tavus_voice" require_relative "vapi/types/fallback_vapi_voice_voice_id" +require_relative "vapi/types/fallback_vapi_voice_version" +require_relative "vapi/types/fallback_vapi_voice_language" require_relative "vapi/types/fallback_vapi_voice" require_relative "vapi/types/fallback_inworld_voice_voice_id" require_relative "vapi/types/fallback_inworld_voice_model" require_relative "vapi/types/fallback_inworld_voice_language_code" require_relative "vapi/types/fallback_inworld_voice" +require_relative "vapi/types/fallback_xai_voice_voice_id" +require_relative "vapi/types/fallback_xai_voice_language" +require_relative "vapi/types/fallback_xai_voice" +require_relative "vapi/types/fallback_microsoft_voice_voice_id" +require_relative "vapi/types/fallback_microsoft_voice_style" +require_relative "vapi/types/fallback_microsoft_voice_role" +require_relative "vapi/types/fallback_microsoft_voice" require_relative "vapi/types/fallback_plan_voices_item" require_relative "vapi/types/fallback_plan" require_relative "vapi/types/azure_voice_id_enum" @@ -426,6 +424,8 @@ require_relative "vapi/types/tavus_voice_voice_id" require_relative "vapi/types/tavus_voice" require_relative "vapi/types/vapi_voice_voice_id" +require_relative "vapi/types/vapi_voice_version" +require_relative "vapi/types/vapi_voice_language" require_relative "vapi/types/vapi_voice" require_relative "vapi/types/inworld_voice_voice_id" require_relative "vapi/types/inworld_voice_model" @@ -436,9 +436,59 @@ require_relative "vapi/types/minimax_voice_region" require_relative "vapi/types/minimax_voice_language_boost" require_relative "vapi/types/minimax_voice" +require_relative "vapi/types/xai_voice_voice_id" +require_relative "vapi/types/xai_voice_language" +require_relative "vapi/types/xai_voice" +require_relative "vapi/types/microsoft_voice_voice_id" +require_relative "vapi/types/microsoft_voice_style" +require_relative "vapi/types/microsoft_voice_role" +require_relative "vapi/types/microsoft_voice" +require_relative "vapi/types/conversation_node_voice" +require_relative "vapi/types/voicemail_detection_backoff_plan" +require_relative "vapi/types/google_voicemail_detection_plan_provider" +require_relative "vapi/types/google_voicemail_detection_plan_type" +require_relative "vapi/types/google_voicemail_detection_plan" +require_relative "vapi/types/open_ai_voicemail_detection_plan_provider" +require_relative "vapi/types/open_ai_voicemail_detection_plan_type" +require_relative "vapi/types/open_ai_voicemail_detection_plan" +require_relative "vapi/types/twilio_voicemail_detection_plan_provider" +require_relative "vapi/types/twilio_voicemail_detection_plan_voicemail_detection_types_item" +require_relative "vapi/types/twilio_voicemail_detection_plan" +require_relative "vapi/types/vapi_voicemail_detection_plan_provider" +require_relative "vapi/types/vapi_voicemail_detection_plan_type" +require_relative "vapi/types/vapi_voicemail_detection_plan" +require_relative "vapi/types/say_hook_action_exact" +require_relative "vapi/types/user_message" +require_relative "vapi/types/system_message" +require_relative "vapi/types/developer_message_role" +require_relative "vapi/types/developer_message" +require_relative "vapi/types/tool_call_function" +require_relative "vapi/types/tool_call" +require_relative "vapi/types/assistant_message_role" +require_relative "vapi/types/assistant_message" +require_relative "vapi/types/tool_message_role" +require_relative "vapi/types/tool_message" +require_relative "vapi/types/say_hook_action_prompt_one_item" +require_relative "vapi/types/say_hook_action_prompt" +require_relative "vapi/types/say_hook_action" +require_relative "vapi/types/message_add_hook_action" +require_relative "vapi/types/call_hook_filter_type" +require_relative "vapi/types/call_hook_filter" +require_relative "vapi/types/call_hook_call_ending_on" +require_relative "vapi/types/call_hook_assistant_speech_interrupted_on" +require_relative "vapi/types/call_hook_customer_speech_interrupted_on" +require_relative "vapi/types/tool_call_hook_action_type" +require_relative "vapi/types/customer_speech_timeout_options_trigger_reset_mode" +require_relative "vapi/types/customer_speech_timeout_options" +require_relative "vapi/types/call_hook_model_response_timeout_on" +require_relative "vapi/types/ai_edge_condition_type" +require_relative "vapi/types/ai_edge_condition" +require_relative "vapi/types/edge" require_relative "vapi/types/recording_consent_plan_stay_on_line_voice" +require_relative "vapi/types/recording_consent_plan_stay_on_line_first_message_mode" require_relative "vapi/types/recording_consent_plan_stay_on_line" require_relative "vapi/types/recording_consent_plan_verbal_voice" +require_relative "vapi/types/recording_consent_plan_verbal_first_message_mode" require_relative "vapi/types/recording_consent_plan_verbal" require_relative "vapi/types/security_filter_base" require_relative "vapi/types/security_filter_plan_mode" @@ -451,10 +501,22 @@ require_relative "vapi/types/success_evaluation_plan" require_relative "vapi/types/analysis_plan" require_relative "vapi/types/transcript_plan" +require_relative "vapi/types/min_messages_condition" +require_relative "vapi/types/min_call_duration_condition" +require_relative "vapi/types/ended_reason_condition_operator" +require_relative "vapi/types/ended_reason_condition" require_relative "vapi/types/compliance_override" require_relative "vapi/types/create_structured_output_dto_type" require_relative "vapi/types/create_structured_output_dto_model" +require_relative "vapi/types/create_structured_output_dto_conditions_item" require_relative "vapi/types/create_structured_output_dto" +require_relative "vapi/types/number_comparator_scorecard_metric_condition_type" +require_relative "vapi/types/number_comparator_scorecard_metric_condition_comparator" +require_relative "vapi/types/number_comparator_scorecard_metric_condition" +require_relative "vapi/types/boolean_comparator_scorecard_metric_condition_type" +require_relative "vapi/types/boolean_comparator_scorecard_metric_condition_comparator" +require_relative "vapi/types/boolean_comparator_scorecard_metric_condition" +require_relative "vapi/types/scorecard_metric_conditions_item" require_relative "vapi/types/scorecard_metric" require_relative "vapi/types/create_scorecard_dto" require_relative "vapi/types/artifact_plan_recording_format" @@ -463,10 +525,11 @@ require_relative "vapi/types/monitor_plan" require_relative "vapi/types/keypad_input_plan_delimiters" require_relative "vapi/types/keypad_input_plan" -require_relative "vapi/types/xai_model_model" -require_relative "vapi/types/transport_configuration_twilio_provider" -require_relative "vapi/types/transport_configuration_twilio_recording_channels" -require_relative "vapi/types/transport_configuration_twilio" +require_relative "vapi/types/workflow_user_editable_model" +require_relative "vapi/types/workflow_user_editable_transcriber" +require_relative "vapi/types/workflow_user_editable_voice" +require_relative "vapi/types/workflow_user_editable_background_sound_zero" +require_relative "vapi/types/workflow_user_editable_background_sound" require_relative "vapi/types/create_anthropic_credential_dto" require_relative "vapi/types/create_anthropic_bedrock_credential_dto_region" require_relative "vapi/types/awsiam_credentials_authentication_plan" @@ -486,7 +549,6 @@ require_relative "vapi/types/sip_trunk_gateway" require_relative "vapi/types/sip_trunk_outbound_sip_register_plan" require_relative "vapi/types/sip_trunk_outbound_authentication_plan" -require_relative "vapi/types/sbc_configuration" require_relative "vapi/types/create_byo_sip_trunk_credential_dto" require_relative "vapi/types/create_cartesia_credential_dto" require_relative "vapi/types/cloudflare_r_2_bucket_plan" @@ -497,6 +559,7 @@ require_relative "vapi/types/create_deepgram_credential_dto" require_relative "vapi/types/create_deep_infra_credential_dto" require_relative "vapi/types/create_deep_seek_credential_dto" +require_relative "vapi/types/create_eleven_labs_credential_dto_api_url" require_relative "vapi/types/create_eleven_labs_credential_dto" require_relative "vapi/types/gcp_key" require_relative "vapi/types/bucket_plan" @@ -534,17 +597,8 @@ require_relative "vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto" require_relative "vapi/types/create_slack_o_auth_2_authorization_credential_dto" require_relative "vapi/types/create_minimax_credential_dto" -require_relative "vapi/types/session_created_hook_on" -require_relative "vapi/types/assistant_overrides_transcriber" -require_relative "vapi/types/assistant_overrides_voice" -require_relative "vapi/types/assistant_overrides_first_message_mode" -require_relative "vapi/types/assistant_overrides_voicemail_detection_zero" -require_relative "vapi/types/assistant_overrides_voicemail_detection" -require_relative "vapi/types/assistant_overrides_client_messages_item" -require_relative "vapi/types/assistant_overrides_server_messages_item" -require_relative "vapi/types/assistant_overrides_background_sound_zero" -require_relative "vapi/types/assistant_overrides_background_sound" require_relative "vapi/types/oauth_2_authentication_session" +require_relative "vapi/types/s_3_compatible_bucket_plan" require_relative "vapi/types/spki_pem_public_key_config" require_relative "vapi/types/public_key_encryption_plan_algorithm" require_relative "vapi/types/public_key_encryption_plan_public_key" @@ -553,12 +607,13 @@ require_relative "vapi/types/create_google_credential_dto" require_relative "vapi/types/create_hume_credential_dto" require_relative "vapi/types/create_inflection_ai_credential_dto" +require_relative "vapi/types/create_microsoft_credential_dto" require_relative "vapi/types/create_mistral_credential_dto" require_relative "vapi/types/create_neuphonic_credential_dto" require_relative "vapi/types/create_well_said_credential_dto" +require_relative "vapi/types/create_s_3_compatible_credential_dto" require_relative "vapi/types/create_soniox_credential_dto" require_relative "vapi/types/create_speechmatics_credential_dto" -require_relative "vapi/types/create_trieve_credential_dto" require_relative "vapi/types/create_custom_credential_dto_authentication_plan" require_relative "vapi/types/create_custom_credential_dto_encryption_plan" require_relative "vapi/types/create_custom_credential_dto" @@ -566,6 +621,24 @@ require_relative "vapi/types/create_inworld_credential_dto" require_relative "vapi/types/create_email_credential_dto" require_relative "vapi/types/create_slack_webhook_credential_dto" +require_relative "vapi/types/workflow_user_editable_credentials_item" +require_relative "vapi/types/workflow_user_editable_voicemail_detection_zero" +require_relative "vapi/types/workflow_user_editable_voicemail_detection" +require_relative "vapi/types/vapi_model_version" +require_relative "vapi/types/xai_model_model" +require_relative "vapi/types/transport_configuration_twilio_provider" +require_relative "vapi/types/transport_configuration_twilio_recording_channels" +require_relative "vapi/types/transport_configuration_twilio" +require_relative "vapi/types/session_created_hook_on" +require_relative "vapi/types/assistant_overrides_transcriber" +require_relative "vapi/types/assistant_overrides_voice" +require_relative "vapi/types/assistant_overrides_first_message_mode" +require_relative "vapi/types/assistant_overrides_voicemail_detection_zero" +require_relative "vapi/types/assistant_overrides_voicemail_detection" +require_relative "vapi/types/assistant_overrides_client_messages_item" +require_relative "vapi/types/assistant_overrides_server_messages_item" +require_relative "vapi/types/assistant_overrides_background_sound_zero" +require_relative "vapi/types/assistant_overrides_background_sound" require_relative "vapi/types/assistant_overrides_credentials_item" require_relative "vapi/types/create_assistant_dto_transcriber" require_relative "vapi/types/create_assistant_dto_voice" @@ -611,6 +684,13 @@ require_relative "vapi/types/session_created_hook" require_relative "vapi/types/xai_model" require_relative "vapi/types/xai_model_tools_item" +require_relative "vapi/types/vapi_model" +require_relative "vapi/types/vapi_model_tools_item" +require_relative "vapi/types/workflow_user_editable" +require_relative "vapi/types/workflow_user_editable_hooks_item" +require_relative "vapi/types/workflow_user_editable_nodes_item" +require_relative "vapi/types/call_hook_model_response_timeout" +require_relative "vapi/types/call_hook_model_response_timeout_do_item" require_relative "vapi/types/call_hook_customer_speech_timeout" require_relative "vapi/types/call_hook_customer_speech_timeout_do_item" require_relative "vapi/types/tool_call_hook_action" @@ -621,6 +701,10 @@ require_relative "vapi/types/call_hook_assistant_speech_interrupted_do_item" require_relative "vapi/types/call_hook_call_ending" require_relative "vapi/types/call_hook_call_ending_do_item" +require_relative "vapi/types/tool_node" +require_relative "vapi/types/tool_node_tool" +require_relative "vapi/types/conversation_node" +require_relative "vapi/types/conversation_node_tools_item" require_relative "vapi/types/together_ai_model" require_relative "vapi/types/together_ai_model_tools_item" require_relative "vapi/types/perplexity_ai_model" @@ -669,20 +753,21 @@ require_relative "vapi/assistants/types/update_assistant_dto_background_sound" require_relative "vapi/assistants/types/update_assistant_dto_credentials_item" require_relative "vapi/assistants/types/update_assistant_dto_hooks_item" -require_relative "vapi/types/global_node_plan" -require_relative "vapi/types/conversation_node_model" -require_relative "vapi/types/conversation_node_transcriber" -require_relative "vapi/types/conversation_node_voice" -require_relative "vapi/types/conversation_node_tools_item" -require_relative "vapi/types/conversation_node" -require_relative "vapi/types/tool_node_tool" -require_relative "vapi/types/tool_node" -require_relative "vapi/types/call_hook_model_response_timeout_on" -require_relative "vapi/types/call_hook_model_response_timeout_do_item" -require_relative "vapi/types/call_hook_model_response_timeout" -require_relative "vapi/types/ai_edge_condition_type" -require_relative "vapi/types/ai_edge_condition" -require_relative "vapi/types/edge" +require_relative "vapi/types/audio_format_container" +require_relative "vapi/types/audio_format" +require_relative "vapi/types/vapi_websocket_transport_conversation_type" +require_relative "vapi/types/vapi_websocket_transport" +require_relative "vapi/types/vapi_web_call_transport_conversation_type" +require_relative "vapi/types/vapi_web_call_transport" +require_relative "vapi/types/twilio_transport_conversation_type" +require_relative "vapi/types/twilio_transport" +require_relative "vapi/types/telnyx_transport_conversation_type" +require_relative "vapi/types/telnyx_transport" +require_relative "vapi/types/vapi_sip_transport_conversation_type" +require_relative "vapi/types/vapi_sip_transport" +require_relative "vapi/types/vonage_transport_conversation_type" +require_relative "vapi/types/vonage_transport" +require_relative "vapi/calls/types/create_call_dto_transport" require_relative "vapi/types/create_workflow_dto_nodes_item" require_relative "vapi/types/create_workflow_dto_model" require_relative "vapi/types/create_workflow_dto_transcriber" @@ -695,16 +780,34 @@ require_relative "vapi/types/create_workflow_dto_voicemail_detection" require_relative "vapi/types/create_workflow_dto" require_relative "vapi/types/subscription_limits" +require_relative "vapi/types/bot_message" +require_relative "vapi/types/tool_call_message" +require_relative "vapi/types/tool_call_result_message" +require_relative "vapi/types/transport_cost_provider" +require_relative "vapi/types/transport_cost" +require_relative "vapi/types/transcriber_cost" +require_relative "vapi/types/model_cost" +require_relative "vapi/types/voice_cost" +require_relative "vapi/types/vapi_cost_sub_type" +require_relative "vapi/types/vapi_cost" +require_relative "vapi/types/voicemail_detection_cost_provider" +require_relative "vapi/types/voicemail_detection_cost" +require_relative "vapi/types/analysis_cost_analysis_type" +require_relative "vapi/types/analysis_cost" require_relative "vapi/types/analysis_cost_breakdown" require_relative "vapi/types/cost_breakdown" require_relative "vapi/types/analysis" require_relative "vapi/types/monitor_result" require_relative "vapi/types/monitor" +require_relative "vapi/types/skipped_structured_output_unmet_condition" +require_relative "vapi/types/skipped_structured_output" +require_relative "vapi/types/transfer_artifact_destination" +require_relative "vapi/types/transfer_artifact_mode" +require_relative "vapi/types/transfer_artifact_status" +require_relative "vapi/types/transfer_artifact_messages_item" +require_relative "vapi/types/transfer_artifact" require_relative "vapi/types/mono" require_relative "vapi/types/recording" -require_relative "vapi/types/tool_call_result_message" -require_relative "vapi/types/bot_message" -require_relative "vapi/types/tool_call_message" require_relative "vapi/types/node_artifact_messages_item" require_relative "vapi/types/node_artifact" require_relative "vapi/types/assistant_activation" @@ -712,6 +815,7 @@ require_relative "vapi/types/performance_metrics" require_relative "vapi/types/artifact_messages_item" require_relative "vapi/types/artifact" +require_relative "vapi/types/recording_consent_type" require_relative "vapi/types/recording_consent" require_relative "vapi/types/compliance" require_relative "vapi/types/workflow_overrides" @@ -735,17 +839,6 @@ require_relative "vapi/types/create_customer_dto" require_relative "vapi/types/schedule_plan" require_relative "vapi/types/call_type" -require_relative "vapi/types/transport_cost_provider" -require_relative "vapi/types/transport_cost" -require_relative "vapi/types/transcriber_cost" -require_relative "vapi/types/model_cost" -require_relative "vapi/types/voice_cost" -require_relative "vapi/types/vapi_cost_sub_type" -require_relative "vapi/types/vapi_cost" -require_relative "vapi/types/analysis_cost_analysis_type" -require_relative "vapi/types/analysis_cost" -require_relative "vapi/types/voicemail_detection_cost_provider" -require_relative "vapi/types/voicemail_detection_cost" require_relative "vapi/types/knowledge_base_cost" require_relative "vapi/types/call_costs_item" require_relative "vapi/types/call_messages_item" @@ -754,18 +847,20 @@ require_relative "vapi/types/call_status" require_relative "vapi/types/call_ended_reason" require_relative "vapi/types/call_destination" +require_relative "vapi/types/call_transport" require_relative "vapi/types/call" require_relative "vapi/types/call_batch_error" require_relative "vapi/types/call_batch_response" require_relative "vapi/calls/types/create_calls_response" require_relative "vapi/chats/types/list_chats_request_sort_order" +require_relative "vapi/chats/types/list_chats_request_sort_by" require_relative "vapi/chats/types/create_chat_dto_input_one_item" require_relative "vapi/chats/types/create_chat_dto_input" +require_relative "vapi/types/chat_cost" require_relative "vapi/types/chat_input_one_item" require_relative "vapi/types/chat_input" require_relative "vapi/types/chat_messages_item" require_relative "vapi/types/chat_output_item" -require_relative "vapi/types/chat_cost" require_relative "vapi/types/chat_costs_item" require_relative "vapi/types/chat" require_relative "vapi/types/create_chat_stream_response" @@ -792,8 +887,12 @@ require_relative "vapi/chats/types/create_response_chats_response" require_relative "vapi/campaigns/types/campaign_controller_find_all_request_status" require_relative "vapi/campaigns/types/campaign_controller_find_all_request_sort_order" -require_relative "vapi/campaigns/types/update_campaign_dto_status" +require_relative "vapi/campaigns/types/campaign_controller_find_all_request_sort_by" +require_relative "vapi/campaigns/types/campaign_controller_find_all_v_2_request_status" +require_relative "vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order" +require_relative "vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by" require_relative "vapi/sessions/types/list_sessions_request_sort_order" +require_relative "vapi/sessions/types/list_sessions_request_sort_by" require_relative "vapi/sessions/types/create_session_dto_status" require_relative "vapi/sessions/types/create_session_dto_messages_item" require_relative "vapi/sessions/types/update_session_dto_status" @@ -838,6 +937,7 @@ require_relative "vapi/phone_numbers/types/create_phone_numbers_request" require_relative "vapi/phone_numbers/types/create_phone_numbers_response" require_relative "vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_order" +require_relative "vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by" require_relative "vapi/phone_numbers/types/get_phone_numbers_response" require_relative "vapi/phone_numbers/types/delete_phone_numbers_response" require_relative "vapi/types/update_byo_phone_number_dto_fallback_destination" @@ -977,9 +1077,15 @@ require_relative "vapi/tools/types/update_tools_request_body" require_relative "vapi/tools/types/update_tools_response" require_relative "vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_order" +require_relative "vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by" require_relative "vapi/structured_outputs/types/update_structured_output_dto_type" require_relative "vapi/structured_outputs/types/update_structured_output_dto_model" +require_relative "vapi/structured_outputs/types/update_structured_output_dto_conditions_item" +require_relative "vapi/structured_outputs/types/structured_output_controller_run_response_zero" +require_relative "vapi/types/structured_output_rerun_response" +require_relative "vapi/structured_outputs/types/structured_output_controller_run_response" require_relative "vapi/insight/types/insight_controller_find_all_request_sort_order" +require_relative "vapi/insight/types/insight_controller_find_all_request_sort_by" require_relative "vapi/types/bar_insight_metadata" require_relative "vapi/types/insight_time_range_with_step_step" require_relative "vapi/types/insight_time_range_with_step" @@ -1074,7 +1180,18 @@ require_relative "vapi/insight/types/insight_controller_update_request_body" require_relative "vapi/insight/types/insight_controller_update_response" require_relative "vapi/insight/types/insight_controller_preview_request" +require_relative "vapi/board/types/board_controller_find_all_request_sort_order" +require_relative "vapi/board/types/board_controller_find_all_request_sort_by" +require_relative "vapi/types/board_item_position" +require_relative "vapi/types/board_item_size" +require_relative "vapi/types/board_insight_item_type" +require_relative "vapi/types/board_insight_item" +require_relative "vapi/types/board_metric_widget_item_type" +require_relative "vapi/types/board_metric_widget_item" +require_relative "vapi/board/types/create_board_dto_items_item" +require_relative "vapi/board/types/update_board_dto_items_item" require_relative "vapi/eval/types/eval_controller_get_paginated_request_sort_order" +require_relative "vapi/eval/types/eval_controller_get_paginated_request_sort_by" require_relative "vapi/types/chat_eval_assistant_message_mock_tool_call" require_relative "vapi/types/chat_eval_assistant_message_mock_role" require_relative "vapi/types/chat_eval_assistant_message_mock" @@ -1105,14 +1222,17 @@ require_relative "vapi/eval/types/update_eval_dto_messages_item" require_relative "vapi/eval/types/update_eval_dto_type" require_relative "vapi/eval/types/eval_controller_get_runs_paginated_request_sort_order" +require_relative "vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by" require_relative "vapi/types/eval_run_target_assistant" require_relative "vapi/types/eval_run_target_squad" require_relative "vapi/eval/types/create_eval_run_dto_target" require_relative "vapi/eval/types/create_eval_run_dto_type" require_relative "vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_order" +require_relative "vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by" require_relative "vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_provider" require_relative "vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_resource_name" require_relative "vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_order" +require_relative "vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by" require_relative "vapi/provider_resources/types/provider_resource_controller_create_provider_resource_request_provider" require_relative "vapi/provider_resources/types/provider_resource_controller_create_provider_resource_request_resource_name" require_relative "vapi/provider_resources/types/provider_resource_controller_get_provider_resource_request_provider" @@ -1151,20 +1271,6 @@ require_relative "vapi/types/function_call_hook_action_messages_item" require_relative "vapi/types/function_call_hook_action_type" require_relative "vapi/types/function_call_hook_action" -require_relative "vapi/types/workflow_user_editable_nodes_item" -require_relative "vapi/types/workflow_user_editable_model" -require_relative "vapi/types/workflow_user_editable_transcriber" -require_relative "vapi/types/workflow_user_editable_voice" -require_relative "vapi/types/workflow_user_editable_background_sound_zero" -require_relative "vapi/types/workflow_user_editable_background_sound" -require_relative "vapi/types/workflow_user_editable_hooks_item" -require_relative "vapi/types/workflow_user_editable_credentials_item" -require_relative "vapi/types/workflow_user_editable_voicemail_detection_zero" -require_relative "vapi/types/workflow_user_editable_voicemail_detection" -require_relative "vapi/types/workflow_user_editable" -require_relative "vapi/types/vapi_model_tools_item" -require_relative "vapi/types/vapi_model_provider" -require_relative "vapi/types/vapi_model" require_relative "vapi/types/fallback_minimax_voice_provider" require_relative "vapi/types/fallback_minimax_voice_model" require_relative "vapi/types/fallback_minimax_voice_subtitle_type" @@ -1199,9 +1305,75 @@ require_relative "vapi/types/assistant_credentials_item" require_relative "vapi/types/assistant_hooks_item" require_relative "vapi/types/assistant" +require_relative "vapi/types/pagination_meta_sort_order" require_relative "vapi/types/pagination_meta" require_relative "vapi/types/assistant_paginated_response" +require_relative "vapi/types/assistant_draft_transcriber" +require_relative "vapi/types/assistant_draft_model" +require_relative "vapi/types/assistant_draft_voice" +require_relative "vapi/types/assistant_draft_first_message_mode" +require_relative "vapi/types/assistant_draft_voicemail_detection_zero" +require_relative "vapi/types/assistant_draft_voicemail_detection" +require_relative "vapi/types/assistant_draft_client_messages_item" +require_relative "vapi/types/assistant_draft_server_messages_item" +require_relative "vapi/types/assistant_draft_background_sound_zero" +require_relative "vapi/types/assistant_draft_background_sound" +require_relative "vapi/types/assistant_draft_credentials_item" +require_relative "vapi/types/assistant_draft_hooks_item" +require_relative "vapi/types/assistant_draft" +require_relative "vapi/types/assistant_draft_paginated_metadata" +require_relative "vapi/types/assistant_draft_paginated_response" +require_relative "vapi/types/legacy_assistant_version" +require_relative "vapi/types/legacy_assistant_version_paginated_response" +require_relative "vapi/types/assistant_version_transcriber" +require_relative "vapi/types/assistant_version_model" +require_relative "vapi/types/assistant_version_voice" +require_relative "vapi/types/assistant_version_first_message_mode" +require_relative "vapi/types/assistant_version_voicemail_detection_zero" +require_relative "vapi/types/assistant_version_voicemail_detection" +require_relative "vapi/types/assistant_version_client_messages_item" +require_relative "vapi/types/assistant_version_server_messages_item" +require_relative "vapi/types/assistant_version_background_sound_zero" +require_relative "vapi/types/assistant_version_background_sound" +require_relative "vapi/types/assistant_version_credentials_item" +require_relative "vapi/types/assistant_version_hooks_item" +require_relative "vapi/types/assistant_version" +require_relative "vapi/types/assistant_version_paginated_metadata" require_relative "vapi/types/assistant_version_paginated_response" +require_relative "vapi/types/update_assistant_version_metadata_dto" +require_relative "vapi/types/version_pin_reference_source_type" +require_relative "vapi/types/version_pin_reference" +require_relative "vapi/types/version_pin_conflict_response_dto_error" +require_relative "vapi/types/version_pin_conflict_response_dto" +require_relative "vapi/types/create_assistant_draft_dto_transcriber" +require_relative "vapi/types/create_assistant_draft_dto_model" +require_relative "vapi/types/create_assistant_draft_dto_voice" +require_relative "vapi/types/create_assistant_draft_dto_first_message_mode" +require_relative "vapi/types/create_assistant_draft_dto_voicemail_detection_zero" +require_relative "vapi/types/create_assistant_draft_dto_voicemail_detection" +require_relative "vapi/types/create_assistant_draft_dto_client_messages_item" +require_relative "vapi/types/create_assistant_draft_dto_server_messages_item" +require_relative "vapi/types/create_assistant_draft_dto_background_sound_zero" +require_relative "vapi/types/create_assistant_draft_dto_background_sound" +require_relative "vapi/types/create_assistant_draft_dto_credentials_item" +require_relative "vapi/types/create_assistant_draft_dto_hooks_item" +require_relative "vapi/types/create_assistant_draft_dto" +require_relative "vapi/types/assistant_draft_conflict_response_dto" +require_relative "vapi/types/update_assistant_draft_dto_transcriber" +require_relative "vapi/types/update_assistant_draft_dto_model" +require_relative "vapi/types/update_assistant_draft_dto_voice" +require_relative "vapi/types/update_assistant_draft_dto_first_message_mode" +require_relative "vapi/types/update_assistant_draft_dto_voicemail_detection_zero" +require_relative "vapi/types/update_assistant_draft_dto_voicemail_detection" +require_relative "vapi/types/update_assistant_draft_dto_client_messages_item" +require_relative "vapi/types/update_assistant_draft_dto_server_messages_item" +require_relative "vapi/types/update_assistant_draft_dto_background_sound_zero" +require_relative "vapi/types/update_assistant_draft_dto_background_sound" +require_relative "vapi/types/update_assistant_draft_dto_credentials_item" +require_relative "vapi/types/update_assistant_draft_dto_hooks_item" +require_relative "vapi/types/update_assistant_draft_dto" +require_relative "vapi/types/assistant_pinned_conflict_response_dto_error" +require_relative "vapi/types/assistant_pinned_conflict_response_dto" require_relative "vapi/types/squad" require_relative "vapi/types/workflow_nodes_item" require_relative "vapi/types/workflow_model" @@ -1225,11 +1397,14 @@ require_relative "vapi/types/update_workflow_dto_voicemail_detection_zero" require_relative "vapi/types/update_workflow_dto_voicemail_detection" require_relative "vapi/types/update_workflow_dto" +require_relative "vapi/types/tool_call_result_message_warning_type" +require_relative "vapi/types/tool_call_result_message_warning" require_relative "vapi/types/assistant_speech_word_alignment_timing" require_relative "vapi/types/assistant_speech_word_timestamp" require_relative "vapi/types/assistant_speech_word_progress_timing" require_relative "vapi/types/structured_output_filter_dto" require_relative "vapi/types/call_paginated_response" +require_relative "vapi/types/create_outbound_call_dto_transport" require_relative "vapi/types/create_outbound_call_dto" require_relative "vapi/types/create_web_call_dto" require_relative "vapi/types/function_call" @@ -1237,6 +1412,7 @@ require_relative "vapi/types/twilio_sms_chat_transport_type" require_relative "vapi/types/twilio_sms_chat_transport" require_relative "vapi/types/get_chat_paginated_dto_sort_order" +require_relative "vapi/types/get_chat_paginated_dto_sort_by" require_relative "vapi/types/get_chat_paginated_dto" require_relative "vapi/types/chat_paginated_response" require_relative "vapi/types/chat_assistant_overrides" @@ -1252,12 +1428,19 @@ require_relative "vapi/types/export_chat_dto_columns" require_relative "vapi/types/export_chat_dto_format" require_relative "vapi/types/export_chat_dto_sort_order" +require_relative "vapi/types/export_chat_dto_sort_by" require_relative "vapi/types/export_chat_dto" require_relative "vapi/types/dial_plan_entry" +require_relative "vapi/types/campaign_predial_plan" +require_relative "vapi/types/create_campaign_dto_server_messages_item" +require_relative "vapi/types/create_campaign_dto" require_relative "vapi/types/campaign_status" require_relative "vapi/types/campaign_ended_reason" +require_relative "vapi/types/campaign_server_messages_item" require_relative "vapi/types/campaign" require_relative "vapi/types/campaign_paginated_response" +require_relative "vapi/types/update_campaign_dto_status" +require_relative "vapi/types/update_campaign_dto" require_relative "vapi/types/relay_target_assistant" require_relative "vapi/types/relay_target_squad" require_relative "vapi/types/relay_target_options_type" @@ -1277,11 +1460,13 @@ require_relative "vapi/types/session_messages_item" require_relative "vapi/types/session" require_relative "vapi/types/get_session_paginated_dto_sort_order" +require_relative "vapi/types/get_session_paginated_dto_sort_by" require_relative "vapi/types/get_session_paginated_dto" require_relative "vapi/types/session_paginated_response" require_relative "vapi/types/export_session_dto_columns" require_relative "vapi/types/export_session_dto_format" require_relative "vapi/types/export_session_dto_sort_order" +require_relative "vapi/types/export_session_dto_sort_by" require_relative "vapi/types/export_session_dto" require_relative "vapi/types/import_vonage_phone_number_dto_fallback_destination" require_relative "vapi/types/import_vonage_phone_number_dto_hooks_item" @@ -1301,33 +1486,55 @@ require_relative "vapi/types/create_output_tool_dto_type" require_relative "vapi/types/create_output_tool_dto" require_relative "vapi/types/update_code_tool_dto_messages_item" +require_relative "vapi/types/update_code_tool_dto_type" require_relative "vapi/types/update_code_tool_dto" require_relative "vapi/types/update_ghl_tool_dto_messages_item" +require_relative "vapi/types/update_ghl_tool_dto_type" require_relative "vapi/types/update_ghl_tool_dto" require_relative "vapi/types/update_make_tool_dto_messages_item" +require_relative "vapi/types/update_make_tool_dto_type" require_relative "vapi/types/update_make_tool_dto" require_relative "vapi/types/update_output_tool_dto_messages_item" +require_relative "vapi/types/update_output_tool_dto_type" require_relative "vapi/types/update_output_tool_dto" +require_relative "vapi/types/tool_version" +require_relative "vapi/types/tool_version_paginated_metadata" +require_relative "vapi/types/tool_version_paginated_response" +require_relative "vapi/types/tool_draft_messages_item" +require_relative "vapi/types/tool_draft_type" +require_relative "vapi/types/tool_draft_method" +require_relative "vapi/types/tool_draft_verb" +require_relative "vapi/types/tool_draft" +require_relative "vapi/types/create_tool_draft_dto_messages_item" +require_relative "vapi/types/create_tool_draft_dto_type" +require_relative "vapi/types/create_tool_draft_dto_method" +require_relative "vapi/types/create_tool_draft_dto_verb" +require_relative "vapi/types/create_tool_draft_dto" +require_relative "vapi/types/update_tool_draft_dto_messages_item" +require_relative "vapi/types/update_tool_draft_dto_type" +require_relative "vapi/types/update_tool_draft_dto_method" +require_relative "vapi/types/update_tool_draft_dto_verb" +require_relative "vapi/types/update_tool_draft_dto" +require_relative "vapi/types/tool_draft_paginated_metadata" +require_relative "vapi/types/tool_draft_paginated_response" +require_relative "vapi/types/tool_draft_conflict_response_dto" +require_relative "vapi/types/get_tool_drafts_dto" +require_relative "vapi/types/update_tool_version_metadata_dto" +require_relative "vapi/types/tool_pinned_conflict_response_dto_error" +require_relative "vapi/types/tool_pinned_conflict_response_dto" require_relative "vapi/types/file_object" require_relative "vapi/types/file_status" require_relative "vapi/types/file" -require_relative "vapi/types/trieve_knowledge_base_search_plan_search_type" -require_relative "vapi/types/trieve_knowledge_base_search_plan" -require_relative "vapi/types/trieve_knowledge_base_provider" -require_relative "vapi/types/trieve_knowledge_base_import_type" -require_relative "vapi/types/trieve_knowledge_base_import" -require_relative "vapi/types/trieve_knowledge_base" require_relative "vapi/types/custom_knowledge_base_provider" require_relative "vapi/types/custom_knowledge_base" -require_relative "vapi/types/create_trieve_knowledge_base_dto_provider" -require_relative "vapi/types/create_trieve_knowledge_base_dto" -require_relative "vapi/types/update_trieve_knowledge_base_dto" +require_relative "vapi/types/update_custom_knowledge_base_dto_provider" require_relative "vapi/types/update_custom_knowledge_base_dto" -require_relative "vapi/types/trieve_knowledge_base_chunk_plan" -require_relative "vapi/types/trieve_knowledge_base_create_type" -require_relative "vapi/types/trieve_knowledge_base_create" +require_relative "vapi/types/structured_output_run_result_result" +require_relative "vapi/types/structured_output_run_result" +require_relative "vapi/types/structured_output_run_preview_response" require_relative "vapi/types/structured_output_type" require_relative "vapi/types/structured_output_model" +require_relative "vapi/types/structured_output_conditions_item" require_relative "vapi/types/structured_output" require_relative "vapi/types/structured_output_paginated_response" require_relative "vapi/types/tester_plan" @@ -1393,6 +1600,10 @@ require_relative "vapi/types/create_simulation_run_dto_target" require_relative "vapi/types/create_simulation_run_dto" require_relative "vapi/types/simulation_run_item_counts" +require_relative "vapi/types/create_simulation_run_response_status" +require_relative "vapi/types/create_simulation_run_response_simulations_item" +require_relative "vapi/types/create_simulation_run_response_target" +require_relative "vapi/types/create_simulation_run_response" require_relative "vapi/types/simulation_run_status" require_relative "vapi/types/simulation_run_simulations_item" require_relative "vapi/types/simulation_run_target" @@ -1412,6 +1623,8 @@ require_relative "vapi/types/simulation_run_item_status" require_relative "vapi/types/simulation_run_item_hooks_item" require_relative "vapi/types/simulation_run_item" +require_relative "vapi/types/simulation_suite_target_assignment_target_type" +require_relative "vapi/types/simulation_suite_target_assignment" require_relative "vapi/types/create_simulation_suite_dto" require_relative "vapi/types/simulation_suite" require_relative "vapi/types/update_simulation_suite_dto" @@ -1444,6 +1657,10 @@ require_relative "vapi/types/insight_type" require_relative "vapi/types/insight" require_relative "vapi/types/insight_paginated_response" +require_relative "vapi/types/board_layout" +require_relative "vapi/types/board_items_item" +require_relative "vapi/types/board" +require_relative "vapi/types/board_paginated_response" require_relative "vapi/types/create_eval_dto_messages_item" require_relative "vapi/types/create_eval_dto_type" require_relative "vapi/types/create_eval_dto" @@ -1459,6 +1676,7 @@ require_relative "vapi/types/eval_groq_model_model" require_relative "vapi/types/eval_groq_model" require_relative "vapi/types/get_eval_paginated_dto_sort_order" +require_relative "vapi/types/get_eval_paginated_dto_sort_by" require_relative "vapi/types/get_eval_paginated_dto" require_relative "vapi/types/eval_paginated_response" require_relative "vapi/types/eval_run_result_status" @@ -1471,6 +1689,7 @@ require_relative "vapi/types/eval_run" require_relative "vapi/types/eval_run_paginated_response" require_relative "vapi/types/get_eval_run_paginated_dto_sort_order" +require_relative "vapi/types/get_eval_run_paginated_dto_sort_by" require_relative "vapi/types/get_eval_run_paginated_dto" require_relative "vapi/types/scorecard" require_relative "vapi/types/scorecard_paginated_response" @@ -1487,8 +1706,13 @@ require_relative "vapi/types/update_org_dto_channel" require_relative "vapi/types/update_org_dto" require_relative "vapi/types/user" +require_relative "vapi/types/invite_user_dto_role_zero" require_relative "vapi/types/invite_user_dto_role" require_relative "vapi/types/invite_user_dto" +require_relative "vapi/types/pending_invitation_dto" +require_relative "vapi/types/pending_invitations_response_dto" +require_relative "vapi/types/revoke_invitation_response_dto" +require_relative "vapi/types/update_user_role_dto_role_zero" require_relative "vapi/types/update_user_role_dto_role" require_relative "vapi/types/update_user_role_dto" require_relative "vapi/types/jwt_response" @@ -1537,6 +1761,7 @@ require_relative "vapi/types/deep_infra_credential" require_relative "vapi/types/deep_seek_credential_provider" require_relative "vapi/types/deep_seek_credential" +require_relative "vapi/types/eleven_labs_credential_api_url" require_relative "vapi/types/eleven_labs_credential" require_relative "vapi/types/gcp_credential_provider" require_relative "vapi/types/gcp_credential" @@ -1558,6 +1783,8 @@ require_relative "vapi/types/lmnt_credential" require_relative "vapi/types/make_credential_provider" require_relative "vapi/types/make_credential" +require_relative "vapi/types/microsoft_credential_provider" +require_relative "vapi/types/microsoft_credential" require_relative "vapi/types/mistral_credential_provider" require_relative "vapi/types/mistral_credential" require_relative "vapi/types/neuphonic_credential_provider" @@ -1578,6 +1805,8 @@ require_relative "vapi/types/well_said_credential" require_relative "vapi/types/s_3_credential_provider" require_relative "vapi/types/s_3_credential" +require_relative "vapi/types/s_3_compatible_storage_credential_provider" +require_relative "vapi/types/s_3_compatible_storage_credential" require_relative "vapi/types/smallest_ai_credential_provider" require_relative "vapi/types/smallest_ai_credential" require_relative "vapi/types/soniox_credential_provider" @@ -1590,8 +1819,6 @@ require_relative "vapi/types/tavus_credential" require_relative "vapi/types/together_ai_credential_provider" require_relative "vapi/types/together_ai_credential" -require_relative "vapi/types/trieve_credential_provider" -require_relative "vapi/types/trieve_credential" require_relative "vapi/types/twilio_credential_provider" require_relative "vapi/types/twilio_credential" require_relative "vapi/types/vonage_credential_provider" @@ -1621,65 +1848,119 @@ require_relative "vapi/types/email_credential" require_relative "vapi/types/slack_webhook_credential_provider" require_relative "vapi/types/slack_webhook_credential" +require_relative "vapi/types/update_anthropic_credential_dto_provider" require_relative "vapi/types/update_anthropic_credential_dto" +require_relative "vapi/types/update_anthropic_bedrock_credential_dto_provider" require_relative "vapi/types/update_anthropic_bedrock_credential_dto_region" require_relative "vapi/types/update_anthropic_bedrock_credential_dto_authentication_plan" require_relative "vapi/types/update_anthropic_bedrock_credential_dto" +require_relative "vapi/types/update_anyscale_credential_dto_provider" require_relative "vapi/types/update_anyscale_credential_dto" +require_relative "vapi/types/update_assembly_ai_credential_dto_provider" require_relative "vapi/types/update_assembly_ai_credential_dto" +require_relative "vapi/types/update_azure_credential_dto_provider" require_relative "vapi/types/update_azure_credential_dto_service" require_relative "vapi/types/update_azure_credential_dto_region" require_relative "vapi/types/update_azure_credential_dto" +require_relative "vapi/types/update_azure_open_ai_credential_dto_provider" require_relative "vapi/types/update_azure_open_ai_credential_dto_region" require_relative "vapi/types/update_azure_open_ai_credential_dto_models_item" require_relative "vapi/types/update_azure_open_ai_credential_dto" +require_relative "vapi/types/update_byo_sip_trunk_credential_dto_provider" require_relative "vapi/types/update_byo_sip_trunk_credential_dto" +require_relative "vapi/types/update_cartesia_credential_dto_provider" require_relative "vapi/types/update_cartesia_credential_dto" +require_relative "vapi/types/update_cerebras_credential_dto_provider" require_relative "vapi/types/update_cerebras_credential_dto" +require_relative "vapi/types/update_cloudflare_credential_dto_provider" require_relative "vapi/types/update_cloudflare_credential_dto" +require_relative "vapi/types/update_custom_llm_credential_dto_provider" require_relative "vapi/types/update_custom_llm_credential_dto" +require_relative "vapi/types/update_deepgram_credential_dto_provider" require_relative "vapi/types/update_deepgram_credential_dto" +require_relative "vapi/types/update_deep_infra_credential_dto_provider" require_relative "vapi/types/update_deep_infra_credential_dto" +require_relative "vapi/types/update_deep_seek_credential_dto_provider" require_relative "vapi/types/update_deep_seek_credential_dto" +require_relative "vapi/types/update_eleven_labs_credential_dto_api_url" require_relative "vapi/types/update_eleven_labs_credential_dto" +require_relative "vapi/types/update_gcp_credential_dto_provider" require_relative "vapi/types/update_gcp_credential_dto" +require_relative "vapi/types/update_gladia_credential_dto_provider" require_relative "vapi/types/update_gladia_credential_dto" +require_relative "vapi/types/update_go_high_level_credential_dto_provider" require_relative "vapi/types/update_go_high_level_credential_dto" +require_relative "vapi/types/update_google_credential_dto_provider" require_relative "vapi/types/update_google_credential_dto" +require_relative "vapi/types/update_groq_credential_dto_provider" require_relative "vapi/types/update_groq_credential_dto" +require_relative "vapi/types/update_hume_credential_dto_provider" require_relative "vapi/types/update_hume_credential_dto" +require_relative "vapi/types/update_inflection_ai_credential_dto_provider" require_relative "vapi/types/update_inflection_ai_credential_dto" +require_relative "vapi/types/update_langfuse_credential_dto_provider" require_relative "vapi/types/update_langfuse_credential_dto" +require_relative "vapi/types/update_lmnt_credential_dto_provider" require_relative "vapi/types/update_lmnt_credential_dto" +require_relative "vapi/types/update_make_credential_dto_provider" require_relative "vapi/types/update_make_credential_dto" +require_relative "vapi/types/update_microsoft_credential_dto_provider" +require_relative "vapi/types/update_microsoft_credential_dto" +require_relative "vapi/types/update_mistral_credential_dto_provider" require_relative "vapi/types/update_mistral_credential_dto" +require_relative "vapi/types/update_neuphonic_credential_dto_provider" require_relative "vapi/types/update_neuphonic_credential_dto" +require_relative "vapi/types/update_open_ai_credential_dto_provider" require_relative "vapi/types/update_open_ai_credential_dto" +require_relative "vapi/types/update_open_router_credential_dto_provider" require_relative "vapi/types/update_open_router_credential_dto" +require_relative "vapi/types/update_perplexity_ai_credential_dto_provider" require_relative "vapi/types/update_perplexity_ai_credential_dto" +require_relative "vapi/types/update_play_ht_credential_dto_provider" require_relative "vapi/types/update_play_ht_credential_dto" +require_relative "vapi/types/update_rime_ai_credential_dto_provider" require_relative "vapi/types/update_rime_ai_credential_dto" +require_relative "vapi/types/update_runpod_credential_dto_provider" require_relative "vapi/types/update_runpod_credential_dto" +require_relative "vapi/types/update_well_said_credential_dto_provider" require_relative "vapi/types/update_well_said_credential_dto" +require_relative "vapi/types/update_s_3_credential_dto_provider" require_relative "vapi/types/update_s_3_credential_dto" +require_relative "vapi/types/update_s_3_compatible_bucket_plan_dto" +require_relative "vapi/types/update_s_3_compatible_credential_dto_provider" +require_relative "vapi/types/update_s_3_compatible_credential_dto" +require_relative "vapi/types/update_together_ai_credential_dto_provider" require_relative "vapi/types/update_together_ai_credential_dto" -require_relative "vapi/types/update_trieve_credential_dto" +require_relative "vapi/types/update_twilio_credential_dto_provider" require_relative "vapi/types/update_twilio_credential_dto" +require_relative "vapi/types/update_vonage_credential_dto_provider" require_relative "vapi/types/update_vonage_credential_dto" +require_relative "vapi/types/update_webhook_credential_dto_provider" require_relative "vapi/types/update_webhook_credential_dto_authentication_plan" require_relative "vapi/types/update_webhook_credential_dto" +require_relative "vapi/types/update_custom_credential_dto_provider" require_relative "vapi/types/update_custom_credential_dto_authentication_plan" require_relative "vapi/types/update_custom_credential_dto_encryption_plan" require_relative "vapi/types/update_custom_credential_dto" +require_relative "vapi/types/update_x_ai_credential_dto_provider" require_relative "vapi/types/update_x_ai_credential_dto" +require_relative "vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider" require_relative "vapi/types/update_google_calendar_o_auth_2_client_credential_dto" +require_relative "vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider" require_relative "vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto" +require_relative "vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider" require_relative "vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto" +require_relative "vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider" require_relative "vapi/types/update_slack_o_auth_2_authorization_credential_dto" +require_relative "vapi/types/update_go_high_level_mcp_credential_dto_provider" require_relative "vapi/types/update_go_high_level_mcp_credential_dto" +require_relative "vapi/types/update_inworld_credential_dto_provider" require_relative "vapi/types/update_inworld_credential_dto" +require_relative "vapi/types/update_email_credential_dto_provider" require_relative "vapi/types/update_email_credential_dto" +require_relative "vapi/types/update_slack_webhook_credential_dto_provider" require_relative "vapi/types/update_slack_webhook_credential_dto" +require_relative "vapi/types/update_soniox_credential_dto_provider" require_relative "vapi/types/update_soniox_credential_dto" require_relative "vapi/types/credential_session_response" require_relative "vapi/types/credential_end_user" @@ -1731,6 +2012,7 @@ require_relative "vapi/types/provider_resource_resource_name" require_relative "vapi/types/provider_resource" require_relative "vapi/types/provider_resource_paginated_response" +require_relative "vapi/types/voice_library_voice_response_age" require_relative "vapi/types/voice_library_voice_response" require_relative "vapi/types/add_voice_to_provider_dto" require_relative "vapi/types/clone_voice_dto" @@ -1942,6 +2224,10 @@ require_relative "vapi/types/server_message_call_delete_failed_phone_number" require_relative "vapi/types/server_message_call_delete_failed_type" require_relative "vapi/types/server_message_call_delete_failed" +require_relative "vapi/types/campaign_contact" +require_relative "vapi/types/server_message_campaign_predial_phone_number" +require_relative "vapi/types/server_message_campaign_predial_type" +require_relative "vapi/types/server_message_campaign_predial" require_relative "vapi/types/server_message_message" require_relative "vapi/types/server_message" require_relative "vapi/types/server_message_response_assistant_request_destination" @@ -1956,6 +2242,7 @@ require_relative "vapi/types/server_message_response_transfer_destination_request" require_relative "vapi/types/server_message_response_voice_request" require_relative "vapi/types/server_message_response_call_endpointing_request" +require_relative "vapi/types/server_message_response_campaign_predial" require_relative "vapi/types/server_message_response_message_response" require_relative "vapi/types/server_message_response" require_relative "vapi/types/client_inbound_message_add_message" @@ -1997,9 +2284,15 @@ require_relative "vapi/types/transfer_assistant_hook_action" require_relative "vapi/types/function_call_assistant_hook_action" require_relative "vapi/types/say_assistant_hook_action" +require_relative "vapi/types/create_trieve_credential_dto" +require_relative "vapi/types/sbc_configuration" require_relative "vapi/types/assistant_hook_call_ending" require_relative "vapi/types/assistant_hook_assistant_speech_interrupted" require_relative "vapi/types/assistant_hook_customer_speech_interrupted" +require_relative "vapi/types/trieve_knowledge_base_import" +require_relative "vapi/types/create_trieve_knowledge_base_dto" +require_relative "vapi/types/trieve_knowledge_base" +require_relative "vapi/types/update_trieve_knowledge_base_dto" require_relative "vapi/client" require_relative "vapi/assistants/client" require_relative "vapi/assistants/types/list_assistants_request" @@ -2017,6 +2310,13 @@ require_relative "vapi/calls/types/get_calls_request" require_relative "vapi/calls/types/delete_call_dto" require_relative "vapi/calls/types/update_call_dto" +require_relative "vapi/calls/types/call_artifact_controller_mono_recording_download_request" +require_relative "vapi/calls/types/call_artifact_controller_stereo_recording_download_request" +require_relative "vapi/calls/types/call_artifact_controller_video_recording_download_request" +require_relative "vapi/calls/types/call_artifact_controller_customer_recording_download_request" +require_relative "vapi/calls/types/call_artifact_controller_assistant_recording_download_request" +require_relative "vapi/calls/types/call_artifact_controller_pcap_download_request" +require_relative "vapi/calls/types/call_artifact_controller_call_logs_download_request" require_relative "vapi/chats/client" require_relative "vapi/chats/types/list_chats_request" require_relative "vapi/chats/types/create_chat_dto" @@ -2025,10 +2325,13 @@ require_relative "vapi/chats/types/open_ai_responses_request" require_relative "vapi/campaigns/client" require_relative "vapi/campaigns/types/campaign_controller_find_all_request" -require_relative "vapi/campaigns/types/create_campaign_dto" +require_relative "vapi/campaigns/types/campaign_controller_find_all_v_2_request" +require_relative "vapi/campaigns/types/campaign_controller_find_one_v_2_request" +require_relative "vapi/campaigns/types/campaign_controller_remove_v_2_request" +require_relative "vapi/campaigns/types/campaign_controller_update_v_2_request" require_relative "vapi/campaigns/types/campaign_controller_find_one_request" require_relative "vapi/campaigns/types/campaign_controller_remove_request" -require_relative "vapi/campaigns/types/update_campaign_dto" +require_relative "vapi/campaigns/types/campaign_controller_update_request" require_relative "vapi/sessions/client" require_relative "vapi/sessions/types/list_sessions_request" require_relative "vapi/sessions/types/create_session_dto" @@ -2047,6 +2350,7 @@ require_relative "vapi/tools/types/delete_tools_request" require_relative "vapi/tools/types/update_tools_request" require_relative "vapi/files/client" +require_relative "vapi/files/types/list_files_request" require_relative "vapi/files/types/create_file_dto" require_relative "vapi/files/types/get_files_request" require_relative "vapi/files/types/delete_files_request" @@ -2063,6 +2367,12 @@ require_relative "vapi/insight/types/insight_controller_remove_request" require_relative "vapi/insight/types/insight_controller_update_request" require_relative "vapi/insight/types/insight_run_dto" +require_relative "vapi/board/client" +require_relative "vapi/board/types/board_controller_find_all_request" +require_relative "vapi/board/types/create_board_dto" +require_relative "vapi/board/types/board_controller_find_one_request" +require_relative "vapi/board/types/board_controller_remove_request" +require_relative "vapi/board/types/update_board_dto" require_relative "vapi/eval/client" require_relative "vapi/eval/types/eval_controller_get_paginated_request" require_relative "vapi/eval/types/eval_controller_get_request" diff --git a/lib/vapi/analytics/client.rb b/lib/vapi/analytics/client.rb index 3b8a839e..dab7d2d0 100644 --- a/lib/vapi/analytics/client.rb +++ b/lib/vapi/analytics/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Runs one or more metric queries against call or subscription data using the requested time range, groupings, and + # aggregate operations. + # # @param request_options [Hash] # @param params [Vapi::Analytics::Types::AnalyticsQueryDto] # @option request_options [String] :base_url diff --git a/lib/vapi/assistants/client.rb b/lib/vapi/assistants/client.rb index 77b0a233..2bd2be8c 100644 --- a/lib/vapi/assistants/client.rb +++ b/lib/vapi/assistants/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit + # the number returned. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -62,6 +65,9 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call + # behavior. + # # @param request_options [Hash] # @param params [Vapi::Types::CreateAssistantDto] # @option request_options [String] :base_url @@ -94,6 +100,8 @@ def create(request_options: {}, **params) end end + # Returns the assistant identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -126,6 +134,8 @@ def get(request_options: {}, **params) end end + # Deletes the assistant identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -158,6 +168,8 @@ def delete(request_options: {}, **params) end end + # Updates the specified fields of the assistant identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Assistants::Types::UpdateAssistantDto] # @option request_options [String] :base_url diff --git a/lib/vapi/assistants/types/update_assistant_dto_credentials_item.rb b/lib/vapi/assistants/types/update_assistant_dto_credentials_item.rb index ef77a971..722744a0 100644 --- a/lib/vapi/assistants/types/update_assistant_dto_credentials_item.rb +++ b/lib/vapi/assistants/types/update_assistant_dto_credentials_item.rb @@ -39,6 +39,7 @@ class UpdateAssistantDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -48,12 +49,12 @@ class UpdateAssistantDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/assistants/types/update_assistant_dto_model.rb b/lib/vapi/assistants/types/update_assistant_dto_model.rb index c691b9a8..5c3bd641 100644 --- a/lib/vapi/assistants/types/update_assistant_dto_model.rb +++ b/lib/vapi/assistants/types/update_assistant_dto_model.rb @@ -25,6 +25,7 @@ class UpdateAssistantDtoModel < Internal::Types::Model member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" end end end diff --git a/lib/vapi/assistants/types/update_assistant_dto_transcriber.rb b/lib/vapi/assistants/types/update_assistant_dto_transcriber.rb index 3b43568e..3a8ad0a9 100644 --- a/lib/vapi/assistants/types/update_assistant_dto_transcriber.rb +++ b/lib/vapi/assistants/types/update_assistant_dto_transcriber.rb @@ -21,6 +21,8 @@ class UpdateAssistantDtoTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/assistants/types/update_assistant_dto_voice.rb b/lib/vapi/assistants/types/update_assistant_dto_voice.rb index 48ea446b..ede2a9c1 100644 --- a/lib/vapi/assistants/types/update_assistant_dto_voice.rb +++ b/lib/vapi/assistants/types/update_assistant_dto_voice.rb @@ -27,6 +27,8 @@ class UpdateAssistantDtoVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/board/client.rb b/lib/vapi/board/client.rb new file mode 100644 index 00000000..c336c12d --- /dev/null +++ b/lib/vapi/board/client.rb @@ -0,0 +1,238 @@ +# frozen_string_literal: true + +module Vapi + module Board + class Client + # @param client [Vapi::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Vapi::Board::Types::BoardControllerFindAllRequestSortOrder, nil] :sort_order + # @option params [Vapi::Board::Types::BoardControllerFindAllRequestSortBy, nil] :sort_by + # @option params [Integer, nil] :limit + # @option params [String, nil] :created_at_gt + # @option params [String, nil] :created_at_lt + # @option params [String, nil] :created_at_ge + # @option params [String, nil] :created_at_le + # @option params [String, nil] :updated_at_gt + # @option params [String, nil] :updated_at_lt + # @option params [String, nil] :updated_at_ge + # @option params [String, nil] :updated_at_le + # + # @return [Vapi::Types::BoardPaginatedResponse] + def board_controller_find_all(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + query_param_names = %i[page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_params = {} + query_params["page"] = params[:page] if params.key?(:page) + query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) + query_params["limit"] = params[:limit] if params.key?(:limit) + query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) + query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) + query_params["createdAtGe"] = params[:created_at_ge] if params.key?(:created_at_ge) + query_params["createdAtLe"] = params[:created_at_le] if params.key?(:created_at_le) + query_params["updatedAtGt"] = params[:updated_at_gt] if params.key?(:updated_at_gt) + query_params["updatedAtLt"] = params[:updated_at_lt] if params.key?(:updated_at_lt) + query_params["updatedAtGe"] = params[:updated_at_ge] if params.key?(:updated_at_ge) + query_params["updatedAtLe"] = params[:updated_at_le] if params.key?(:updated_at_le) + params.except(*query_param_names) + + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "reporting/board", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::BoardPaginatedResponse.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Vapi::Board::Types::CreateBoardDto] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Vapi::Types::Board] + def board_controller_create(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "reporting/board", + body: Vapi::Board::Types::CreateBoardDto.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Board.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Vapi::Types::Board] + def board_controller_metrics_overview_ensure(request_options: {}, **params) + Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "reporting/board/default/metrics-overview", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Board.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Board] + def board_controller_find_one(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "reporting/board/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Board.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Board] + def board_controller_remove(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "reporting/board/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Board.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Vapi::Board::Types::UpdateBoardDto] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Board] + def board_controller_update(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request_data = Vapi::Board::Types::UpdateBoardDto.new(params).to_h + non_body_param_names = ["id"] + body = request_data.except(*non_body_param_names) + + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "reporting/board/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Board.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/vapi/board/types/board_controller_find_all_request.rb b/lib/vapi/board/types/board_controller_find_all_request.rb new file mode 100644 index 00000000..7669b00a --- /dev/null +++ b/lib/vapi/board/types/board_controller_find_all_request.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class BoardControllerFindAllRequest < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + field :sort_order, -> { Vapi::Board::Types::BoardControllerFindAllRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Board::Types::BoardControllerFindAllRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" + field :limit, -> { Integer }, optional: true, nullable: false + field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" + field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" + field :created_at_ge, -> { String }, optional: true, nullable: false, api_name: "createdAtGe" + field :created_at_le, -> { String }, optional: true, nullable: false, api_name: "createdAtLe" + field :updated_at_gt, -> { String }, optional: true, nullable: false, api_name: "updatedAtGt" + field :updated_at_lt, -> { String }, optional: true, nullable: false, api_name: "updatedAtLt" + field :updated_at_ge, -> { String }, optional: true, nullable: false, api_name: "updatedAtGe" + field :updated_at_le, -> { String }, optional: true, nullable: false, api_name: "updatedAtLe" + end + end + end +end diff --git a/lib/vapi/board/types/board_controller_find_all_request_sort_by.rb b/lib/vapi/board/types/board_controller_find_all_request_sort_by.rb new file mode 100644 index 00000000..2288b7bb --- /dev/null +++ b/lib/vapi/board/types/board_controller_find_all_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + module BoardControllerFindAllRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/board/types/board_controller_find_all_request_sort_order.rb b/lib/vapi/board/types/board_controller_find_all_request_sort_order.rb new file mode 100644 index 00000000..f439ce09 --- /dev/null +++ b/lib/vapi/board/types/board_controller_find_all_request_sort_order.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + module BoardControllerFindAllRequestSortOrder + extend Vapi::Internal::Types::Enum + + ASC = "ASC" + DESC = "DESC" + end + end + end +end diff --git a/lib/vapi/board/types/board_controller_find_one_request.rb b/lib/vapi/board/types/board_controller_find_one_request.rb new file mode 100644 index 00000000..4d14befd --- /dev/null +++ b/lib/vapi/board/types/board_controller_find_one_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class BoardControllerFindOneRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/board/types/board_controller_remove_request.rb b/lib/vapi/board/types/board_controller_remove_request.rb new file mode 100644 index 00000000..f3be901d --- /dev/null +++ b/lib/vapi/board/types/board_controller_remove_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class BoardControllerRemoveRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/board/types/create_board_dto.rb b/lib/vapi/board/types/create_board_dto.rb new file mode 100644 index 00000000..f0f476f2 --- /dev/null +++ b/lib/vapi/board/types/create_board_dto.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class CreateBoardDto < Internal::Types::Model + field :items, -> { Internal::Types::Array[Vapi::Board::Types::CreateBoardDtoItemsItem] }, optional: true, nullable: false + field :name, -> { String }, optional: false, nullable: false + field :layout, -> { Vapi::Types::BoardLayout }, optional: false, nullable: false + field :time_range_override, -> { Vapi::Types::InsightTimeRangeWithStep }, optional: true, nullable: false, api_name: "timeRangeOverride" + end + end + end +end diff --git a/lib/vapi/board/types/create_board_dto_items_item.rb b/lib/vapi/board/types/create_board_dto_items_item.rb new file mode 100644 index 00000000..037aedf2 --- /dev/null +++ b/lib/vapi/board/types/create_board_dto_items_item.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class CreateBoardDtoItemsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::BoardInsightItem } + member -> { Vapi::Types::BoardMetricWidgetItem } + end + end + end +end diff --git a/lib/vapi/board/types/update_board_dto.rb b/lib/vapi/board/types/update_board_dto.rb new file mode 100644 index 00000000..30836d42 --- /dev/null +++ b/lib/vapi/board/types/update_board_dto.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class UpdateBoardDto < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :items, -> { Internal::Types::Array[Vapi::Board::Types::UpdateBoardDtoItemsItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :layout, -> { Vapi::Types::BoardLayout }, optional: true, nullable: false + field :time_range_override, -> { Vapi::Types::InsightTimeRangeWithStep }, optional: true, nullable: false, api_name: "timeRangeOverride" + end + end + end +end diff --git a/lib/vapi/board/types/update_board_dto_items_item.rb b/lib/vapi/board/types/update_board_dto_items_item.rb new file mode 100644 index 00000000..7b0d98e7 --- /dev/null +++ b/lib/vapi/board/types/update_board_dto_items_item.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Board + module Types + class UpdateBoardDtoItemsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::BoardInsightItem } + member -> { Vapi::Types::BoardMetricWidgetItem } + end + end + end +end diff --git a/lib/vapi/calls/client.rb b/lib/vapi/calls/client.rb index 776044c1..c9eba6c2 100644 --- a/lib/vapi/calls/client.rb +++ b/lib/vapi/calls/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or + # creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -68,6 +71,9 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Creates a call using an assistant or squad. The request can reference saved resources or include transient + # configurations. + # # @param request_options [Hash] # @param params [Vapi::Calls::Types::CreateCallDto] # @option request_options [String] :base_url @@ -100,6 +106,8 @@ def create(request_options: {}, **params) end end + # Returns the call identified by its ID, including its status, configuration, and available call data. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -132,6 +140,8 @@ def get(request_options: {}, **params) end end + # Deletes the call identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Calls::Types::DeleteCallDto] # @option request_options [String] :base_url @@ -169,6 +179,8 @@ def delete(request_options: {}, **params) end end + # Updates the call identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Calls::Types::UpdateCallDto] # @option request_options [String] :base_url @@ -205,6 +217,216 @@ def update(request_options: {}, **params) raise error_class.new(response.body, code: code) end end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_mono_recording_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/mono-recording", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_stereo_recording_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/stereo-recording", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_video_recording_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/video-recording", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_customer_recording_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/customer-recording", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_assistant_recording_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/assistant-recording", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_pcap_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/pcap", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def call_artifact_controller_call_logs_download(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "call/#{URI.encode_uri_component(params[:id].to_s)}/call-logs", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end end end end diff --git a/lib/vapi/calls/types/call_artifact_controller_assistant_recording_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_assistant_recording_download_request.rb new file mode 100644 index 00000000..eee75a38 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_assistant_recording_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerAssistantRecordingDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_call_logs_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_call_logs_download_request.rb new file mode 100644 index 00000000..4bc6ebf9 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_call_logs_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerCallLogsDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_customer_recording_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_customer_recording_download_request.rb new file mode 100644 index 00000000..cd203bbf --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_customer_recording_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerCustomerRecordingDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_mono_recording_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_mono_recording_download_request.rb new file mode 100644 index 00000000..a20356a5 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_mono_recording_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerMonoRecordingDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_pcap_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_pcap_download_request.rb new file mode 100644 index 00000000..2b2a92f2 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_pcap_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerPcapDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_stereo_recording_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_stereo_recording_download_request.rb new file mode 100644 index 00000000..a1c9f4f1 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_stereo_recording_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerStereoRecordingDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/call_artifact_controller_video_recording_download_request.rb b/lib/vapi/calls/types/call_artifact_controller_video_recording_download_request.rb new file mode 100644 index 00000000..69486521 --- /dev/null +++ b/lib/vapi/calls/types/call_artifact_controller_video_recording_download_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + class CallArtifactControllerVideoRecordingDownloadRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/calls/types/create_call_dto.rb b/lib/vapi/calls/types/create_call_dto.rb index e9c7a161..f056f931 100644 --- a/lib/vapi/calls/types/create_call_dto.rb +++ b/lib/vapi/calls/types/create_call_dto.rb @@ -4,10 +4,11 @@ module Vapi module Calls module Types class CreateCallDto < Internal::Types::Model + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" + field :transport, -> { Vapi::Calls::Types::CreateCallDtoTransport }, optional: true, nullable: false field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" - field :transport, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" diff --git a/lib/vapi/calls/types/create_call_dto_transport.rb b/lib/vapi/calls/types/create_call_dto_transport.rb new file mode 100644 index 00000000..7ed0f3bc --- /dev/null +++ b/lib/vapi/calls/types/create_call_dto_transport.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Vapi + module Calls + module Types + # This is the transport of the call. + class CreateCallDtoTransport < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::VapiWebsocketTransport }, key: "VAPI_WEBSOCKET" + member -> { Vapi::Types::VonageTransport }, key: "VONAGE" + member -> { Vapi::Types::TwilioTransport }, key: "TWILIO" + member -> { Vapi::Types::VapiSipTransport }, key: "VAPI_SIP" + member -> { Vapi::Types::TelnyxTransport }, key: "TELNYX" + member -> { Vapi::Types::VapiWebCallTransport }, key: "DAILY" + end + end + end +end diff --git a/lib/vapi/campaigns/client.rb b/lib/vapi/campaigns/client.rb index 34fd0b76..517525ee 100644 --- a/lib/vapi/campaigns/client.rb +++ b/lib/vapi/campaigns/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or + # creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -21,6 +24,7 @@ def initialize(client:) # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllRequestStatus, nil] :status # @option params [Integer, nil] :page # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllRequestSortOrder, nil] :sort_order + # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -34,12 +38,13 @@ def initialize(client:) # @return [Vapi::Types::CampaignPaginatedResponse] def campaign_controller_find_all(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id status page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id status page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["status"] = params[:status] if params.key?(:status) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -72,8 +77,10 @@ def campaign_controller_find_all(request_options: {}, **params) end end + # Creates an outbound calling campaign that calls a set of customers. + # # @param request_options [Hash] - # @param params [Vapi::Campaigns::Types::CreateCampaignDto] + # @param params [Vapi::Types::CreateCampaignDto] # @option request_options [String] :base_url # @option request_options [Hash{String => Object}] :additional_headers # @option request_options [Hash{String => Object}] :additional_query_parameters @@ -87,7 +94,167 @@ def campaign_controller_create(request_options: {}, **params) base_url: request_options[:base_url], method: "POST", path: "campaign", - body: Vapi::Campaigns::Types::CreateCampaignDto.new(params).to_h, + body: Vapi::Types::CreateCampaignDto.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Campaign.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :id + # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestStatus, nil] :status + # @option params [Integer, nil] :page + # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestSortOrder, nil] :sort_order + # @option params [Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestSortBy, nil] :sort_by + # @option params [Integer, nil] :limit + # @option params [String, nil] :created_at_gt + # @option params [String, nil] :created_at_lt + # @option params [String, nil] :created_at_ge + # @option params [String, nil] :created_at_le + # @option params [String, nil] :updated_at_gt + # @option params [String, nil] :updated_at_lt + # @option params [String, nil] :updated_at_ge + # @option params [String, nil] :updated_at_le + # + # @return [Vapi::Types::CampaignPaginatedResponse] + def campaign_controller_find_all_v_2(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + query_param_names = %i[id status page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_params = {} + query_params["id"] = params[:id] if params.key?(:id) + query_params["status"] = params[:status] if params.key?(:status) + query_params["page"] = params[:page] if params.key?(:page) + query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) + query_params["limit"] = params[:limit] if params.key?(:limit) + query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) + query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) + query_params["createdAtGe"] = params[:created_at_ge] if params.key?(:created_at_ge) + query_params["createdAtLe"] = params[:created_at_le] if params.key?(:created_at_le) + query_params["updatedAtGt"] = params[:updated_at_gt] if params.key?(:updated_at_gt) + query_params["updatedAtLt"] = params[:updated_at_lt] if params.key?(:updated_at_lt) + query_params["updatedAtGe"] = params[:updated_at_ge] if params.key?(:updated_at_ge) + query_params["updatedAtLe"] = params[:updated_at_le] if params.key?(:updated_at_le) + params.except(*query_param_names) + + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "v2/campaign", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::CampaignPaginatedResponse.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Vapi::Types::CreateCampaignDto] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Vapi::Types::Campaign] + def campaign_controller_create_v_2(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "v2/campaign", + body: Vapi::Types::CreateCampaignDto.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Campaign.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Campaign] + def campaign_controller_find_one_v_2(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "v2/campaign/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Campaign.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Campaign] + def campaign_controller_remove_v_2(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "v2/campaign/#{URI.encode_uri_component(params[:id].to_s)}", request_options: request_options ) begin @@ -104,6 +271,44 @@ def campaign_controller_create(request_options: {}, **params) end end + # @param request_options [Hash] + # @param params [Vapi::Types::UpdateCampaignDto] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Vapi::Types::Campaign] + def campaign_controller_update_v_2(request_options: {}, **params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + path_param_names = %i[id] + body_params = params.except(*path_param_names) + + request = Vapi::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "v2/campaign/#{URI.encode_uri_component(params[:id].to_s)}", + body: Vapi::Types::UpdateCampaignDto.new(body_params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Vapi::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Vapi::Types::Campaign.load(response.body) + else + error_class = Vapi::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Returns the outbound calling campaign identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -136,6 +341,8 @@ def campaign_controller_find_one(request_options: {}, **params) end end + # Deletes the outbound calling campaign identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -168,8 +375,11 @@ def campaign_controller_remove(request_options: {}, **params) end end + # Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to + # `ended`. + # # @param request_options [Hash] - # @param params [Vapi::Campaigns::Types::UpdateCampaignDto] + # @param params [Vapi::Types::UpdateCampaignDto] # @option request_options [String] :base_url # @option request_options [Hash{String => Object}] :additional_headers # @option request_options [Hash{String => Object}] :additional_query_parameters @@ -180,15 +390,14 @@ def campaign_controller_remove(request_options: {}, **params) # @return [Vapi::Types::Campaign] def campaign_controller_update(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - request_data = Vapi::Campaigns::Types::UpdateCampaignDto.new(params).to_h - non_body_param_names = ["id"] - body = request_data.except(*non_body_param_names) + path_param_names = %i[id] + body_params = params.except(*path_param_names) request = Vapi::Internal::JSON::Request.new( base_url: request_options[:base_url], method: "PATCH", path: "campaign/#{URI.encode_uri_component(params[:id].to_s)}", - body: body, + body: Vapi::Types::UpdateCampaignDto.new(body_params).to_h, request_options: request_options ) begin diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_request.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_request.rb index 486d80bc..0af6c6ab 100644 --- a/lib/vapi/campaigns/types/campaign_controller_find_all_request.rb +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_request.rb @@ -8,6 +8,7 @@ class CampaignControllerFindAllRequest < Internal::Types::Model field :status, -> { Vapi::Campaigns::Types::CampaignControllerFindAllRequestStatus }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Campaigns::Types::CampaignControllerFindAllRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Campaigns::Types::CampaignControllerFindAllRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.rb new file mode 100644 index 00000000..8a540148 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + module CampaignControllerFindAllRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_request_status.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_request_status.rb index ecdccce6..10d9c7df 100644 --- a/lib/vapi/campaigns/types/campaign_controller_find_all_request_status.rb +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_request_status.rb @@ -9,6 +9,8 @@ module CampaignControllerFindAllRequestStatus SCHEDULED = "scheduled" IN_PROGRESS = "in-progress" ENDED = "ended" + CANCELLED = "cancelled" + ARCHIVED = "archived" end end end diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request.rb new file mode 100644 index 00000000..9b67e323 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + class CampaignControllerFindAllV2Request < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + field :status, -> { Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestStatus }, optional: true, nullable: false + field :page, -> { Integer }, optional: true, nullable: false + field :sort_order, -> { Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Campaigns::Types::CampaignControllerFindAllV2RequestSortBy }, optional: true, nullable: false, api_name: "sortBy" + field :limit, -> { Integer }, optional: true, nullable: false + field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" + field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" + field :created_at_ge, -> { String }, optional: true, nullable: false, api_name: "createdAtGe" + field :created_at_le, -> { String }, optional: true, nullable: false, api_name: "createdAtLe" + field :updated_at_gt, -> { String }, optional: true, nullable: false, api_name: "updatedAtGt" + field :updated_at_lt, -> { String }, optional: true, nullable: false, api_name: "updatedAtLt" + field :updated_at_ge, -> { String }, optional: true, nullable: false, api_name: "updatedAtGe" + field :updated_at_le, -> { String }, optional: true, nullable: false, api_name: "updatedAtLe" + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.rb new file mode 100644 index 00000000..b0b6bae5 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + module CampaignControllerFindAllV2RequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/campaigns/types/update_campaign_dto_status.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.rb similarity index 60% rename from lib/vapi/campaigns/types/update_campaign_dto_status.rb rename to lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.rb index 578132f5..d66e740e 100644 --- a/lib/vapi/campaigns/types/update_campaign_dto_status.rb +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.rb @@ -3,10 +3,11 @@ module Vapi module Campaigns module Types - module UpdateCampaignDtoStatus + module CampaignControllerFindAllV2RequestSortOrder extend Vapi::Internal::Types::Enum - ENDED = "ended" + ASC = "ASC" + DESC = "DESC" end end end diff --git a/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.rb b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.rb new file mode 100644 index 00000000..9fd078b6 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + module CampaignControllerFindAllV2RequestStatus + extend Vapi::Internal::Types::Enum + + SCHEDULED = "scheduled" + IN_PROGRESS = "in-progress" + ENDED = "ended" + CANCELLED = "cancelled" + ARCHIVED = "archived" + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_find_one_v_2_request.rb b/lib/vapi/campaigns/types/campaign_controller_find_one_v_2_request.rb new file mode 100644 index 00000000..9820776e --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_find_one_v_2_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + class CampaignControllerFindOneV2Request < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_remove_v_2_request.rb b/lib/vapi/campaigns/types/campaign_controller_remove_v_2_request.rb new file mode 100644 index 00000000..36ae5add --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_remove_v_2_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + class CampaignControllerRemoveV2Request < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_update_request.rb b/lib/vapi/campaigns/types/campaign_controller_update_request.rb new file mode 100644 index 00000000..7c7501d0 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_update_request.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + class CampaignControllerUpdateRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :body, -> { Vapi::Types::UpdateCampaignDto }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/campaigns/types/campaign_controller_update_v_2_request.rb b/lib/vapi/campaigns/types/campaign_controller_update_v_2_request.rb new file mode 100644 index 00000000..51c6af35 --- /dev/null +++ b/lib/vapi/campaigns/types/campaign_controller_update_v_2_request.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Campaigns + module Types + class CampaignControllerUpdateV2Request < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :body, -> { Vapi::Types::UpdateCampaignDto }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/campaigns/types/create_campaign_dto.rb b/lib/vapi/campaigns/types/create_campaign_dto.rb deleted file mode 100644 index 895b3915..00000000 --- a/lib/vapi/campaigns/types/create_campaign_dto.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Campaigns - module Types - class CreateCampaignDto < Internal::Types::Model - field :name, -> { String }, optional: false, nullable: false - field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" - field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" - field :squad_id, -> { String }, optional: true, nullable: false, api_name: "squadId" - field :phone_number_id, -> { String }, optional: true, nullable: false, api_name: "phoneNumberId" - field :dial_plan, -> { Internal::Types::Array[Vapi::Types::DialPlanEntry] }, optional: true, nullable: false, api_name: "dialPlan" - field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" - field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: true, nullable: false - end - end - end -end diff --git a/lib/vapi/campaigns/types/update_campaign_dto.rb b/lib/vapi/campaigns/types/update_campaign_dto.rb deleted file mode 100644 index e30fd673..00000000 --- a/lib/vapi/campaigns/types/update_campaign_dto.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Campaigns - module Types - class UpdateCampaignDto < Internal::Types::Model - field :id, -> { String }, optional: false, nullable: false - field :name, -> { String }, optional: true, nullable: false - field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" - field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" - field :squad_id, -> { String }, optional: true, nullable: false, api_name: "squadId" - field :phone_number_id, -> { String }, optional: true, nullable: false, api_name: "phoneNumberId" - field :dial_plan, -> { Internal::Types::Array[Vapi::Types::DialPlanEntry] }, optional: true, nullable: false, api_name: "dialPlan" - field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" - field :status, -> { Vapi::Campaigns::Types::UpdateCampaignDtoStatus }, optional: true, nullable: false - end - end - end -end diff --git a/lib/vapi/chats/client.rb b/lib/vapi/chats/client.rb index 7e48301d..07d14aaf 100644 --- a/lib/vapi/chats/client.rb +++ b/lib/vapi/chats/client.rb @@ -25,6 +25,7 @@ def initialize(client:) # @option params [String, nil] :previous_chat_id # @option params [Integer, nil] :page # @option params [Vapi::Chats::Types::ListChatsRequestSortOrder, nil] :sort_order + # @option params [Vapi::Chats::Types::ListChatsRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -38,7 +39,7 @@ def initialize(client:) # @return [Vapi::Types::ChatPaginatedResponse] def list(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id assistant_id assistant_id_any squad_id session_id previous_chat_id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id assistant_id assistant_id_any squad_id session_id previous_chat_id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["assistantId"] = params[:assistant_id] if params.key?(:assistant_id) @@ -48,6 +49,7 @@ def list(request_options: {}, **params) query_params["previousChatId"] = params[:previous_chat_id] if params.key?(:previous_chat_id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) diff --git a/lib/vapi/chats/types/list_chats_request.rb b/lib/vapi/chats/types/list_chats_request.rb index f20d8aa7..57a425fa 100644 --- a/lib/vapi/chats/types/list_chats_request.rb +++ b/lib/vapi/chats/types/list_chats_request.rb @@ -12,6 +12,7 @@ class ListChatsRequest < Internal::Types::Model field :previous_chat_id, -> { String }, optional: true, nullable: false, api_name: "previousChatId" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Chats::Types::ListChatsRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Chats::Types::ListChatsRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/chats/types/list_chats_request_sort_by.rb b/lib/vapi/chats/types/list_chats_request_sort_by.rb new file mode 100644 index 00000000..279ec50c --- /dev/null +++ b/lib/vapi/chats/types/list_chats_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Chats + module Types + module ListChatsRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/client.rb b/lib/vapi/client.rb index 9287dd22..a604d3b1 100644 --- a/lib/vapi/client.rb +++ b/lib/vapi/client.rb @@ -10,7 +10,7 @@ def initialize(token:, base_url: nil) @raw_client = Vapi::Internal::Http::RawClient.new( base_url: base_url || Vapi::Environment::DEFAULT, headers: { - "User-Agent" => "vapi_server_sdk/2.0.0", + "User-Agent" => "vapi_server_sdk/0.0.0-fern-placeholder", "X-Fern-Language" => "Ruby", Authorization: "Bearer #{token}" } @@ -72,6 +72,11 @@ def insight @insight ||= Vapi::Insight::Client.new(client: @raw_client) end + # @return [Vapi::Board::Client] + def board + @board ||= Vapi::Board::Client.new(client: @raw_client) + end + # @return [Vapi::Eval::Client] def eval @eval ||= Vapi::Eval::Client.new(client: @raw_client) diff --git a/lib/vapi/eval/client.rb b/lib/vapi/eval/client.rb index 55b231b3..69bc2010 100644 --- a/lib/vapi/eval/client.rb +++ b/lib/vapi/eval/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns eval definitions for the authenticated organization. Filter results by ID or creation and update + # timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -20,6 +23,7 @@ def initialize(client:) # @option params [String, nil] :id # @option params [Integer, nil] :page # @option params [Vapi::Eval::Types::EvalControllerGetPaginatedRequestSortOrder, nil] :sort_order + # @option params [Vapi::Eval::Types::EvalControllerGetPaginatedRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -33,11 +37,12 @@ def initialize(client:) # @return [Vapi::Types::EvalPaginatedResponse] def eval_controller_get_paginated(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -70,6 +75,9 @@ def eval_controller_get_paginated(request_options: {}, **params) end end + # Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and + # tool calls. + # # @param request_options [Hash] # @param params [Vapi::Types::CreateEvalDto] # @option request_options [String] :base_url @@ -102,6 +110,8 @@ def eval_controller_create(request_options: {}, **params) end end + # Returns the eval definition identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -134,6 +144,8 @@ def eval_controller_get(request_options: {}, **params) end end + # Deletes the eval definition identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -166,6 +178,8 @@ def eval_controller_remove(request_options: {}, **params) end end + # Updates the eval definition identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Eval::Types::UpdateEvalDto] # @option request_options [String] :base_url @@ -203,6 +217,8 @@ def eval_controller_update(request_options: {}, **params) end end + # Returns the eval run identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -235,6 +251,8 @@ def eval_controller_get_run(request_options: {}, **params) end end + # Deletes the eval run identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -267,6 +285,8 @@ def eval_controller_remove_run(request_options: {}, **params) end end + # Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -277,6 +297,7 @@ def eval_controller_remove_run(request_options: {}, **params) # @option params [String, nil] :id # @option params [Integer, nil] :page # @option params [Vapi::Eval::Types::EvalControllerGetRunsPaginatedRequestSortOrder, nil] :sort_order + # @option params [Vapi::Eval::Types::EvalControllerGetRunsPaginatedRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -290,11 +311,12 @@ def eval_controller_remove_run(request_options: {}, **params) # @return [Vapi::Types::EvalRunPaginatedResponse] def eval_controller_get_runs_paginated(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -327,6 +349,9 @@ def eval_controller_get_runs_paginated(request_options: {}, **params) end end + # Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the + # results. + # # @param request_options [Hash] # @param params [Vapi::Eval::Types::CreateEvalRunDto] # @option request_options [String] :base_url diff --git a/lib/vapi/eval/types/eval_controller_get_paginated_request.rb b/lib/vapi/eval/types/eval_controller_get_paginated_request.rb index c4f5c293..b2132960 100644 --- a/lib/vapi/eval/types/eval_controller_get_paginated_request.rb +++ b/lib/vapi/eval/types/eval_controller_get_paginated_request.rb @@ -7,6 +7,7 @@ class EvalControllerGetPaginatedRequest < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Eval::Types::EvalControllerGetPaginatedRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Eval::Types::EvalControllerGetPaginatedRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/eval/types/eval_controller_get_paginated_request_sort_by.rb b/lib/vapi/eval/types/eval_controller_get_paginated_request_sort_by.rb new file mode 100644 index 00000000..7dca5177 --- /dev/null +++ b/lib/vapi/eval/types/eval_controller_get_paginated_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Eval + module Types + module EvalControllerGetPaginatedRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/eval/types/eval_controller_get_runs_paginated_request.rb b/lib/vapi/eval/types/eval_controller_get_runs_paginated_request.rb index a4051609..367e6976 100644 --- a/lib/vapi/eval/types/eval_controller_get_runs_paginated_request.rb +++ b/lib/vapi/eval/types/eval_controller_get_runs_paginated_request.rb @@ -7,6 +7,7 @@ class EvalControllerGetRunsPaginatedRequest < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Eval::Types::EvalControllerGetRunsPaginatedRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Eval::Types::EvalControllerGetRunsPaginatedRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.rb b/lib/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.rb new file mode 100644 index 00000000..fee80db2 --- /dev/null +++ b/lib/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Eval + module Types + module EvalControllerGetRunsPaginatedRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/files/client.rb b/lib/vapi/files/client.rb index aedeb396..f5330171 100644 --- a/lib/vapi/files/client.rb +++ b/lib/vapi/files/client.rb @@ -10,6 +10,8 @@ def initialize(client:) @client = client end + # Returns files uploaded to the authenticated organization. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -17,14 +19,21 @@ def initialize(client:) # @option request_options [Hash{String => Object}] :additional_query_parameters # @option request_options [Hash{String => Object}] :additional_body_parameters # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :purpose # # @return [Array[Vapi::Types::File]] def list(request_options: {}, **params) - Vapi::Internal::Types::Utils.normalize_keys(params) + params = Vapi::Internal::Types::Utils.normalize_keys(params) + query_param_names = %i[purpose] + query_params = {} + query_params["purpose"] = params[:purpose] if params.key?(:purpose) + params.except(*query_param_names) + request = Vapi::Internal::JSON::Request.new( base_url: request_options[:base_url], method: "GET", path: "file", + query: query_params, request_options: request_options ) begin @@ -39,6 +48,8 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Uploads a file for use with a Vapi knowledge base. + # # @param request_options [Hash] # @param params [void] # @option request_options [String] :base_url @@ -75,6 +86,8 @@ def create(request_options: {}, **params) end end + # Returns the uploaded file identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -107,6 +120,8 @@ def get(request_options: {}, **params) end end + # Deletes the uploaded file identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -139,6 +154,8 @@ def delete(request_options: {}, **params) end end + # Updates the name of the uploaded file identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Files::Types::UpdateFileDto] # @option request_options [String] :base_url diff --git a/lib/vapi/files/types/list_files_request.rb b/lib/vapi/files/types/list_files_request.rb new file mode 100644 index 00000000..d2d0cf7f --- /dev/null +++ b/lib/vapi/files/types/list_files_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Files + module Types + class ListFilesRequest < Internal::Types::Model + field :purpose, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/vapi/insight/client.rb b/lib/vapi/insight/client.rb index f335a22a..238c609c 100644 --- a/lib/vapi/insight/client.rb +++ b/lib/vapi/insight/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update + # timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -20,6 +23,7 @@ def initialize(client:) # @option params [String, nil] :id # @option params [Integer, nil] :page # @option params [Vapi::Insight::Types::InsightControllerFindAllRequestSortOrder, nil] :sort_order + # @option params [Vapi::Insight::Types::InsightControllerFindAllRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -33,11 +37,12 @@ def initialize(client:) # @return [Vapi::Types::InsightPaginatedResponse] def insight_controller_find_all(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -70,6 +75,9 @@ def insight_controller_find_all(request_options: {}, **params) end end + # Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, + # line chart, or text value. + # # @param request_options [Hash] # @param params [Vapi::Insight::Types::InsightControllerCreateRequest] # @option request_options [String] :base_url @@ -102,6 +110,8 @@ def insight_controller_create(request_options: {}, **params) end end + # Returns the reporting insight identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -134,6 +144,8 @@ def insight_controller_find_one(request_options: {}, **params) end end + # Deletes the reporting insight identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -166,6 +178,8 @@ def insight_controller_remove(request_options: {}, **params) end end + # Updates the reporting insight identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Insight::Types::InsightControllerUpdateRequestBody] # @option request_options [String] :base_url @@ -202,6 +216,8 @@ def insight_controller_update(request_options: {}, **params) end end + # Runs a saved reporting insight, optionally overriding its time range and response format. + # # @param request_options [Hash] # @param params [Vapi::Insight::Types::InsightRunDto] # @option request_options [String] :base_url @@ -239,6 +255,8 @@ def insight_controller_run(request_options: {}, **params) end end + # Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. + # # @param request_options [Hash] # @param params [Vapi::Insight::Types::InsightControllerPreviewRequest] # @option request_options [String] :base_url diff --git a/lib/vapi/insight/types/insight_controller_find_all_request.rb b/lib/vapi/insight/types/insight_controller_find_all_request.rb index b1864dec..4307473b 100644 --- a/lib/vapi/insight/types/insight_controller_find_all_request.rb +++ b/lib/vapi/insight/types/insight_controller_find_all_request.rb @@ -7,6 +7,7 @@ class InsightControllerFindAllRequest < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Insight::Types::InsightControllerFindAllRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Insight::Types::InsightControllerFindAllRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/insight/types/insight_controller_find_all_request_sort_by.rb b/lib/vapi/insight/types/insight_controller_find_all_request_sort_by.rb new file mode 100644 index 00000000..3a363a8c --- /dev/null +++ b/lib/vapi/insight/types/insight_controller_find_all_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Insight + module Types + module InsightControllerFindAllRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/insight/types/insight_run_dto.rb b/lib/vapi/insight/types/insight_run_dto.rb index 1d41a2a7..82b9f09e 100644 --- a/lib/vapi/insight/types/insight_run_dto.rb +++ b/lib/vapi/insight/types/insight_run_dto.rb @@ -7,6 +7,7 @@ class InsightRunDto < Internal::Types::Model field :id, -> { String }, optional: false, nullable: false field :format_plan, -> { Vapi::Types::InsightRunFormatPlan }, optional: true, nullable: false, api_name: "formatPlan" field :time_range_override, -> { Vapi::Types::InsightTimeRangeWithStep }, optional: true, nullable: false, api_name: "timeRangeOverride" + field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" end end end diff --git a/lib/vapi/observability_scorecard/client.rb b/lib/vapi/observability_scorecard/client.rb index b54c680b..96ba6562 100644 --- a/lib/vapi/observability_scorecard/client.rb +++ b/lib/vapi/observability_scorecard/client.rb @@ -10,6 +10,8 @@ def initialize(client:) @client = client end + # Returns the scorecard identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -42,6 +44,8 @@ def scorecard_controller_get(request_options: {}, **params) end end + # Deletes the scorecard identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -74,6 +78,8 @@ def scorecard_controller_remove(request_options: {}, **params) end end + # Updates the scorecard identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::ObservabilityScorecard::Types::UpdateScorecardDto] # @option request_options [String] :base_url @@ -111,6 +117,8 @@ def scorecard_controller_update(request_options: {}, **params) end end + # Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -121,6 +129,7 @@ def scorecard_controller_update(request_options: {}, **params) # @option params [String, nil] :id # @option params [Integer, nil] :page # @option params [Vapi::ObservabilityScorecard::Types::ScorecardControllerGetPaginatedRequestSortOrder, nil] :sort_order + # @option params [Vapi::ObservabilityScorecard::Types::ScorecardControllerGetPaginatedRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -134,11 +143,12 @@ def scorecard_controller_update(request_options: {}, **params) # @return [Vapi::Types::ScorecardPaginatedResponse] def scorecard_controller_get_paginated(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -171,6 +181,9 @@ def scorecard_controller_get_paginated(request_options: {}, **params) end end + # Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should + # be evaluated. + # # @param request_options [Hash] # @param params [Vapi::Types::CreateScorecardDto] # @option request_options [String] :base_url diff --git a/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request.rb b/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request.rb index 831f5df4..f0a64985 100644 --- a/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request.rb +++ b/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request.rb @@ -7,6 +7,7 @@ class ScorecardControllerGetPaginatedRequest < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::ObservabilityScorecard::Types::ScorecardControllerGetPaginatedRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::ObservabilityScorecard::Types::ScorecardControllerGetPaginatedRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.rb b/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.rb new file mode 100644 index 00000000..3cf889db --- /dev/null +++ b/lib/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module ObservabilityScorecard + module Types + module ScorecardControllerGetPaginatedRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/phone_numbers/client.rb b/lib/vapi/phone_numbers/client.rb index 174138ec..70e2604f 100644 --- a/lib/vapi/phone_numbers/client.rb +++ b/lib/vapi/phone_numbers/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and + # limit the number returned. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -62,6 +65,9 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, + # Telnyx, or a bring-your-own provider. + # # @param request_options [Hash] # @param params [Vapi::PhoneNumbers::Types::CreatePhoneNumbersRequest] # @option request_options [String] :base_url @@ -94,6 +100,9 @@ def create(request_options: {}, **params) end end + # Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI + # using a partial, case-insensitive match, and filter by creation or update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -104,6 +113,7 @@ def create(request_options: {}, **params) # @option params [String, nil] :search # @option params [Integer, nil] :page # @option params [Vapi::PhoneNumbers::Types::PhoneNumberControllerFindAllPaginatedRequestSortOrder, nil] :sort_order + # @option params [Vapi::PhoneNumbers::Types::PhoneNumberControllerFindAllPaginatedRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -117,11 +127,12 @@ def create(request_options: {}, **params) # @return [Vapi::Types::PhoneNumberPaginatedResponse] def phone_number_controller_find_all_paginated(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[search page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[search page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["search"] = params[:search] if params.key?(:search) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -154,6 +165,8 @@ def phone_number_controller_find_all_paginated(request_options: {}, **params) end end + # Returns the phone number resource identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -186,6 +199,8 @@ def get(request_options: {}, **params) end end + # Deletes the phone number resource identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -218,6 +233,8 @@ def delete(request_options: {}, **params) end end + # Updates the specified fields of the phone number resource identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::PhoneNumbers::Types::UpdatePhoneNumbersRequestBody] # @option request_options [String] :base_url diff --git a/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request.rb b/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request.rb index 8b97ba18..bcc0fe26 100644 --- a/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request.rb +++ b/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request.rb @@ -7,6 +7,7 @@ class PhoneNumberControllerFindAllPaginatedRequest < Internal::Types::Model field :search, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::PhoneNumbers::Types::PhoneNumberControllerFindAllPaginatedRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::PhoneNumbers::Types::PhoneNumberControllerFindAllPaginatedRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.rb b/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.rb new file mode 100644 index 00000000..e998799c --- /dev/null +++ b/lib/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module PhoneNumbers + module Types + module PhoneNumberControllerFindAllPaginatedRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/provider_resources/client.rb b/lib/vapi/provider_resources/client.rb index 5e7c3016..5d97ed6d 100644 --- a/lib/vapi/provider_resources/client.rb +++ b/lib/vapi/provider_resources/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation + # dictionaries by provider, resource ID, or creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -23,6 +26,7 @@ def initialize(client:) # @option params [String, nil] :resource_id # @option params [Integer, nil] :page # @option params [Vapi::ProviderResources::Types::ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, nil] :sort_order + # @option params [Vapi::ProviderResources::Types::ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -36,12 +40,13 @@ def initialize(client:) # @return [Vapi::Types::ProviderResourcePaginatedResponse] def provider_resource_controller_get_provider_resources_paginated(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id resource_id page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id resource_id page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["resourceId"] = params[:resource_id] if params.key?(:resource_id) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -74,6 +79,8 @@ def provider_resource_controller_get_provider_resources_paginated(request_option end end + # Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -107,6 +114,8 @@ def provider_resource_controller_create_provider_resource(request_options: {}, * end end + # Returns the provider resource identified by its Vapi resource ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -141,6 +150,8 @@ def provider_resource_controller_get_provider_resource(request_options: {}, **pa end end + # Deletes the provider resource identified by its Vapi resource ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -175,6 +186,8 @@ def provider_resource_controller_delete_provider_resource(request_options: {}, * end end + # Updates the provider resource identified by its Vapi resource ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url diff --git a/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request.rb b/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request.rb index f389d4ef..8de60b0c 100644 --- a/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request.rb +++ b/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request.rb @@ -10,6 +10,7 @@ class ProviderResourceControllerGetProviderResourcesPaginatedRequest < Internal: field :resource_id, -> { String }, optional: true, nullable: false, api_name: "resourceId" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::ProviderResources::Types::ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::ProviderResources::Types::ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.rb b/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.rb new file mode 100644 index 00000000..5b25e779 --- /dev/null +++ b/lib/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module ProviderResources + module Types + module ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/sessions/client.rb b/lib/vapi/sessions/client.rb index 6df3e2b6..04a31ffb 100644 --- a/lib/vapi/sessions/client.rb +++ b/lib/vapi/sessions/client.rb @@ -26,6 +26,7 @@ def initialize(client:) # @option params [Boolean, nil] :number_e_164_check_enabled # @option params [String, nil] :extension # @option params [String, nil] :assistant_overrides + # @option params [String, nil] :squad_overrides # @option params [String, nil] :number # @option params [String, nil] :sip_uri # @option params [String, nil] :email @@ -35,6 +36,7 @@ def initialize(client:) # @option params [String, nil] :phone_number_id_any # @option params [Integer, nil] :page # @option params [Vapi::Sessions::Types::ListSessionsRequestSortOrder, nil] :sort_order + # @option params [Vapi::Sessions::Types::ListSessionsRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -48,7 +50,7 @@ def initialize(client:) # @return [Vapi::Types::SessionPaginatedResponse] def list(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id name assistant_id assistant_id_any squad_id workflow_id number_e_164_check_enabled extension assistant_overrides number sip_uri email external_id customer_number_any phone_number_id phone_number_id_any page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id name assistant_id assistant_id_any squad_id workflow_id number_e_164_check_enabled extension assistant_overrides squad_overrides number sip_uri email external_id customer_number_any phone_number_id phone_number_id_any page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["name"] = params[:name] if params.key?(:name) @@ -59,6 +61,7 @@ def list(request_options: {}, **params) query_params["numberE164CheckEnabled"] = params[:number_e_164_check_enabled] if params.key?(:number_e_164_check_enabled) query_params["extension"] = params[:extension] if params.key?(:extension) query_params["assistantOverrides"] = params[:assistant_overrides] if params.key?(:assistant_overrides) + query_params["squadOverrides"] = params[:squad_overrides] if params.key?(:squad_overrides) query_params["number"] = params[:number] if params.key?(:number) query_params["sipUri"] = params[:sip_uri] if params.key?(:sip_uri) query_params["email"] = params[:email] if params.key?(:email) @@ -68,6 +71,7 @@ def list(request_options: {}, **params) query_params["phoneNumberIdAny"] = params[:phone_number_id_any] if params.key?(:phone_number_id_any) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) diff --git a/lib/vapi/sessions/types/list_sessions_request.rb b/lib/vapi/sessions/types/list_sessions_request.rb index 631ee6c2..48934ad5 100644 --- a/lib/vapi/sessions/types/list_sessions_request.rb +++ b/lib/vapi/sessions/types/list_sessions_request.rb @@ -13,6 +13,7 @@ class ListSessionsRequest < Internal::Types::Model field :number_e_164_check_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "numberE164CheckEnabled" field :extension, -> { String }, optional: true, nullable: false field :assistant_overrides, -> { String }, optional: true, nullable: false, api_name: "assistantOverrides" + field :squad_overrides, -> { String }, optional: true, nullable: false, api_name: "squadOverrides" field :number, -> { String }, optional: true, nullable: false field :sip_uri, -> { String }, optional: true, nullable: false, api_name: "sipUri" field :email, -> { String }, optional: true, nullable: false @@ -22,6 +23,7 @@ class ListSessionsRequest < Internal::Types::Model field :phone_number_id_any, -> { String }, optional: true, nullable: false, api_name: "phoneNumberIdAny" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Sessions::Types::ListSessionsRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Sessions::Types::ListSessionsRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/sessions/types/list_sessions_request_sort_by.rb b/lib/vapi/sessions/types/list_sessions_request_sort_by.rb new file mode 100644 index 00000000..a635f341 --- /dev/null +++ b/lib/vapi/sessions/types/list_sessions_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Sessions + module Types + module ListSessionsRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/squads/client.rb b/lib/vapi/squads/client.rb index 9837213a..b4b064e3 100644 --- a/lib/vapi/squads/client.rb +++ b/lib/vapi/squads/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the + # number returned. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -62,6 +65,8 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Creates a squad that coordinates multiple assistants and their handoffs during a conversation. + # # @param request_options [Hash] # @param params [Vapi::Types::CreateSquadDto] # @option request_options [String] :base_url @@ -94,6 +99,8 @@ def create(request_options: {}, **params) end end + # Returns the squad identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -126,6 +133,8 @@ def get(request_options: {}, **params) end end + # Deletes the squad identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -158,6 +167,8 @@ def delete(request_options: {}, **params) end end + # Updates the specified fields of the squad identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Squads::Types::UpdateSquadDto] # @option request_options [String] :base_url diff --git a/lib/vapi/structured_outputs/client.rb b/lib/vapi/structured_outputs/client.rb index e97503e3..3b7cc0ec 100644 --- a/lib/vapi/structured_outputs/client.rb +++ b/lib/vapi/structured_outputs/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or + # creation and update timestamps. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -21,6 +24,7 @@ def initialize(client:) # @option params [String, nil] :name # @option params [Integer, nil] :page # @option params [Vapi::StructuredOutputs::Types::StructuredOutputControllerFindAllRequestSortOrder, nil] :sort_order + # @option params [Vapi::StructuredOutputs::Types::StructuredOutputControllerFindAllRequestSortBy, nil] :sort_by # @option params [Integer, nil] :limit # @option params [String, nil] :created_at_gt # @option params [String, nil] :created_at_lt @@ -34,12 +38,13 @@ def initialize(client:) # @return [Vapi::Types::StructuredOutputPaginatedResponse] def structured_output_controller_find_all(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) - query_param_names = %i[id name page sort_order limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] + query_param_names = %i[id name page sort_order sort_by limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["name"] = params[:name] if params.key?(:name) query_params["page"] = params[:page] if params.key?(:page) query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order) + query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) @@ -72,6 +77,9 @@ def structured_output_controller_find_all(request_options: {}, **params) end end + # Creates a reusable definition for extracting validated data from conversations using an AI model or regular + # expression. + # # @param request_options [Hash] # @param params [Vapi::Types::CreateStructuredOutputDto] # @option request_options [String] :base_url @@ -104,6 +112,8 @@ def structured_output_controller_create(request_options: {}, **params) end end + # Returns the structured-output definition identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -136,6 +146,8 @@ def structured_output_controller_find_one(request_options: {}, **params) end end + # Deletes the structured-output definition identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -168,6 +180,8 @@ def structured_output_controller_remove(request_options: {}, **params) end end + # Updates the structured-output definition identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::StructuredOutputs::Types::UpdateStructuredOutputDto] # @option request_options [String] :base_url @@ -212,6 +226,9 @@ def structured_output_controller_update(request_options: {}, **params) end end + # Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview + # without updating call artifacts. + # # @param request_options [Hash] # @param params [Vapi::StructuredOutputs::Types::StructuredOutputRunDto] # @option request_options [String] :base_url @@ -220,7 +237,7 @@ def structured_output_controller_update(request_options: {}, **params) # @option request_options [Hash{String => Object}] :additional_body_parameters # @option request_options [Integer] :timeout_in_seconds # - # @return [Vapi::Types::StructuredOutput] + # @return [Vapi::StructuredOutputs::Types::StructuredOutputControllerRunResponse] def structured_output_controller_run(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) request = Vapi::Internal::JSON::Request.new( @@ -237,7 +254,7 @@ def structured_output_controller_run(request_options: {}, **params) end code = response.code.to_i if code.between?(200, 299) - Vapi::Types::StructuredOutput.load(response.body) + Vapi::StructuredOutputs::Types::StructuredOutputControllerRunResponse.load(response.body) else error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) diff --git a/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request.rb b/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request.rb index 05c610f8..10bcb3cf 100644 --- a/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request.rb +++ b/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request.rb @@ -8,6 +8,7 @@ class StructuredOutputControllerFindAllRequest < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::StructuredOutputs::Types::StructuredOutputControllerFindAllRequestSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::StructuredOutputs::Types::StructuredOutputControllerFindAllRequestSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.rb b/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.rb new file mode 100644 index 00000000..9beb2f34 --- /dev/null +++ b/lib/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module StructuredOutputs + module Types + module StructuredOutputControllerFindAllRequestSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end + end +end diff --git a/lib/vapi/structured_outputs/types/structured_output_controller_run_response.rb b/lib/vapi/structured_outputs/types/structured_output_controller_run_response.rb new file mode 100644 index 00000000..1797189b --- /dev/null +++ b/lib/vapi/structured_outputs/types/structured_output_controller_run_response.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module StructuredOutputs + module Types + class StructuredOutputControllerRunResponse < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::StructuredOutputs::Types::StructuredOutputControllerRunResponseZero } + member -> { Vapi::Types::StructuredOutputRerunResponse } + end + end + end +end diff --git a/lib/vapi/structured_outputs/types/structured_output_controller_run_response_zero.rb b/lib/vapi/structured_outputs/types/structured_output_controller_run_response_zero.rb new file mode 100644 index 00000000..1240c836 --- /dev/null +++ b/lib/vapi/structured_outputs/types/structured_output_controller_run_response_zero.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module StructuredOutputs + module Types + class StructuredOutputControllerRunResponseZero < Internal::Types::Model + field :skipped, -> { Internal::Types::Hash[String, Vapi::Types::SkippedStructuredOutput] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/vapi/structured_outputs/types/update_structured_output_dto.rb b/lib/vapi/structured_outputs/types/update_structured_output_dto.rb index 221e67cf..4a9fcc71 100644 --- a/lib/vapi/structured_outputs/types/update_structured_output_dto.rb +++ b/lib/vapi/structured_outputs/types/update_structured_output_dto.rb @@ -10,6 +10,7 @@ class UpdateStructuredOutputDto < Internal::Types::Model field :regex, -> { String }, optional: true, nullable: false field :model, -> { Vapi::StructuredOutputs::Types::UpdateStructuredOutputDtoModel }, optional: true, nullable: false field :compliance_plan, -> { Vapi::Types::ComplianceOverride }, optional: true, nullable: false, api_name: "compliancePlan" + field :conditions, -> { Internal::Types::Array[Vapi::StructuredOutputs::Types::UpdateStructuredOutputDtoConditionsItem] }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false field :assistant_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "assistantIds" diff --git a/lib/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.rb b/lib/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.rb new file mode 100644 index 00000000..3ada5255 --- /dev/null +++ b/lib/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module StructuredOutputs + module Types + class UpdateStructuredOutputDtoConditionsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::MinMessagesCondition }, key: "MIN_MESSAGES" + member -> { Vapi::Types::MinCallDurationCondition }, key: "MIN_CALL_DURATION" + member -> { Vapi::Types::EndedReasonCondition }, key: "ENDED_REASON" + end + end + end +end diff --git a/lib/vapi/tools/client.rb b/lib/vapi/tools/client.rb index 7384ec2b..4b939487 100644 --- a/lib/vapi/tools/client.rb +++ b/lib/vapi/tools/client.rb @@ -10,6 +10,9 @@ def initialize(client:) @client = client end + # Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and + # limit the number returned. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -62,6 +65,8 @@ def list(request_options: {}, **params) raise error_class.new(response.body, code: code) end + # Creates a reusable tool that assistants can invoke during conversations. + # # @param request_options [Hash] # @param params [Vapi::Tools::Types::CreateToolsRequest] # @option request_options [String] :base_url @@ -94,6 +99,8 @@ def create(request_options: {}, **params) end end + # Returns the tool identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -126,6 +133,8 @@ def get(request_options: {}, **params) end end + # Deletes the tool identified by its ID. + # # @param request_options [Hash] # @param params [Hash] # @option request_options [String] :base_url @@ -158,6 +167,8 @@ def delete(request_options: {}, **params) end end + # Updates the specified fields of the tool identified by its ID. + # # @param request_options [Hash] # @param params [Vapi::Tools::Types::UpdateToolsRequestBody] # @option request_options [String] :base_url diff --git a/lib/vapi/types/ai_edge_condition.rb b/lib/vapi/types/ai_edge_condition.rb index 05272e7a..a3cfd4aa 100644 --- a/lib/vapi/types/ai_edge_condition.rb +++ b/lib/vapi/types/ai_edge_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An AI-evaluated boolean condition that determines whether a workflow follows an edge. class AiEdgeCondition < Internal::Types::Model field :type, -> { Vapi::Types::AiEdgeConditionType }, optional: false, nullable: false field :prompt, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/analysis.rb b/lib/vapi/types/analysis.rb index 428287ee..5446f23f 100644 --- a/lib/vapi/types/analysis.rb +++ b/lib/vapi/types/analysis.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Post-call analysis results, including summary, structured data, and success evaluation outputs. class Analysis < Internal::Types::Model field :summary, -> { String }, optional: true, nullable: false field :structured_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "structuredData" diff --git a/lib/vapi/types/analysis_cost.rb b/lib/vapi/types/analysis_cost.rb index e3183041..fefa94fa 100644 --- a/lib/vapi/types/analysis_cost.rb +++ b/lib/vapi/types/analysis_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Cost for an individual analysis request, including analysis type, model, token usage, and amount. class AnalysisCost < Internal::Types::Model field :analysis_type, -> { Vapi::Types::AnalysisCostAnalysisType }, optional: false, nullable: false, api_name: "analysisType" field :model, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false diff --git a/lib/vapi/types/analysis_cost_breakdown.rb b/lib/vapi/types/analysis_cost_breakdown.rb index 1bdf37ed..f5a0afaf 100644 --- a/lib/vapi/types/analysis_cost_breakdown.rb +++ b/lib/vapi/types/analysis_cost_breakdown.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Analysis costs and token usage grouped by summary, structured data, success evaluation, and structured-output + # generation. class AnalysisCostBreakdown < Internal::Types::Model field :summary, -> { Integer }, optional: true, nullable: false field :summary_prompt_tokens, -> { Integer }, optional: true, nullable: false, api_name: "summaryPromptTokens" diff --git a/lib/vapi/types/analysis_plan.rb b/lib/vapi/types/analysis_plan.rb index 9a7a4674..5086a368 100644 --- a/lib/vapi/types/analysis_plan.rb +++ b/lib/vapi/types/analysis_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for post-call analysis of summaries, structured-data extraction, success evaluation, and outcomes. class AnalysisPlan < Internal::Types::Model field :min_messages_threshold, -> { Integer }, optional: true, nullable: false, api_name: "minMessagesThreshold" field :summary_plan, -> { Vapi::Types::SummaryPlan }, optional: true, nullable: false, api_name: "summaryPlan" diff --git a/lib/vapi/types/analytics_operation.rb b/lib/vapi/types/analytics_operation.rb index 67bd6858..da4d472b 100644 --- a/lib/vapi/types/analytics_operation.rb +++ b/lib/vapi/types/analytics_operation.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An aggregation or history operation applied to an analytics column, with an optional response alias. class AnalyticsOperation < Internal::Types::Model field :operation, -> { Vapi::Types::AnalyticsOperationOperation }, optional: false, nullable: false field :column, -> { Vapi::Types::AnalyticsOperationColumn }, optional: false, nullable: false diff --git a/lib/vapi/types/analytics_query.rb b/lib/vapi/types/analytics_query.rb index 790c2349..34b9c85e 100644 --- a/lib/vapi/types/analytics_query.rb +++ b/lib/vapi/types/analytics_query.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A named analytics query against call or subscription data, including grouping, time range, and aggregation + # operations. class AnalyticsQuery < Internal::Types::Model field :table, -> { Vapi::Types::AnalyticsQueryTable }, optional: false, nullable: false field :group_by, -> { Internal::Types::Array[Vapi::Types::AnalyticsQueryGroupByItem] }, optional: true, nullable: false, api_name: "groupBy" diff --git a/lib/vapi/types/analytics_query_result.rb b/lib/vapi/types/analytics_query_result.rb index 7ec69e30..0e0606ad 100644 --- a/lib/vapi/types/analytics_query_result.rb +++ b/lib/vapi/types/analytics_query_result.rb @@ -2,6 +2,7 @@ module Vapi module Types + # The result of a named analytics query, including the evaluated time range and returned metric data. class AnalyticsQueryResult < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :time_range, -> { Vapi::Types::TimeRange }, optional: false, nullable: false, api_name: "timeRange" diff --git a/lib/vapi/types/anthropic_bedrock_credential_region.rb b/lib/vapi/types/anthropic_bedrock_credential_region.rb index 8c0726c9..ffed9fe8 100644 --- a/lib/vapi/types/anthropic_bedrock_credential_region.rb +++ b/lib/vapi/types/anthropic_bedrock_credential_region.rb @@ -7,6 +7,7 @@ module AnthropicBedrockCredentialRegion US_EAST_1 = "us-east-1" US_WEST_2 = "us-west-2" + EU_CENTRAL_1 = "eu-central-1" EU_WEST_1 = "eu-west-1" EU_WEST_3 = "eu-west-3" AP_NORTHEAST_1 = "ap-northeast-1" diff --git a/lib/vapi/types/anthropic_bedrock_model.rb b/lib/vapi/types/anthropic_bedrock_model.rb index 7f1fda36..f292931a 100644 --- a/lib/vapi/types/anthropic_bedrock_model.rb +++ b/lib/vapi/types/anthropic_bedrock_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Anthropic models through Amazon Bedrock, including model, + # prompts, tools, knowledge-base access, reasoning, and generation settings. class AnthropicBedrockModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::AnthropicBedrockModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::AnthropicBedrockModelModel }, optional: false, nullable: false field :thinking, -> { Vapi::Types::AnthropicThinkingConfig }, optional: true, nullable: false diff --git a/lib/vapi/types/anthropic_bedrock_model_model.rb b/lib/vapi/types/anthropic_bedrock_model_model.rb index 82ae16ee..2634facf 100644 --- a/lib/vapi/types/anthropic_bedrock_model_model.rb +++ b/lib/vapi/types/anthropic_bedrock_model_model.rb @@ -19,6 +19,7 @@ module AnthropicBedrockModelModel CLAUDE_SONNET_4520250929 = "claude-sonnet-4-5-20250929" CLAUDE_SONNET_46 = "claude-sonnet-4-6" CLAUDE_HAIKU_4520251001 = "claude-haiku-4-5-20251001" + GLOBAL_ANTHROPIC_CLAUDE_HAIKU_4520251001_V_10 = "global.anthropic.claude-haiku-4-5-20251001-v1:0" end end end diff --git a/lib/vapi/types/anthropic_model.rb b/lib/vapi/types/anthropic_model.rb index d4f44bbc..b4c3dc6c 100644 --- a/lib/vapi/types/anthropic_model.rb +++ b/lib/vapi/types/anthropic_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Anthropic, including model, prompts, tools, knowledge-base + # access, reasoning, and generation settings. class AnthropicModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::AnthropicModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::AnthropicModelModel }, optional: false, nullable: false field :thinking, -> { Vapi::Types::AnthropicThinkingConfig }, optional: true, nullable: false diff --git a/lib/vapi/types/anthropic_model_model.rb b/lib/vapi/types/anthropic_model_model.rb index a9cada5d..fd0741ab 100644 --- a/lib/vapi/types/anthropic_model_model.rb +++ b/lib/vapi/types/anthropic_model_model.rb @@ -18,6 +18,7 @@ module AnthropicModelModel CLAUDE_SONNET_420250514 = "claude-sonnet-4-20250514" CLAUDE_SONNET_4520250929 = "claude-sonnet-4-5-20250929" CLAUDE_SONNET_46 = "claude-sonnet-4-6" + CLAUDE_SONNET_5 = "claude-sonnet-5" CLAUDE_HAIKU_4520251001 = "claude-haiku-4-5-20251001" end end diff --git a/lib/vapi/types/anthropic_thinking_config.rb b/lib/vapi/types/anthropic_thinking_config.rb index 75b3a9b8..cd00d592 100644 --- a/lib/vapi/types/anthropic_thinking_config.rb +++ b/lib/vapi/types/anthropic_thinking_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Enables Anthropic extended thinking with a maximum thinking-token budget. class AnthropicThinkingConfig < Internal::Types::Model field :type, -> { Vapi::Types::AnthropicThinkingConfigType }, optional: false, nullable: false field :budget_tokens, -> { Integer }, optional: false, nullable: false, api_name: "budgetTokens" diff --git a/lib/vapi/types/anyscale_model.rb b/lib/vapi/types/anyscale_model.rb index f396d41e..bdf4464e 100644 --- a/lib/vapi/types/anyscale_model.rb +++ b/lib/vapi/types/anyscale_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Anyscale, including model, prompts, tools, knowledge-base + # access, and generation settings. class AnyscaleModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::AnyscaleModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/api_request_tool.rb b/lib/vapi/types/api_request_tool.rb index 9824409c..7aedd7e2 100644 --- a/lib/vapi/types/api_request_tool.rb +++ b/lib/vapi/types/api_request_tool.rb @@ -2,8 +2,12 @@ module Vapi module Types + # A reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract + # variables from responses. class ApiRequestTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::ApiRequestToolMessagesItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false field :method_, -> { Vapi::Types::ApiRequestToolMethod }, optional: false, nullable: false, api_name: "method" field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" @@ -14,7 +18,6 @@ class ApiRequestTool < Internal::Types::Model field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" - field :name, -> { String }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false field :url, -> { String }, optional: false, nullable: false field :body, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false diff --git a/lib/vapi/types/artifact.rb b/lib/vapi/types/artifact.rb index dcd389fd..97d690ba 100644 --- a/lib/vapi/types/artifact.rb +++ b/lib/vapi/types/artifact.rb @@ -2,9 +2,13 @@ module Vapi module Types + # Artifacts generated during a call, including messages, recordings, transcript, logs, packet capture, workflow-node + # data, variables, performance metrics, structured outputs, scorecards, and transfers. class Artifact < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::ArtifactMessagesItem] }, optional: true, nullable: false field :messages_open_ai_formatted, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false, api_name: "messagesOpenAIFormatted" + field :skipped_structured_outputs, -> { Internal::Types::Hash[String, Vapi::Types::SkippedStructuredOutput] }, optional: true, nullable: false, api_name: "skippedStructuredOutputs" + field :transfers, -> { Internal::Types::Array[Vapi::Types::TransferArtifact] }, optional: true, nullable: false field :recording_url, -> { String }, optional: true, nullable: false, api_name: "recordingUrl" field :stereo_recording_url, -> { String }, optional: true, nullable: false, api_name: "stereoRecordingUrl" field :video_recording_url, -> { String }, optional: true, nullable: false, api_name: "videoRecordingUrl" @@ -19,8 +23,15 @@ class Artifact < Internal::Types::Model field :performance_metrics, -> { Vapi::Types::PerformanceMetrics }, optional: true, nullable: false, api_name: "performanceMetrics" field :structured_outputs, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "structuredOutputs" field :scorecards, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false - field :transfers, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :structured_outputs_last_updated_at, -> { String }, optional: true, nullable: false, api_name: "structuredOutputsLastUpdatedAt" + field :presigned_mono_url, -> { String }, optional: true, nullable: false, api_name: "presignedMonoUrl" + field :presigned_stereo_url, -> { String }, optional: true, nullable: false, api_name: "presignedStereoUrl" + field :presigned_video_url, -> { String }, optional: true, nullable: false, api_name: "presignedVideoUrl" + field :presigned_assistant_url, -> { String }, optional: true, nullable: false, api_name: "presignedAssistantUrl" + field :presigned_customer_url, -> { String }, optional: true, nullable: false, api_name: "presignedCustomerUrl" + field :presigned_pcap_url, -> { String }, optional: true, nullable: false, api_name: "presignedPcapUrl" + field :presigned_log_url, -> { String }, optional: true, nullable: false, api_name: "presignedLogUrl" + field :presigned_urls_expires_at, -> { String }, optional: true, nullable: false, api_name: "presignedUrlsExpiresAt" end end end diff --git a/lib/vapi/types/artifact_plan.rb b/lib/vapi/types/artifact_plan.rb index 9d33dd43..c66da13b 100644 --- a/lib/vapi/types/artifact_plan.rb +++ b/lib/vapi/types/artifact_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls artifacts generated and stored for calls, including recordings, packet captures, logs, transcripts, + # structured outputs, scorecards, and custom storage paths. class ArtifactPlan < Internal::Types::Model field :recording_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "recordingEnabled" field :recording_format, -> { Vapi::Types::ArtifactPlanRecordingFormat }, optional: true, nullable: false, api_name: "recordingFormat" diff --git a/lib/vapi/types/assembly_ai_transcriber.rb b/lib/vapi/types/assembly_ai_transcriber.rb index e71da35c..df918e2e 100644 --- a/lib/vapi/types/assembly_ai_transcriber.rb +++ b/lib/vapi/types/assembly_ai_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with AssemblyAI, including language, + # streaming model, endpointing, vocabulary, and fallback settings. class AssemblyAiTranscriber < Internal::Types::Model field :language, -> { Vapi::Types::AssemblyAiTranscriberLanguage }, optional: true, nullable: false field :confidence_threshold, -> { Integer }, optional: true, nullable: false, api_name: "confidenceThreshold" diff --git a/lib/vapi/types/assistant.rb b/lib/vapi/types/assistant.rb index 705e13c7..c3321f75 100644 --- a/lib/vapi/types/assistant.rb +++ b/lib/vapi/types/assistant.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved assistant configuration returned by the Vapi API. It defines how the assistant listens, reasons, speaks, + # handles conversations, sends events, and produces artifacts and analysis. class Assistant < Internal::Types::Model field :transcriber, -> { Vapi::Types::AssistantTranscriber }, optional: true, nullable: false field :model, -> { Vapi::Types::AssistantModel }, optional: true, nullable: false @@ -19,6 +21,7 @@ class Assistant < Internal::Types::Model field :observability_plan, -> { Vapi::Types::LangfuseObservabilityPlan }, optional: true, nullable: false, api_name: "observabilityPlan" field :credentials, -> { Internal::Types::Array[Vapi::Types::AssistantCredentialsItem] }, optional: true, nullable: false field :hooks, -> { Internal::Types::Array[Vapi::Types::AssistantHooksItem] }, optional: true, nullable: false + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :name, -> { String }, optional: true, nullable: false field :voicemail_message, -> { String }, optional: true, nullable: false, api_name: "voicemailMessage" field :end_call_message, -> { String }, optional: true, nullable: false, api_name: "endCallMessage" diff --git a/lib/vapi/types/assistant_activation.rb b/lib/vapi/types/assistant_activation.rb index 7e3ed4b5..9147e5a8 100644 --- a/lib/vapi/types/assistant_activation.rb +++ b/lib/vapi/types/assistant_activation.rb @@ -2,7 +2,9 @@ module Vapi module Types + # Identifies an assistant that became active during a call. class AssistantActivation < Internal::Types::Model + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :assistant_name, -> { String }, optional: false, nullable: false, api_name: "assistantName" field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" end diff --git a/lib/vapi/types/assistant_credentials_item.rb b/lib/vapi/types/assistant_credentials_item.rb index b103566d..0342fcec 100644 --- a/lib/vapi/types/assistant_credentials_item.rb +++ b/lib/vapi/types/assistant_credentials_item.rb @@ -38,6 +38,7 @@ class AssistantCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class AssistantCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/assistant_custom_endpointing_rule.rb b/lib/vapi/types/assistant_custom_endpointing_rule.rb index 445fab76..5ca380b6 100644 --- a/lib/vapi/types/assistant_custom_endpointing_rule.rb +++ b/lib/vapi/types/assistant_custom_endpointing_rule.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A custom endpointing rule that matches the assistant's last message and applies a configured timeout. class AssistantCustomEndpointingRule < Internal::Types::Model field :regex, -> { String }, optional: false, nullable: false field :regex_options, -> { Internal::Types::Array[Vapi::Types::RegexOption] }, optional: true, nullable: false, api_name: "regexOptions" diff --git a/lib/vapi/types/assistant_draft.rb b/lib/vapi/types/assistant_draft.rb new file mode 100644 index 00000000..4b6ce90f --- /dev/null +++ b/lib/vapi/types/assistant_draft.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraft < Internal::Types::Model + field :transcriber, -> { Vapi::Types::AssistantDraftTranscriber }, optional: true, nullable: false + field :model, -> { Vapi::Types::AssistantDraftModel }, optional: true, nullable: false + field :voice, -> { Vapi::Types::AssistantDraftVoice }, optional: true, nullable: false + field :first_message, -> { String }, optional: true, nullable: false, api_name: "firstMessage" + field :first_message_interruptions_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "firstMessageInterruptionsEnabled" + field :first_message_mode, -> { Vapi::Types::AssistantDraftFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" + field :voicemail_detection, -> { Vapi::Types::AssistantDraftVoicemailDetection }, optional: true, nullable: false, api_name: "voicemailDetection" + field :client_messages, -> { Internal::Types::Array[Vapi::Types::AssistantDraftClientMessagesItem] }, optional: true, nullable: false, api_name: "clientMessages" + field :server_messages, -> { Internal::Types::Array[Vapi::Types::AssistantDraftServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :max_duration_seconds, -> { Integer }, optional: true, nullable: false, api_name: "maxDurationSeconds" + field :background_sound, -> { Vapi::Types::AssistantDraftBackgroundSound }, optional: true, nullable: false, api_name: "backgroundSound" + field :model_output_in_messages_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "modelOutputInMessagesEnabled" + field :transport_configurations, -> { Internal::Types::Array[Vapi::Types::TransportConfigurationTwilio] }, optional: true, nullable: false, api_name: "transportConfigurations" + field :observability_plan, -> { Vapi::Types::LangfuseObservabilityPlan }, optional: true, nullable: false, api_name: "observabilityPlan" + field :credentials, -> { Internal::Types::Array[Vapi::Types::AssistantDraftCredentialsItem] }, optional: true, nullable: false + field :hooks, -> { Internal::Types::Array[Vapi::Types::AssistantDraftHooksItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :voicemail_message, -> { String }, optional: true, nullable: false, api_name: "voicemailMessage" + field :end_call_message, -> { String }, optional: true, nullable: false, api_name: "endCallMessage" + field :end_call_phrases, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "endCallPhrases" + field :compliance_plan, -> { Vapi::Types::CompliancePlan }, optional: true, nullable: false, api_name: "compliancePlan" + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :background_speech_denoising_plan, -> { Vapi::Types::BackgroundSpeechDenoisingPlan }, optional: true, nullable: false, api_name: "backgroundSpeechDenoisingPlan" + field :analysis_plan, -> { Vapi::Types::AnalysisPlan }, optional: true, nullable: false, api_name: "analysisPlan" + field :artifact_plan, -> { Vapi::Types::ArtifactPlan }, optional: true, nullable: false, api_name: "artifactPlan" + field :start_speaking_plan, -> { Vapi::Types::StartSpeakingPlan }, optional: true, nullable: false, api_name: "startSpeakingPlan" + field :stop_speaking_plan, -> { Vapi::Types::StopSpeakingPlan }, optional: true, nullable: false, api_name: "stopSpeakingPlan" + field :monitor_plan, -> { Vapi::Types::MonitorPlan }, optional: true, nullable: false, api_name: "monitorPlan" + field :credential_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "credentialIds" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :keypad_input_plan, -> { Vapi::Types::KeypadInputPlan }, optional: true, nullable: false, api_name: "keypadInputPlan" + field :base_version, -> { String }, optional: false, nullable: false, api_name: "baseVersion" + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :assistant_id, -> { String }, optional: false, nullable: false, api_name: "assistantId" + field :created_by, -> { String }, optional: true, nullable: false, api_name: "createdBy" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + end + end +end diff --git a/lib/vapi/types/assistant_draft_background_sound.rb b/lib/vapi/types/assistant_draft_background_sound.rb new file mode 100644 index 00000000..8afabe14 --- /dev/null +++ b/lib/vapi/types/assistant_draft_background_sound.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'. + # You can also provide a custom sound by providing a URL to an audio file. + class AssistantDraftBackgroundSound < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::AssistantDraftBackgroundSoundZero } + member -> { String } + end + end +end diff --git a/lib/vapi/types/assistant_draft_background_sound_zero.rb b/lib/vapi/types/assistant_draft_background_sound_zero.rb new file mode 100644 index 00000000..fde70e65 --- /dev/null +++ b/lib/vapi/types/assistant_draft_background_sound_zero.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantDraftBackgroundSoundZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + OFFICE = "office" + end + end +end diff --git a/lib/vapi/types/assistant_draft_client_messages_item.rb b/lib/vapi/types/assistant_draft_client_messages_item.rb new file mode 100644 index 00000000..628c736b --- /dev/null +++ b/lib/vapi/types/assistant_draft_client_messages_item.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantDraftClientMessagesItem + extend Vapi::Internal::Types::Enum + + CONVERSATION_UPDATE = "conversation-update" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + FUNCTION_CALL = "function-call" + FUNCTION_CALL_RESULT = "function-call-result" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + METADATA = "metadata" + MODEL_OUTPUT = "model-output" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TOOL_CALLS = "tool-calls" + TOOL_CALLS_RESULT = "tool-calls-result" + TOOL_COMPLETED = "tool.completed" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + WORKFLOW_NODE_STARTED = "workflow.node.started" + ASSISTANT_STARTED = "assistant.started" + end + end +end diff --git a/lib/vapi/types/assistant_draft_conflict_response_dto.rb b/lib/vapi/types/assistant_draft_conflict_response_dto.rb new file mode 100644 index 00000000..86c9e48d --- /dev/null +++ b/lib/vapi/types/assistant_draft_conflict_response_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraftConflictResponseDto < Internal::Types::Model + field :existing_draft_id, -> { String }, optional: false, nullable: true, api_name: "existingDraftId" + field :error, -> { String }, optional: false, nullable: false + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/assistant_draft_credentials_item.rb b/lib/vapi/types/assistant_draft_credentials_item.rb new file mode 100644 index 00000000..02068349 --- /dev/null +++ b/lib/vapi/types/assistant_draft_credentials_item.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraftCredentialsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::CreateElevenLabsCredentialDto }, key: "_11_LABS" + member -> { Vapi::Types::CreateAnthropicCredentialDto }, key: "ANTHROPIC" + member -> { Vapi::Types::CreateAnthropicBedrockCredentialDto }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::CreateAnyscaleCredentialDto }, key: "ANYSCALE" + member -> { Vapi::Types::CreateAssemblyAiCredentialDto }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::CreateAzureOpenAiCredentialDto }, key: "AZURE_OPENAI" + member -> { Vapi::Types::CreateAzureCredentialDto }, key: "AZURE" + member -> { Vapi::Types::CreateByoSipTrunkCredentialDto }, key: "BYO_SIP_TRUNK" + member -> { Vapi::Types::CreateCartesiaCredentialDto }, key: "CARTESIA" + member -> { Vapi::Types::CreateCerebrasCredentialDto }, key: "CEREBRAS" + member -> { Vapi::Types::CreateCloudflareCredentialDto }, key: "CLOUDFLARE" + member -> { Vapi::Types::CreateCustomLlmCredentialDto }, key: "CUSTOM_LLM" + member -> { Vapi::Types::CreateDeepgramCredentialDto }, key: "DEEPGRAM" + member -> { Vapi::Types::CreateDeepInfraCredentialDto }, key: "DEEPINFRA" + member -> { Vapi::Types::CreateDeepSeekCredentialDto }, key: "DEEP_SEEK" + member -> { Vapi::Types::CreateGcpCredentialDto }, key: "GCP" + member -> { Vapi::Types::CreateGladiaCredentialDto }, key: "GLADIA" + member -> { Vapi::Types::CreateGoHighLevelCredentialDto }, key: "GOHIGHLEVEL" + member -> { Vapi::Types::CreateGoogleCredentialDto }, key: "GOOGLE" + member -> { Vapi::Types::CreateGroqCredentialDto }, key: "GROQ" + member -> { Vapi::Types::CreateInflectionAiCredentialDto }, key: "INFLECTION_AI" + member -> { Vapi::Types::CreateLangfuseCredentialDto }, key: "LANGFUSE" + member -> { Vapi::Types::CreateLmntCredentialDto }, key: "LMNT" + member -> { Vapi::Types::CreateMakeCredentialDto }, key: "MAKE" + member -> { Vapi::Types::CreateOpenAiCredentialDto }, key: "OPENAI" + member -> { Vapi::Types::CreateOpenRouterCredentialDto }, key: "OPENROUTER" + member -> { Vapi::Types::CreatePerplexityAiCredentialDto }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::CreatePlayHtCredentialDto }, key: "PLAYHT" + member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" + member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" + member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" + member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" + member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" + member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" + member -> { Vapi::Types::CreateTogetherAiCredentialDto }, key: "TOGETHER_AI" + member -> { Vapi::Types::CreateTwilioCredentialDto }, key: "TWILIO" + member -> { Vapi::Types::CreateVonageCredentialDto }, key: "VONAGE" + member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" + member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" + member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" + member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" + member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" + member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" + member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" + member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateSlackOAuth2AuthorizationCredentialDto }, key: "SLACK_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoHighLevelMcpCredentialDto }, key: "GHL_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateInworldCredentialDto }, key: "INWORLD" + member -> { Vapi::Types::CreateMinimaxCredentialDto }, key: "MINIMAX" + member -> { Vapi::Types::CreateWellSaidCredentialDto }, key: "WELLSAID" + member -> { Vapi::Types::CreateEmailCredentialDto }, key: "EMAIL" + member -> { Vapi::Types::CreateSlackWebhookCredentialDto }, key: "SLACK_WEBHOOK" + end + end +end diff --git a/lib/vapi/types/assistant_draft_first_message_mode.rb b/lib/vapi/types/assistant_draft_first_message_mode.rb new file mode 100644 index 00000000..b93e2b99 --- /dev/null +++ b/lib/vapi/types/assistant_draft_first_message_mode.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantDraftFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_SPEAKS_FIRST_WITH_MODEL_GENERATED_MESSAGE = "assistant-speaks-first-with-model-generated-message" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/assistant_draft_hooks_item.rb b/lib/vapi/types/assistant_draft_hooks_item.rb new file mode 100644 index 00000000..09a78a56 --- /dev/null +++ b/lib/vapi/types/assistant_draft_hooks_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraftHooksItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CallHookCallEnding } + member -> { Vapi::Types::CallHookAssistantSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechTimeout } + member -> { Vapi::Types::SessionCreatedHook } + end + end +end diff --git a/lib/vapi/types/assistant_draft_model.rb b/lib/vapi/types/assistant_draft_model.rb new file mode 100644 index 00000000..2c16fb66 --- /dev/null +++ b/lib/vapi/types/assistant_draft_model.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's LLM. + class AssistantDraftModel < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AnthropicModel }, key: "ANTHROPIC" + member -> { Vapi::Types::AnthropicBedrockModel }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::AnyscaleModel }, key: "ANYSCALE" + member -> { Vapi::Types::CerebrasModel }, key: "CEREBRAS" + member -> { Vapi::Types::CustomLlmModel }, key: "CUSTOM_LLM" + member -> { Vapi::Types::DeepInfraModel }, key: "DEEPINFRA" + member -> { Vapi::Types::DeepSeekModel }, key: "DEEP_SEEK" + member -> { Vapi::Types::GoogleModel }, key: "GOOGLE" + member -> { Vapi::Types::GroqModel }, key: "GROQ" + member -> { Vapi::Types::InflectionAiModel }, key: "INFLECTION_AI" + member -> { Vapi::Types::MinimaxLlmModel }, key: "MINIMAX" + member -> { Vapi::Types::OpenAiModel }, key: "OPENAI" + member -> { Vapi::Types::OpenRouterModel }, key: "OPENROUTER" + member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" + member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/assistant_draft_paginated_metadata.rb b/lib/vapi/types/assistant_draft_paginated_metadata.rb new file mode 100644 index 00000000..b0f69b3d --- /dev/null +++ b/lib/vapi/types/assistant_draft_paginated_metadata.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraftPaginatedMetadata < Internal::Types::Model + field :next_cursor, -> { String }, optional: false, nullable: true, api_name: "nextCursor" + field :has_next_page, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasNextPage" + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/assistant_draft_paginated_response.rb b/lib/vapi/types/assistant_draft_paginated_response.rb new file mode 100644 index 00000000..2cd080a1 --- /dev/null +++ b/lib/vapi/types/assistant_draft_paginated_response.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantDraftPaginatedResponse < Internal::Types::Model + field :results, -> { Internal::Types::Array[Vapi::Types::AssistantDraft] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::AssistantDraftPaginatedMetadata }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/assistant_draft_server_messages_item.rb b/lib/vapi/types/assistant_draft_server_messages_item.rb new file mode 100644 index 00000000..f2348b20 --- /dev/null +++ b/lib/vapi/types/assistant_draft_server_messages_item.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantDraftServerMessagesItem + extend Vapi::Internal::Types::Enum + + ASSISTANT_STARTED = "assistant.started" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + CONVERSATION_UPDATE = "conversation-update" + END_OF_CALL_REPORT = "end-of-call-report" + FUNCTION_CALL = "function-call" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + LANGUAGE_CHANGE_DETECTED = "language-change-detected" + MODEL_OUTPUT = "model-output" + PHONE_CALL_CONTROL = "phone-call-control" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType=\"final\"]" + TOOL_CALLS = "tool-calls" + TRANSFER_DESTINATION_REQUEST = "transfer-destination-request" + HANDOFF_DESTINATION_REQUEST = "handoff-destination-request" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + CHAT_CREATED = "chat.created" + CHAT_DELETED = "chat.deleted" + SESSION_CREATED = "session.created" + SESSION_UPDATED = "session.updated" + SESSION_DELETED = "session.deleted" + CALL_DELETED = "call.deleted" + CALL_DELETE_FAILED = "call.delete.failed" + end + end +end diff --git a/lib/vapi/types/assistant_draft_transcriber.rb b/lib/vapi/types/assistant_draft_transcriber.rb new file mode 100644 index 00000000..fab221cb --- /dev/null +++ b/lib/vapi/types/assistant_draft_transcriber.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's transcriber. + class AssistantDraftTranscriber < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AssemblyAiTranscriber }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::AzureSpeechTranscriber }, key: "AZURE" + member -> { Vapi::Types::CustomTranscriber }, key: "CUSTOM_TRANSCRIBER" + member -> { Vapi::Types::DeepgramTranscriber }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsTranscriber }, key: "_11_LABS" + member -> { Vapi::Types::GladiaTranscriber }, key: "GLADIA" + member -> { Vapi::Types::GoogleTranscriber }, key: "GOOGLE" + member -> { Vapi::Types::SpeechmaticsTranscriber }, key: "SPEECHMATICS" + member -> { Vapi::Types::TalkscriberTranscriber }, key: "TALKSCRIBER" + member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" + member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" + member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/assistant_draft_voice.rb b/lib/vapi/types/assistant_draft_voice.rb new file mode 100644 index 00000000..930bc5d1 --- /dev/null +++ b/lib/vapi/types/assistant_draft_voice.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's voice. + class AssistantDraftVoice < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AzureVoice }, key: "AZURE" + member -> { Vapi::Types::CartesiaVoice }, key: "CARTESIA" + member -> { Vapi::Types::CustomVoice }, key: "CUSTOM_VOICE" + member -> { Vapi::Types::DeepgramVoice }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsVoice }, key: "_11_LABS" + member -> { Vapi::Types::HumeVoice }, key: "HUME" + member -> { Vapi::Types::LmntVoice }, key: "LMNT" + member -> { Vapi::Types::NeuphonicVoice }, key: "NEUPHONIC" + member -> { Vapi::Types::OpenAiVoice }, key: "OPENAI" + member -> { Vapi::Types::PlayHtVoice }, key: "PLAYHT" + member -> { Vapi::Types::WellSaidVoice }, key: "WELLSAID" + member -> { Vapi::Types::RimeAiVoice }, key: "RIME_AI" + member -> { Vapi::Types::SmallestAiVoice }, key: "SMALLEST_AI" + member -> { Vapi::Types::TavusVoice }, key: "TAVUS" + member -> { Vapi::Types::VapiVoice }, key: "VAPI" + member -> { Vapi::Types::SesameVoice }, key: "SESAME" + member -> { Vapi::Types::InworldVoice }, key: "INWORLD" + member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" + end + end +end diff --git a/lib/vapi/types/assistant_draft_voicemail_detection.rb b/lib/vapi/types/assistant_draft_voicemail_detection.rb new file mode 100644 index 00000000..ac7e286c --- /dev/null +++ b/lib/vapi/types/assistant_draft_voicemail_detection.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be + # configured using the model.tools=[VoicemailTool]. + # By default, voicemail detection is disabled. + class AssistantDraftVoicemailDetection < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::AssistantDraftVoicemailDetectionZero } + member -> { Vapi::Types::GoogleVoicemailDetectionPlan } + member -> { Vapi::Types::OpenAiVoicemailDetectionPlan } + member -> { Vapi::Types::TwilioVoicemailDetectionPlan } + member -> { Vapi::Types::VapiVoicemailDetectionPlan } + end + end +end diff --git a/lib/vapi/types/assistant_draft_voicemail_detection_zero.rb b/lib/vapi/types/assistant_draft_voicemail_detection_zero.rb new file mode 100644 index 00000000..60804f09 --- /dev/null +++ b/lib/vapi/types/assistant_draft_voicemail_detection_zero.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantDraftVoicemailDetectionZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + end + end +end diff --git a/lib/vapi/types/assistant_message.rb b/lib/vapi/types/assistant_message.rb index 9284c477..06ac85ff 100644 --- a/lib/vapi/types/assistant_message.rb +++ b/lib/vapi/types/assistant_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An assistant-authored message, including content, refusal text, tool calls, participant name, and metadata. class AssistantMessage < Internal::Types::Model field :role, -> { Vapi::Types::AssistantMessageRole }, optional: false, nullable: false field :content, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/assistant_message_evaluation_continue_plan.rb b/lib/vapi/types/assistant_message_evaluation_continue_plan.rb index 07d5fea7..6b7d0eda 100644 --- a/lib/vapi/types/assistant_message_evaluation_continue_plan.rb +++ b/lib/vapi/types/assistant_message_evaluation_continue_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls how an evaluation proceeds after judging an assistant message, including failure handling and optional + # message overrides. class AssistantMessageEvaluationContinuePlan < Internal::Types::Model field :exit_on_failure_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "exitOnFailureEnabled" field :content_override, -> { String }, optional: true, nullable: false, api_name: "contentOverride" diff --git a/lib/vapi/types/assistant_message_judge_plan_ai.rb b/lib/vapi/types/assistant_message_judge_plan_ai.rb index 5e820c84..0d2647b1 100644 --- a/lib/vapi/types/assistant_message_judge_plan_ai.rb +++ b/lib/vapi/types/assistant_message_judge_plan_ai.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Evaluates an assistant message with an LLM judge and a configured evaluation model. class AssistantMessageJudgePlanAi < Internal::Types::Model field :model, -> { Vapi::Types::AssistantMessageJudgePlanAiModel }, optional: false, nullable: false field :type, -> { Vapi::Types::AssistantMessageJudgePlanAiType }, optional: false, nullable: false diff --git a/lib/vapi/types/assistant_message_judge_plan_exact.rb b/lib/vapi/types/assistant_message_judge_plan_exact.rb index a7ef0955..e5df0c12 100644 --- a/lib/vapi/types/assistant_message_judge_plan_exact.rb +++ b/lib/vapi/types/assistant_message_judge_plan_exact.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Evaluates an assistant message using case-insensitive exact content matching and expected tool calls. class AssistantMessageJudgePlanExact < Internal::Types::Model field :content, -> { String }, optional: false, nullable: false field :tool_calls, -> { Internal::Types::Array[Vapi::Types::ChatEvalAssistantMessageMockToolCall] }, optional: true, nullable: false, api_name: "toolCalls" diff --git a/lib/vapi/types/assistant_message_judge_plan_regex.rb b/lib/vapi/types/assistant_message_judge_plan_regex.rb index acefdaaf..07e7b813 100644 --- a/lib/vapi/types/assistant_message_judge_plan_regex.rb +++ b/lib/vapi/types/assistant_message_judge_plan_regex.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Evaluates assistant-message content and tool-call arguments using regular-expression patterns. class AssistantMessageJudgePlanRegex < Internal::Types::Model field :content, -> { String }, optional: false, nullable: false field :tool_calls, -> { Internal::Types::Array[Vapi::Types::ChatEvalAssistantMessageMockToolCall] }, optional: true, nullable: false, api_name: "toolCalls" diff --git a/lib/vapi/types/assistant_model.rb b/lib/vapi/types/assistant_model.rb index c1e2078d..2baf8757 100644 --- a/lib/vapi/types/assistant_model.rb +++ b/lib/vapi/types/assistant_model.rb @@ -24,6 +24,7 @@ class AssistantModel < Internal::Types::Model member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" end end end diff --git a/lib/vapi/types/assistant_overrides.rb b/lib/vapi/types/assistant_overrides.rb index 41101a8a..f1b53721 100644 --- a/lib/vapi/types/assistant_overrides.rb +++ b/lib/vapi/types/assistant_overrides.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Per-call or handoff overrides for an assistant's providers, messages, tools, credentials, call behavior, and + # server configuration. class AssistantOverrides < Internal::Types::Model field :transcriber, -> { Vapi::Types::AssistantOverridesTranscriber }, optional: true, nullable: false field :model, -> { Vapi::Types::AssistantOverridesModel }, optional: true, nullable: false diff --git a/lib/vapi/types/assistant_overrides_credentials_item.rb b/lib/vapi/types/assistant_overrides_credentials_item.rb index 0c8ffd06..6b3b14cf 100644 --- a/lib/vapi/types/assistant_overrides_credentials_item.rb +++ b/lib/vapi/types/assistant_overrides_credentials_item.rb @@ -38,6 +38,7 @@ class AssistantOverridesCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class AssistantOverridesCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/assistant_overrides_model.rb b/lib/vapi/types/assistant_overrides_model.rb index 822361e7..1fe81022 100644 --- a/lib/vapi/types/assistant_overrides_model.rb +++ b/lib/vapi/types/assistant_overrides_model.rb @@ -24,6 +24,7 @@ class AssistantOverridesModel < Internal::Types::Model member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" end end end diff --git a/lib/vapi/types/assistant_overrides_transcriber.rb b/lib/vapi/types/assistant_overrides_transcriber.rb index 2ed90ece..6ac87aa2 100644 --- a/lib/vapi/types/assistant_overrides_transcriber.rb +++ b/lib/vapi/types/assistant_overrides_transcriber.rb @@ -20,6 +20,8 @@ class AssistantOverridesTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/assistant_overrides_voice.rb b/lib/vapi/types/assistant_overrides_voice.rb index 8996e3aa..aa544c29 100644 --- a/lib/vapi/types/assistant_overrides_voice.rb +++ b/lib/vapi/types/assistant_overrides_voice.rb @@ -26,6 +26,8 @@ class AssistantOverridesVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/assistant_pinned_conflict_response_dto.rb b/lib/vapi/types/assistant_pinned_conflict_response_dto.rb new file mode 100644 index 00000000..65de1339 --- /dev/null +++ b/lib/vapi/types/assistant_pinned_conflict_response_dto.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantPinnedConflictResponseDto < Internal::Types::Model + field :error, -> { Vapi::Types::AssistantPinnedConflictResponseDtoError }, optional: false, nullable: false + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/assistant_pinned_conflict_response_dto_error.rb b/lib/vapi/types/assistant_pinned_conflict_response_dto_error.rb new file mode 100644 index 00000000..ba928982 --- /dev/null +++ b/lib/vapi/types/assistant_pinned_conflict_response_dto_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantPinnedConflictResponseDtoError + extend Vapi::Internal::Types::Enum + + ASSISTANT_PINNED = "assistant_pinned" + end + end +end diff --git a/lib/vapi/types/assistant_transcriber.rb b/lib/vapi/types/assistant_transcriber.rb index 30fac1a5..e43b1bee 100644 --- a/lib/vapi/types/assistant_transcriber.rb +++ b/lib/vapi/types/assistant_transcriber.rb @@ -20,6 +20,8 @@ class AssistantTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/assistant_version.rb b/lib/vapi/types/assistant_version.rb new file mode 100644 index 00000000..4136660a --- /dev/null +++ b/lib/vapi/types/assistant_version.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantVersion < Internal::Types::Model + field :transcriber, -> { Vapi::Types::AssistantVersionTranscriber }, optional: true, nullable: false + field :model, -> { Vapi::Types::AssistantVersionModel }, optional: true, nullable: false + field :voice, -> { Vapi::Types::AssistantVersionVoice }, optional: true, nullable: false + field :first_message, -> { String }, optional: true, nullable: false, api_name: "firstMessage" + field :first_message_interruptions_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "firstMessageInterruptionsEnabled" + field :first_message_mode, -> { Vapi::Types::AssistantVersionFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" + field :voicemail_detection, -> { Vapi::Types::AssistantVersionVoicemailDetection }, optional: true, nullable: false, api_name: "voicemailDetection" + field :client_messages, -> { Internal::Types::Array[Vapi::Types::AssistantVersionClientMessagesItem] }, optional: true, nullable: false, api_name: "clientMessages" + field :server_messages, -> { Internal::Types::Array[Vapi::Types::AssistantVersionServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :max_duration_seconds, -> { Integer }, optional: true, nullable: false, api_name: "maxDurationSeconds" + field :background_sound, -> { Vapi::Types::AssistantVersionBackgroundSound }, optional: true, nullable: false, api_name: "backgroundSound" + field :model_output_in_messages_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "modelOutputInMessagesEnabled" + field :transport_configurations, -> { Internal::Types::Array[Vapi::Types::TransportConfigurationTwilio] }, optional: true, nullable: false, api_name: "transportConfigurations" + field :observability_plan, -> { Vapi::Types::LangfuseObservabilityPlan }, optional: true, nullable: false, api_name: "observabilityPlan" + field :credentials, -> { Internal::Types::Array[Vapi::Types::AssistantVersionCredentialsItem] }, optional: true, nullable: false + field :hooks, -> { Internal::Types::Array[Vapi::Types::AssistantVersionHooksItem] }, optional: true, nullable: false + field :version_name, -> { String }, optional: true, nullable: false, api_name: "versionName" + field :version_description, -> { String }, optional: true, nullable: false, api_name: "versionDescription" + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :assistant_id, -> { String }, optional: false, nullable: false, api_name: "assistantId" + field :version, -> { String }, optional: false, nullable: false + field :config_hash, -> { String }, optional: false, nullable: false, api_name: "configHash" + field :parent_version, -> { String }, optional: true, nullable: false, api_name: "parentVersion" + field :created_by, -> { String }, optional: true, nullable: false, api_name: "createdBy" + field :deleted_at, -> { String }, optional: true, nullable: false, api_name: "deletedAt" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :name, -> { String }, optional: true, nullable: false + field :voicemail_message, -> { String }, optional: true, nullable: false, api_name: "voicemailMessage" + field :end_call_message, -> { String }, optional: true, nullable: false, api_name: "endCallMessage" + field :end_call_phrases, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "endCallPhrases" + field :compliance_plan, -> { Vapi::Types::CompliancePlan }, optional: true, nullable: false, api_name: "compliancePlan" + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :background_speech_denoising_plan, -> { Vapi::Types::BackgroundSpeechDenoisingPlan }, optional: true, nullable: false, api_name: "backgroundSpeechDenoisingPlan" + field :analysis_plan, -> { Vapi::Types::AnalysisPlan }, optional: true, nullable: false, api_name: "analysisPlan" + field :artifact_plan, -> { Vapi::Types::ArtifactPlan }, optional: true, nullable: false, api_name: "artifactPlan" + field :start_speaking_plan, -> { Vapi::Types::StartSpeakingPlan }, optional: true, nullable: false, api_name: "startSpeakingPlan" + field :stop_speaking_plan, -> { Vapi::Types::StopSpeakingPlan }, optional: true, nullable: false, api_name: "stopSpeakingPlan" + field :monitor_plan, -> { Vapi::Types::MonitorPlan }, optional: true, nullable: false, api_name: "monitorPlan" + field :credential_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "credentialIds" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :keypad_input_plan, -> { Vapi::Types::KeypadInputPlan }, optional: true, nullable: false, api_name: "keypadInputPlan" + end + end +end diff --git a/lib/vapi/types/assistant_version_background_sound.rb b/lib/vapi/types/assistant_version_background_sound.rb new file mode 100644 index 00000000..f4fad032 --- /dev/null +++ b/lib/vapi/types/assistant_version_background_sound.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'. + # You can also provide a custom sound by providing a URL to an audio file. + class AssistantVersionBackgroundSound < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::AssistantVersionBackgroundSoundZero } + member -> { String } + end + end +end diff --git a/lib/vapi/types/assistant_version_background_sound_zero.rb b/lib/vapi/types/assistant_version_background_sound_zero.rb new file mode 100644 index 00000000..6d311a7b --- /dev/null +++ b/lib/vapi/types/assistant_version_background_sound_zero.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantVersionBackgroundSoundZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + OFFICE = "office" + end + end +end diff --git a/lib/vapi/types/assistant_version_client_messages_item.rb b/lib/vapi/types/assistant_version_client_messages_item.rb new file mode 100644 index 00000000..6c46bf84 --- /dev/null +++ b/lib/vapi/types/assistant_version_client_messages_item.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantVersionClientMessagesItem + extend Vapi::Internal::Types::Enum + + CONVERSATION_UPDATE = "conversation-update" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + FUNCTION_CALL = "function-call" + FUNCTION_CALL_RESULT = "function-call-result" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + METADATA = "metadata" + MODEL_OUTPUT = "model-output" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TOOL_CALLS = "tool-calls" + TOOL_CALLS_RESULT = "tool-calls-result" + TOOL_COMPLETED = "tool.completed" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + WORKFLOW_NODE_STARTED = "workflow.node.started" + ASSISTANT_STARTED = "assistant.started" + end + end +end diff --git a/lib/vapi/types/assistant_version_credentials_item.rb b/lib/vapi/types/assistant_version_credentials_item.rb new file mode 100644 index 00000000..f2751e6a --- /dev/null +++ b/lib/vapi/types/assistant_version_credentials_item.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantVersionCredentialsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::CreateElevenLabsCredentialDto }, key: "_11_LABS" + member -> { Vapi::Types::CreateAnthropicCredentialDto }, key: "ANTHROPIC" + member -> { Vapi::Types::CreateAnthropicBedrockCredentialDto }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::CreateAnyscaleCredentialDto }, key: "ANYSCALE" + member -> { Vapi::Types::CreateAssemblyAiCredentialDto }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::CreateAzureOpenAiCredentialDto }, key: "AZURE_OPENAI" + member -> { Vapi::Types::CreateAzureCredentialDto }, key: "AZURE" + member -> { Vapi::Types::CreateByoSipTrunkCredentialDto }, key: "BYO_SIP_TRUNK" + member -> { Vapi::Types::CreateCartesiaCredentialDto }, key: "CARTESIA" + member -> { Vapi::Types::CreateCerebrasCredentialDto }, key: "CEREBRAS" + member -> { Vapi::Types::CreateCloudflareCredentialDto }, key: "CLOUDFLARE" + member -> { Vapi::Types::CreateCustomLlmCredentialDto }, key: "CUSTOM_LLM" + member -> { Vapi::Types::CreateDeepgramCredentialDto }, key: "DEEPGRAM" + member -> { Vapi::Types::CreateDeepInfraCredentialDto }, key: "DEEPINFRA" + member -> { Vapi::Types::CreateDeepSeekCredentialDto }, key: "DEEP_SEEK" + member -> { Vapi::Types::CreateGcpCredentialDto }, key: "GCP" + member -> { Vapi::Types::CreateGladiaCredentialDto }, key: "GLADIA" + member -> { Vapi::Types::CreateGoHighLevelCredentialDto }, key: "GOHIGHLEVEL" + member -> { Vapi::Types::CreateGoogleCredentialDto }, key: "GOOGLE" + member -> { Vapi::Types::CreateGroqCredentialDto }, key: "GROQ" + member -> { Vapi::Types::CreateInflectionAiCredentialDto }, key: "INFLECTION_AI" + member -> { Vapi::Types::CreateLangfuseCredentialDto }, key: "LANGFUSE" + member -> { Vapi::Types::CreateLmntCredentialDto }, key: "LMNT" + member -> { Vapi::Types::CreateMakeCredentialDto }, key: "MAKE" + member -> { Vapi::Types::CreateOpenAiCredentialDto }, key: "OPENAI" + member -> { Vapi::Types::CreateOpenRouterCredentialDto }, key: "OPENROUTER" + member -> { Vapi::Types::CreatePerplexityAiCredentialDto }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::CreatePlayHtCredentialDto }, key: "PLAYHT" + member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" + member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" + member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" + member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" + member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" + member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" + member -> { Vapi::Types::CreateTogetherAiCredentialDto }, key: "TOGETHER_AI" + member -> { Vapi::Types::CreateTwilioCredentialDto }, key: "TWILIO" + member -> { Vapi::Types::CreateVonageCredentialDto }, key: "VONAGE" + member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" + member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" + member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" + member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" + member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" + member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" + member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" + member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateSlackOAuth2AuthorizationCredentialDto }, key: "SLACK_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoHighLevelMcpCredentialDto }, key: "GHL_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateInworldCredentialDto }, key: "INWORLD" + member -> { Vapi::Types::CreateMinimaxCredentialDto }, key: "MINIMAX" + member -> { Vapi::Types::CreateWellSaidCredentialDto }, key: "WELLSAID" + member -> { Vapi::Types::CreateEmailCredentialDto }, key: "EMAIL" + member -> { Vapi::Types::CreateSlackWebhookCredentialDto }, key: "SLACK_WEBHOOK" + end + end +end diff --git a/lib/vapi/types/assistant_version_first_message_mode.rb b/lib/vapi/types/assistant_version_first_message_mode.rb new file mode 100644 index 00000000..4f6be201 --- /dev/null +++ b/lib/vapi/types/assistant_version_first_message_mode.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantVersionFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_SPEAKS_FIRST_WITH_MODEL_GENERATED_MESSAGE = "assistant-speaks-first-with-model-generated-message" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/assistant_version_hooks_item.rb b/lib/vapi/types/assistant_version_hooks_item.rb new file mode 100644 index 00000000..3c01537b --- /dev/null +++ b/lib/vapi/types/assistant_version_hooks_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantVersionHooksItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CallHookCallEnding } + member -> { Vapi::Types::CallHookAssistantSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechTimeout } + member -> { Vapi::Types::SessionCreatedHook } + end + end +end diff --git a/lib/vapi/types/assistant_version_model.rb b/lib/vapi/types/assistant_version_model.rb new file mode 100644 index 00000000..9504aeeb --- /dev/null +++ b/lib/vapi/types/assistant_version_model.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's LLM. + class AssistantVersionModel < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AnthropicModel }, key: "ANTHROPIC" + member -> { Vapi::Types::AnthropicBedrockModel }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::AnyscaleModel }, key: "ANYSCALE" + member -> { Vapi::Types::CerebrasModel }, key: "CEREBRAS" + member -> { Vapi::Types::CustomLlmModel }, key: "CUSTOM_LLM" + member -> { Vapi::Types::DeepInfraModel }, key: "DEEPINFRA" + member -> { Vapi::Types::DeepSeekModel }, key: "DEEP_SEEK" + member -> { Vapi::Types::GoogleModel }, key: "GOOGLE" + member -> { Vapi::Types::GroqModel }, key: "GROQ" + member -> { Vapi::Types::InflectionAiModel }, key: "INFLECTION_AI" + member -> { Vapi::Types::MinimaxLlmModel }, key: "MINIMAX" + member -> { Vapi::Types::OpenAiModel }, key: "OPENAI" + member -> { Vapi::Types::OpenRouterModel }, key: "OPENROUTER" + member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" + member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/assistant_version_paginated_metadata.rb b/lib/vapi/types/assistant_version_paginated_metadata.rb new file mode 100644 index 00000000..bbab0c06 --- /dev/null +++ b/lib/vapi/types/assistant_version_paginated_metadata.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AssistantVersionPaginatedMetadata < Internal::Types::Model + field :next_cursor, -> { String }, optional: true, nullable: false, api_name: "nextCursor" + field :has_next_page, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasNextPage" + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/assistant_version_paginated_response.rb b/lib/vapi/types/assistant_version_paginated_response.rb index 6e2163b9..80a6f6c3 100644 --- a/lib/vapi/types/assistant_version_paginated_response.rb +++ b/lib/vapi/types/assistant_version_paginated_response.rb @@ -3,9 +3,8 @@ module Vapi module Types class AssistantVersionPaginatedResponse < Internal::Types::Model - field :results, -> { Internal::Types::Array[Object] }, optional: false, nullable: false - field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false - field :next_page_state, -> { String }, optional: true, nullable: false, api_name: "nextPageState" + field :results, -> { Internal::Types::Array[Vapi::Types::AssistantVersion] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::AssistantVersionPaginatedMetadata }, optional: false, nullable: false end end end diff --git a/lib/vapi/types/assistant_version_server_messages_item.rb b/lib/vapi/types/assistant_version_server_messages_item.rb new file mode 100644 index 00000000..51f67d68 --- /dev/null +++ b/lib/vapi/types/assistant_version_server_messages_item.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantVersionServerMessagesItem + extend Vapi::Internal::Types::Enum + + ASSISTANT_STARTED = "assistant.started" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + CONVERSATION_UPDATE = "conversation-update" + END_OF_CALL_REPORT = "end-of-call-report" + FUNCTION_CALL = "function-call" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + LANGUAGE_CHANGE_DETECTED = "language-change-detected" + MODEL_OUTPUT = "model-output" + PHONE_CALL_CONTROL = "phone-call-control" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType=\"final\"]" + TOOL_CALLS = "tool-calls" + TRANSFER_DESTINATION_REQUEST = "transfer-destination-request" + HANDOFF_DESTINATION_REQUEST = "handoff-destination-request" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + CHAT_CREATED = "chat.created" + CHAT_DELETED = "chat.deleted" + SESSION_CREATED = "session.created" + SESSION_UPDATED = "session.updated" + SESSION_DELETED = "session.deleted" + CALL_DELETED = "call.deleted" + CALL_DELETE_FAILED = "call.delete.failed" + end + end +end diff --git a/lib/vapi/types/assistant_version_transcriber.rb b/lib/vapi/types/assistant_version_transcriber.rb new file mode 100644 index 00000000..f6107c4c --- /dev/null +++ b/lib/vapi/types/assistant_version_transcriber.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's transcriber. + class AssistantVersionTranscriber < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AssemblyAiTranscriber }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::AzureSpeechTranscriber }, key: "AZURE" + member -> { Vapi::Types::CustomTranscriber }, key: "CUSTOM_TRANSCRIBER" + member -> { Vapi::Types::DeepgramTranscriber }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsTranscriber }, key: "_11_LABS" + member -> { Vapi::Types::GladiaTranscriber }, key: "GLADIA" + member -> { Vapi::Types::GoogleTranscriber }, key: "GOOGLE" + member -> { Vapi::Types::SpeechmaticsTranscriber }, key: "SPEECHMATICS" + member -> { Vapi::Types::TalkscriberTranscriber }, key: "TALKSCRIBER" + member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" + member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" + member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/assistant_version_voice.rb b/lib/vapi/types/assistant_version_voice.rb new file mode 100644 index 00000000..b1c0f0db --- /dev/null +++ b/lib/vapi/types/assistant_version_voice.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's voice. + class AssistantVersionVoice < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AzureVoice }, key: "AZURE" + member -> { Vapi::Types::CartesiaVoice }, key: "CARTESIA" + member -> { Vapi::Types::CustomVoice }, key: "CUSTOM_VOICE" + member -> { Vapi::Types::DeepgramVoice }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsVoice }, key: "_11_LABS" + member -> { Vapi::Types::HumeVoice }, key: "HUME" + member -> { Vapi::Types::LmntVoice }, key: "LMNT" + member -> { Vapi::Types::NeuphonicVoice }, key: "NEUPHONIC" + member -> { Vapi::Types::OpenAiVoice }, key: "OPENAI" + member -> { Vapi::Types::PlayHtVoice }, key: "PLAYHT" + member -> { Vapi::Types::WellSaidVoice }, key: "WELLSAID" + member -> { Vapi::Types::RimeAiVoice }, key: "RIME_AI" + member -> { Vapi::Types::SmallestAiVoice }, key: "SMALLEST_AI" + member -> { Vapi::Types::TavusVoice }, key: "TAVUS" + member -> { Vapi::Types::VapiVoice }, key: "VAPI" + member -> { Vapi::Types::SesameVoice }, key: "SESAME" + member -> { Vapi::Types::InworldVoice }, key: "INWORLD" + member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" + end + end +end diff --git a/lib/vapi/types/assistant_version_voicemail_detection.rb b/lib/vapi/types/assistant_version_voicemail_detection.rb new file mode 100644 index 00000000..9ba58781 --- /dev/null +++ b/lib/vapi/types/assistant_version_voicemail_detection.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be + # configured using the model.tools=[VoicemailTool]. + # By default, voicemail detection is disabled. + class AssistantVersionVoicemailDetection < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::AssistantVersionVoicemailDetectionZero } + member -> { Vapi::Types::GoogleVoicemailDetectionPlan } + member -> { Vapi::Types::OpenAiVoicemailDetectionPlan } + member -> { Vapi::Types::TwilioVoicemailDetectionPlan } + member -> { Vapi::Types::VapiVoicemailDetectionPlan } + end + end +end diff --git a/lib/vapi/types/assistant_version_voicemail_detection_zero.rb b/lib/vapi/types/assistant_version_voicemail_detection_zero.rb new file mode 100644 index 00000000..94b5ef87 --- /dev/null +++ b/lib/vapi/types/assistant_version_voicemail_detection_zero.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module AssistantVersionVoicemailDetectionZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + end + end +end diff --git a/lib/vapi/types/assistant_voice.rb b/lib/vapi/types/assistant_voice.rb index 9c978e6d..44e11d27 100644 --- a/lib/vapi/types/assistant_voice.rb +++ b/lib/vapi/types/assistant_voice.rb @@ -26,6 +26,8 @@ class AssistantVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/audio_format.rb b/lib/vapi/types/audio_format.rb new file mode 100644 index 00000000..9d6858d2 --- /dev/null +++ b/lib/vapi/types/audio_format.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class AudioFormat < Internal::Types::Model + field :sample_rate, -> { Integer }, optional: false, nullable: false, api_name: "sampleRate" + field :format, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + field :container, -> { Vapi::Types::AudioFormatContainer }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/vapi_model_provider.rb b/lib/vapi/types/audio_format_container.rb similarity index 70% rename from lib/vapi/types/vapi_model_provider.rb rename to lib/vapi/types/audio_format_container.rb index d50682f4..50070693 100644 --- a/lib/vapi/types/vapi_model_provider.rb +++ b/lib/vapi/types/audio_format_container.rb @@ -2,10 +2,10 @@ module Vapi module Types - module VapiModelProvider + module AudioFormatContainer extend Vapi::Internal::Types::Enum - VAPI = "vapi" + RAW = "raw" end end end diff --git a/lib/vapi/types/aws_sts_authentication_plan.rb b/lib/vapi/types/aws_sts_authentication_plan.rb index a8877281..95f360e1 100644 --- a/lib/vapi/types/aws_sts_authentication_plan.rb +++ b/lib/vapi/types/aws_sts_authentication_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # AWS Security Token Service role-assumption configuration used to authenticate requests. class AwsStsAuthenticationPlan < Internal::Types::Model field :role_arn, -> { String }, optional: false, nullable: false, api_name: "roleArn" field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId" diff --git a/lib/vapi/types/awsiam_credentials_authentication_plan.rb b/lib/vapi/types/awsiam_credentials_authentication_plan.rb index 28b47c95..e9040cbb 100644 --- a/lib/vapi/types/awsiam_credentials_authentication_plan.rb +++ b/lib/vapi/types/awsiam_credentials_authentication_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Direct AWS IAM credentials used to authenticate requests. class AwsiamCredentialsAuthenticationPlan < Internal::Types::Model field :aws_access_key_id, -> { String }, optional: false, nullable: false, api_name: "awsAccessKeyId" field :aws_secret_access_key, -> { String }, optional: false, nullable: false, api_name: "awsSecretAccessKey" diff --git a/lib/vapi/types/azure_blob_storage_bucket_plan.rb b/lib/vapi/types/azure_blob_storage_bucket_plan.rb index db439bca..d0aec19b 100644 --- a/lib/vapi/types/azure_blob_storage_bucket_plan.rb +++ b/lib/vapi/types/azure_blob_storage_bucket_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Azure Blob Storage container configuration for call artifacts, including its connection string, container name, + # and storage path. class AzureBlobStorageBucketPlan < Internal::Types::Model field :connection_string, -> { String }, optional: false, nullable: false, api_name: "connectionString" field :container_name, -> { String }, optional: false, nullable: false, api_name: "containerName" diff --git a/lib/vapi/types/azure_credential_region.rb b/lib/vapi/types/azure_credential_region.rb index 81641124..7d329df6 100644 --- a/lib/vapi/types/azure_credential_region.rb +++ b/lib/vapi/types/azure_credential_region.rb @@ -23,6 +23,8 @@ module AzureCredentialRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/azure_open_ai_credential_models_item.rb b/lib/vapi/types/azure_open_ai_credential_models_item.rb index 2fccb294..7b3abc0d 100644 --- a/lib/vapi/types/azure_open_ai_credential_models_item.rb +++ b/lib/vapi/types/azure_open_ai_credential_models_item.rb @@ -28,6 +28,9 @@ module AzureOpenAiCredentialModelsItem GPT_40613 = "gpt-4-0613" GPT_35_TURBO_0125 = "gpt-35-turbo-0125" GPT_35_TURBO_1106 = "gpt-35-turbo-1106" + GPT_4_O = "gpt-4o" + GPT_41 = "gpt-4.1" + GPT_54_MINI_20260317 = "gpt-5.4-mini-2026-03-17" end end end diff --git a/lib/vapi/types/azure_open_ai_credential_region.rb b/lib/vapi/types/azure_open_ai_credential_region.rb index a0b6a323..d85c8f14 100644 --- a/lib/vapi/types/azure_open_ai_credential_region.rb +++ b/lib/vapi/types/azure_open_ai_credential_region.rb @@ -23,6 +23,8 @@ module AzureOpenAiCredentialRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/azure_speech_transcriber.rb b/lib/vapi/types/azure_speech_transcriber.rb index 13ac7cf2..31a56879 100644 --- a/lib/vapi/types/azure_speech_transcriber.rb +++ b/lib/vapi/types/azure_speech_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Azure Speech, including language, + # segmentation, and fallback settings. class AzureSpeechTranscriber < Internal::Types::Model field :language, -> { Vapi::Types::AzureSpeechTranscriberLanguage }, optional: true, nullable: false field :segmentation_strategy, -> { Vapi::Types::AzureSpeechTranscriberSegmentationStrategy }, optional: true, nullable: false, api_name: "segmentationStrategy" diff --git a/lib/vapi/types/azure_voice.rb b/lib/vapi/types/azure_voice.rb index 15edd4b5..9b0ecd28 100644 --- a/lib/vapi/types/azure_voice.rb +++ b/lib/vapi/types/azure_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Azure, including voice selection, speed, chunking, caching, + # and fallback settings. class AzureVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::AzureVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/background_speech_denoising_plan.rb b/lib/vapi/types/background_speech_denoising_plan.rb index 1307612f..f2e6f91d 100644 --- a/lib/vapi/types/background_speech_denoising_plan.rb +++ b/lib/vapi/types/background_speech_denoising_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls smart and Fourier denoising applied to customer audio before transcription. class BackgroundSpeechDenoisingPlan < Internal::Types::Model field :smart_denoising_plan, -> { Vapi::Types::SmartDenoisingPlan }, optional: true, nullable: false, api_name: "smartDenoisingPlan" field :fourier_denoising_plan, -> { Vapi::Types::FourierDenoisingPlan }, optional: true, nullable: false, api_name: "fourierDenoisingPlan" diff --git a/lib/vapi/types/backoff_plan.rb b/lib/vapi/types/backoff_plan.rb index bb918f63..31e20974 100644 --- a/lib/vapi/types/backoff_plan.rb +++ b/lib/vapi/types/backoff_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls retry behavior for failed server requests, including strategy, maximum retries, base delay, and status + # codes excluded from retries. class BackoffPlan < Internal::Types::Model field :type, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :max_retries, -> { Integer }, optional: false, nullable: false, api_name: "maxRetries" diff --git a/lib/vapi/types/bar_insight.rb b/lib/vapi/types/bar_insight.rb index 7bcd5be6..d0ab3174 100644 --- a/lib/vapi/types/bar_insight.rb +++ b/lib/vapi/types/bar_insight.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved bar-chart insight containing its call-data queries, formulas, grouping, stepped time range, metadata, and + # lifecycle information. class BarInsight < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false @@ -13,6 +15,7 @@ class BarInsight < Internal::Types::Model field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" end end end diff --git a/lib/vapi/types/bar_insight_metadata.rb b/lib/vapi/types/bar_insight_metadata.rb index fd5cfef9..b2a15901 100644 --- a/lib/vapi/types/bar_insight_metadata.rb +++ b/lib/vapi/types/bar_insight_metadata.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Display settings for a bar insight, including chart name, axis labels, and optional y-axis bounds. class BarInsightMetadata < Internal::Types::Model field :x_axis_label, -> { String }, optional: true, nullable: false, api_name: "xAxisLabel" field :y_axis_label, -> { String }, optional: true, nullable: false, api_name: "yAxisLabel" diff --git a/lib/vapi/types/bash_tool.rb b/lib/vapi/types/bash_tool.rb index c7567216..55b4cec9 100644 --- a/lib/vapi/types/bash_tool.rb +++ b/lib/vapi/types/bash_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that executes shell commands in a configured environment. class BashTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::BashToolMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::BashToolSubType }, optional: false, nullable: false, api_name: "subType" field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/bearer_authentication_plan.rb b/lib/vapi/types/bearer_authentication_plan.rb index 0490a9bd..acd97622 100644 --- a/lib/vapi/types/bearer_authentication_plan.rb +++ b/lib/vapi/types/bearer_authentication_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for authenticating outbound requests with a bearer token, including header name and optional + # `Bearer` prefix. class BearerAuthenticationPlan < Internal::Types::Model field :token, -> { String }, optional: false, nullable: false field :header_name, -> { String }, optional: true, nullable: false, api_name: "headerName" diff --git a/lib/vapi/types/board.rb b/lib/vapi/types/board.rb new file mode 100644 index 00000000..f9564e31 --- /dev/null +++ b/lib/vapi/types/board.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module Types + class Board < Internal::Types::Model + field :items, -> { Internal::Types::Array[Vapi::Types::BoardItemsItem] }, optional: true, nullable: false + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" + field :name, -> { String }, optional: false, nullable: false + field :layout, -> { Vapi::Types::BoardLayout }, optional: false, nullable: false + field :time_range_override, -> { Vapi::Types::InsightTimeRangeWithStep }, optional: true, nullable: false, api_name: "timeRangeOverride" + end + end +end diff --git a/lib/vapi/types/board_insight_item.rb b/lib/vapi/types/board_insight_item.rb new file mode 100644 index 00000000..fe09f2b7 --- /dev/null +++ b/lib/vapi/types/board_insight_item.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardInsightItem < Internal::Types::Model + field :type, -> { Vapi::Types::BoardInsightItemType }, optional: false, nullable: false + field :insight_id, -> { String }, optional: false, nullable: false, api_name: "insightId" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" + field :position, -> { Vapi::Types::BoardItemPosition }, optional: false, nullable: false + field :size, -> { Vapi::Types::BoardItemSize }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/trieve_credential_provider.rb b/lib/vapi/types/board_insight_item_type.rb similarity index 66% rename from lib/vapi/types/trieve_credential_provider.rb rename to lib/vapi/types/board_insight_item_type.rb index 1f88f911..f75b99a8 100644 --- a/lib/vapi/types/trieve_credential_provider.rb +++ b/lib/vapi/types/board_insight_item_type.rb @@ -2,10 +2,10 @@ module Vapi module Types - module TrieveCredentialProvider + module BoardInsightItemType extend Vapi::Internal::Types::Enum - TRIEVE = "trieve" + INSIGHT = "insight" end end end diff --git a/lib/vapi/types/board_item_position.rb b/lib/vapi/types/board_item_position.rb new file mode 100644 index 00000000..1f41201b --- /dev/null +++ b/lib/vapi/types/board_item_position.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardItemPosition < Internal::Types::Model + field :x, -> { Integer }, optional: false, nullable: false + field :y, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/board_item_size.rb b/lib/vapi/types/board_item_size.rb new file mode 100644 index 00000000..aa89d309 --- /dev/null +++ b/lib/vapi/types/board_item_size.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardItemSize < Internal::Types::Model + field :width, -> { Integer }, optional: false, nullable: false + field :height, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/board_items_item.rb b/lib/vapi/types/board_items_item.rb new file mode 100644 index 00000000..c02b150d --- /dev/null +++ b/lib/vapi/types/board_items_item.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardItemsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::BoardInsightItem } + member -> { Vapi::Types::BoardMetricWidgetItem } + end + end +end diff --git a/lib/vapi/types/board_layout.rb b/lib/vapi/types/board_layout.rb new file mode 100644 index 00000000..0fcc778b --- /dev/null +++ b/lib/vapi/types/board_layout.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardLayout < Internal::Types::Model + field :columns, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/board_metric_widget_item.rb b/lib/vapi/types/board_metric_widget_item.rb new file mode 100644 index 00000000..2c90f0b4 --- /dev/null +++ b/lib/vapi/types/board_metric_widget_item.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardMetricWidgetItem < Internal::Types::Model + field :type, -> { Vapi::Types::BoardMetricWidgetItemType }, optional: false, nullable: false + field :position, -> { Vapi::Types::BoardItemPosition }, optional: false, nullable: false + field :size, -> { Vapi::Types::BoardItemSize }, optional: false, nullable: false + field :insight_id, -> { String }, optional: true, nullable: false, api_name: "insightId" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" + end + end +end diff --git a/lib/vapi/types/board_metric_widget_item_type.rb b/lib/vapi/types/board_metric_widget_item_type.rb new file mode 100644 index 00000000..9ff2ed5e --- /dev/null +++ b/lib/vapi/types/board_metric_widget_item_type.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module BoardMetricWidgetItemType + extend Vapi::Internal::Types::Enum + + FAILED_CALLS_LIST = "failed_calls_list" + CONCURRENCY_CHART = "concurrency_chart" + AVERAGE_COST_BREAKDOWN_CHART = "average_cost_breakdown_chart" + end + end +end diff --git a/lib/vapi/types/board_paginated_response.rb b/lib/vapi/types/board_paginated_response.rb new file mode 100644 index 00000000..90afc1ed --- /dev/null +++ b/lib/vapi/types/board_paginated_response.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BoardPaginatedResponse < Internal::Types::Model + field :results, -> { Internal::Types::Array[Vapi::Types::Board] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/boolean_comparator_scorecard_metric_condition.rb b/lib/vapi/types/boolean_comparator_scorecard_metric_condition.rb new file mode 100644 index 00000000..1632d841 --- /dev/null +++ b/lib/vapi/types/boolean_comparator_scorecard_metric_condition.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class BooleanComparatorScorecardMetricCondition < Internal::Types::Model + field :type, -> { Vapi::Types::BooleanComparatorScorecardMetricConditionType }, optional: false, nullable: false + field :comparator, -> { Vapi::Types::BooleanComparatorScorecardMetricConditionComparator }, optional: false, nullable: false + field :value, -> { Internal::Types::Boolean }, optional: false, nullable: false + field :points, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.rb b/lib/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.rb new file mode 100644 index 00000000..8df9019a --- /dev/null +++ b/lib/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module BooleanComparatorScorecardMetricConditionComparator + extend Vapi::Internal::Types::Enum + + EQUAL_TO = "=" + end + end +end diff --git a/lib/vapi/types/boolean_comparator_scorecard_metric_condition_type.rb b/lib/vapi/types/boolean_comparator_scorecard_metric_condition_type.rb new file mode 100644 index 00000000..c9160d05 --- /dev/null +++ b/lib/vapi/types/boolean_comparator_scorecard_metric_condition_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module BooleanComparatorScorecardMetricConditionType + extend Vapi::Internal::Types::Enum + + COMPARATOR = "comparator" + end + end +end diff --git a/lib/vapi/types/bot_message.rb b/lib/vapi/types/bot_message.rb index 492ef100..daef9c67 100644 --- a/lib/vapi/types/bot_message.rb +++ b/lib/vapi/types/bot_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An assistant-authored entry in the call message history, including content, timing, source, and duration. class BotMessage < Internal::Types::Model field :role, -> { String }, optional: false, nullable: false field :message, -> { String }, optional: false, nullable: false @@ -10,6 +11,8 @@ class BotMessage < Internal::Types::Model field :seconds_from_start, -> { Integer }, optional: false, nullable: false, api_name: "secondsFromStart" field :source, -> { String }, optional: true, nullable: false field :duration, -> { Integer }, optional: true, nullable: false + field :assistant_name, -> { String }, optional: true, nullable: false, api_name: "assistantName" + field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" end end end diff --git a/lib/vapi/types/both_custom_endpointing_rule.rb b/lib/vapi/types/both_custom_endpointing_rule.rb index aeb6aed0..fdbdc93b 100644 --- a/lib/vapi/types/both_custom_endpointing_rule.rb +++ b/lib/vapi/types/both_custom_endpointing_rule.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A custom endpointing rule that matches both the assistant's last message and the customer's current speech before + # applying a configured timeout. class BothCustomEndpointingRule < Internal::Types::Model field :assistant_regex, -> { String }, optional: false, nullable: false, api_name: "assistantRegex" field :assistant_regex_options, -> { Internal::Types::Array[Vapi::Types::RegexOption] }, optional: true, nullable: false, api_name: "assistantRegexOptions" diff --git a/lib/vapi/types/bucket_plan.rb b/lib/vapi/types/bucket_plan.rb index 54181e94..47494b96 100644 --- a/lib/vapi/types/bucket_plan.rb +++ b/lib/vapi/types/bucket_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Google Cloud Storage bucket configuration for call artifacts, including bucket name, region, path, and optional + # HMAC credentials. class BucketPlan < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :region, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/byo_phone_number.rb b/lib/vapi/types/byo_phone_number.rb index daa6ca25..bff21fea 100644 --- a/lib/vapi/types/byo_phone_number.rb +++ b/lib/vapi/types/byo_phone_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A phone number connected to Vapi through a bring-your-own telephony provider, including its credential, routing, + # hooks, server settings, and lifecycle metadata. class ByoPhoneNumber < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::ByoPhoneNumberFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::ByoPhoneNumberHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/byo_sip_trunk_credential.rb b/lib/vapi/types/byo_sip_trunk_credential.rb index 6cdf7e33..56da984f 100644 --- a/lib/vapi/types/byo_sip_trunk_credential.rb +++ b/lib/vapi/types/byo_sip_trunk_credential.rb @@ -14,7 +14,6 @@ class ByoSipTrunkCredential < Internal::Types::Model field :outbound_leading_plus_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "outboundLeadingPlusEnabled" field :tech_prefix, -> { String }, optional: true, nullable: false, api_name: "techPrefix" field :sip_diversion_header, -> { String }, optional: true, nullable: false, api_name: "sipDiversionHeader" - field :sbc_configuration, -> { Vapi::Types::SbcConfiguration }, optional: true, nullable: false, api_name: "sbcConfiguration" end end end diff --git a/lib/vapi/types/call.rb b/lib/vapi/types/call.rb index 1dd5b2f1..c90692d5 100644 --- a/lib/vapi/types/call.rb +++ b/lib/vapi/types/call.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A call record returned by Vapi. It contains the configuration and resources used for the call, its lifecycle + # status and timestamps, conversation messages, artifacts, analysis, and costs. class Call < Internal::Types::Model field :type, -> { Vapi::Types::CallType }, optional: true, nullable: false field :costs, -> { Internal::Types::Array[Vapi::Types::CallCostsItem] }, optional: true, nullable: false @@ -12,6 +14,8 @@ class Call < Internal::Types::Model field :ended_reason, -> { Vapi::Types::CallEndedReason }, optional: true, nullable: false, api_name: "endedReason" field :ended_message, -> { String }, optional: true, nullable: false, api_name: "endedMessage" field :destination, -> { Vapi::Types::CallDestination }, optional: true, nullable: false + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" + field :transport, -> { Vapi::Types::CallTransport }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" @@ -42,8 +46,6 @@ class Call < Internal::Types::Model field :customer, -> { Vapi::Types::CreateCustomerDto }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" - field :transport, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false - field :subscription_limits, -> { Vapi::Types::SubscriptionLimits }, optional: true, nullable: false, api_name: "subscriptionLimits" end end end diff --git a/lib/vapi/types/call_batch_error.rb b/lib/vapi/types/call_batch_error.rb index 177e1f6b..7aa64f50 100644 --- a/lib/vapi/types/call_batch_error.rb +++ b/lib/vapi/types/call_batch_error.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Error returned for one customer entry in a batch call request. class CallBatchError < Internal::Types::Model field :customer, -> { Vapi::Types::CreateCustomerDto }, optional: false, nullable: false field :error, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/call_batch_response.rb b/lib/vapi/types/call_batch_response.rb index 129afac8..119bef1b 100644 --- a/lib/vapi/types/call_batch_response.rb +++ b/lib/vapi/types/call_batch_response.rb @@ -2,6 +2,8 @@ module Vapi module Types + # The result of a batch call creation request, containing successfully created calls, per-call failures, and + # subscription limits recorded at the end of the batch. class CallBatchResponse < Internal::Types::Model field :subscription_limits, -> { Vapi::Types::SubscriptionLimits }, optional: true, nullable: false, api_name: "subscriptionLimits" field :results, -> { Internal::Types::Array[Vapi::Types::Call] }, optional: false, nullable: false diff --git a/lib/vapi/types/call_ended_reason.rb b/lib/vapi/types/call_ended_reason.rb index 5d30707d..19f680d9 100644 --- a/lib/vapi/types/call_ended_reason.rb +++ b/lib/vapi/types/call_ended_reason.rb @@ -29,6 +29,7 @@ module CallEndedReason CALL_START_ERROR_SUBSCRIPTION_UPGRADE_FAILED = "call.start.error-subscription-upgrade-failed" CALL_START_ERROR_SUBSCRIPTION_CONCURRENCY_LIMIT_REACHED = "call.start.error-subscription-concurrency-limit-reached" CALL_START_ERROR_ENTERPRISE_FEATURE_NOT_AVAILABLE_RECORDING_CONSENT = "call.start.error-enterprise-feature-not-available-recording-consent" + CALL_START_ASSISTANT_VERSION_ERROR_VALIDATION = "call.start.assistant-version-error-validation" ASSISTANT_NOT_VALID = "assistant-not-valid" CALL_START_ERROR_VAPIFAULT_DATABASE_ERROR = "call.start.error-vapifault-database-error" ASSISTANT_NOT_FOUND = "assistant-not-found" @@ -48,6 +49,9 @@ module CallEndedReason PIPELINE_ERROR_INWORLD_VOICE_FAILED = "pipeline-error-inworld-voice-failed" PIPELINE_ERROR_MINIMAX_VOICE_FAILED = "pipeline-error-minimax-voice-failed" PIPELINE_ERROR_WELLSAID_VOICE_FAILED = "pipeline-error-wellsaid-voice-failed" + PIPELINE_ERROR_XAI_VOICE_FAILED = "pipeline-error-xai-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_FAILED = "pipeline-error-microsoft-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_REQUEST_CANCELED = "pipeline-error-microsoft-voice-request-canceled" PIPELINE_ERROR_TAVUS_VIDEO_FAILED = "pipeline-error-tavus-video-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_OPENAI_VOICE_FAILED = "call.in-progress.error-vapifault-openai-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_VOICE_FAILED = "call.in-progress.error-vapifault-cartesia-voice-failed" @@ -65,6 +69,8 @@ module CallEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_INWORLD_VOICE_FAILED = "call.in-progress.error-vapifault-inworld-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_MINIMAX_VOICE_FAILED = "call.in-progress.error-vapifault-minimax-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_WELLSAID_VOICE_FAILED = "call.in-progress.error-vapifault-wellsaid-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_VOICE_FAILED = "call.in-progress.error-vapifault-xai-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_MICROSOFT_VOICE_FAILED = "call.in-progress.error-vapifault-microsoft-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_TAVUS_VIDEO_FAILED = "call.in-progress.error-vapifault-tavus-video-failed" PIPELINE_ERROR_VAPI_LLM_FAILED = "pipeline-error-vapi-llm-failed" PIPELINE_ERROR_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-vapi-400-bad-request-validation-failed" @@ -74,12 +80,17 @@ module CallEndedReason PIPELINE_ERROR_VAPI_500_SERVER_ERROR = "pipeline-error-vapi-500-server-error" PIPELINE_ERROR_VAPI_503_SERVER_OVERLOADED_ERROR = "pipeline-error-vapi-503-server-overloaded-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_LLM_FAILED = "call.in-progress.error-providerfault-vapi-llm-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_LLM_FAILED = "call.in-progress.error-vapifault-vapi-llm-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_401_UNAUTHORIZED = "call.in-progress.error-vapifault-vapi-401-unauthorized" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_403_MODEL_ACCESS_DENIED = "call.in-progress.error-vapifault-vapi-403-model-access-denied" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_429_EXCEEDED_QUOTA = "call.in-progress.error-vapifault-vapi-429-exceeded-quota" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_500_SERVER_ERROR = "call.in-progress.error-providerfault-vapi-500-server-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_503_SERVER_OVERLOADED_ERROR = "call.in-progress.error-providerfault-vapi-503-server-overloaded-error" + PIPELINE_ERROR_VAPI_TRANSCRIBER_FAILED = "pipeline-error-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-providerfault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_VOICE_FAILED = "call.in-progress.error-providerfault-vapi-voice-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_FAILED = "pipeline-error-deepgram-transcriber-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_API_KEY_MISSING = "pipeline-error-deepgram-transcriber-api-key-missing" CALL_IN_PROGRESS_ERROR_VAPIFAULT_DEEPGRAM_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-deepgram-transcriber-failed" @@ -119,6 +130,18 @@ module CallEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-soniox-transcriber-invalid-config" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-soniox-transcriber-server-error" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-soniox-transcriber-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_AUTH_FAILED = "pipeline-error-xai-transcriber-auth-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_RATE_LIMITED = "pipeline-error-xai-transcriber-rate-limited" + PIPELINE_ERROR_XAI_TRANSCRIBER_INVALID_CONFIG = "pipeline-error-xai-transcriber-invalid-config" + PIPELINE_ERROR_XAI_TRANSCRIBER_SERVER_ERROR = "pipeline-error-xai-transcriber-server-error" + PIPELINE_ERROR_XAI_TRANSCRIBER_FAILED = "pipeline-error-xai-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_AUTH_FAILED = "call.in-progress.error-vapifault-xai-transcriber-auth-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_RATE_LIMITED = "call.in-progress.error-vapifault-xai-transcriber-rate-limited" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-xai-transcriber-invalid-config" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-xai-transcriber-server-error" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-xai-transcriber-failed" + PIPELINE_ERROR_CARTESIA_TRANSCRIBER_FAILED = "pipeline-error-cartesia-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-cartesia-transcriber-failed" CALL_IN_PROGRESS_ERROR_PIPELINE_NO_AVAILABLE_LLM_MODEL = "call.in-progress.error-pipeline-no-available-llm-model" WORKER_SHUTDOWN = "worker-shutdown" VONAGE_DISCONNECTED = "vonage-disconnected" @@ -561,6 +584,7 @@ module CallEndedReason MANUALLY_CANCELED = "manually-canceled" PHONE_CALL_PROVIDER_CLOSED_WEBSOCKET = "phone-call-provider-closed-websocket" CALL_FORWARDING_OPERATOR_BUSY = "call.forwarding.operator-busy" + CALL_FORWARDING_NO_ANSWER = "call.forwarding.no-answer" SILENCE_TIMED_OUT = "silence-timed-out" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_403_FORBIDDEN = "call.in-progress.error-providerfault-outbound-sip-403-forbidden" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_407_PROXY_AUTHENTICATION_REQUIRED = "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required" diff --git a/lib/vapi/types/call_hook_assistant_speech_interrupted.rb b/lib/vapi/types/call_hook_assistant_speech_interrupted.rb index af1dcdc6..0beb5177 100644 --- a/lib/vapi/types/call_hook_assistant_speech_interrupted.rb +++ b/lib/vapi/types/call_hook_assistant_speech_interrupted.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Runs configured actions when the customer's speech interrupts the assistant. class CallHookAssistantSpeechInterrupted < Internal::Types::Model field :on, -> { Vapi::Types::CallHookAssistantSpeechInterruptedOn }, optional: false, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::CallHookAssistantSpeechInterruptedDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/call_hook_call_ending.rb b/lib/vapi/types/call_hook_call_ending.rb index 91e09bf6..c403bff2 100644 --- a/lib/vapi/types/call_hook_call_ending.rb +++ b/lib/vapi/types/call_hook_call_ending.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Runs configured actions when a call is ending, optionally only when its filters match. class CallHookCallEnding < Internal::Types::Model field :on, -> { Vapi::Types::CallHookCallEndingOn }, optional: false, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::CallHookCallEndingDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/call_hook_customer_speech_interrupted.rb b/lib/vapi/types/call_hook_customer_speech_interrupted.rb index f1520273..fafe01e2 100644 --- a/lib/vapi/types/call_hook_customer_speech_interrupted.rb +++ b/lib/vapi/types/call_hook_customer_speech_interrupted.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Runs configured actions when the assistant interrupts the customer's speech. class CallHookCustomerSpeechInterrupted < Internal::Types::Model field :on, -> { Vapi::Types::CallHookCustomerSpeechInterruptedOn }, optional: false, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::CallHookCustomerSpeechInterruptedDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/call_hook_customer_speech_timeout.rb b/lib/vapi/types/call_hook_customer_speech_timeout.rb index 8f53b1e1..d807485f 100644 --- a/lib/vapi/types/call_hook_customer_speech_timeout.rb +++ b/lib/vapi/types/call_hook_customer_speech_timeout.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Runs configured actions when the customer does not speak before the configured timeout, with support for trigger + # limits and named instances. class CallHookCustomerSpeechTimeout < Internal::Types::Model field :on, -> { String }, optional: false, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::CallHookCustomerSpeechTimeoutDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/call_hook_filter.rb b/lib/vapi/types/call_hook_filter.rb index e101729a..f9bc911d 100644 --- a/lib/vapi/types/call_hook_filter.rb +++ b/lib/vapi/types/call_hook_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Matches a call field against one or more allowed values to determine whether a hook runs. class CallHookFilter < Internal::Types::Model field :type, -> { Vapi::Types::CallHookFilterType }, optional: false, nullable: false field :key, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/call_hook_model_response_timeout.rb b/lib/vapi/types/call_hook_model_response_timeout.rb index 23544b38..d4738d4f 100644 --- a/lib/vapi/types/call_hook_model_response_timeout.rb +++ b/lib/vapi/types/call_hook_model_response_timeout.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Runs configured actions when the language model does not respond before its timeout. class CallHookModelResponseTimeout < Internal::Types::Model field :on, -> { Vapi::Types::CallHookModelResponseTimeoutOn }, optional: false, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::CallHookModelResponseTimeoutDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/call_transport.rb b/lib/vapi/types/call_transport.rb new file mode 100644 index 00000000..a7e61e5d --- /dev/null +++ b/lib/vapi/types/call_transport.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the transport of the call. + class CallTransport < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::VapiWebsocketTransport }, key: "VAPI_WEBSOCKET" + member -> { Vapi::Types::VonageTransport }, key: "VONAGE" + member -> { Vapi::Types::TwilioTransport }, key: "TWILIO" + member -> { Vapi::Types::VapiSipTransport }, key: "VAPI_SIP" + member -> { Vapi::Types::TelnyxTransport }, key: "TELNYX" + member -> { Vapi::Types::VapiWebCallTransport }, key: "DAILY" + end + end +end diff --git a/lib/vapi/types/campaign.rb b/lib/vapi/types/campaign.rb index 61961088..bc2c0b9e 100644 --- a/lib/vapi/types/campaign.rb +++ b/lib/vapi/types/campaign.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved outbound calling campaign, including its calling configuration, schedule, status, customers, calls, and + # call-progress counters. class Campaign < Internal::Types::Model field :status, -> { Vapi::Types::CampaignStatus }, optional: false, nullable: false field :ended_reason, -> { Vapi::Types::CampaignEndedReason }, optional: true, nullable: false, api_name: "endedReason" @@ -13,6 +15,12 @@ class Campaign < Internal::Types::Model field :dial_plan, -> { Internal::Types::Array[Vapi::Types::DialPlanEntry] }, optional: true, nullable: false, api_name: "dialPlan" field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: true, nullable: false + field :max_concurrency, -> { Integer }, optional: true, nullable: false, api_name: "maxConcurrency" + field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" + field :squad_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "squadOverrides" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :server_messages, -> { Internal::Types::Array[Vapi::Types::CampaignServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :predial_plan, -> { Vapi::Types::CampaignPredialPlan }, optional: true, nullable: false, api_name: "predialPlan" field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" diff --git a/lib/vapi/types/campaign_contact.rb b/lib/vapi/types/campaign_contact.rb new file mode 100644 index 00000000..b77483d8 --- /dev/null +++ b/lib/vapi/types/campaign_contact.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CampaignContact < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId" + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :customer_id, -> { String }, optional: true, nullable: false, api_name: "customerId" + field :number, -> { String }, optional: false, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" + field :squad_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "squadOverrides" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + end + end +end diff --git a/lib/vapi/types/campaign_paginated_response.rb b/lib/vapi/types/campaign_paginated_response.rb index 3adba4a9..d6c68fd0 100644 --- a/lib/vapi/types/campaign_paginated_response.rb +++ b/lib/vapi/types/campaign_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of outbound calling campaigns and metadata describing the result set. class CampaignPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::Campaign] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/campaign_predial_plan.rb b/lib/vapi/types/campaign_predial_plan.rb new file mode 100644 index 00000000..c54e0ab8 --- /dev/null +++ b/lib/vapi/types/campaign_predial_plan.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CampaignPredialPlan < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/campaign_server_messages_item.rb b/lib/vapi/types/campaign_server_messages_item.rb new file mode 100644 index 00000000..13330459 --- /dev/null +++ b/lib/vapi/types/campaign_server_messages_item.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CampaignServerMessagesItem + extend Vapi::Internal::Types::Enum + + CAMPAIGN_STARTED = "campaign.started" + CAMPAIGN_CANCELLED = "campaign.cancelled" + CAMPAIGN_ENDED = "campaign.ended" + CAMPAIGN_ARCHIVED = "campaign.archived" + CAMPAIGN_UNARCHIVED = "campaign.unarchived" + CONTACT_DISPATCHED = "contact.dispatched" + CONTACT_COMPLETED = "contact.completed" + CONTACT_FAILED = "contact.failed" + CONTACT_SKIPPED = "contact.skipped" + CONTACT_PREDIAL_FAILED = "contact.predial-failed" + CAMPAIGN_JOB_CONTINUED = "campaign.job.continued" + end + end +end diff --git a/lib/vapi/types/campaign_status.rb b/lib/vapi/types/campaign_status.rb index c91801d2..f60e3083 100644 --- a/lib/vapi/types/campaign_status.rb +++ b/lib/vapi/types/campaign_status.rb @@ -8,6 +8,8 @@ module CampaignStatus SCHEDULED = "scheduled" IN_PROGRESS = "in-progress" ENDED = "ended" + CANCELLED = "cancelled" + ARCHIVED = "archived" end end end diff --git a/lib/vapi/types/cartesia_credential.rb b/lib/vapi/types/cartesia_credential.rb index dbc85fbe..0ceb730e 100644 --- a/lib/vapi/types/cartesia_credential.rb +++ b/lib/vapi/types/cartesia_credential.rb @@ -10,6 +10,7 @@ class CartesiaCredential < Internal::Types::Model field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" field :name, -> { String }, optional: true, nullable: false + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" end end end diff --git a/lib/vapi/types/cartesia_experimental_controls.rb b/lib/vapi/types/cartesia_experimental_controls.rb index 0dd63994..d3389dae 100644 --- a/lib/vapi/types/cartesia_experimental_controls.rb +++ b/lib/vapi/types/cartesia_experimental_controls.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Cartesia voice controls for speed and emotion. class CartesiaExperimentalControls < Internal::Types::Model field :speed, -> { Vapi::Types::CartesiaSpeedControl }, optional: true, nullable: false field :emotion, -> { Vapi::Types::CartesiaExperimentalControlsEmotion }, optional: true, nullable: false diff --git a/lib/vapi/types/cartesia_generation_config.rb b/lib/vapi/types/cartesia_generation_config.rb index 27276e30..06359f5f 100644 --- a/lib/vapi/types/cartesia_generation_config.rb +++ b/lib/vapi/types/cartesia_generation_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Generation controls for Cartesia Sonic 3 voices, including speed, volume, and accent localization. class CartesiaGenerationConfig < Internal::Types::Model field :speed, -> { Integer }, optional: true, nullable: false field :volume, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/cartesia_generation_config_experimental.rb b/lib/vapi/types/cartesia_generation_config_experimental.rb index 2bc2090a..6a4a0347 100644 --- a/lib/vapi/types/cartesia_generation_config_experimental.rb +++ b/lib/vapi/types/cartesia_generation_config_experimental.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Cartesia Sonic 3 generation controls, including accent localization. class CartesiaGenerationConfigExperimental < Internal::Types::Model field :accent_localization, -> { Integer }, optional: true, nullable: false, api_name: "accentLocalization" end diff --git a/lib/vapi/types/cartesia_speed_control.rb b/lib/vapi/types/cartesia_speed_control.rb index cab210b9..700d4492 100644 --- a/lib/vapi/types/cartesia_speed_control.rb +++ b/lib/vapi/types/cartesia_speed_control.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Speaking-speed control expressed as a preset or a value from -1 to 1. class CartesiaSpeedControl < Internal::Types::Model extend Vapi::Internal::Types::Union diff --git a/lib/vapi/types/cartesia_transcriber.rb b/lib/vapi/types/cartesia_transcriber.rb index 148ca762..431f6da0 100644 --- a/lib/vapi/types/cartesia_transcriber.rb +++ b/lib/vapi/types/cartesia_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Cartesia, including model, language, and + # fallback settings. class CartesiaTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::CartesiaTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::CartesiaTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/cartesia_transcriber_model.rb b/lib/vapi/types/cartesia_transcriber_model.rb index 8583eae3..400b9f7c 100644 --- a/lib/vapi/types/cartesia_transcriber_model.rb +++ b/lib/vapi/types/cartesia_transcriber_model.rb @@ -6,6 +6,7 @@ module CartesiaTranscriberModel extend Vapi::Internal::Types::Enum INK_WHISPER = "ink-whisper" + INK_2 = "ink-2" end end end diff --git a/lib/vapi/types/cartesia_voice.rb b/lib/vapi/types/cartesia_voice.rb index 3fd41ec7..04974de9 100644 --- a/lib/vapi/types/cartesia_voice.rb +++ b/lib/vapi/types/cartesia_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Cartesia, including voice and model selection, language, + # generation controls, pronunciation dictionaries, chunking, caching, and fallback settings. class CartesiaVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/cartesia_voice_model.rb b/lib/vapi/types/cartesia_voice_model.rb index 95ea55f3..b8e5ef88 100644 --- a/lib/vapi/types/cartesia_voice_model.rb +++ b/lib/vapi/types/cartesia_voice_model.rb @@ -5,6 +5,8 @@ module Types module CartesiaVoiceModel extend Vapi::Internal::Types::Enum + SONIC_35 = "sonic-3.5" + SONIC_3520260504 = "sonic-3.5-2026-05-04" SONIC_3 = "sonic-3" SONIC_320260112 = "sonic-3-2026-01-12" SONIC_320251027 = "sonic-3-2025-10-27" diff --git a/lib/vapi/types/cerebras_model.rb b/lib/vapi/types/cerebras_model.rb index 79e895bd..86292d9b 100644 --- a/lib/vapi/types/cerebras_model.rb +++ b/lib/vapi/types/cerebras_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Cerebras, including model, prompts, tools, knowledge-base + # access, and generation settings. class CerebrasModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::CerebrasModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::CerebrasModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/chat_eval_assistant_message_evaluation.rb b/lib/vapi/types/chat_eval_assistant_message_evaluation.rb index 1e0a283c..cce14069 100644 --- a/lib/vapi/types/chat_eval_assistant_message_evaluation.rb +++ b/lib/vapi/types/chat_eval_assistant_message_evaluation.rb @@ -2,6 +2,8 @@ module Vapi module Types + # An expected assistant turn in an evaluation, including the judge plan and how the evaluation should continue + # afterward. class ChatEvalAssistantMessageEvaluation < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalAssistantMessageEvaluationRole }, optional: false, nullable: false field :judge_plan, -> { Vapi::Types::ChatEvalAssistantMessageEvaluationJudgePlan }, optional: false, nullable: false, api_name: "judgePlan" diff --git a/lib/vapi/types/chat_eval_assistant_message_mock.rb b/lib/vapi/types/chat_eval_assistant_message_mock.rb index 22a74732..73a89f5e 100644 --- a/lib/vapi/types/chat_eval_assistant_message_mock.rb +++ b/lib/vapi/types/chat_eval_assistant_message_mock.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A simulated assistant turn in an evaluation conversation, with optional message content and tool calls. class ChatEvalAssistantMessageMock < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalAssistantMessageMockRole }, optional: false, nullable: false field :content, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/chat_eval_assistant_message_mock_tool_call.rb b/lib/vapi/types/chat_eval_assistant_message_mock_tool_call.rb index 893dba5c..cad78b82 100644 --- a/lib/vapi/types/chat_eval_assistant_message_mock_tool_call.rb +++ b/lib/vapi/types/chat_eval_assistant_message_mock_tool_call.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A simulated assistant tool call with the tool name and optional arguments. class ChatEvalAssistantMessageMockToolCall < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :arguments, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/chat_eval_system_message_mock.rb b/lib/vapi/types/chat_eval_system_message_mock.rb index e253597f..d1096fb3 100644 --- a/lib/vapi/types/chat_eval_system_message_mock.rb +++ b/lib/vapi/types/chat_eval_system_message_mock.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A simulated system message in an evaluation conversation. class ChatEvalSystemMessageMock < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalSystemMessageMockRole }, optional: false, nullable: false field :content, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/chat_eval_tool_response_message_evaluation.rb b/lib/vapi/types/chat_eval_tool_response_message_evaluation.rb index cb6260d6..7952f800 100644 --- a/lib/vapi/types/chat_eval_tool_response_message_evaluation.rb +++ b/lib/vapi/types/chat_eval_tool_response_message_evaluation.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An expected tool-response turn evaluated by a configured LLM judge. class ChatEvalToolResponseMessageEvaluation < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalToolResponseMessageEvaluationRole }, optional: false, nullable: false field :judge_plan, -> { Vapi::Types::AssistantMessageJudgePlanAi }, optional: false, nullable: false, api_name: "judgePlan" diff --git a/lib/vapi/types/chat_eval_tool_response_message_mock.rb b/lib/vapi/types/chat_eval_tool_response_message_mock.rb index 056cb371..eaccdd66 100644 --- a/lib/vapi/types/chat_eval_tool_response_message_mock.rb +++ b/lib/vapi/types/chat_eval_tool_response_message_mock.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A simulated tool response in an evaluation conversation. class ChatEvalToolResponseMessageMock < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalToolResponseMessageMockRole }, optional: false, nullable: false field :content, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/chat_eval_user_message_mock.rb b/lib/vapi/types/chat_eval_user_message_mock.rb index 0705dea2..24756d19 100644 --- a/lib/vapi/types/chat_eval_user_message_mock.rb +++ b/lib/vapi/types/chat_eval_user_message_mock.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A simulated user message in an evaluation conversation. class ChatEvalUserMessageMock < Internal::Types::Model field :role, -> { Vapi::Types::ChatEvalUserMessageMockRole }, optional: false, nullable: false field :content, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/chunk_plan.rb b/lib/vapi/types/chunk_plan.rb index b77743ed..b64d0b23 100644 --- a/lib/vapi/types/chunk_plan.rb +++ b/lib/vapi/types/chunk_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls how model output is split into chunks before voice synthesis, including minimum length, punctuation + # boundaries, and formatting. class ChunkPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :min_characters, -> { Integer }, optional: true, nullable: false, api_name: "minCharacters" diff --git a/lib/vapi/types/client_message_assistant_speech.rb b/lib/vapi/types/client_message_assistant_speech.rb index 50f3758e..5af8e96f 100644 --- a/lib/vapi/types/client_message_assistant_speech.rb +++ b/lib/vapi/types/client_message_assistant_speech.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageAssistantSpeech < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageAssistantSpeechPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageAssistantSpeechType }, optional: false, nullable: false field :text, -> { String }, optional: false, nullable: false field :turn, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_assistant_started.rb b/lib/vapi/types/client_message_assistant_started.rb index a582503a..cf988a0d 100644 --- a/lib/vapi/types/client_message_assistant_started.rb +++ b/lib/vapi/types/client_message_assistant_started.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageAssistantStarted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageAssistantStartedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageAssistantStartedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_call_delete_failed.rb b/lib/vapi/types/client_message_call_delete_failed.rb index b8d004c6..f32037ee 100644 --- a/lib/vapi/types/client_message_call_delete_failed.rb +++ b/lib/vapi/types/client_message_call_delete_failed.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageCallDeleteFailed < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageCallDeleteFailedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageCallDeleteFailedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_call_deleted.rb b/lib/vapi/types/client_message_call_deleted.rb index be824b8d..124096d6 100644 --- a/lib/vapi/types/client_message_call_deleted.rb +++ b/lib/vapi/types/client_message_call_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageCallDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageCallDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageCallDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_chat_created.rb b/lib/vapi/types/client_message_chat_created.rb index fd1ec566..13c7e881 100644 --- a/lib/vapi/types/client_message_chat_created.rb +++ b/lib/vapi/types/client_message_chat_created.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageChatCreated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageChatCreatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageChatCreatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_chat_deleted.rb b/lib/vapi/types/client_message_chat_deleted.rb index 95efdf15..5dafb801 100644 --- a/lib/vapi/types/client_message_chat_deleted.rb +++ b/lib/vapi/types/client_message_chat_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageChatDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageChatDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageChatDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_conversation_update.rb b/lib/vapi/types/client_message_conversation_update.rb index f4a91c55..1625ea6a 100644 --- a/lib/vapi/types/client_message_conversation_update.rb +++ b/lib/vapi/types/client_message_conversation_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageConversationUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageConversationUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageConversationUpdateType }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::ClientMessageConversationUpdateMessagesItem] }, optional: true, nullable: false field :messages_open_ai_formatted, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: false, nullable: false, api_name: "messagesOpenAIFormatted" diff --git a/lib/vapi/types/client_message_hang.rb b/lib/vapi/types/client_message_hang.rb index 0f5108e0..c4ba0f2b 100644 --- a/lib/vapi/types/client_message_hang.rb +++ b/lib/vapi/types/client_message_hang.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageHang < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageHangPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageHangType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_language_change_detected.rb b/lib/vapi/types/client_message_language_change_detected.rb index 48ce0000..c8178b46 100644 --- a/lib/vapi/types/client_message_language_change_detected.rb +++ b/lib/vapi/types/client_message_language_change_detected.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageLanguageChangeDetected < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageLanguageChangeDetectedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageLanguageChangeDetectedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_metadata.rb b/lib/vapi/types/client_message_metadata.rb index bcd65f33..62ddd116 100644 --- a/lib/vapi/types/client_message_metadata.rb +++ b/lib/vapi/types/client_message_metadata.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageMetadata < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageMetadataPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageMetadataType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_model_output.rb b/lib/vapi/types/client_message_model_output.rb index 52980da4..a1c33cec 100644 --- a/lib/vapi/types/client_message_model_output.rb +++ b/lib/vapi/types/client_message_model_output.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageModelOutput < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageModelOutputPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageModelOutputType }, optional: false, nullable: false field :turn_id, -> { String }, optional: true, nullable: false, api_name: "turnId" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_session_created.rb b/lib/vapi/types/client_message_session_created.rb index 41820d7f..6c3056e8 100644 --- a/lib/vapi/types/client_message_session_created.rb +++ b/lib/vapi/types/client_message_session_created.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageSessionCreated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageSessionCreatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageSessionCreatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_session_deleted.rb b/lib/vapi/types/client_message_session_deleted.rb index 10292988..b63221bc 100644 --- a/lib/vapi/types/client_message_session_deleted.rb +++ b/lib/vapi/types/client_message_session_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageSessionDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageSessionDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageSessionDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_session_updated.rb b/lib/vapi/types/client_message_session_updated.rb index 7a870c55..34a754e0 100644 --- a/lib/vapi/types/client_message_session_updated.rb +++ b/lib/vapi/types/client_message_session_updated.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageSessionUpdated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageSessionUpdatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageSessionUpdatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_speech_update.rb b/lib/vapi/types/client_message_speech_update.rb index 5dcdc49f..f7866b06 100644 --- a/lib/vapi/types/client_message_speech_update.rb +++ b/lib/vapi/types/client_message_speech_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageSpeechUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageSpeechUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageSpeechUpdateType }, optional: false, nullable: false field :status, -> { Vapi::Types::ClientMessageSpeechUpdateStatus }, optional: false, nullable: false field :role, -> { Vapi::Types::ClientMessageSpeechUpdateRole }, optional: false, nullable: false diff --git a/lib/vapi/types/client_message_tool_calls.rb b/lib/vapi/types/client_message_tool_calls.rb index 42a5343c..1d3b07e2 100644 --- a/lib/vapi/types/client_message_tool_calls.rb +++ b/lib/vapi/types/client_message_tool_calls.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageToolCalls < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageToolCallsPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageToolCallsType }, optional: true, nullable: false field :tool_with_tool_call_list, -> { Internal::Types::Array[Vapi::Types::ClientMessageToolCallsToolWithToolCallListItem] }, optional: false, nullable: false, api_name: "toolWithToolCallList" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_tool_calls_result.rb b/lib/vapi/types/client_message_tool_calls_result.rb index 87e64e60..062b6250 100644 --- a/lib/vapi/types/client_message_tool_calls_result.rb +++ b/lib/vapi/types/client_message_tool_calls_result.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageToolCallsResult < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageToolCallsResultPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageToolCallsResultType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_transcript.rb b/lib/vapi/types/client_message_transcript.rb index 55ed420a..01e9f82d 100644 --- a/lib/vapi/types/client_message_transcript.rb +++ b/lib/vapi/types/client_message_transcript.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageTranscript < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageTranscriptPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageTranscriptType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_transfer_update.rb b/lib/vapi/types/client_message_transfer_update.rb index 58ad10d6..fbc8fd4c 100644 --- a/lib/vapi/types/client_message_transfer_update.rb +++ b/lib/vapi/types/client_message_transfer_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageTransferUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageTransferUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageTransferUpdateType }, optional: false, nullable: false field :destination, -> { Vapi::Types::ClientMessageTransferUpdateDestination }, optional: true, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_user_interrupted.rb b/lib/vapi/types/client_message_user_interrupted.rb index 88197830..380f9532 100644 --- a/lib/vapi/types/client_message_user_interrupted.rb +++ b/lib/vapi/types/client_message_user_interrupted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageUserInterrupted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageUserInterruptedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageUserInterruptedType }, optional: false, nullable: false field :turn_id, -> { String }, optional: true, nullable: false, api_name: "turnId" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_voice_input.rb b/lib/vapi/types/client_message_voice_input.rb index c41010b7..c7b28193 100644 --- a/lib/vapi/types/client_message_voice_input.rb +++ b/lib/vapi/types/client_message_voice_input.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageVoiceInput < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageVoiceInputPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageVoiceInputType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/client_message_workflow_node_started.rb b/lib/vapi/types/client_message_workflow_node_started.rb index dd8944cf..ac2920b8 100644 --- a/lib/vapi/types/client_message_workflow_node_started.rb +++ b/lib/vapi/types/client_message_workflow_node_started.rb @@ -4,6 +4,7 @@ module Vapi module Types class ClientMessageWorkflowNodeStarted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ClientMessageWorkflowNodeStartedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ClientMessageWorkflowNodeStartedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :call, -> { Vapi::Types::Call }, optional: true, nullable: false diff --git a/lib/vapi/types/cloudflare_r_2_bucket_plan.rb b/lib/vapi/types/cloudflare_r_2_bucket_plan.rb index 70f96a0e..65bd8ebe 100644 --- a/lib/vapi/types/cloudflare_r_2_bucket_plan.rb +++ b/lib/vapi/types/cloudflare_r_2_bucket_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Cloudflare R2 bucket configuration for call-artifact storage, including access keys, base URL, bucket name, and + # path. class CloudflareR2BucketPlan < Internal::Types::Model field :access_key_id, -> { String }, optional: true, nullable: false, api_name: "accessKeyId" field :secret_access_key, -> { String }, optional: true, nullable: false, api_name: "secretAccessKey" diff --git a/lib/vapi/types/code_tool.rb b/lib/vapi/types/code_tool.rb index 7cc043d2..184acced 100644 --- a/lib/vapi/types/code_tool.rb +++ b/lib/vapi/types/code_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout. class CodeTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::CodeToolMessagesItem] }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/code_tool_environment_variable.rb b/lib/vapi/types/code_tool_environment_variable.rb index d083b009..062eeb1b 100644 --- a/lib/vapi/types/code_tool_environment_variable.rb +++ b/lib/vapi/types/code_tool_environment_variable.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An environment variable supplied to code-tool execution, with support for Liquid templates in its value. class CodeToolEnvironmentVariable < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :value, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/compliance.rb b/lib/vapi/types/compliance.rb index 26ad645d..81ed6aa0 100644 --- a/lib/vapi/types/compliance.rb +++ b/lib/vapi/types/compliance.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Compliance information captured for a call, including recording consent. class Compliance < Internal::Types::Model field :recording_consent, -> { Vapi::Types::RecordingConsent }, optional: true, nullable: false, api_name: "recordingConsent" end diff --git a/lib/vapi/types/compliance_override.rb b/lib/vapi/types/compliance_override.rb index 543434ed..e34ebc63 100644 --- a/lib/vapi/types/compliance_override.rb +++ b/lib/vapi/types/compliance_override.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Overrides storage behavior for an output when HIPAA compliance is enabled. class ComplianceOverride < Internal::Types::Model field :force_store_on_hipaa_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "forceStoreOnHipaaEnabled" end diff --git a/lib/vapi/types/compliance_plan.rb b/lib/vapi/types/compliance_plan.rb index aee369e5..b5cfcc05 100644 --- a/lib/vapi/types/compliance_plan.rb +++ b/lib/vapi/types/compliance_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls HIPAA and PCI requirements, transcript security filtering, and recording-consent handling for assistant + # calls. class CompliancePlan < Internal::Types::Model field :hipaa_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "hipaaEnabled" field :pci_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "pciEnabled" diff --git a/lib/vapi/types/compliance_plan_recording_consent_plan.rb b/lib/vapi/types/compliance_plan_recording_consent_plan.rb index ec8aa820..4a1643bb 100644 --- a/lib/vapi/types/compliance_plan_recording_consent_plan.rb +++ b/lib/vapi/types/compliance_plan_recording_consent_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls how recording consent is requested before the assistant joins the call. class CompliancePlanRecordingConsentPlan < Internal::Types::Model extend Vapi::Internal::Types::Union diff --git a/lib/vapi/types/computer_tool.rb b/lib/vapi/types/computer_tool.rb index 28ffafd4..6b70002e 100644 --- a/lib/vapi/types/computer_tool.rb +++ b/lib/vapi/types/computer_tool.rb @@ -2,7 +2,10 @@ module Vapi module Types + # A reusable tool that lets the model interact with a computer display through screen, pointer, and keyboard + # actions. class ComputerTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::ComputerToolMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::ComputerToolSubType }, optional: false, nullable: false, api_name: "subType" field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/condition.rb b/lib/vapi/types/condition.rb index ade5f899..56fb5fb1 100644 --- a/lib/vapi/types/condition.rb +++ b/lib/vapi/types/condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Compares a named parameter with a value using the selected comparison operator. class Condition < Internal::Types::Model field :operator, -> { Vapi::Types::ConditionOperator }, optional: false, nullable: false field :param, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/context_engineering_plan_all.rb b/lib/vapi/types/context_engineering_plan_all.rb index 312a36e3..c61c557b 100644 --- a/lib/vapi/types/context_engineering_plan_all.rb +++ b/lib/vapi/types/context_engineering_plan_all.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Includes all available messages when constructing context for a handoff. class ContextEngineeringPlanAll < Internal::Types::Model; end end end diff --git a/lib/vapi/types/context_engineering_plan_last_n_messages.rb b/lib/vapi/types/context_engineering_plan_last_n_messages.rb index 12fe76cb..ee5f718c 100644 --- a/lib/vapi/types/context_engineering_plan_last_n_messages.rb +++ b/lib/vapi/types/context_engineering_plan_last_n_messages.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Includes a configured number of the most recent messages when constructing context for a handoff. class ContextEngineeringPlanLastNMessages < Internal::Types::Model field :max_messages, -> { Integer }, optional: false, nullable: false, api_name: "maxMessages" end diff --git a/lib/vapi/types/context_engineering_plan_none.rb b/lib/vapi/types/context_engineering_plan_none.rb index 7dcbbb80..edc9ac7c 100644 --- a/lib/vapi/types/context_engineering_plan_none.rb +++ b/lib/vapi/types/context_engineering_plan_none.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Excludes prior conversation messages when constructing context for a handoff. class ContextEngineeringPlanNone < Internal::Types::Model; end end end diff --git a/lib/vapi/types/context_engineering_plan_previous_assistant_messages.rb b/lib/vapi/types/context_engineering_plan_previous_assistant_messages.rb new file mode 100644 index 00000000..b4f6d34b --- /dev/null +++ b/lib/vapi/types/context_engineering_plan_previous_assistant_messages.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ContextEngineeringPlanPreviousAssistantMessages < Internal::Types::Model; end + end +end diff --git a/lib/vapi/types/context_engineering_plan_user_and_assistant_messages.rb b/lib/vapi/types/context_engineering_plan_user_and_assistant_messages.rb index 2e0930ea..8b42b3e1 100644 --- a/lib/vapi/types/context_engineering_plan_user_and_assistant_messages.rb +++ b/lib/vapi/types/context_engineering_plan_user_and_assistant_messages.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Includes only user and assistant messages when constructing context for a handoff. class ContextEngineeringPlanUserAndAssistantMessages < Internal::Types::Model; end end end diff --git a/lib/vapi/types/conversation_node.rb b/lib/vapi/types/conversation_node.rb index 45c52695..f13f5bb8 100644 --- a/lib/vapi/types/conversation_node.rb +++ b/lib/vapi/types/conversation_node.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A workflow node where the assistant conducts a conversation using optional node-specific providers, tools, prompt, + # and variable extraction. class ConversationNode < Internal::Types::Model field :model, -> { Vapi::Types::ConversationNodeModel }, optional: true, nullable: false field :transcriber, -> { Vapi::Types::ConversationNodeTranscriber }, optional: true, nullable: false diff --git a/lib/vapi/types/conversation_node_transcriber.rb b/lib/vapi/types/conversation_node_transcriber.rb index 58354660..e24d6b8f 100644 --- a/lib/vapi/types/conversation_node_transcriber.rb +++ b/lib/vapi/types/conversation_node_transcriber.rb @@ -22,6 +22,8 @@ class ConversationNodeTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/conversation_node_voice.rb b/lib/vapi/types/conversation_node_voice.rb index bfe5c61c..9b0b926c 100644 --- a/lib/vapi/types/conversation_node_voice.rb +++ b/lib/vapi/types/conversation_node_voice.rb @@ -28,6 +28,8 @@ class ConversationNodeVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/cost_breakdown.rb b/lib/vapi/types/cost_breakdown.rb index 35778618..32bd5510 100644 --- a/lib/vapi/types/cost_breakdown.rb +++ b/lib/vapi/types/cost_breakdown.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Aggregated call costs and usage, including transport, transcription, model, voice, Vapi, analysis, token, and + # character totals. class CostBreakdown < Internal::Types::Model field :transport, -> { Integer }, optional: true, nullable: false field :stt, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/create_anthropic_bedrock_credential_dto.rb b/lib/vapi/types/create_anthropic_bedrock_credential_dto.rb index d172c145..4ec1e998 100644 --- a/lib/vapi/types/create_anthropic_bedrock_credential_dto.rb +++ b/lib/vapi/types/create_anthropic_bedrock_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating Anthropic model requests through Amazon Bedrock, including AWS region and + # authentication method. class CreateAnthropicBedrockCredentialDto < Internal::Types::Model field :region, -> { Vapi::Types::CreateAnthropicBedrockCredentialDtoRegion }, optional: false, nullable: false field :authentication_plan, -> { Vapi::Types::CreateAnthropicBedrockCredentialDtoAuthenticationPlan }, optional: false, nullable: false, api_name: "authenticationPlan" diff --git a/lib/vapi/types/create_anthropic_bedrock_credential_dto_region.rb b/lib/vapi/types/create_anthropic_bedrock_credential_dto_region.rb index cc438aa3..87c62933 100644 --- a/lib/vapi/types/create_anthropic_bedrock_credential_dto_region.rb +++ b/lib/vapi/types/create_anthropic_bedrock_credential_dto_region.rb @@ -7,6 +7,7 @@ module CreateAnthropicBedrockCredentialDtoRegion US_EAST_1 = "us-east-1" US_WEST_2 = "us-west-2" + EU_CENTRAL_1 = "eu-central-1" EU_WEST_1 = "eu-west-1" EU_WEST_3 = "eu-west-3" AP_NORTHEAST_1 = "ap-northeast-1" diff --git a/lib/vapi/types/create_anthropic_credential_dto.rb b/lib/vapi/types/create_anthropic_credential_dto.rb index 0cb92e68..154c0c6d 100644 --- a/lib/vapi/types/create_anthropic_credential_dto.rb +++ b/lib/vapi/types/create_anthropic_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Anthropic. class CreateAnthropicCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_anyscale_credential_dto.rb b/lib/vapi/types/create_anyscale_credential_dto.rb index db388401..77bd9b44 100644 --- a/lib/vapi/types/create_anyscale_credential_dto.rb +++ b/lib/vapi/types/create_anyscale_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Anyscale. class CreateAnyscaleCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_api_request_tool_dto.rb b/lib/vapi/types/create_api_request_tool_dto.rb index 705fdca0..023476a3 100644 --- a/lib/vapi/types/create_api_request_tool_dto.rb +++ b/lib/vapi/types/create_api_request_tool_dto.rb @@ -2,14 +2,16 @@ module Vapi module Types + # Configuration used to create a reusable tool that sends HTTP requests to a configured API and can authenticate, + # retry failures, and extract variables from responses. class CreateApiRequestToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateApiRequestToolDtoMessagesItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false field :method_, -> { Vapi::Types::CreateApiRequestToolDtoMethod }, optional: false, nullable: false, api_name: "method" field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" field :parameters, -> { Internal::Types::Array[Vapi::Types::ToolParameter] }, optional: true, nullable: false - field :name, -> { String }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false field :url, -> { String }, optional: false, nullable: false field :body, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false diff --git a/lib/vapi/types/create_assembly_ai_credential_dto.rb b/lib/vapi/types/create_assembly_ai_credential_dto.rb index b0ab525f..f6268cfa 100644 --- a/lib/vapi/types/create_assembly_ai_credential_dto.rb +++ b/lib/vapi/types/create_assembly_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating transcription requests with AssemblyAI. class CreateAssemblyAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_assistant_draft_dto.rb b/lib/vapi/types/create_assistant_draft_dto.rb new file mode 100644 index 00000000..4b2fcc31 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateAssistantDraftDto < Internal::Types::Model + field :transcriber, -> { Vapi::Types::CreateAssistantDraftDtoTranscriber }, optional: true, nullable: false + field :model, -> { Vapi::Types::CreateAssistantDraftDtoModel }, optional: true, nullable: false + field :voice, -> { Vapi::Types::CreateAssistantDraftDtoVoice }, optional: true, nullable: false + field :first_message, -> { String }, optional: true, nullable: false, api_name: "firstMessage" + field :first_message_interruptions_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "firstMessageInterruptionsEnabled" + field :first_message_mode, -> { Vapi::Types::CreateAssistantDraftDtoFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" + field :voicemail_detection, -> { Vapi::Types::CreateAssistantDraftDtoVoicemailDetection }, optional: true, nullable: false, api_name: "voicemailDetection" + field :client_messages, -> { Internal::Types::Array[Vapi::Types::CreateAssistantDraftDtoClientMessagesItem] }, optional: true, nullable: false, api_name: "clientMessages" + field :server_messages, -> { Internal::Types::Array[Vapi::Types::CreateAssistantDraftDtoServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :max_duration_seconds, -> { Integer }, optional: true, nullable: false, api_name: "maxDurationSeconds" + field :background_sound, -> { Vapi::Types::CreateAssistantDraftDtoBackgroundSound }, optional: true, nullable: false, api_name: "backgroundSound" + field :model_output_in_messages_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "modelOutputInMessagesEnabled" + field :transport_configurations, -> { Internal::Types::Array[Vapi::Types::TransportConfigurationTwilio] }, optional: true, nullable: false, api_name: "transportConfigurations" + field :observability_plan, -> { Vapi::Types::LangfuseObservabilityPlan }, optional: true, nullable: false, api_name: "observabilityPlan" + field :credentials, -> { Internal::Types::Array[Vapi::Types::CreateAssistantDraftDtoCredentialsItem] }, optional: true, nullable: false + field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateAssistantDraftDtoHooksItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :voicemail_message, -> { String }, optional: true, nullable: false, api_name: "voicemailMessage" + field :end_call_message, -> { String }, optional: true, nullable: false, api_name: "endCallMessage" + field :end_call_phrases, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "endCallPhrases" + field :compliance_plan, -> { Vapi::Types::CompliancePlan }, optional: true, nullable: false, api_name: "compliancePlan" + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :background_speech_denoising_plan, -> { Vapi::Types::BackgroundSpeechDenoisingPlan }, optional: true, nullable: false, api_name: "backgroundSpeechDenoisingPlan" + field :analysis_plan, -> { Vapi::Types::AnalysisPlan }, optional: true, nullable: false, api_name: "analysisPlan" + field :artifact_plan, -> { Vapi::Types::ArtifactPlan }, optional: true, nullable: false, api_name: "artifactPlan" + field :start_speaking_plan, -> { Vapi::Types::StartSpeakingPlan }, optional: true, nullable: false, api_name: "startSpeakingPlan" + field :stop_speaking_plan, -> { Vapi::Types::StopSpeakingPlan }, optional: true, nullable: false, api_name: "stopSpeakingPlan" + field :monitor_plan, -> { Vapi::Types::MonitorPlan }, optional: true, nullable: false, api_name: "monitorPlan" + field :credential_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "credentialIds" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :keypad_input_plan, -> { Vapi::Types::KeypadInputPlan }, optional: true, nullable: false, api_name: "keypadInputPlan" + field :base_version, -> { String }, optional: true, nullable: false, api_name: "baseVersion" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_background_sound.rb b/lib/vapi/types/create_assistant_draft_dto_background_sound.rb new file mode 100644 index 00000000..39dd4b51 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_background_sound.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'. + # You can also provide a custom sound by providing a URL to an audio file. + class CreateAssistantDraftDtoBackgroundSound < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CreateAssistantDraftDtoBackgroundSoundZero } + member -> { String } + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_background_sound_zero.rb b/lib/vapi/types/create_assistant_draft_dto_background_sound_zero.rb new file mode 100644 index 00000000..5ba59219 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_background_sound_zero.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateAssistantDraftDtoBackgroundSoundZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + OFFICE = "office" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_client_messages_item.rb b/lib/vapi/types/create_assistant_draft_dto_client_messages_item.rb new file mode 100644 index 00000000..ea58071b --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_client_messages_item.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateAssistantDraftDtoClientMessagesItem + extend Vapi::Internal::Types::Enum + + CONVERSATION_UPDATE = "conversation-update" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + FUNCTION_CALL = "function-call" + FUNCTION_CALL_RESULT = "function-call-result" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + METADATA = "metadata" + MODEL_OUTPUT = "model-output" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TOOL_CALLS = "tool-calls" + TOOL_CALLS_RESULT = "tool-calls-result" + TOOL_COMPLETED = "tool.completed" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + WORKFLOW_NODE_STARTED = "workflow.node.started" + ASSISTANT_STARTED = "assistant.started" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_credentials_item.rb b/lib/vapi/types/create_assistant_draft_dto_credentials_item.rb new file mode 100644 index 00000000..d0fe0f55 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_credentials_item.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateAssistantDraftDtoCredentialsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::CreateElevenLabsCredentialDto }, key: "_11_LABS" + member -> { Vapi::Types::CreateAnthropicCredentialDto }, key: "ANTHROPIC" + member -> { Vapi::Types::CreateAnthropicBedrockCredentialDto }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::CreateAnyscaleCredentialDto }, key: "ANYSCALE" + member -> { Vapi::Types::CreateAssemblyAiCredentialDto }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::CreateAzureOpenAiCredentialDto }, key: "AZURE_OPENAI" + member -> { Vapi::Types::CreateAzureCredentialDto }, key: "AZURE" + member -> { Vapi::Types::CreateByoSipTrunkCredentialDto }, key: "BYO_SIP_TRUNK" + member -> { Vapi::Types::CreateCartesiaCredentialDto }, key: "CARTESIA" + member -> { Vapi::Types::CreateCerebrasCredentialDto }, key: "CEREBRAS" + member -> { Vapi::Types::CreateCloudflareCredentialDto }, key: "CLOUDFLARE" + member -> { Vapi::Types::CreateCustomLlmCredentialDto }, key: "CUSTOM_LLM" + member -> { Vapi::Types::CreateDeepgramCredentialDto }, key: "DEEPGRAM" + member -> { Vapi::Types::CreateDeepInfraCredentialDto }, key: "DEEPINFRA" + member -> { Vapi::Types::CreateDeepSeekCredentialDto }, key: "DEEP_SEEK" + member -> { Vapi::Types::CreateGcpCredentialDto }, key: "GCP" + member -> { Vapi::Types::CreateGladiaCredentialDto }, key: "GLADIA" + member -> { Vapi::Types::CreateGoHighLevelCredentialDto }, key: "GOHIGHLEVEL" + member -> { Vapi::Types::CreateGoogleCredentialDto }, key: "GOOGLE" + member -> { Vapi::Types::CreateGroqCredentialDto }, key: "GROQ" + member -> { Vapi::Types::CreateInflectionAiCredentialDto }, key: "INFLECTION_AI" + member -> { Vapi::Types::CreateLangfuseCredentialDto }, key: "LANGFUSE" + member -> { Vapi::Types::CreateLmntCredentialDto }, key: "LMNT" + member -> { Vapi::Types::CreateMakeCredentialDto }, key: "MAKE" + member -> { Vapi::Types::CreateOpenAiCredentialDto }, key: "OPENAI" + member -> { Vapi::Types::CreateOpenRouterCredentialDto }, key: "OPENROUTER" + member -> { Vapi::Types::CreatePerplexityAiCredentialDto }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::CreatePlayHtCredentialDto }, key: "PLAYHT" + member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" + member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" + member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" + member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" + member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" + member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" + member -> { Vapi::Types::CreateTogetherAiCredentialDto }, key: "TOGETHER_AI" + member -> { Vapi::Types::CreateTwilioCredentialDto }, key: "TWILIO" + member -> { Vapi::Types::CreateVonageCredentialDto }, key: "VONAGE" + member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" + member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" + member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" + member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" + member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" + member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" + member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" + member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateSlackOAuth2AuthorizationCredentialDto }, key: "SLACK_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoHighLevelMcpCredentialDto }, key: "GHL_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateInworldCredentialDto }, key: "INWORLD" + member -> { Vapi::Types::CreateMinimaxCredentialDto }, key: "MINIMAX" + member -> { Vapi::Types::CreateWellSaidCredentialDto }, key: "WELLSAID" + member -> { Vapi::Types::CreateEmailCredentialDto }, key: "EMAIL" + member -> { Vapi::Types::CreateSlackWebhookCredentialDto }, key: "SLACK_WEBHOOK" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_first_message_mode.rb b/lib/vapi/types/create_assistant_draft_dto_first_message_mode.rb new file mode 100644 index 00000000..d6b10f3c --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_first_message_mode.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateAssistantDraftDtoFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_SPEAKS_FIRST_WITH_MODEL_GENERATED_MESSAGE = "assistant-speaks-first-with-model-generated-message" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_hooks_item.rb b/lib/vapi/types/create_assistant_draft_dto_hooks_item.rb new file mode 100644 index 00000000..45e99778 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_hooks_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateAssistantDraftDtoHooksItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CallHookCallEnding } + member -> { Vapi::Types::CallHookAssistantSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechTimeout } + member -> { Vapi::Types::SessionCreatedHook } + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_model.rb b/lib/vapi/types/create_assistant_draft_dto_model.rb new file mode 100644 index 00000000..25d8e3de --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_model.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's LLM. + class CreateAssistantDraftDtoModel < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AnthropicModel }, key: "ANTHROPIC" + member -> { Vapi::Types::AnthropicBedrockModel }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::AnyscaleModel }, key: "ANYSCALE" + member -> { Vapi::Types::CerebrasModel }, key: "CEREBRAS" + member -> { Vapi::Types::CustomLlmModel }, key: "CUSTOM_LLM" + member -> { Vapi::Types::DeepInfraModel }, key: "DEEPINFRA" + member -> { Vapi::Types::DeepSeekModel }, key: "DEEP_SEEK" + member -> { Vapi::Types::GoogleModel }, key: "GOOGLE" + member -> { Vapi::Types::GroqModel }, key: "GROQ" + member -> { Vapi::Types::InflectionAiModel }, key: "INFLECTION_AI" + member -> { Vapi::Types::MinimaxLlmModel }, key: "MINIMAX" + member -> { Vapi::Types::OpenAiModel }, key: "OPENAI" + member -> { Vapi::Types::OpenRouterModel }, key: "OPENROUTER" + member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" + member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_server_messages_item.rb b/lib/vapi/types/create_assistant_draft_dto_server_messages_item.rb new file mode 100644 index 00000000..7549a230 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_server_messages_item.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateAssistantDraftDtoServerMessagesItem + extend Vapi::Internal::Types::Enum + + ASSISTANT_STARTED = "assistant.started" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + CONVERSATION_UPDATE = "conversation-update" + END_OF_CALL_REPORT = "end-of-call-report" + FUNCTION_CALL = "function-call" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + LANGUAGE_CHANGE_DETECTED = "language-change-detected" + MODEL_OUTPUT = "model-output" + PHONE_CALL_CONTROL = "phone-call-control" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType=\"final\"]" + TOOL_CALLS = "tool-calls" + TRANSFER_DESTINATION_REQUEST = "transfer-destination-request" + HANDOFF_DESTINATION_REQUEST = "handoff-destination-request" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + CHAT_CREATED = "chat.created" + CHAT_DELETED = "chat.deleted" + SESSION_CREATED = "session.created" + SESSION_UPDATED = "session.updated" + SESSION_DELETED = "session.deleted" + CALL_DELETED = "call.deleted" + CALL_DELETE_FAILED = "call.delete.failed" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_transcriber.rb b/lib/vapi/types/create_assistant_draft_dto_transcriber.rb new file mode 100644 index 00000000..4a549b0c --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_transcriber.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's transcriber. + class CreateAssistantDraftDtoTranscriber < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AssemblyAiTranscriber }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::AzureSpeechTranscriber }, key: "AZURE" + member -> { Vapi::Types::CustomTranscriber }, key: "CUSTOM_TRANSCRIBER" + member -> { Vapi::Types::DeepgramTranscriber }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsTranscriber }, key: "_11_LABS" + member -> { Vapi::Types::GladiaTranscriber }, key: "GLADIA" + member -> { Vapi::Types::GoogleTranscriber }, key: "GOOGLE" + member -> { Vapi::Types::SpeechmaticsTranscriber }, key: "SPEECHMATICS" + member -> { Vapi::Types::TalkscriberTranscriber }, key: "TALKSCRIBER" + member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" + member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" + member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_voice.rb b/lib/vapi/types/create_assistant_draft_dto_voice.rb new file mode 100644 index 00000000..27f1761d --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_voice.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's voice. + class CreateAssistantDraftDtoVoice < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AzureVoice }, key: "AZURE" + member -> { Vapi::Types::CartesiaVoice }, key: "CARTESIA" + member -> { Vapi::Types::CustomVoice }, key: "CUSTOM_VOICE" + member -> { Vapi::Types::DeepgramVoice }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsVoice }, key: "_11_LABS" + member -> { Vapi::Types::HumeVoice }, key: "HUME" + member -> { Vapi::Types::LmntVoice }, key: "LMNT" + member -> { Vapi::Types::NeuphonicVoice }, key: "NEUPHONIC" + member -> { Vapi::Types::OpenAiVoice }, key: "OPENAI" + member -> { Vapi::Types::PlayHtVoice }, key: "PLAYHT" + member -> { Vapi::Types::WellSaidVoice }, key: "WELLSAID" + member -> { Vapi::Types::RimeAiVoice }, key: "RIME_AI" + member -> { Vapi::Types::SmallestAiVoice }, key: "SMALLEST_AI" + member -> { Vapi::Types::TavusVoice }, key: "TAVUS" + member -> { Vapi::Types::VapiVoice }, key: "VAPI" + member -> { Vapi::Types::SesameVoice }, key: "SESAME" + member -> { Vapi::Types::InworldVoice }, key: "INWORLD" + member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_voicemail_detection.rb b/lib/vapi/types/create_assistant_draft_dto_voicemail_detection.rb new file mode 100644 index 00000000..8f834bac --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_voicemail_detection.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be + # configured using the model.tools=[VoicemailTool]. + # By default, voicemail detection is disabled. + class CreateAssistantDraftDtoVoicemailDetection < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CreateAssistantDraftDtoVoicemailDetectionZero } + member -> { Vapi::Types::GoogleVoicemailDetectionPlan } + member -> { Vapi::Types::OpenAiVoicemailDetectionPlan } + member -> { Vapi::Types::TwilioVoicemailDetectionPlan } + member -> { Vapi::Types::VapiVoicemailDetectionPlan } + end + end +end diff --git a/lib/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.rb b/lib/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.rb new file mode 100644 index 00000000..b89ee158 --- /dev/null +++ b/lib/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateAssistantDraftDtoVoicemailDetectionZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + end + end +end diff --git a/lib/vapi/types/create_assistant_dto.rb b/lib/vapi/types/create_assistant_dto.rb index 4c4d6956..31dbf317 100644 --- a/lib/vapi/types/create_assistant_dto.rb +++ b/lib/vapi/types/create_assistant_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create an assistant, including its model, voice, transcriber, prompts, tools, messaging, and + # conversation behavior. class CreateAssistantDto < Internal::Types::Model field :transcriber, -> { Vapi::Types::CreateAssistantDtoTranscriber }, optional: true, nullable: false field :model, -> { Vapi::Types::CreateAssistantDtoModel }, optional: true, nullable: false diff --git a/lib/vapi/types/create_assistant_dto_credentials_item.rb b/lib/vapi/types/create_assistant_dto_credentials_item.rb index a29415f7..776e3ea2 100644 --- a/lib/vapi/types/create_assistant_dto_credentials_item.rb +++ b/lib/vapi/types/create_assistant_dto_credentials_item.rb @@ -38,6 +38,7 @@ class CreateAssistantDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class CreateAssistantDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/create_assistant_dto_model.rb b/lib/vapi/types/create_assistant_dto_model.rb index a4e02b30..c8a35c28 100644 --- a/lib/vapi/types/create_assistant_dto_model.rb +++ b/lib/vapi/types/create_assistant_dto_model.rb @@ -24,6 +24,7 @@ class CreateAssistantDtoModel < Internal::Types::Model member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" end end end diff --git a/lib/vapi/types/create_assistant_dto_transcriber.rb b/lib/vapi/types/create_assistant_dto_transcriber.rb index 50a24ec1..6f81a293 100644 --- a/lib/vapi/types/create_assistant_dto_transcriber.rb +++ b/lib/vapi/types/create_assistant_dto_transcriber.rb @@ -20,6 +20,8 @@ class CreateAssistantDtoTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/create_assistant_dto_voice.rb b/lib/vapi/types/create_assistant_dto_voice.rb index 0f9ec74a..a2d691f8 100644 --- a/lib/vapi/types/create_assistant_dto_voice.rb +++ b/lib/vapi/types/create_assistant_dto_voice.rb @@ -26,6 +26,8 @@ class CreateAssistantDtoVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/create_azure_credential_dto.rb b/lib/vapi/types/create_azure_credential_dto.rb index bbe307f0..43a5e423 100644 --- a/lib/vapi/types/create_azure_credential_dto.rb +++ b/lib/vapi/types/create_azure_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for Azure Speech or Blob Storage, including service, region, and optional storage bucket settings. class CreateAzureCredentialDto < Internal::Types::Model field :service, -> { Vapi::Types::CreateAzureCredentialDtoService }, optional: false, nullable: false field :region, -> { Vapi::Types::CreateAzureCredentialDtoRegion }, optional: true, nullable: false diff --git a/lib/vapi/types/create_azure_credential_dto_region.rb b/lib/vapi/types/create_azure_credential_dto_region.rb index 8e9c9164..66413e6b 100644 --- a/lib/vapi/types/create_azure_credential_dto_region.rb +++ b/lib/vapi/types/create_azure_credential_dto_region.rb @@ -23,6 +23,8 @@ module CreateAzureCredentialDtoRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/create_azure_open_ai_credential_dto.rb b/lib/vapi/types/create_azure_open_ai_credential_dto.rb index 52ab80d6..317cb758 100644 --- a/lib/vapi/types/create_azure_open_ai_credential_dto.rb +++ b/lib/vapi/types/create_azure_open_ai_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Azure OpenAI, including region, endpoint, and + # available models. class CreateAzureOpenAiCredentialDto < Internal::Types::Model field :region, -> { Vapi::Types::CreateAzureOpenAiCredentialDtoRegion }, optional: false, nullable: false field :models, -> { Internal::Types::Array[Vapi::Types::CreateAzureOpenAiCredentialDtoModelsItem] }, optional: false, nullable: false diff --git a/lib/vapi/types/create_azure_open_ai_credential_dto_models_item.rb b/lib/vapi/types/create_azure_open_ai_credential_dto_models_item.rb index 7ef2316d..f8c93ca6 100644 --- a/lib/vapi/types/create_azure_open_ai_credential_dto_models_item.rb +++ b/lib/vapi/types/create_azure_open_ai_credential_dto_models_item.rb @@ -28,6 +28,9 @@ module CreateAzureOpenAiCredentialDtoModelsItem GPT_40613 = "gpt-4-0613" GPT_35_TURBO_0125 = "gpt-35-turbo-0125" GPT_35_TURBO_1106 = "gpt-35-turbo-1106" + GPT_4_O = "gpt-4o" + GPT_41 = "gpt-4.1" + GPT_54_MINI_20260317 = "gpt-5.4-mini-2026-03-17" end end end diff --git a/lib/vapi/types/create_azure_open_ai_credential_dto_region.rb b/lib/vapi/types/create_azure_open_ai_credential_dto_region.rb index 652efc16..e8e73b33 100644 --- a/lib/vapi/types/create_azure_open_ai_credential_dto_region.rb +++ b/lib/vapi/types/create_azure_open_ai_credential_dto_region.rb @@ -23,6 +23,8 @@ module CreateAzureOpenAiCredentialDtoRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/create_bar_insight_from_call_table_dto.rb b/lib/vapi/types/create_bar_insight_from_call_table_dto.rb index 40c78329..9041e3f5 100644 --- a/lib/vapi/types/create_bar_insight_from_call_table_dto.rb +++ b/lib/vapi/types/create_bar_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a bar-chart insight from call data using metric queries, formulas, grouping, and a + # stepped time range. class CreateBarInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_bash_tool_dto.rb b/lib/vapi/types/create_bash_tool_dto.rb index 6c06e7b5..bea250ce 100644 --- a/lib/vapi/types/create_bash_tool_dto.rb +++ b/lib/vapi/types/create_bash_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that executes shell commands in a configured environment. class CreateBashToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateBashToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::CreateBashToolDtoSubType }, optional: false, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/create_byo_phone_number_dto.rb b/lib/vapi/types/create_byo_phone_number_dto.rb index f016b6cf..79c1a11f 100644 --- a/lib/vapi/types/create_byo_phone_number_dto.rb +++ b/lib/vapi/types/create_byo_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to connect a bring-your-own phone number to Vapi with a stored telephony credential and routing + # settings. class CreateByoPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::CreateByoPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateByoPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_byo_sip_trunk_credential_dto.rb b/lib/vapi/types/create_byo_sip_trunk_credential_dto.rb index fb5af3a9..827680eb 100644 --- a/lib/vapi/types/create_byo_sip_trunk_credential_dto.rb +++ b/lib/vapi/types/create_byo_sip_trunk_credential_dto.rb @@ -2,13 +2,14 @@ module Vapi module Types + # Configuration for connecting Vapi to a bring-your-own SIP trunk or carrier, including gateways, outbound + # authentication, number handling, and optional session border controller routing. class CreateByoSipTrunkCredentialDto < Internal::Types::Model field :gateways, -> { Internal::Types::Array[Vapi::Types::SipTrunkGateway] }, optional: false, nullable: false field :outbound_authentication_plan, -> { Vapi::Types::SipTrunkOutboundAuthenticationPlan }, optional: true, nullable: false, api_name: "outboundAuthenticationPlan" field :outbound_leading_plus_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "outboundLeadingPlusEnabled" field :tech_prefix, -> { String }, optional: true, nullable: false, api_name: "techPrefix" field :sip_diversion_header, -> { String }, optional: true, nullable: false, api_name: "sipDiversionHeader" - field :sbc_configuration, -> { Vapi::Types::SbcConfiguration }, optional: true, nullable: false, api_name: "sbcConfiguration" field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/create_campaign_dto.rb b/lib/vapi/types/create_campaign_dto.rb new file mode 100644 index 00000000..b62c8e69 --- /dev/null +++ b/lib/vapi/types/create_campaign_dto.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Vapi + module Types + # Configuration used to create an outbound calling campaign. Choose an assistant, squad, or workflow, then provide + # customers, phone-number or dial-plan settings, and an optional schedule. + class CreateCampaignDto < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" + field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" + field :squad_id, -> { String }, optional: true, nullable: false, api_name: "squadId" + field :phone_number_id, -> { String }, optional: true, nullable: false, api_name: "phoneNumberId" + field :dial_plan, -> { Internal::Types::Array[Vapi::Types::DialPlanEntry] }, optional: true, nullable: false, api_name: "dialPlan" + field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" + field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: true, nullable: false + field :max_concurrency, -> { Integer }, optional: true, nullable: false, api_name: "maxConcurrency" + field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" + field :squad_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "squadOverrides" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :server_messages, -> { Internal::Types::Array[Vapi::Types::CreateCampaignDtoServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :predial_plan, -> { Vapi::Types::CampaignPredialPlan }, optional: true, nullable: false, api_name: "predialPlan" + field :duplicate_from_campaign_id, -> { String }, optional: true, nullable: false, api_name: "duplicateFromCampaignId" + end + end +end diff --git a/lib/vapi/types/create_campaign_dto_server_messages_item.rb b/lib/vapi/types/create_campaign_dto_server_messages_item.rb new file mode 100644 index 00000000..50a4f93b --- /dev/null +++ b/lib/vapi/types/create_campaign_dto_server_messages_item.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateCampaignDtoServerMessagesItem + extend Vapi::Internal::Types::Enum + + CAMPAIGN_STARTED = "campaign.started" + CAMPAIGN_CANCELLED = "campaign.cancelled" + CAMPAIGN_ENDED = "campaign.ended" + CAMPAIGN_ARCHIVED = "campaign.archived" + CAMPAIGN_UNARCHIVED = "campaign.unarchived" + CONTACT_DISPATCHED = "contact.dispatched" + CONTACT_COMPLETED = "contact.completed" + CONTACT_FAILED = "contact.failed" + CONTACT_SKIPPED = "contact.skipped" + CONTACT_PREDIAL_FAILED = "contact.predial-failed" + CAMPAIGN_JOB_CONTINUED = "campaign.job.continued" + end + end +end diff --git a/lib/vapi/types/create_cartesia_credential_dto.rb b/lib/vapi/types/create_cartesia_credential_dto.rb index f7253f99..de86c262 100644 --- a/lib/vapi/types/create_cartesia_credential_dto.rb +++ b/lib/vapi/types/create_cartesia_credential_dto.rb @@ -2,8 +2,10 @@ module Vapi module Types + # Credentials for authenticating speech recognition and voice synthesis requests with Cartesia. class CreateCartesiaCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/create_cerebras_credential_dto.rb b/lib/vapi/types/create_cerebras_credential_dto.rb index e5c5d5d6..2fb59ea9 100644 --- a/lib/vapi/types/create_cerebras_credential_dto.rb +++ b/lib/vapi/types/create_cerebras_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Cerebras. class CreateCerebrasCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_cloudflare_credential_dto.rb b/lib/vapi/types/create_cloudflare_credential_dto.rb index 825b8d44..164b5e60 100644 --- a/lib/vapi/types/create_cloudflare_credential_dto.rb +++ b/lib/vapi/types/create_cloudflare_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for storing call artifacts in Cloudflare R2, including account details, bucket configuration, and + # upload fallback order. class CreateCloudflareCredentialDto < Internal::Types::Model field :account_id, -> { String }, optional: true, nullable: false, api_name: "accountId" field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/create_code_tool_dto.rb b/lib/vapi/types/create_code_tool_dto.rb index 6c9821ee..0d4c9d02 100644 --- a/lib/vapi/types/create_code_tool_dto.rb +++ b/lib/vapi/types/create_code_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a reusable tool that executes TypeScript code with configured credentials, + # environment variables, and timeout. class CreateCodeToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateCodeToolDtoMessagesItem] }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/create_computer_tool_dto.rb b/lib/vapi/types/create_computer_tool_dto.rb index f8cef6b2..fc21e568 100644 --- a/lib/vapi/types/create_computer_tool_dto.rb +++ b/lib/vapi/types/create_computer_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a tool that lets the model interact with a computer display through screen, pointer, + # and keyboard actions. class CreateComputerToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateComputerToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::CreateComputerToolDtoSubType }, optional: false, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/create_custom_credential_dto.rb b/lib/vapi/types/create_custom_credential_dto.rb index a9e7fd50..cb4dd8da 100644 --- a/lib/vapi/types/create_custom_credential_dto.rb +++ b/lib/vapi/types/create_custom_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Reusable custom credentials for authenticating outbound requests, with optional public-key encryption for + # sensitive request data. class CreateCustomCredentialDto < Internal::Types::Model field :authentication_plan, -> { Vapi::Types::CreateCustomCredentialDtoAuthenticationPlan }, optional: false, nullable: false, api_name: "authenticationPlan" field :encryption_plan, -> { Vapi::Types::CreateCustomCredentialDtoEncryptionPlan }, optional: true, nullable: false, api_name: "encryptionPlan" diff --git a/lib/vapi/types/create_custom_knowledge_base_dto.rb b/lib/vapi/types/create_custom_knowledge_base_dto.rb index bc0ec390..603a1c31 100644 --- a/lib/vapi/types/create_custom_knowledge_base_dto.rb +++ b/lib/vapi/types/create_custom_knowledge_base_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for connecting a custom knowledge-base implementation through a customer-hosted server. class CreateCustomKnowledgeBaseDto < Internal::Types::Model field :provider, -> { Vapi::Types::CreateCustomKnowledgeBaseDtoProvider }, optional: false, nullable: false field :server, -> { Vapi::Types::Server }, optional: false, nullable: false diff --git a/lib/vapi/types/create_custom_llm_credential_dto.rb b/lib/vapi/types/create_custom_llm_credential_dto.rb index 30d633fd..4959c6c7 100644 --- a/lib/vapi/types/create_custom_llm_credential_dto.rb +++ b/lib/vapi/types/create_custom_llm_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating requests to a custom language model with an API key or OAuth 2.0 authentication + # plan. class CreateCustomLlmCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :authentication_plan, -> { Vapi::Types::OAuth2AuthenticationPlan }, optional: true, nullable: false, api_name: "authenticationPlan" diff --git a/lib/vapi/types/create_customer_dto.rb b/lib/vapi/types/create_customer_dto.rb index 0adaac03..71b496cd 100644 --- a/lib/vapi/types/create_customer_dto.rb +++ b/lib/vapi/types/create_customer_dto.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Customer details used for call delivery and assistant personalization, including phone or SIP destination, contact + # identifiers, extension, and assistant overrides. class CreateCustomerDto < Internal::Types::Model field :number_e_164_check_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "numberE164CheckEnabled" field :extension, -> { String }, optional: true, nullable: false field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" + field :squad_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "squadOverrides" field :number, -> { String }, optional: true, nullable: false field :sip_uri, -> { String }, optional: true, nullable: false, api_name: "sipUri" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_deep_infra_credential_dto.rb b/lib/vapi/types/create_deep_infra_credential_dto.rb index 7e091bc5..bd3ebd58 100644 --- a/lib/vapi/types/create_deep_infra_credential_dto.rb +++ b/lib/vapi/types/create_deep_infra_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with DeepInfra. class CreateDeepInfraCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_deep_seek_credential_dto.rb b/lib/vapi/types/create_deep_seek_credential_dto.rb index cdb14402..150c66a9 100644 --- a/lib/vapi/types/create_deep_seek_credential_dto.rb +++ b/lib/vapi/types/create_deep_seek_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with DeepSeek. class CreateDeepSeekCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_deepgram_credential_dto.rb b/lib/vapi/types/create_deepgram_credential_dto.rb index 4005dd1f..77d8f87b 100644 --- a/lib/vapi/types/create_deepgram_credential_dto.rb +++ b/lib/vapi/types/create_deepgram_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating speech recognition and voice synthesis requests with Deepgram, with an optional API + # URL for an on-premises instance. class CreateDeepgramCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" diff --git a/lib/vapi/types/create_dtmf_tool_dto.rb b/lib/vapi/types/create_dtmf_tool_dto.rb index f123b97d..3452aca5 100644 --- a/lib/vapi/types/create_dtmf_tool_dto.rb +++ b/lib/vapi/types/create_dtmf_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that lets an assistant send DTMF keypad tones during a call. class CreateDtmfToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateDtmfToolDtoMessagesItem] }, optional: true, nullable: false field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" diff --git a/lib/vapi/types/create_eleven_labs_credential_dto.rb b/lib/vapi/types/create_eleven_labs_credential_dto.rb index ed1e9648..3e175791 100644 --- a/lib/vapi/types/create_eleven_labs_credential_dto.rb +++ b/lib/vapi/types/create_eleven_labs_credential_dto.rb @@ -2,8 +2,10 @@ module Vapi module Types + # Credentials for authenticating speech recognition and voice synthesis requests with ElevenLabs. class CreateElevenLabsCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :api_url, -> { Vapi::Types::CreateElevenLabsCredentialDtoApiUrl }, optional: true, nullable: false, api_name: "apiUrl" field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/create_eleven_labs_credential_dto_api_url.rb b/lib/vapi/types/create_eleven_labs_credential_dto_api_url.rb new file mode 100644 index 00000000..90c7d84d --- /dev/null +++ b/lib/vapi/types/create_eleven_labs_credential_dto_api_url.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateElevenLabsCredentialDtoApiUrl + extend Vapi::Internal::Types::Enum + + HTTPS_API_ELEVENLABS_IO = "https://api.elevenlabs.io" + HTTPS_API_EU_RESIDENCY_ELEVENLABS_IO = "https://api.eu.residency.elevenlabs.io" + end + end +end diff --git a/lib/vapi/types/create_email_credential_dto.rb b/lib/vapi/types/create_email_credential_dto.rb index 6c02ca54..d069a58c 100644 --- a/lib/vapi/types/create_email_credential_dto.rb +++ b/lib/vapi/types/create_email_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Destination configuration for sending Vapi alerts to an email address. class CreateEmailCredentialDto < Internal::Types::Model field :email, -> { String }, optional: false, nullable: false field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_end_call_tool_dto.rb b/lib/vapi/types/create_end_call_tool_dto.rb index bc690527..216acbd5 100644 --- a/lib/vapi/types/create_end_call_tool_dto.rb +++ b/lib/vapi/types/create_end_call_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that lets an assistant end the active call. class CreateEndCallToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateEndCallToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_eval_dto.rb b/lib/vapi/types/create_eval_dto.rb index 6381d506..f645556f 100644 --- a/lib/vapi/types/create_eval_dto.rb +++ b/lib/vapi/types/create_eval_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a reusable eval containing a mock conversation and checkpoints for assessing + # assistant responses and tool calls. class CreateEvalDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateEvalDtoMessagesItem] }, optional: false, nullable: false field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_function_tool_dto.rb b/lib/vapi/types/create_function_tool_dto.rb index 8b0ff6b5..7a33cacd 100644 --- a/lib/vapi/types/create_function_tool_dto.rb +++ b/lib/vapi/types/create_function_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a custom function tool that sends model-generated arguments to a server and returns + # the result to the assistant. class CreateFunctionToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateFunctionToolDtoMessagesItem] }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/create_gcp_credential_dto.rb b/lib/vapi/types/create_gcp_credential_dto.rb index 5f6f3d01..6c321178 100644 --- a/lib/vapi/types/create_gcp_credential_dto.rb +++ b/lib/vapi/types/create_gcp_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Service-account credentials for Google Cloud resources and optional call-artifact storage, including region, + # bucket configuration, and upload fallback order. class CreateGcpCredentialDto < Internal::Types::Model field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" field :gcp_key, -> { Vapi::Types::GcpKey }, optional: false, nullable: false, api_name: "gcpKey" diff --git a/lib/vapi/types/create_gladia_credential_dto.rb b/lib/vapi/types/create_gladia_credential_dto.rb index 2072c4c1..8964d016 100644 --- a/lib/vapi/types/create_gladia_credential_dto.rb +++ b/lib/vapi/types/create_gladia_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating transcription requests with Gladia. class CreateGladiaCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_go_high_level_calendar_availability_tool_dto.rb b/lib/vapi/types/create_go_high_level_calendar_availability_tool_dto.rb index f2134de4..cbcbbd18 100644 --- a/lib/vapi/types/create_go_high_level_calendar_availability_tool_dto.rb +++ b/lib/vapi/types/create_go_high_level_calendar_availability_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that checks calendar availability in a connected GoHighLevel account. class CreateGoHighLevelCalendarAvailabilityToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoHighLevelCalendarAvailabilityToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_go_high_level_calendar_event_create_tool_dto.rb b/lib/vapi/types/create_go_high_level_calendar_event_create_tool_dto.rb index a237f3d6..62e21547 100644 --- a/lib/vapi/types/create_go_high_level_calendar_event_create_tool_dto.rb +++ b/lib/vapi/types/create_go_high_level_calendar_event_create_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that adds calendar events to a connected GoHighLevel account. class CreateGoHighLevelCalendarEventCreateToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoHighLevelCalendarEventCreateToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_go_high_level_contact_create_tool_dto.rb b/lib/vapi/types/create_go_high_level_contact_create_tool_dto.rb index a5b9d83a..9867fc2c 100644 --- a/lib/vapi/types/create_go_high_level_contact_create_tool_dto.rb +++ b/lib/vapi/types/create_go_high_level_contact_create_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that adds contacts to a connected GoHighLevel account. class CreateGoHighLevelContactCreateToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoHighLevelContactCreateToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_go_high_level_contact_get_tool_dto.rb b/lib/vapi/types/create_go_high_level_contact_get_tool_dto.rb index 0feb4a45..6da945b6 100644 --- a/lib/vapi/types/create_go_high_level_contact_get_tool_dto.rb +++ b/lib/vapi/types/create_go_high_level_contact_get_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that retrieves contacts from a connected GoHighLevel account. class CreateGoHighLevelContactGetToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoHighLevelContactGetToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_go_high_level_credential_dto.rb b/lib/vapi/types/create_go_high_level_credential_dto.rb index e6e290b7..0434953b 100644 --- a/lib/vapi/types/create_go_high_level_credential_dto.rb +++ b/lib/vapi/types/create_go_high_level_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating Vapi integrations with GoHighLevel. class CreateGoHighLevelCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_go_high_level_mcp_credential_dto.rb b/lib/vapi/types/create_go_high_level_mcp_credential_dto.rb index 050c6c52..b01dcc50 100644 --- a/lib/vapi/types/create_go_high_level_mcp_credential_dto.rb +++ b/lib/vapi/types/create_go_high_level_mcp_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # OAuth 2.0 session credentials for authenticating GoHighLevel MCP requests. class CreateGoHighLevelMcpCredentialDto < Internal::Types::Model field :authentication_session, -> { Vapi::Types::Oauth2AuthenticationSession }, optional: false, nullable: false, api_name: "authenticationSession" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_google_calendar_check_availability_tool_dto.rb b/lib/vapi/types/create_google_calendar_check_availability_tool_dto.rb index d6859139..1cb37939 100644 --- a/lib/vapi/types/create_google_calendar_check_availability_tool_dto.rb +++ b/lib/vapi/types/create_google_calendar_check_availability_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that checks availability in a connected Google Calendar. class CreateGoogleCalendarCheckAvailabilityToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoogleCalendarCheckAvailabilityToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_google_calendar_create_event_tool_dto.rb b/lib/vapi/types/create_google_calendar_create_event_tool_dto.rb index 6d890f0d..f635a3a6 100644 --- a/lib/vapi/types/create_google_calendar_create_event_tool_dto.rb +++ b/lib/vapi/types/create_google_calendar_create_event_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that adds events to a connected Google Calendar. class CreateGoogleCalendarCreateEventToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoogleCalendarCreateEventToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb index c53f66f7..a7bdad6e 100644 --- a/lib/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Stored OAuth 2.0 authorization for Google Calendar operations. class CreateGoogleCalendarOAuth2AuthorizationCredentialDto < Internal::Types::Model field :authorization_id, -> { String }, optional: false, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.rb b/lib/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.rb index 579567a4..10382f4c 100644 --- a/lib/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.rb +++ b/lib/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # OAuth 2.0 client credential for Google Calendar integrations. class CreateGoogleCalendarOAuth2ClientCredentialDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/create_google_credential_dto.rb b/lib/vapi/types/create_google_credential_dto.rb index 25a985f8..35d62324 100644 --- a/lib/vapi/types/create_google_credential_dto.rb +++ b/lib/vapi/types/create_google_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Google AI. class CreateGoogleCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb index fd20f6ce..9dc70d6d 100644 --- a/lib/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Stored OAuth 2.0 authorization for Google Sheets operations. class CreateGoogleSheetsOAuth2AuthorizationCredentialDto < Internal::Types::Model field :authorization_id, -> { String }, optional: false, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_google_sheets_row_append_tool_dto.rb b/lib/vapi/types/create_google_sheets_row_append_tool_dto.rb index 5e20c497..185f143e 100644 --- a/lib/vapi/types/create_google_sheets_row_append_tool_dto.rb +++ b/lib/vapi/types/create_google_sheets_row_append_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that appends rows to a connected Google Sheet. class CreateGoogleSheetsRowAppendToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateGoogleSheetsRowAppendToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_groq_credential_dto.rb b/lib/vapi/types/create_groq_credential_dto.rb index 202fcba0..146920fc 100644 --- a/lib/vapi/types/create_groq_credential_dto.rb +++ b/lib/vapi/types/create_groq_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Groq. class CreateGroqCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_handoff_tool_dto.rb b/lib/vapi/types/create_handoff_tool_dto.rb index 6bec4135..c8b2a5f1 100644 --- a/lib/vapi/types/create_handoff_tool_dto.rb +++ b/lib/vapi/types/create_handoff_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a tool that hands a conversation to another assistant, squad, or dynamically selected + # destination. class CreateHandoffToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateHandoffToolDtoMessagesItem] }, optional: true, nullable: false field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" diff --git a/lib/vapi/types/create_hume_credential_dto.rb b/lib/vapi/types/create_hume_credential_dto.rb index 1f7a056c..37494ec8 100644 --- a/lib/vapi/types/create_hume_credential_dto.rb +++ b/lib/vapi/types/create_hume_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Hume. class CreateHumeCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_inflection_ai_credential_dto.rb b/lib/vapi/types/create_inflection_ai_credential_dto.rb index 41509a72..22145052 100644 --- a/lib/vapi/types/create_inflection_ai_credential_dto.rb +++ b/lib/vapi/types/create_inflection_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Inflection AI. class CreateInflectionAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_inworld_credential_dto.rb b/lib/vapi/types/create_inworld_credential_dto.rb index 73637868..dc9c44af 100644 --- a/lib/vapi/types/create_inworld_credential_dto.rb +++ b/lib/vapi/types/create_inworld_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Inworld. class CreateInworldCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_langfuse_credential_dto.rb b/lib/vapi/types/create_langfuse_credential_dto.rb index b76dce1e..dfae9f38 100644 --- a/lib/vapi/types/create_langfuse_credential_dto.rb +++ b/lib/vapi/types/create_langfuse_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for sending assistant call traces to a Langfuse project, including its public key, secret key, and + # host URL. class CreateLangfuseCredentialDto < Internal::Types::Model field :public_key, -> { String }, optional: false, nullable: false, api_name: "publicKey" field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/create_line_insight_from_call_table_dto.rb b/lib/vapi/types/create_line_insight_from_call_table_dto.rb index 86e9d9fc..7ab556e5 100644 --- a/lib/vapi/types/create_line_insight_from_call_table_dto.rb +++ b/lib/vapi/types/create_line_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a line-chart insight from call data using metric queries, formulas, grouping, and a + # stepped time range. class CreateLineInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_lmnt_credential_dto.rb b/lib/vapi/types/create_lmnt_credential_dto.rb index 4ff6639e..26083657 100644 --- a/lib/vapi/types/create_lmnt_credential_dto.rb +++ b/lib/vapi/types/create_lmnt_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with LMNT. class CreateLmntCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_make_credential_dto.rb b/lib/vapi/types/create_make_credential_dto.rb index 06fce435..43ac76e2 100644 --- a/lib/vapi/types/create_make_credential_dto.rb +++ b/lib/vapi/types/create_make_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating Vapi integrations with Make, including team, region, and API key. class CreateMakeCredentialDto < Internal::Types::Model field :team_id, -> { String }, optional: false, nullable: false, api_name: "teamId" field :region, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/create_mcp_tool_dto.rb b/lib/vapi/types/create_mcp_tool_dto.rb index 83ae6591..cba4fa9f 100644 --- a/lib/vapi/types/create_mcp_tool_dto.rb +++ b/lib/vapi/types/create_mcp_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a tool that connects an assistant to a Model Context Protocol server and exposes its + # available tools. class CreateMcpToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateMcpToolDtoMessagesItem] }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/create_microsoft_credential_dto.rb b/lib/vapi/types/create_microsoft_credential_dto.rb new file mode 100644 index 00000000..8e989a36 --- /dev/null +++ b/lib/vapi/types/create_microsoft_credential_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateMicrosoftCredentialDto < Internal::Types::Model + field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :region, -> { String }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/create_minimax_credential_dto.rb b/lib/vapi/types/create_minimax_credential_dto.rb index 531c0e44..fac9a69a 100644 --- a/lib/vapi/types/create_minimax_credential_dto.rb +++ b/lib/vapi/types/create_minimax_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating assistant model and voice synthesis requests with MiniMax, including the MiniMax + # group identifier. class CreateMinimaxCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :group_id, -> { String }, optional: false, nullable: false, api_name: "groupId" diff --git a/lib/vapi/types/create_mistral_credential_dto.rb b/lib/vapi/types/create_mistral_credential_dto.rb index 198005fd..a5087c14 100644 --- a/lib/vapi/types/create_mistral_credential_dto.rb +++ b/lib/vapi/types/create_mistral_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Mistral. class CreateMistralCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_neuphonic_credential_dto.rb b/lib/vapi/types/create_neuphonic_credential_dto.rb index 84a50a58..f9328409 100644 --- a/lib/vapi/types/create_neuphonic_credential_dto.rb +++ b/lib/vapi/types/create_neuphonic_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Neuphonic. class CreateNeuphonicCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_open_ai_credential_dto.rb b/lib/vapi/types/create_open_ai_credential_dto.rb index a9e4c5ec..06e5dafc 100644 --- a/lib/vapi/types/create_open_ai_credential_dto.rb +++ b/lib/vapi/types/create_open_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model, transcription, and voice synthesis requests with OpenAI. class CreateOpenAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_open_router_credential_dto.rb b/lib/vapi/types/create_open_router_credential_dto.rb index 32af3118..4e84135f 100644 --- a/lib/vapi/types/create_open_router_credential_dto.rb +++ b/lib/vapi/types/create_open_router_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with OpenRouter. class CreateOpenRouterCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_outbound_call_dto.rb b/lib/vapi/types/create_outbound_call_dto.rb index fbd10ae6..4181531d 100644 --- a/lib/vapi/types/create_outbound_call_dto.rb +++ b/lib/vapi/types/create_outbound_call_dto.rb @@ -3,10 +3,11 @@ module Vapi module Types class CreateOutboundCallDto < Internal::Types::Model + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" + field :transport, -> { Vapi::Types::CreateOutboundCallDtoTransport }, optional: true, nullable: false field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" - field :transport, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" diff --git a/lib/vapi/types/create_outbound_call_dto_transport.rb b/lib/vapi/types/create_outbound_call_dto_transport.rb new file mode 100644 index 00000000..0139db96 --- /dev/null +++ b/lib/vapi/types/create_outbound_call_dto_transport.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the transport of the call. + class CreateOutboundCallDtoTransport < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::VapiWebsocketTransport }, key: "VAPI_WEBSOCKET" + member -> { Vapi::Types::VonageTransport }, key: "VONAGE" + member -> { Vapi::Types::TwilioTransport }, key: "TWILIO" + member -> { Vapi::Types::VapiSipTransport }, key: "VAPI_SIP" + member -> { Vapi::Types::TelnyxTransport }, key: "TELNYX" + member -> { Vapi::Types::VapiWebCallTransport }, key: "DAILY" + end + end +end diff --git a/lib/vapi/types/create_perplexity_ai_credential_dto.rb b/lib/vapi/types/create_perplexity_ai_credential_dto.rb index 3f9f61d9..6cbda7d4 100644 --- a/lib/vapi/types/create_perplexity_ai_credential_dto.rb +++ b/lib/vapi/types/create_perplexity_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Perplexity AI. class CreatePerplexityAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_pie_insight_from_call_table_dto.rb b/lib/vapi/types/create_pie_insight_from_call_table_dto.rb index 544e2bc5..e0bb4bc0 100644 --- a/lib/vapi/types/create_pie_insight_from_call_table_dto.rb +++ b/lib/vapi/types/create_pie_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a pie-chart insight from call data using metric queries, formulas, grouping, and a + # time range. class CreatePieInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_play_ht_credential_dto.rb b/lib/vapi/types/create_play_ht_credential_dto.rb index e8ceb322..b00cf6a2 100644 --- a/lib/vapi/types/create_play_ht_credential_dto.rb +++ b/lib/vapi/types/create_play_ht_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with PlayHT, including the PlayHT user identifier. class CreatePlayHtCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :user_id, -> { String }, optional: false, nullable: false, api_name: "userId" diff --git a/lib/vapi/types/create_query_tool_dto.rb b/lib/vapi/types/create_query_tool_dto.rb index dd47bdfb..dfafbc3c 100644 --- a/lib/vapi/types/create_query_tool_dto.rb +++ b/lib/vapi/types/create_query_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a tool that searches configured knowledge bases and returns relevant content to the + # assistant. class CreateQueryToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateQueryToolDtoMessagesItem] }, optional: true, nullable: false field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" diff --git a/lib/vapi/types/create_rime_ai_credential_dto.rb b/lib/vapi/types/create_rime_ai_credential_dto.rb index 7614e52d..6f4d83d5 100644 --- a/lib/vapi/types/create_rime_ai_credential_dto.rb +++ b/lib/vapi/types/create_rime_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Rime AI. class CreateRimeAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_runpod_credential_dto.rb b/lib/vapi/types/create_runpod_credential_dto.rb index e81bc718..a48b73ca 100644 --- a/lib/vapi/types/create_runpod_credential_dto.rb +++ b/lib/vapi/types/create_runpod_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests through Runpod. class CreateRunpodCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_s_3_compatible_credential_dto.rb b/lib/vapi/types/create_s_3_compatible_credential_dto.rb new file mode 100644 index 00000000..28f7294f --- /dev/null +++ b/lib/vapi/types/create_s_3_compatible_credential_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateS3CompatibleCredentialDto < Internal::Types::Model + field :bucket_plan, -> { Vapi::Types::S3CompatibleBucketPlan }, optional: false, nullable: false, api_name: "bucketPlan" + field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/create_s_3_credential_dto.rb b/lib/vapi/types/create_s_3_credential_dto.rb index 7a3dd32f..0c35f0b7 100644 --- a/lib/vapi/types/create_s_3_credential_dto.rb +++ b/lib/vapi/types/create_s_3_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for storing call artifacts in Amazon S3, including access keys, region, bucket, path prefix, and + # upload fallback order. class CreateS3CredentialDto < Internal::Types::Model field :aws_access_key_id, -> { String }, optional: false, nullable: false, api_name: "awsAccessKeyId" field :aws_secret_access_key, -> { String }, optional: false, nullable: false, api_name: "awsSecretAccessKey" diff --git a/lib/vapi/types/create_scorecard_dto.rb b/lib/vapi/types/create_scorecard_dto.rb index 2a28053a..963f3163 100644 --- a/lib/vapi/types/create_scorecard_dto.rb +++ b/lib/vapi/types/create_scorecard_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a scorecard containing evaluation metrics, scoring conditions, and optional assistant + # associations. class CreateScorecardDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_sesame_voice_dto.rb b/lib/vapi/types/create_sesame_voice_dto.rb index 024bf29d..c42aa853 100644 --- a/lib/vapi/types/create_sesame_voice_dto.rb +++ b/lib/vapi/types/create_sesame_voice_dto.rb @@ -3,8 +3,9 @@ module Vapi module Types class CreateSesameVoiceDto < Internal::Types::Model - field :voice_name, -> { String }, optional: true, nullable: false, api_name: "voiceName" - field :transcription, -> { String }, optional: true, nullable: false + field :file, -> { String }, optional: false, nullable: false + field :voice_name, -> { String }, optional: false, nullable: false, api_name: "voiceName" + field :transcription, -> { String }, optional: false, nullable: false end end end diff --git a/lib/vapi/types/create_simulation_run_response.rb b/lib/vapi/types/create_simulation_run_response.rb new file mode 100644 index 00000000..07b66af9 --- /dev/null +++ b/lib/vapi/types/create_simulation_run_response.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateSimulationRunResponse < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :status, -> { Vapi::Types::CreateSimulationRunResponseStatus }, optional: false, nullable: false + field :queued_at, -> { String }, optional: false, nullable: false, api_name: "queuedAt" + field :started_at, -> { String }, optional: true, nullable: false, api_name: "startedAt" + field :ended_at, -> { String }, optional: true, nullable: false, api_name: "endedAt" + field :ended_reason, -> { String }, optional: true, nullable: false, api_name: "endedReason" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :item_counts, -> { Vapi::Types::SimulationRunItemCounts }, optional: true, nullable: false, api_name: "itemCounts" + field :simulations, -> { Internal::Types::Array[Vapi::Types::CreateSimulationRunResponseSimulationsItem] }, optional: false, nullable: false + field :target, -> { Vapi::Types::CreateSimulationRunResponseTarget }, optional: false, nullable: false + field :iterations, -> { Integer }, optional: true, nullable: false + field :transport, -> { Vapi::Types::SimulationRunTransportConfiguration }, optional: true, nullable: false + field :simulation_run_item_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "simulationRunItemIds" + field :message, -> { String }, optional: true, nullable: false + field :url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/create_simulation_run_response_simulations_item.rb b/lib/vapi/types/create_simulation_run_response_simulations_item.rb new file mode 100644 index 00000000..91bff9b1 --- /dev/null +++ b/lib/vapi/types/create_simulation_run_response_simulations_item.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateSimulationRunResponseSimulationsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::SimulationRunSimulationEntry }, key: "SIMULATION" + member -> { Vapi::Types::SimulationRunSuiteEntry }, key: "SIMULATION_SUITE" + end + end +end diff --git a/lib/vapi/types/create_simulation_run_response_status.rb b/lib/vapi/types/create_simulation_run_response_status.rb new file mode 100644 index 00000000..6d7a4e41 --- /dev/null +++ b/lib/vapi/types/create_simulation_run_response_status.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateSimulationRunResponseStatus + extend Vapi::Internal::Types::Enum + + QUEUED = "queued" + RUNNING = "running" + ENDED = "ended" + end + end +end diff --git a/lib/vapi/types/create_simulation_run_response_target.rb b/lib/vapi/types/create_simulation_run_response_target.rb new file mode 100644 index 00000000..17becb96 --- /dev/null +++ b/lib/vapi/types/create_simulation_run_response_target.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + # Target to test against + class CreateSimulationRunResponseTarget < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::SimulationRunTargetAssistant }, key: "ASSISTANT" + member -> { Vapi::Types::SimulationRunTargetSquad }, key: "SQUAD" + end + end +end diff --git a/lib/vapi/types/create_simulation_suite_dto.rb b/lib/vapi/types/create_simulation_suite_dto.rb index 4d9c7c8b..4c46c6f1 100644 --- a/lib/vapi/types/create_simulation_suite_dto.rb +++ b/lib/vapi/types/create_simulation_suite_dto.rb @@ -6,6 +6,7 @@ class CreateSimulationSuiteDto < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :slack_webhook_url, -> { String }, optional: true, nullable: false, api_name: "slackWebhookUrl" field :simulation_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "simulationIds" + field :target_assignments, -> { Internal::Types::Array[Vapi::Types::SimulationSuiteTargetAssignment] }, optional: true, nullable: false, api_name: "targetAssignments" field :path, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/create_sip_request_tool_dto.rb b/lib/vapi/types/create_sip_request_tool_dto.rb index acd1cb04..8fa2ff83 100644 --- a/lib/vapi/types/create_sip_request_tool_dto.rb +++ b/lib/vapi/types/create_sip_request_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a tool that sends SIP `INFO`, `MESSAGE`, or `NOTIFY` requests with configured headers + # and body. class CreateSipRequestToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateSipRequestToolDtoMessagesItem] }, optional: true, nullable: false field :verb, -> { Vapi::Types::CreateSipRequestToolDtoVerb }, optional: false, nullable: false diff --git a/lib/vapi/types/create_slack_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/create_slack_o_auth_2_authorization_credential_dto.rb index 7e05c6bd..6028e8ee 100644 --- a/lib/vapi/types/create_slack_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/create_slack_o_auth_2_authorization_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Stored OAuth 2.0 authorization for Slack operations. class CreateSlackOAuth2AuthorizationCredentialDto < Internal::Types::Model field :authorization_id, -> { String }, optional: false, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_slack_send_message_tool_dto.rb b/lib/vapi/types/create_slack_send_message_tool_dto.rb index 29cff8ac..2de2418b 100644 --- a/lib/vapi/types/create_slack_send_message_tool_dto.rb +++ b/lib/vapi/types/create_slack_send_message_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that lets an assistant send a message to Slack. class CreateSlackSendMessageToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateSlackSendMessageToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_slack_webhook_credential_dto.rb b/lib/vapi/types/create_slack_webhook_credential_dto.rb index e9f91b8c..823dd12e 100644 --- a/lib/vapi/types/create_slack_webhook_credential_dto.rb +++ b/lib/vapi/types/create_slack_webhook_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for sending Vapi alerts through a Slack incoming webhook. class CreateSlackWebhookCredentialDto < Internal::Types::Model field :webhook_url, -> { String }, optional: false, nullable: false, api_name: "webhookUrl" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_smallest_ai_credential_dto.rb b/lib/vapi/types/create_smallest_ai_credential_dto.rb index 56dca3b1..03d64aad 100644 --- a/lib/vapi/types/create_smallest_ai_credential_dto.rb +++ b/lib/vapi/types/create_smallest_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Smallest AI. class CreateSmallestAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_sms_tool_dto.rb b/lib/vapi/types/create_sms_tool_dto.rb index 21ade03b..cd24382c 100644 --- a/lib/vapi/types/create_sms_tool_dto.rb +++ b/lib/vapi/types/create_sms_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that lets an assistant send an SMS message during a call. class CreateSmsToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateSmsToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/create_soniox_credential_dto.rb b/lib/vapi/types/create_soniox_credential_dto.rb index 49a0517e..1b5da341 100644 --- a/lib/vapi/types/create_soniox_credential_dto.rb +++ b/lib/vapi/types/create_soniox_credential_dto.rb @@ -2,8 +2,10 @@ module Vapi module Types + # Credentials for authenticating transcription requests with Soniox. class CreateSonioxCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/create_speechmatics_credential_dto.rb b/lib/vapi/types/create_speechmatics_credential_dto.rb index 8f0a0379..6382c1f5 100644 --- a/lib/vapi/types/create_speechmatics_credential_dto.rb +++ b/lib/vapi/types/create_speechmatics_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating transcription requests with Speechmatics. class CreateSpeechmaticsCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_squad_dto.rb b/lib/vapi/types/create_squad_dto.rb index 6989519c..fccdbdc0 100644 --- a/lib/vapi/types/create_squad_dto.rb +++ b/lib/vapi/types/create_squad_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a squad. Provide an ordered list of assistant members and optional overrides that + # control how the squad handles a conversation and transfers between assistants. class CreateSquadDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :members, -> { Internal::Types::Array[Vapi::Types::SquadMemberDto] }, optional: false, nullable: false diff --git a/lib/vapi/types/create_structured_output_dto.rb b/lib/vapi/types/create_structured_output_dto.rb index 37649da7..38740ac2 100644 --- a/lib/vapi/types/create_structured_output_dto.rb +++ b/lib/vapi/types/create_structured_output_dto.rb @@ -2,11 +2,14 @@ module Vapi module Types + # Configuration used to create a structured-output definition that extracts validated data from calls using an AI + # model or regular expression. class CreateStructuredOutputDto < Internal::Types::Model field :type, -> { Vapi::Types::CreateStructuredOutputDtoType }, optional: true, nullable: false field :regex, -> { String }, optional: true, nullable: false field :model, -> { Vapi::Types::CreateStructuredOutputDtoModel }, optional: true, nullable: false field :compliance_plan, -> { Vapi::Types::ComplianceOverride }, optional: true, nullable: false, api_name: "compliancePlan" + field :conditions, -> { Internal::Types::Array[Vapi::Types::CreateStructuredOutputDtoConditionsItem] }, optional: true, nullable: false field :name, -> { String }, optional: false, nullable: false field :schema, -> { Vapi::Types::JsonSchema }, optional: false, nullable: false field :description, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_structured_output_dto_conditions_item.rb b/lib/vapi/types/create_structured_output_dto_conditions_item.rb new file mode 100644 index 00000000..ea4cd831 --- /dev/null +++ b/lib/vapi/types/create_structured_output_dto_conditions_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateStructuredOutputDtoConditionsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::MinMessagesCondition }, key: "MIN_MESSAGES" + member -> { Vapi::Types::MinCallDurationCondition }, key: "MIN_CALL_DURATION" + member -> { Vapi::Types::EndedReasonCondition }, key: "ENDED_REASON" + end + end +end diff --git a/lib/vapi/types/create_supabase_credential_dto.rb b/lib/vapi/types/create_supabase_credential_dto.rb index 08edc364..1a463bd6 100644 --- a/lib/vapi/types/create_supabase_credential_dto.rb +++ b/lib/vapi/types/create_supabase_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for storing call artifacts in Supabase's S3-compatible storage, including bucket configuration and + # upload fallback order. class CreateSupabaseCredentialDto < Internal::Types::Model field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" field :bucket_plan, -> { Vapi::Types::SupabaseBucketPlan }, optional: true, nullable: false, api_name: "bucketPlan" diff --git a/lib/vapi/types/create_tavus_credential_dto.rb b/lib/vapi/types/create_tavus_credential_dto.rb index be5aa2fc..1339d2e9 100644 --- a/lib/vapi/types/create_tavus_credential_dto.rb +++ b/lib/vapi/types/create_tavus_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with Tavus. class CreateTavusCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_telnyx_phone_number_dto.rb b/lib/vapi/types/create_telnyx_phone_number_dto.rb index f9e422fb..f1cd8e29 100644 --- a/lib/vapi/types/create_telnyx_phone_number_dto.rb +++ b/lib/vapi/types/create_telnyx_phone_number_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to import a Telnyx phone number into Vapi with a stored credential and routing settings. class CreateTelnyxPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::CreateTelnyxPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateTelnyxPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_text_editor_tool_dto.rb b/lib/vapi/types/create_text_editor_tool_dto.rb index 32ccb3e4..21835bca 100644 --- a/lib/vapi/types/create_text_editor_tool_dto.rb +++ b/lib/vapi/types/create_text_editor_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that reads and edits text files in a configured environment. class CreateTextEditorToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateTextEditorToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::CreateTextEditorToolDtoSubType }, optional: false, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/create_text_insight_from_call_table_dto.rb b/lib/vapi/types/create_text_insight_from_call_table_dto.rb index eb8a2f24..3e7b9d36 100644 --- a/lib/vapi/types/create_text_insight_from_call_table_dto.rb +++ b/lib/vapi/types/create_text_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to create a text-value insight from call data using metric queries, a formula, and a time + # range. class CreateTextInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formula, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_together_ai_credential_dto.rb b/lib/vapi/types/create_together_ai_credential_dto.rb index f385fdae..0885b59d 100644 --- a/lib/vapi/types/create_together_ai_credential_dto.rb +++ b/lib/vapi/types/create_together_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with Together AI. class CreateTogetherAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_tool_draft_dto.rb b/lib/vapi/types/create_tool_draft_dto.rb new file mode 100644 index 00000000..8c939bc6 --- /dev/null +++ b/lib/vapi/types/create_tool_draft_dto.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateToolDraftDto < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::CreateToolDraftDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::CreateToolDraftDtoType }, optional: true, nullable: false + field :base_version, -> { String }, optional: true, nullable: false, api_name: "baseVersion" + field :function, -> { Vapi::Types::OpenAiFunction }, optional: true, nullable: false + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :template_id, -> { String }, optional: true, nullable: false, api_name: "templateId" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false + field :destinations, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :sub_type, -> { String }, optional: true, nullable: false, api_name: "subType" + field :display_width_px, -> { Integer }, optional: true, nullable: false, api_name: "displayWidthPx" + field :display_height_px, -> { Integer }, optional: true, nullable: false, api_name: "displayHeightPx" + field :display_number, -> { Integer }, optional: true, nullable: false, api_name: "displayNumber" + field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" + field :url, -> { String }, optional: true, nullable: false + field :method_, -> { Vapi::Types::CreateToolDraftDtoMethod }, optional: true, nullable: false, api_name: "method" + field :headers, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false + field :body, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :backoff_plan, -> { Vapi::Types::BackoffPlan }, optional: true, nullable: false, api_name: "backoffPlan" + field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" + field :description, -> { String }, optional: true, nullable: false + field :variable_extraction_plan, -> { Vapi::Types::VariableExtractionPlan }, optional: true, nullable: false, api_name: "variableExtractionPlan" + field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" + field :extended_delay_when_preceded_by_text_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "extendedDelayWhenPrecededByTextEnabled" + field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" + field :code, -> { String }, optional: true, nullable: false + field :environment_variables, -> { Internal::Types::Array[Vapi::Types::CodeToolEnvironmentVariable] }, optional: true, nullable: false, api_name: "environmentVariables" + field :parameters, -> { Internal::Types::Array[Vapi::Types::ToolParameter] }, optional: true, nullable: false + field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" + field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" + field :verb, -> { Vapi::Types::CreateToolDraftDtoVerb }, optional: true, nullable: false + field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" + field :tool_messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessages] }, optional: true, nullable: false, api_name: "toolMessages" + field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" + end + end +end diff --git a/lib/vapi/types/create_tool_draft_dto_messages_item.rb b/lib/vapi/types/create_tool_draft_dto_messages_item.rb new file mode 100644 index 00000000..5e5fa292 --- /dev/null +++ b/lib/vapi/types/create_tool_draft_dto_messages_item.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + class CreateToolDraftDtoMessagesItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::ToolMessageStart }, key: "REQUEST_START" + member -> { Vapi::Types::ToolMessageComplete }, key: "REQUEST_COMPLETE" + member -> { Vapi::Types::ToolMessageFailed }, key: "REQUEST_FAILED" + member -> { Vapi::Types::ToolMessageDelayed }, key: "REQUEST_RESPONSE_DELAYED" + end + end +end diff --git a/lib/vapi/types/create_tool_draft_dto_method.rb b/lib/vapi/types/create_tool_draft_dto_method.rb new file mode 100644 index 00000000..7ab217bb --- /dev/null +++ b/lib/vapi/types/create_tool_draft_dto_method.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateToolDraftDtoMethod + extend Vapi::Internal::Types::Enum + + POST = "POST" + GET = "GET" + PUT = "PUT" + PATCH = "PATCH" + DELETE = "DELETE" + end + end +end diff --git a/lib/vapi/types/create_tool_draft_dto_type.rb b/lib/vapi/types/create_tool_draft_dto_type.rb new file mode 100644 index 00000000..1affdf79 --- /dev/null +++ b/lib/vapi/types/create_tool_draft_dto_type.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateToolDraftDtoType + extend Vapi::Internal::Types::Enum + + DTMF = "dtmf" + END_CALL = "endCall" + TRANSFER_CALL = "transferCall" + TRANSFER_CANCEL = "transferCancel" + TRANSFER_SUCCESSFUL = "transferSuccessful" + HANDOFF = "handoff" + OUTPUT = "output" + VOICEMAIL = "voicemail" + QUERY = "query" + SMS = "sms" + SIP_REQUEST = "sipRequest" + FUNCTION = "function" + MCP = "mcp" + API_REQUEST = "apiRequest" + CODE = "code" + BASH = "bash" + COMPUTER = "computer" + TEXT_EDITOR = "textEditor" + GOOGLE_CALENDAR_EVENT_CREATE = "google.calendar.event.create" + GOOGLE_CALENDAR_AVAILABILITY_CHECK = "google.calendar.availability.check" + GOOGLE_SHEETS_ROW_APPEND = "google.sheets.row.append" + SLACK_MESSAGE_SEND = "slack.message.send" + GOHIGHLEVEL_CALENDAR_EVENT_CREATE = "gohighlevel.calendar.event.create" + GOHIGHLEVEL_CALENDAR_AVAILABILITY_CHECK = "gohighlevel.calendar.availability.check" + GOHIGHLEVEL_CONTACT_CREATE = "gohighlevel.contact.create" + GOHIGHLEVEL_CONTACT_GET = "gohighlevel.contact.get" + MAKE = "make" + GHL = "ghl" + end + end +end diff --git a/lib/vapi/types/create_tool_draft_dto_verb.rb b/lib/vapi/types/create_tool_draft_dto_verb.rb new file mode 100644 index 00000000..68edacc2 --- /dev/null +++ b/lib/vapi/types/create_tool_draft_dto_verb.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CreateToolDraftDtoVerb + extend Vapi::Internal::Types::Enum + + INFO = "INFO" + MESSAGE = "MESSAGE" + NOTIFY = "NOTIFY" + end + end +end diff --git a/lib/vapi/types/create_transfer_call_tool_dto.rb b/lib/vapi/types/create_transfer_call_tool_dto.rb index efb41e54..65c54c33 100644 --- a/lib/vapi/types/create_transfer_call_tool_dto.rb +++ b/lib/vapi/types/create_transfer_call_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a tool that transfers the active call to one of its configured destinations. class CreateTransferCallToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateTransferCallToolDtoMessagesItem] }, optional: true, nullable: false field :destinations, -> { Internal::Types::Array[Vapi::Types::CreateTransferCallToolDtoDestinationsItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_trieve_credential_dto.rb b/lib/vapi/types/create_trieve_credential_dto.rb index 3fa091c7..c78d899f 100644 --- a/lib/vapi/types/create_trieve_credential_dto.rb +++ b/lib/vapi/types/create_trieve_credential_dto.rb @@ -2,9 +2,9 @@ module Vapi module Types + # Credentials for authenticating knowledge-base requests with Trieve. class CreateTrieveCredentialDto < Internal::Types::Model - field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" - field :name, -> { String }, optional: true, nullable: false + field :provider, -> { Object }, optional: true, nullable: false end end end diff --git a/lib/vapi/types/create_trieve_knowledge_base_dto.rb b/lib/vapi/types/create_trieve_knowledge_base_dto.rb index 4fdb365c..07830b2a 100644 --- a/lib/vapi/types/create_trieve_knowledge_base_dto.rb +++ b/lib/vapi/types/create_trieve_knowledge_base_dto.rb @@ -2,11 +2,22 @@ module Vapi module Types - class CreateTrieveKnowledgeBaseDto < Internal::Types::Model - field :provider, -> { Vapi::Types::CreateTrieveKnowledgeBaseDtoProvider }, optional: false, nullable: false - field :name, -> { String }, optional: true, nullable: false - field :search_plan, -> { Vapi::Types::TrieveKnowledgeBaseSearchPlan }, optional: true, nullable: false, api_name: "searchPlan" - field :create_plan, -> { Vapi::Types::TrieveKnowledgeBaseImport }, optional: true, nullable: false, api_name: "createPlan" + module CreateTrieveKnowledgeBaseDto + # CreateTrieveKnowledgeBaseDto is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end end end end diff --git a/lib/vapi/types/create_twilio_credential_dto.rb b/lib/vapi/types/create_twilio_credential_dto.rb index 2fb39bcf..e1bca09d 100644 --- a/lib/vapi/types/create_twilio_credential_dto.rb +++ b/lib/vapi/types/create_twilio_credential_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Credentials for authenticating telephony requests with Twilio using an account SID and either an auth token or API + # key credentials. class CreateTwilioCredentialDto < Internal::Types::Model field :auth_token, -> { String }, optional: true, nullable: false, api_name: "authToken" field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/create_twilio_phone_number_dto.rb b/lib/vapi/types/create_twilio_phone_number_dto.rb index 7ccad504..2c40d85e 100644 --- a/lib/vapi/types/create_twilio_phone_number_dto.rb +++ b/lib/vapi/types/create_twilio_phone_number_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to import a Twilio phone number into Vapi with its account credentials and routing settings. class CreateTwilioPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::CreateTwilioPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateTwilioPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_vapi_phone_number_dto.rb b/lib/vapi/types/create_vapi_phone_number_dto.rb index f11be109..f1ff94ee 100644 --- a/lib/vapi/types/create_vapi_phone_number_dto.rb +++ b/lib/vapi/types/create_vapi_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration used to provision a Vapi-managed phone number or connect a SIP URI, with optional routing and + # authentication settings. class CreateVapiPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::CreateVapiPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateVapiPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_voicemail_tool_dto.rb b/lib/vapi/types/create_voicemail_tool_dto.rb index d2303741..6f319827 100644 --- a/lib/vapi/types/create_voicemail_tool_dto.rb +++ b/lib/vapi/types/create_voicemail_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to create a voicemail-detection tool with optional beep detection for supported calls. class CreateVoicemailToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::CreateVoicemailToolDtoMessagesItem] }, optional: true, nullable: false field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" diff --git a/lib/vapi/types/create_vonage_credential_dto.rb b/lib/vapi/types/create_vonage_credential_dto.rb index b1cd14da..9cb95d9b 100644 --- a/lib/vapi/types/create_vonage_credential_dto.rb +++ b/lib/vapi/types/create_vonage_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating telephony requests with Vonage. class CreateVonageCredentialDto < Internal::Types::Model field :api_secret, -> { String }, optional: false, nullable: false, api_name: "apiSecret" field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/create_vonage_phone_number_dto.rb b/lib/vapi/types/create_vonage_phone_number_dto.rb index ccafdf75..9ca252f2 100644 --- a/lib/vapi/types/create_vonage_phone_number_dto.rb +++ b/lib/vapi/types/create_vonage_phone_number_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration used to import a Vonage phone number into Vapi with a stored credential and routing settings. class CreateVonagePhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::CreateVonagePhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::CreateVonagePhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/create_web_call_dto.rb b/lib/vapi/types/create_web_call_dto.rb index 0287f104..f9cad240 100644 --- a/lib/vapi/types/create_web_call_dto.rb +++ b/lib/vapi/types/create_web_call_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class CreateWebCallDto < Internal::Types::Model + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :room_delete_on_user_leave_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "roomDeleteOnUserLeaveEnabled" field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false diff --git a/lib/vapi/types/create_well_said_credential_dto.rb b/lib/vapi/types/create_well_said_credential_dto.rb index c94e0176..27a1269d 100644 --- a/lib/vapi/types/create_well_said_credential_dto.rb +++ b/lib/vapi/types/create_well_said_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating voice synthesis requests with WellSaid. class CreateWellSaidCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/create_workflow_dto.rb b/lib/vapi/types/create_workflow_dto.rb index de82d4db..6ae7894b 100644 --- a/lib/vapi/types/create_workflow_dto.rb +++ b/lib/vapi/types/create_workflow_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for creating a graph-based workflow, including conversation and tool nodes, directed edges, global + # prompts, shared providers, hooks, credentials, and call behavior. class CreateWorkflowDto < Internal::Types::Model field :nodes, -> { Internal::Types::Array[Vapi::Types::CreateWorkflowDtoNodesItem] }, optional: false, nullable: false field :model, -> { Vapi::Types::CreateWorkflowDtoModel }, optional: true, nullable: false diff --git a/lib/vapi/types/create_workflow_dto_credentials_item.rb b/lib/vapi/types/create_workflow_dto_credentials_item.rb index 0a6064f4..07ca28c7 100644 --- a/lib/vapi/types/create_workflow_dto_credentials_item.rb +++ b/lib/vapi/types/create_workflow_dto_credentials_item.rb @@ -38,6 +38,7 @@ class CreateWorkflowDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class CreateWorkflowDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/create_workflow_dto_transcriber.rb b/lib/vapi/types/create_workflow_dto_transcriber.rb index 297e532b..79c9dd03 100644 --- a/lib/vapi/types/create_workflow_dto_transcriber.rb +++ b/lib/vapi/types/create_workflow_dto_transcriber.rb @@ -22,6 +22,8 @@ class CreateWorkflowDtoTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/create_workflow_dto_voice.rb b/lib/vapi/types/create_workflow_dto_voice.rb index 2b5ee1fb..a02f7381 100644 --- a/lib/vapi/types/create_workflow_dto_voice.rb +++ b/lib/vapi/types/create_workflow_dto_voice.rb @@ -28,6 +28,8 @@ class CreateWorkflowDtoVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/create_x_ai_credential_dto.rb b/lib/vapi/types/create_x_ai_credential_dto.rb index 134b933a..1752b4a1 100644 --- a/lib/vapi/types/create_x_ai_credential_dto.rb +++ b/lib/vapi/types/create_x_ai_credential_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials for authenticating assistant model requests with xAI. class CreateXAiCredentialDto < Internal::Types::Model field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/custom_endpointing_model_smart_endpointing_plan.rb b/lib/vapi/types/custom_endpointing_model_smart_endpointing_plan.rb index 5ad61f46..8c4b814f 100644 --- a/lib/vapi/types/custom_endpointing_model_smart_endpointing_plan.rb +++ b/lib/vapi/types/custom_endpointing_model_smart_endpointing_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for using a custom endpointing model, including its provider identifier and server connection. class CustomEndpointingModelSmartEndpointingPlan < Internal::Types::Model field :provider, -> { Vapi::Types::CustomEndpointingModelSmartEndpointingPlanProvider }, optional: false, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/custom_llm_model.rb b/lib/vapi/types/custom_llm_model.rb index c5f0b198..9d2bb62d 100644 --- a/lib/vapi/types/custom_llm_model.rb +++ b/lib/vapi/types/custom_llm_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses through a custom language model endpoint, including server URL, + # headers, metadata, prompts, tools, and generation settings. class CustomLlmModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::CustomLlmModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :metadata_send_mode, -> { Vapi::Types::CustomLlmModelMetadataSendMode }, optional: true, nullable: false, api_name: "metadataSendMode" field :headers, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false diff --git a/lib/vapi/types/custom_message.rb b/lib/vapi/types/custom_message.rb index b61955ac..67fb2a44 100644 --- a/lib/vapi/types/custom_message.rb +++ b/lib/vapi/types/custom_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A message spoken by the assistant with optional language-specific content variants. class CustomMessage < Internal::Types::Model field :contents, -> { Internal::Types::Array[Vapi::Types::TextContent] }, optional: true, nullable: false field :type, -> { Vapi::Types::CustomMessageType }, optional: false, nullable: false diff --git a/lib/vapi/types/custom_transcriber.rb b/lib/vapi/types/custom_transcriber.rb index 238b582a..3d2594d4 100644 --- a/lib/vapi/types/custom_transcriber.rb +++ b/lib/vapi/types/custom_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for sending conversation audio to a custom WebSocket transcription server. class CustomTranscriber < Internal::Types::Model field :server, -> { Vapi::Types::Server }, optional: false, nullable: false field :fallback_plan, -> { Vapi::Types::FallbackTranscriberPlan }, optional: true, nullable: false, api_name: "fallbackPlan" diff --git a/lib/vapi/types/custom_voice.rb b/lib/vapi/types/custom_voice.rb index 38a53cd8..28296f79 100644 --- a/lib/vapi/types/custom_voice.rb +++ b/lib/vapi/types/custom_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech through a custom server, including voice selection, server + # connection, chunking, caching, and fallback settings. class CustomVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: true, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/customer_custom_endpointing_rule.rb b/lib/vapi/types/customer_custom_endpointing_rule.rb index 86337f9f..d900bd04 100644 --- a/lib/vapi/types/customer_custom_endpointing_rule.rb +++ b/lib/vapi/types/customer_custom_endpointing_rule.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A custom endpointing rule that matches the customer's current speech and applies a configured timeout. class CustomerCustomEndpointingRule < Internal::Types::Model field :regex, -> { String }, optional: false, nullable: false field :regex_options, -> { Internal::Types::Array[Vapi::Types::RegexOption] }, optional: true, nullable: false, api_name: "regexOptions" diff --git a/lib/vapi/types/customer_speech_timeout_options.rb b/lib/vapi/types/customer_speech_timeout_options.rb index 2014c08c..e39fa350 100644 --- a/lib/vapi/types/customer_speech_timeout_options.rb +++ b/lib/vapi/types/customer_speech_timeout_options.rb @@ -2,10 +2,11 @@ module Vapi module Types + # Controls how long a hook waits for customer speech, how often it can trigger, and when its trigger counter resets. class CustomerSpeechTimeoutOptions < Internal::Types::Model + field :trigger_reset_mode, -> { Vapi::Types::CustomerSpeechTimeoutOptionsTriggerResetMode }, optional: true, nullable: false, api_name: "triggerResetMode" field :timeout_seconds, -> { Integer }, optional: false, nullable: false, api_name: "timeoutSeconds" field :trigger_max_count, -> { Integer }, optional: true, nullable: false, api_name: "triggerMaxCount" - field :trigger_reset_mode, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "triggerResetMode" end end end diff --git a/lib/vapi/types/customer_speech_timeout_options_trigger_reset_mode.rb b/lib/vapi/types/customer_speech_timeout_options_trigger_reset_mode.rb new file mode 100644 index 00000000..a6a31210 --- /dev/null +++ b/lib/vapi/types/customer_speech_timeout_options_trigger_reset_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module CustomerSpeechTimeoutOptionsTriggerResetMode + extend Vapi::Internal::Types::Enum + + ON_USER_SPEECH = "onUserSpeech" + NEVER = "never" + end + end +end diff --git a/lib/vapi/types/deep_infra_model.rb b/lib/vapi/types/deep_infra_model.rb index 442234c9..0c509d09 100644 --- a/lib/vapi/types/deep_infra_model.rb +++ b/lib/vapi/types/deep_infra_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with DeepInfra, including model, prompts, tools, knowledge-base + # access, and generation settings. class DeepInfraModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::DeepInfraModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/deep_seek_model.rb b/lib/vapi/types/deep_seek_model.rb index d2864cd7..61cecc00 100644 --- a/lib/vapi/types/deep_seek_model.rb +++ b/lib/vapi/types/deep_seek_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with DeepSeek, including model, prompts, tools, knowledge-base + # access, and generation settings. class DeepSeekModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::DeepSeekModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::DeepSeekModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/deepgram_transcriber.rb b/lib/vapi/types/deepgram_transcriber.rb index 433e04e3..db114ffc 100644 --- a/lib/vapi/types/deepgram_transcriber.rb +++ b/lib/vapi/types/deepgram_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Deepgram, including model, language, + # formatting, endpointing, vocabulary, and fallback settings. class DeepgramTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::DeepgramTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::DeepgramTranscriberLanguage }, optional: true, nullable: false @@ -9,10 +11,11 @@ class DeepgramTranscriber < Internal::Types::Model field :mip_opt_out, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "mipOptOut" field :numerals, -> { Internal::Types::Boolean }, optional: true, nullable: false field :profanity_filter, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "profanityFilter" + field :redaction, -> { Internal::Types::Array[Vapi::Types::DeepgramTranscriberRedactionItem] }, optional: true, nullable: false field :confidence_threshold, -> { Integer }, optional: true, nullable: false, api_name: "confidenceThreshold" - field :eager_eot_threshold, -> { Integer }, optional: true, nullable: false, api_name: "eagerEotThreshold" field :eot_threshold, -> { Integer }, optional: true, nullable: false, api_name: "eotThreshold" field :eot_timeout_ms, -> { Integer }, optional: true, nullable: false, api_name: "eotTimeoutMs" + field :languages, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :keyterm, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :endpointing, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/deepgram_transcriber_redaction_item.rb b/lib/vapi/types/deepgram_transcriber_redaction_item.rb new file mode 100644 index 00000000..aba3da2a --- /dev/null +++ b/lib/vapi/types/deepgram_transcriber_redaction_item.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + module DeepgramTranscriberRedactionItem + extend Vapi::Internal::Types::Enum + + PCI = "pci" + PII = "pii" + PHI = "phi" + NUMBERS = "numbers" + end + end +end diff --git a/lib/vapi/types/deepgram_voice.rb b/lib/vapi/types/deepgram_voice.rb index 444bacbe..1784f432 100644 --- a/lib/vapi/types/deepgram_voice.rb +++ b/lib/vapi/types/deepgram_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Deepgram, including voice and model selection, + # model-improvement preferences, chunking, caching, and fallback settings. class DeepgramVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::DeepgramVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/deepgram_voice_id.rb b/lib/vapi/types/deepgram_voice_id.rb index 84d8f394..ed0335aa 100644 --- a/lib/vapi/types/deepgram_voice_id.rb +++ b/lib/vapi/types/deepgram_voice_id.rb @@ -60,6 +60,13 @@ module DeepgramVoiceId AQUILA = "aquila" SELENA = "selena" JAVIER = "javier" + VIKTORIA = "viktoria" + KARA = "kara" + FABIAN = "fabian" + JULIUS = "julius" + LARA = "lara" + ELARA = "elara" + AURELIA = "aurelia" end end end diff --git a/lib/vapi/types/developer_message.rb b/lib/vapi/types/developer_message.rb index 3a9aebe8..0b00c2bb 100644 --- a/lib/vapi/types/developer_message.rb +++ b/lib/vapi/types/developer_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A developer-authored instruction message supplied to the language model. class DeveloperMessage < Internal::Types::Model field :role, -> { Vapi::Types::DeveloperMessageRole }, optional: false, nullable: false field :content, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/dial_plan_entry.rb b/lib/vapi/types/dial_plan_entry.rb index 8c4a9c66..7095d7a0 100644 --- a/lib/vapi/types/dial_plan_entry.rb +++ b/lib/vapi/types/dial_plan_entry.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Associates a phone number with the customers to dial through that number in a batch call plan. class DialPlanEntry < Internal::Types::Model field :phone_number_id, -> { String }, optional: false, nullable: false, api_name: "phoneNumberId" field :customers, -> { Internal::Types::Array[Vapi::Types::CreateCustomerDto] }, optional: false, nullable: false diff --git a/lib/vapi/types/dtmf_tool.rb b/lib/vapi/types/dtmf_tool.rb index e5c9d265..cdae519d 100644 --- a/lib/vapi/types/dtmf_tool.rb +++ b/lib/vapi/types/dtmf_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that lets an assistant send DTMF keypad tones during a call. class DtmfTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::DtmfToolMessagesItem] }, optional: true, nullable: false field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/edge.rb b/lib/vapi/types/edge.rb index 73bada15..20572008 100644 --- a/lib/vapi/types/edge.rb +++ b/lib/vapi/types/edge.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A directed connection between two workflow nodes, with an optional AI-evaluated transition condition. class Edge < Internal::Types::Model field :condition, -> { Vapi::Types::AiEdgeCondition }, optional: true, nullable: false field :from, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/eleven_labs_credential.rb b/lib/vapi/types/eleven_labs_credential.rb index f082c155..33769e70 100644 --- a/lib/vapi/types/eleven_labs_credential.rb +++ b/lib/vapi/types/eleven_labs_credential.rb @@ -5,6 +5,7 @@ module Types class ElevenLabsCredential < Internal::Types::Model field :provider, -> { String }, optional: false, nullable: false field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :api_url, -> { Vapi::Types::ElevenLabsCredentialApiUrl }, optional: true, nullable: false, api_name: "apiUrl" field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" diff --git a/lib/vapi/types/eleven_labs_credential_api_url.rb b/lib/vapi/types/eleven_labs_credential_api_url.rb new file mode 100644 index 00000000..e682a49a --- /dev/null +++ b/lib/vapi/types/eleven_labs_credential_api_url.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ElevenLabsCredentialApiUrl + extend Vapi::Internal::Types::Enum + + HTTPS_API_ELEVENLABS_IO = "https://api.elevenlabs.io" + HTTPS_API_EU_RESIDENCY_ELEVENLABS_IO = "https://api.eu.residency.elevenlabs.io" + end + end +end diff --git a/lib/vapi/types/eleven_labs_pronunciation_dictionary_locator.rb b/lib/vapi/types/eleven_labs_pronunciation_dictionary_locator.rb index f26d045e..b4e943c0 100644 --- a/lib/vapi/types/eleven_labs_pronunciation_dictionary_locator.rb +++ b/lib/vapi/types/eleven_labs_pronunciation_dictionary_locator.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Identifies a specific version of an ElevenLabs pronunciation dictionary. class ElevenLabsPronunciationDictionaryLocator < Internal::Types::Model field :pronunciation_dictionary_id, -> { String }, optional: false, nullable: false, api_name: "pronunciationDictionaryId" field :version_id, -> { String }, optional: false, nullable: false, api_name: "versionId" diff --git a/lib/vapi/types/eleven_labs_transcriber.rb b/lib/vapi/types/eleven_labs_transcriber.rb index b70c84a6..ee7bc9ca 100644 --- a/lib/vapi/types/eleven_labs_transcriber.rb +++ b/lib/vapi/types/eleven_labs_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with ElevenLabs, including model, language, + # speech thresholds, and fallback settings. class ElevenLabsTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::ElevenLabsTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::ElevenLabsTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/eleven_labs_voice.rb b/lib/vapi/types/eleven_labs_voice.rb index d6dcf371..51fe71db 100644 --- a/lib/vapi/types/eleven_labs_voice.rb +++ b/lib/vapi/types/eleven_labs_voice.rb @@ -2,6 +2,9 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with ElevenLabs, including voice and model selection, language, + # voice tuning, streaming, Speech Synthesis Markup Language parsing, pronunciation dictionaries, chunking, caching, + # and fallback settings. class ElevenLabsVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::ElevenLabsVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/end_call_tool.rb b/lib/vapi/types/end_call_tool.rb index 66ff5f8f..1abe5142 100644 --- a/lib/vapi/types/end_call_tool.rb +++ b/lib/vapi/types/end_call_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that lets an assistant end the active call. class EndCallTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::EndCallToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/ended_reason_condition.rb b/lib/vapi/types/ended_reason_condition.rb new file mode 100644 index 00000000..203d7159 --- /dev/null +++ b/lib/vapi/types/ended_reason_condition.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class EndedReasonCondition < Internal::Types::Model + field :operator, -> { Vapi::Types::EndedReasonConditionOperator }, optional: false, nullable: false + field :values, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/ended_reason_condition_operator.rb b/lib/vapi/types/ended_reason_condition_operator.rb new file mode 100644 index 00000000..7fafb396 --- /dev/null +++ b/lib/vapi/types/ended_reason_condition_operator.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module EndedReasonConditionOperator + extend Vapi::Internal::Types::Enum + + ONE_OF = "oneOf" + NOT_ONE_OF = "notOneOf" + end + end +end diff --git a/lib/vapi/types/eval.rb b/lib/vapi/types/eval.rb index bdde018e..e3da1451 100644 --- a/lib/vapi/types/eval.rb +++ b/lib/vapi/types/eval.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved eval definition containing its mock conversation, checkpoints, descriptive metadata, type, and lifecycle + # information. class Eval < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::EvalMessagesItem] }, optional: false, nullable: false field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/eval_anthropic_model.rb b/lib/vapi/types/eval_anthropic_model.rb index 0d3f2718..1cf4f87e 100644 --- a/lib/vapi/types/eval_anthropic_model.rb +++ b/lib/vapi/types/eval_anthropic_model.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Anthropic model configuration for an LLM judge, including its messages, generation settings, and optional extended + # thinking. class EvalAnthropicModel < Internal::Types::Model field :model, -> { Vapi::Types::EvalAnthropicModelModel }, optional: false, nullable: false field :thinking, -> { Vapi::Types::AnthropicThinkingConfig }, optional: true, nullable: false diff --git a/lib/vapi/types/eval_anthropic_model_model.rb b/lib/vapi/types/eval_anthropic_model_model.rb index a3ce204a..51fdb643 100644 --- a/lib/vapi/types/eval_anthropic_model_model.rb +++ b/lib/vapi/types/eval_anthropic_model_model.rb @@ -18,6 +18,7 @@ module EvalAnthropicModelModel CLAUDE_SONNET_420250514 = "claude-sonnet-4-20250514" CLAUDE_SONNET_4520250929 = "claude-sonnet-4-5-20250929" CLAUDE_SONNET_46 = "claude-sonnet-4-6" + CLAUDE_SONNET_5 = "claude-sonnet-5" CLAUDE_HAIKU_4520251001 = "claude-haiku-4-5-20251001" end end diff --git a/lib/vapi/types/eval_custom_model.rb b/lib/vapi/types/eval_custom_model.rb index 37a1020d..b56d63e9 100644 --- a/lib/vapi/types/eval_custom_model.rb +++ b/lib/vapi/types/eval_custom_model.rb @@ -2,6 +2,8 @@ module Vapi module Types + # OpenAI-compatible custom model configuration for an LLM judge, including its endpoint, headers, messages, and + # generation settings. class EvalCustomModel < Internal::Types::Model field :url, -> { String }, optional: false, nullable: false field :headers, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/eval_google_model.rb b/lib/vapi/types/eval_google_model.rb index ca65ccc5..6be4cd93 100644 --- a/lib/vapi/types/eval_google_model.rb +++ b/lib/vapi/types/eval_google_model.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Google model configuration for an LLM judge, including its messages and generation settings. class EvalGoogleModel < Internal::Types::Model field :model, -> { Vapi::Types::EvalGoogleModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/eval_google_model_model.rb b/lib/vapi/types/eval_google_model_model.rb index 5e956d26..68f634a2 100644 --- a/lib/vapi/types/eval_google_model_model.rb +++ b/lib/vapi/types/eval_google_model_model.rb @@ -5,6 +5,8 @@ module Types module EvalGoogleModelModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/eval_groq_model_model.rb b/lib/vapi/types/eval_groq_model_model.rb index 64c262b5..eff3dc0b 100644 --- a/lib/vapi/types/eval_groq_model_model.rb +++ b/lib/vapi/types/eval_groq_model_model.rb @@ -15,7 +15,6 @@ module EvalGroqModelModel LLAMA_370_B_8192 = "llama3-70b-8192" GEMMA_29_B_IT = "gemma2-9b-it" MOONSHOTAI_KIMI_K_2_INSTRUCT_0905 = "moonshotai/kimi-k2-instruct-0905" - META_LLAMA_LLAMA_4_MAVERICK_17_B_128_E_INSTRUCT = "meta-llama/llama-4-maverick-17b-128e-instruct" META_LLAMA_LLAMA_4_SCOUT_17_B_16_E_INSTRUCT = "meta-llama/llama-4-scout-17b-16e-instruct" MISTRAL_SABA_24_B = "mistral-saba-24b" COMPOUND_BETA = "compound-beta" diff --git a/lib/vapi/types/eval_open_ai_model.rb b/lib/vapi/types/eval_open_ai_model.rb index 19a6ca9e..24890f7e 100644 --- a/lib/vapi/types/eval_open_ai_model.rb +++ b/lib/vapi/types/eval_open_ai_model.rb @@ -2,6 +2,7 @@ module Vapi module Types + # OpenAI model configuration for an LLM judge, including its messages and generation settings. class EvalOpenAiModel < Internal::Types::Model field :model, -> { Vapi::Types::EvalOpenAiModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/eval_open_ai_model_model.rb b/lib/vapi/types/eval_open_ai_model_model.rb index cf88e3fe..57c1fb95 100644 --- a/lib/vapi/types/eval_open_ai_model_model.rb +++ b/lib/vapi/types/eval_open_ai_model_model.rb @@ -5,6 +5,11 @@ module Types module EvalOpenAiModelModel extend Vapi::Internal::Types::Enum + GPT_56_SOL = "gpt-5.6-sol" + GPT_56_TERRA = "gpt-5.6-terra" + GPT_56_LUNA = "gpt-5.6-luna" + GPT_55 = "gpt-5.5" + CHAT_LATEST = "chat-latest" GPT_54 = "gpt-5.4" GPT_54_MINI = "gpt-5.4-mini" GPT_54_NANO = "gpt-5.4-nano" @@ -118,6 +123,9 @@ module EvalOpenAiModelModel GPT_35_TURBO_0125_SOUTHCENTRALUS = "gpt-3.5-turbo-0125:southcentralus" GPT_35_TURBO_1106_CANADAEAST = "gpt-3.5-turbo-1106:canadaeast" GPT_35_TURBO_1106_WESTUS = "gpt-3.5-turbo-1106:westus" + GPT_41_AUSTRALIAEAST = "gpt-4.1:australiaeast" + GPT_4_O_AUSTRALIAEAST = "gpt-4o:australiaeast" + GPT_54_MINI_AUSTRALIAEAST = "gpt-5.4-mini:australiaeast" end end end diff --git a/lib/vapi/types/eval_paginated_response.rb b/lib/vapi/types/eval_paginated_response.rb index 05a08218..1ee73b54 100644 --- a/lib/vapi/types/eval_paginated_response.rb +++ b/lib/vapi/types/eval_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of saved eval definitions and metadata describing the result set. class EvalPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::Eval] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/eval_run.rb b/lib/vapi/types/eval_run.rb index 76522f95..51fb237d 100644 --- a/lib/vapi/types/eval_run.rb +++ b/lib/vapi/types/eval_run.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A record of an eval execution, including its target, status, results, costs, completion details, and lifecycle + # timestamps. class EvalRun < Internal::Types::Model field :status, -> { Vapi::Types::EvalRunStatus }, optional: false, nullable: false field :ended_reason, -> { Vapi::Types::EvalRunEndedReason }, optional: false, nullable: false, api_name: "endedReason" diff --git a/lib/vapi/types/eval_run_paginated_response.rb b/lib/vapi/types/eval_run_paginated_response.rb index fbfba098..d2d990b7 100644 --- a/lib/vapi/types/eval_run_paginated_response.rb +++ b/lib/vapi/types/eval_run_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of eval runs and metadata describing the result set. class EvalRunPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::EvalRun] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/eval_run_result.rb b/lib/vapi/types/eval_run_result.rb index e504c6bd..0ecbbc18 100644 --- a/lib/vapi/types/eval_run_result.rb +++ b/lib/vapi/types/eval_run_result.rb @@ -2,6 +2,7 @@ module Vapi module Types + # The pass or fail result of an evaluation run, including its conversation messages and timing. class EvalRunResult < Internal::Types::Model field :status, -> { Vapi::Types::EvalRunResultStatus }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::EvalRunResultMessagesItem] }, optional: false, nullable: false diff --git a/lib/vapi/types/eval_run_target_assistant.rb b/lib/vapi/types/eval_run_target_assistant.rb index 47a8d32e..e3aad741 100644 --- a/lib/vapi/types/eval_run_target_assistant.rb +++ b/lib/vapi/types/eval_run_target_assistant.rb @@ -2,6 +2,8 @@ module Vapi module Types + # An assistant evaluation target provided as a saved assistant ID or a transient assistant, with optional assistant + # overrides. class EvalRunTargetAssistant < Internal::Types::Model field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" diff --git a/lib/vapi/types/eval_run_target_squad.rb b/lib/vapi/types/eval_run_target_squad.rb index c46a45a5..9006c8a6 100644 --- a/lib/vapi/types/eval_run_target_squad.rb +++ b/lib/vapi/types/eval_run_target_squad.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A squad evaluation target provided as a saved squad ID or a transient squad, with optional assistant overrides. class EvalRunTargetSquad < Internal::Types::Model field :squad, -> { Vapi::Types::CreateSquadDto }, optional: true, nullable: false field :assistant_overrides, -> { Vapi::Types::AssistantOverrides }, optional: true, nullable: false, api_name: "assistantOverrides" diff --git a/lib/vapi/types/evaluation_plan_item.rb b/lib/vapi/types/evaluation_plan_item.rb index 12857c7b..61b029e9 100644 --- a/lib/vapi/types/evaluation_plan_item.rb +++ b/lib/vapi/types/evaluation_plan_item.rb @@ -5,6 +5,7 @@ module Types class EvaluationPlanItem < Internal::Types::Model field :structured_output_id, -> { String }, optional: true, nullable: false, api_name: "structuredOutputId" field :structured_output, -> { Vapi::Types::CreateStructuredOutputDto }, optional: true, nullable: false, api_name: "structuredOutput" + field :path, -> { String }, optional: true, nullable: false field :comparator, -> { Vapi::Types::EvaluationPlanItemComparator }, optional: false, nullable: false field :value, -> { Vapi::Types::EvaluationPlanItemValue }, optional: false, nullable: false field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/events_table_boolean_condition.rb b/lib/vapi/types/events_table_boolean_condition.rb index 065d9479..d78ad617 100644 --- a/lib/vapi/types/events_table_boolean_condition.rb +++ b/lib/vapi/types/events_table_boolean_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters event data by comparing a boolean field with an expected value. class EventsTableBooleanCondition < Internal::Types::Model field :column, -> { String }, optional: false, nullable: false field :operator, -> { Vapi::Types::EventsTableBooleanConditionOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/events_table_number_condition.rb b/lib/vapi/types/events_table_number_condition.rb index ee5f1506..72f4cfe3 100644 --- a/lib/vapi/types/events_table_number_condition.rb +++ b/lib/vapi/types/events_table_number_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters event data by comparing a numeric field with a value. class EventsTableNumberCondition < Internal::Types::Model field :column, -> { String }, optional: false, nullable: false field :operator, -> { Vapi::Types::EventsTableNumberConditionOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/events_table_string_condition.rb b/lib/vapi/types/events_table_string_condition.rb index 866d9c66..f7c80a2b 100644 --- a/lib/vapi/types/events_table_string_condition.rb +++ b/lib/vapi/types/events_table_string_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters event data by comparing or searching a string field. class EventsTableStringCondition < Internal::Types::Model field :column, -> { String }, optional: false, nullable: false field :operator, -> { Vapi::Types::EventsTableStringConditionOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/exact_replacement.rb b/lib/vapi/types/exact_replacement.rb index 8af0d3af..3a352897 100644 --- a/lib/vapi/types/exact_replacement.rb +++ b/lib/vapi/types/exact_replacement.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Replaces an exact word or phrase before text is sent to a voice provider. class ExactReplacement < Internal::Types::Model field :replace_all_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "replaceAllEnabled" field :key, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/export_chat_dto.rb b/lib/vapi/types/export_chat_dto.rb index 337b5647..b99c1175 100644 --- a/lib/vapi/types/export_chat_dto.rb +++ b/lib/vapi/types/export_chat_dto.rb @@ -14,6 +14,7 @@ class ExportChatDto < Internal::Types::Model field :format, -> { Vapi::Types::ExportChatDtoFormat }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::ExportChatDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::ExportChatDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/export_chat_dto_sort_by.rb b/lib/vapi/types/export_chat_dto_sort_by.rb new file mode 100644 index 00000000..9ecf8eb9 --- /dev/null +++ b/lib/vapi/types/export_chat_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ExportChatDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/export_session_dto.rb b/lib/vapi/types/export_session_dto.rb index 5e0dd5c0..4230585c 100644 --- a/lib/vapi/types/export_session_dto.rb +++ b/lib/vapi/types/export_session_dto.rb @@ -18,6 +18,7 @@ class ExportSessionDto < Internal::Types::Model field :phone_number_id_any, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "phoneNumberIdAny" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::ExportSessionDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::ExportSessionDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/export_session_dto_sort_by.rb b/lib/vapi/types/export_session_dto_sort_by.rb new file mode 100644 index 00000000..70c35ac0 --- /dev/null +++ b/lib/vapi/types/export_session_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ExportSessionDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/fallback_assembly_ai_transcriber.rb b/lib/vapi/types/fallback_assembly_ai_transcriber.rb index c87534d2..e73398ab 100644 --- a/lib/vapi/types/fallback_assembly_ai_transcriber.rb +++ b/lib/vapi/types/fallback_assembly_ai_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for transcribing speech with AssemblyAI, including language, streaming model, endpointing, + # and vocabulary. class FallbackAssemblyAiTranscriber < Internal::Types::Model field :language, -> { Vapi::Types::FallbackAssemblyAiTranscriberLanguage }, optional: true, nullable: false field :confidence_threshold, -> { Integer }, optional: true, nullable: false, api_name: "confidenceThreshold" diff --git a/lib/vapi/types/fallback_azure_speech_transcriber.rb b/lib/vapi/types/fallback_azure_speech_transcriber.rb index 3a20a1ab..375739ed 100644 --- a/lib/vapi/types/fallback_azure_speech_transcriber.rb +++ b/lib/vapi/types/fallback_azure_speech_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Azure Speech, including language and segmentation. class FallbackAzureSpeechTranscriber < Internal::Types::Model field :language, -> { Vapi::Types::FallbackAzureSpeechTranscriberLanguage }, optional: true, nullable: false field :segmentation_strategy, -> { Vapi::Types::FallbackAzureSpeechTranscriberSegmentationStrategy }, optional: true, nullable: false, api_name: "segmentationStrategy" diff --git a/lib/vapi/types/fallback_azure_voice.rb b/lib/vapi/types/fallback_azure_voice.rb index e2b22864..1b683306 100644 --- a/lib/vapi/types/fallback_azure_voice.rb +++ b/lib/vapi/types/fallback_azure_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Azure, including voice selection, speed, chunking, + # and caching. class FallbackAzureVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackAzureVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_cartesia_transcriber.rb b/lib/vapi/types/fallback_cartesia_transcriber.rb index 7b9d0981..81554296 100644 --- a/lib/vapi/types/fallback_cartesia_transcriber.rb +++ b/lib/vapi/types/fallback_cartesia_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Cartesia, including model and language. class FallbackCartesiaTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackCartesiaTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackCartesiaTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_cartesia_transcriber_model.rb b/lib/vapi/types/fallback_cartesia_transcriber_model.rb index 286a21d6..3fe546cc 100644 --- a/lib/vapi/types/fallback_cartesia_transcriber_model.rb +++ b/lib/vapi/types/fallback_cartesia_transcriber_model.rb @@ -6,6 +6,7 @@ module FallbackCartesiaTranscriberModel extend Vapi::Internal::Types::Enum INK_WHISPER = "ink-whisper" + INK_2 = "ink-2" end end end diff --git a/lib/vapi/types/fallback_cartesia_voice.rb b/lib/vapi/types/fallback_cartesia_voice.rb index 094f66f6..18ccdfbb 100644 --- a/lib/vapi/types/fallback_cartesia_voice.rb +++ b/lib/vapi/types/fallback_cartesia_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Cartesia, including voice and model selection, + # language, generation controls, pronunciation dictionaries, chunking, and caching. class FallbackCartesiaVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_cartesia_voice_model.rb b/lib/vapi/types/fallback_cartesia_voice_model.rb index dc882c93..e89d17e2 100644 --- a/lib/vapi/types/fallback_cartesia_voice_model.rb +++ b/lib/vapi/types/fallback_cartesia_voice_model.rb @@ -5,6 +5,8 @@ module Types module FallbackCartesiaVoiceModel extend Vapi::Internal::Types::Enum + SONIC_35 = "sonic-3.5" + SONIC_3520260504 = "sonic-3.5-2026-05-04" SONIC_3 = "sonic-3" SONIC_320260112 = "sonic-3-2026-01-12" SONIC_320251027 = "sonic-3-2025-10-27" diff --git a/lib/vapi/types/fallback_custom_transcriber.rb b/lib/vapi/types/fallback_custom_transcriber.rb index 9f17ba43..dc89a0f9 100644 --- a/lib/vapi/types/fallback_custom_transcriber.rb +++ b/lib/vapi/types/fallback_custom_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for sending conversation audio to a custom WebSocket transcription server. class FallbackCustomTranscriber < Internal::Types::Model field :server, -> { Vapi::Types::Server }, optional: false, nullable: false end diff --git a/lib/vapi/types/fallback_custom_voice.rb b/lib/vapi/types/fallback_custom_voice.rb index 77fb660a..0cb1b4d9 100644 --- a/lib/vapi/types/fallback_custom_voice.rb +++ b/lib/vapi/types/fallback_custom_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech through a custom server, including voice selection, + # server connection, chunking, and caching. class FallbackCustomVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: true, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_deepgram_transcriber.rb b/lib/vapi/types/fallback_deepgram_transcriber.rb index d597067e..6ea5de3b 100644 --- a/lib/vapi/types/fallback_deepgram_transcriber.rb +++ b/lib/vapi/types/fallback_deepgram_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Deepgram, including model, language, formatting, endpointing, + # and vocabulary. class FallbackDeepgramTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::DeepgramTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::DeepgramTranscriberLanguage }, optional: true, nullable: false @@ -9,10 +11,11 @@ class FallbackDeepgramTranscriber < Internal::Types::Model field :mip_opt_out, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "mipOptOut" field :numerals, -> { Internal::Types::Boolean }, optional: true, nullable: false field :profanity_filter, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "profanityFilter" + field :redaction, -> { Internal::Types::Array[Vapi::Types::FallbackDeepgramTranscriberRedactionItem] }, optional: true, nullable: false field :confidence_threshold, -> { Integer }, optional: true, nullable: false, api_name: "confidenceThreshold" - field :eager_eot_threshold, -> { Integer }, optional: true, nullable: false, api_name: "eagerEotThreshold" field :eot_threshold, -> { Integer }, optional: true, nullable: false, api_name: "eotThreshold" field :eot_timeout_ms, -> { Integer }, optional: true, nullable: false, api_name: "eotTimeoutMs" + field :languages, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :keyterm, -> { Internal::Types::Array[String] }, optional: true, nullable: false field :endpointing, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_deepgram_transcriber_redaction_item.rb b/lib/vapi/types/fallback_deepgram_transcriber_redaction_item.rb new file mode 100644 index 00000000..70d18f61 --- /dev/null +++ b/lib/vapi/types/fallback_deepgram_transcriber_redaction_item.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackDeepgramTranscriberRedactionItem + extend Vapi::Internal::Types::Enum + + PCI = "pci" + PII = "pii" + PHI = "phi" + NUMBERS = "numbers" + end + end +end diff --git a/lib/vapi/types/fallback_deepgram_voice.rb b/lib/vapi/types/fallback_deepgram_voice.rb index acfc896e..f8299995 100644 --- a/lib/vapi/types/fallback_deepgram_voice.rb +++ b/lib/vapi/types/fallback_deepgram_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Deepgram, including voice and model selection, + # model-improvement preferences, chunking, and caching. class FallbackDeepgramVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackDeepgramVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_deepgram_voice_id.rb b/lib/vapi/types/fallback_deepgram_voice_id.rb index 30312e11..d710bf5f 100644 --- a/lib/vapi/types/fallback_deepgram_voice_id.rb +++ b/lib/vapi/types/fallback_deepgram_voice_id.rb @@ -60,6 +60,13 @@ module FallbackDeepgramVoiceId AQUILA = "aquila" SELENA = "selena" JAVIER = "javier" + VIKTORIA = "viktoria" + KARA = "kara" + FABIAN = "fabian" + JULIUS = "julius" + LARA = "lara" + ELARA = "elara" + AURELIA = "aurelia" end end end diff --git a/lib/vapi/types/fallback_eleven_labs_transcriber.rb b/lib/vapi/types/fallback_eleven_labs_transcriber.rb index eeb48679..76895b1c 100644 --- a/lib/vapi/types/fallback_eleven_labs_transcriber.rb +++ b/lib/vapi/types/fallback_eleven_labs_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with ElevenLabs, including model, language, and speech thresholds. class FallbackElevenLabsTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackElevenLabsTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackElevenLabsTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_eleven_labs_voice.rb b/lib/vapi/types/fallback_eleven_labs_voice.rb index 144bfd6d..45d757ae 100644 --- a/lib/vapi/types/fallback_eleven_labs_voice.rb +++ b/lib/vapi/types/fallback_eleven_labs_voice.rb @@ -2,6 +2,9 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with ElevenLabs, including voice and model selection, + # language, voice tuning, streaming, Speech Synthesis Markup Language parsing, pronunciation dictionaries, chunking, + # and caching. class FallbackElevenLabsVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackElevenLabsVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_gladia_transcriber.rb b/lib/vapi/types/fallback_gladia_transcriber.rb index ec14e51f..2a63ce1d 100644 --- a/lib/vapi/types/fallback_gladia_transcriber.rb +++ b/lib/vapi/types/fallback_gladia_transcriber.rb @@ -2,11 +2,13 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Gladia, including language behavior, audio processing, + # endpointing, vocabulary, and region. class FallbackGladiaTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackGladiaTranscriberModel }, optional: true, nullable: false field :language_behaviour, -> { Vapi::Types::FallbackGladiaTranscriberLanguageBehaviour }, optional: true, nullable: false, api_name: "languageBehaviour" field :language, -> { Vapi::Types::FallbackGladiaTranscriberLanguage }, optional: true, nullable: false - field :languages, -> { Vapi::Types::FallbackGladiaTranscriberLanguages }, optional: true, nullable: false + field :languages, -> { Internal::Types::Array[Vapi::Types::FallbackGladiaTranscriberLanguagesItem] }, optional: true, nullable: false field :transcription_hint, -> { String }, optional: true, nullable: false, api_name: "transcriptionHint" field :prosody, -> { Internal::Types::Boolean }, optional: true, nullable: false field :audio_enhancer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "audioEnhancer" diff --git a/lib/vapi/types/fallback_gladia_transcriber_languages.rb b/lib/vapi/types/fallback_gladia_transcriber_languages_item.rb similarity index 97% rename from lib/vapi/types/fallback_gladia_transcriber_languages.rb rename to lib/vapi/types/fallback_gladia_transcriber_languages_item.rb index 06131db2..e732ba14 100644 --- a/lib/vapi/types/fallback_gladia_transcriber_languages.rb +++ b/lib/vapi/types/fallback_gladia_transcriber_languages_item.rb @@ -2,7 +2,7 @@ module Vapi module Types - module FallbackGladiaTranscriberLanguages + module FallbackGladiaTranscriberLanguagesItem extend Vapi::Internal::Types::Enum AF = "af" diff --git a/lib/vapi/types/fallback_google_transcriber.rb b/lib/vapi/types/fallback_google_transcriber.rb index 70ca7b0b..f3128103 100644 --- a/lib/vapi/types/fallback_google_transcriber.rb +++ b/lib/vapi/types/fallback_google_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Google, including model and language. class FallbackGoogleTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackGoogleTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackGoogleTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_google_transcriber_model.rb b/lib/vapi/types/fallback_google_transcriber_model.rb index de9d1d5e..e46fb70a 100644 --- a/lib/vapi/types/fallback_google_transcriber_model.rb +++ b/lib/vapi/types/fallback_google_transcriber_model.rb @@ -5,6 +5,8 @@ module Types module FallbackGoogleTranscriberModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/fallback_hume_voice.rb b/lib/vapi/types/fallback_hume_voice.rb index d1a38477..39bd096c 100644 --- a/lib/vapi/types/fallback_hume_voice.rb +++ b/lib/vapi/types/fallback_hume_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Hume, including model and voice selection, custom + # voice metadata, chunking, and caching. class FallbackHumeVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :model, -> { Vapi::Types::FallbackHumeVoiceModel }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_inworld_voice.rb b/lib/vapi/types/fallback_inworld_voice.rb index ee8e549a..cb233e42 100644 --- a/lib/vapi/types/fallback_inworld_voice.rb +++ b/lib/vapi/types/fallback_inworld_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Inworld, including voice and model selection, + # language, temperature, speaking rate, chunking, and caching. class FallbackInworldVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackInworldVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_lmnt_voice.rb b/lib/vapi/types/fallback_lmnt_voice.rb index 9d06da57..bbdcfccc 100644 --- a/lib/vapi/types/fallback_lmnt_voice.rb +++ b/lib/vapi/types/fallback_lmnt_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with LMNT, including voice selection, language, speed, + # chunking, and caching. class FallbackLmntVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackLmntVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_microsoft_voice.rb b/lib/vapi/types/fallback_microsoft_voice.rb new file mode 100644 index 00000000..4ce89435 --- /dev/null +++ b/lib/vapi/types/fallback_microsoft_voice.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class FallbackMicrosoftVoice < Internal::Types::Model + field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" + field :voice_id, -> { Vapi::Types::FallbackMicrosoftVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :style, -> { Vapi::Types::FallbackMicrosoftVoiceStyle }, optional: true, nullable: false + field :style_degree, -> { Integer }, optional: true, nullable: false, api_name: "styleDegree" + field :role, -> { Vapi::Types::FallbackMicrosoftVoiceRole }, optional: true, nullable: false + field :speed, -> { Integer }, optional: true, nullable: false + field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" + end + end +end diff --git a/lib/vapi/types/fallback_microsoft_voice_role.rb b/lib/vapi/types/fallback_microsoft_voice_role.rb new file mode 100644 index 00000000..1323d21c --- /dev/null +++ b/lib/vapi/types/fallback_microsoft_voice_role.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackMicrosoftVoiceRole + extend Vapi::Internal::Types::Enum + + GIRL = "Girl" + BOY = "Boy" + YOUNG_ADULT_FEMALE = "YoungAdultFemale" + YOUNG_ADULT_MALE = "YoungAdultMale" + OLDER_ADULT_FEMALE = "OlderAdultFemale" + OLDER_ADULT_MALE = "OlderAdultMale" + SENIOR_FEMALE = "SeniorFemale" + SENIOR_MALE = "SeniorMale" + end + end +end diff --git a/lib/vapi/types/fallback_microsoft_voice_style.rb b/lib/vapi/types/fallback_microsoft_voice_style.rb new file mode 100644 index 00000000..224a94c2 --- /dev/null +++ b/lib/vapi/types/fallback_microsoft_voice_style.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackMicrosoftVoiceStyle + extend Vapi::Internal::Types::Enum + + ADVENTUROUS = "adventurous" + ANGRY = "angry" + CARING = "caring" + CHEERFUL = "cheerful" + CONFUSED = "confused" + CURIOUS = "curious" + DETERMINED = "determined" + DISAPPOINTED = "disappointed" + DISGUSTED = "disgusted" + EMBARRASSED = "embarrassed" + EMPATHY = "empathy" + ENCOURAGING = "encouraging" + EXCITED = "excited" + FEARFUL = "fearful" + FRIENDLY = "friendly" + HAPPY = "happy" + HOPEFUL = "hopeful" + JEALOUS = "jealous" + JOYFUL = "joyful" + NOSTALGIC = "nostalgic" + REFLECTIVE = "reflective" + REGRETFUL = "regretful" + RELIEVED = "relieved" + SAD = "sad" + SERIOUS = "serious" + SHOUTING = "shouting" + SOFTVOICE = "softvoice" + SURPRISED = "surprised" + WHISPERING = "whispering" + end + end +end diff --git a/lib/vapi/types/fallback_microsoft_voice_voice_id.rb b/lib/vapi/types/fallback_microsoft_voice_voice_id.rb new file mode 100644 index 00000000..e075e56e --- /dev/null +++ b/lib/vapi/types/fallback_microsoft_voice_voice_id.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackMicrosoftVoiceVoiceId + extend Vapi::Internal::Types::Enum + + DE_DE_KLAUS_MAI_VOICE_2 = "de-DE-Klaus:MAI-Voice-2" + DE_DE_MIA_MAI_VOICE_2 = "de-DE-Mia:MAI-Voice-2" + EN_AU_LISA_MAI_VOICE_2 = "en-AU-Lisa:MAI-Voice-2" + EN_US_ETHAN_MAI_VOICE_2 = "en-US-Ethan:MAI-Voice-2" + EN_US_GRANT_MAI_VOICE_2 = "en-US-Grant:MAI-Voice-2" + EN_US_HARPER_MAI_VOICE_2 = "en-US-Harper:MAI-Voice-2" + EN_US_IRIS_MAI_VOICE_2 = "en-US-Iris:MAI-Voice-2" + EN_US_JASPER_MAI_VOICE_2 = "en-US-Jasper:MAI-Voice-2" + EN_US_OLIVIA_MAI_VOICE_2 = "en-US-Olivia:MAI-Voice-2" + ES_ES_MARTA_MAI_VOICE_2 = "es-ES-Marta:MAI-Voice-2" + ES_MX_ALEJO_MAI_VOICE_2 = "es-MX-Alejo:MAI-Voice-2" + ES_MX_VALERIA_MAI_VOICE_2 = "es-MX-Valeria:MAI-Voice-2" + FR_FR_MARC_MAI_VOICE_2 = "fr-FR-Marc:MAI-Voice-2" + FR_FR_SOLEIL_MAI_VOICE_2 = "fr-FR-Soleil:MAI-Voice-2" + HI_IN_ARJUN_MAI_VOICE_2 = "hi-IN-Arjun:MAI-Voice-2" + HI_IN_DHRUV_MAI_VOICE_2 = "hi-IN-Dhruv:MAI-Voice-2" + HI_IN_KAVYA_MAI_VOICE_2 = "hi-IN-Kavya:MAI-Voice-2" + HI_IN_PRIYA_MAI_VOICE_2 = "hi-IN-Priya:MAI-Voice-2" + HU_HU_BENCE_MAI_VOICE_2 = "hu-HU-Bence:MAI-Voice-2" + HU_HU_LEVENTE_MAI_VOICE_2 = "hu-HU-Levente:MAI-Voice-2" + HU_HU_LILLA_MAI_VOICE_2 = "hu-HU-Lilla:MAI-Voice-2" + HU_HU_REKA_MAI_VOICE_2 = "hu-HU-Réka:MAI-Voice-2" + IT_IT_LUCA_MAI_VOICE_2 = "it-IT-Luca:MAI-Voice-2" + IT_IT_ROSA_MAI_VOICE_2 = "it-IT-Rosa:MAI-Voice-2" + KO_KR_HANA_MAI_VOICE_2 = "ko-KR-Hana:MAI-Voice-2" + KO_KR_JUNHO_MAI_VOICE_2 = "ko-KR-Junho:MAI-Voice-2" + NL_NL_FLEUR_MAI_VOICE_2 = "nl-NL-Fleur:MAI-Voice-2" + NL_NL_SANDER_MAI_VOICE_2 = "nl-NL-Sander:MAI-Voice-2" + PT_BR_CAIO_MAI_VOICE_2 = "pt-BR-Caio:MAI-Voice-2" + PT_BR_LUANA_MAI_VOICE_2 = "pt-BR-Luana:MAI-Voice-2" + PT_BR_PEDRO_MAI_VOICE_2 = "pt-BR-Pedro:MAI-Voice-2" + PT_BR_RAFAEL_MAI_VOICE_2 = "pt-BR-Rafael:MAI-Voice-2" + PT_PT_RUI_MAI_VOICE_2 = "pt-PT-Rui:MAI-Voice-2" + RO_RO_ANDREI_MAI_VOICE_2 = "ro-RO-Andrei:MAI-Voice-2" + RO_RO_ELENA_MAI_VOICE_2 = "ro-RO-Elena:MAI-Voice-2" + RO_RO_IOANA_MAI_VOICE_2 = "ro-RO-Ioana:MAI-Voice-2" + RO_RO_RADU_MAI_VOICE_2 = "ro-RO-Radu:MAI-Voice-2" + RU_RU_LEV_MAI_VOICE_2 = "ru-RU-Lev:MAI-Voice-2" + RU_RU_MASHA_MAI_VOICE_2 = "ru-RU-Masha:MAI-Voice-2" + TH_TH_KRIT_MAI_VOICE_2 = "th-TH-Krit:MAI-Voice-2" + TH_TH_NATTAPONG_MAI_VOICE_2 = "th-TH-Nattapong:MAI-Voice-2" + TR_TR_AYDIN_MAI_VOICE_2 = "tr-TR-Aydin:MAI-Voice-2" + TR_TR_ELIF_MAI_VOICE_2 = "tr-TR-Elif:MAI-Voice-2" + ZH_CN_BO_MAI_VOICE_2 = "zh-CN-Bo:MAI-Voice-2" + ZH_CN_LAN_MAI_VOICE_2 = "zh-CN-Lan:MAI-Voice-2" + ZH_CN_MEI_MAI_VOICE_2 = "zh-CN-Mei:MAI-Voice-2" + end + end +end diff --git a/lib/vapi/types/fallback_neuphonic_voice.rb b/lib/vapi/types/fallback_neuphonic_voice.rb index 2758d872..fd8e2d46 100644 --- a/lib/vapi/types/fallback_neuphonic_voice.rb +++ b/lib/vapi/types/fallback_neuphonic_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Neuphonic, including voice and model selection, + # language, speed, chunking, and caching. class FallbackNeuphonicVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_open_ai_transcriber.rb b/lib/vapi/types/fallback_open_ai_transcriber.rb index b50e6d16..f52526b6 100644 --- a/lib/vapi/types/fallback_open_ai_transcriber.rb +++ b/lib/vapi/types/fallback_open_ai_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with OpenAI, including model and language. class FallbackOpenAiTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackOpenAiTranscriberModel }, optional: false, nullable: false field :language, -> { Vapi::Types::FallbackOpenAiTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_open_ai_voice.rb b/lib/vapi/types/fallback_open_ai_voice.rb index 555dc34d..ec3ef185 100644 --- a/lib/vapi/types/fallback_open_ai_voice.rb +++ b/lib/vapi/types/fallback_open_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with OpenAI, including voice and model selection, + # delivery instructions, speed, chunking, and caching. class FallbackOpenAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackOpenAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_plan.rb b/lib/vapi/types/fallback_plan.rb index ec515152..19539eb8 100644 --- a/lib/vapi/types/fallback_plan.rb +++ b/lib/vapi/types/fallback_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Lists backup voice configurations that can be used if the primary voice provider fails. class FallbackPlan < Internal::Types::Model field :voices, -> { Internal::Types::Array[Vapi::Types::FallbackPlanVoicesItem] }, optional: false, nullable: false end diff --git a/lib/vapi/types/fallback_plan_voices_item.rb b/lib/vapi/types/fallback_plan_voices_item.rb index 9c80f897..0a7136ea 100644 --- a/lib/vapi/types/fallback_plan_voices_item.rb +++ b/lib/vapi/types/fallback_plan_voices_item.rb @@ -24,6 +24,8 @@ class FallbackPlanVoicesItem < Internal::Types::Model member -> { Vapi::Types::FallbackNeuphonicVoice }, key: "NEUPHONIC" member -> { Vapi::Types::FallbackSesameVoice }, key: "SESAME" member -> { Vapi::Types::FallbackInworldVoice }, key: "INWORLD" + member -> { Vapi::Types::FallbackXaiVoice }, key: "XAI" + member -> { Vapi::Types::FallbackMicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/fallback_play_ht_voice.rb b/lib/vapi/types/fallback_play_ht_voice.rb index 9c6ddd11..bc409594 100644 --- a/lib/vapi/types/fallback_play_ht_voice.rb +++ b/lib/vapi/types/fallback_play_ht_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with PlayHT, including voice and model selection, + # language, emotion and style guidance, chunking, and caching. class FallbackPlayHtVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackPlayHtVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_rime_ai_voice.rb b/lib/vapi/types/fallback_rime_ai_voice.rb index d65a03fd..e2ff1499 100644 --- a/lib/vapi/types/fallback_rime_ai_voice.rb +++ b/lib/vapi/types/fallback_rime_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Rime AI, including voice and model selection, + # language, speed, pauses, phonemization, latency, chunking, and caching. class FallbackRimeAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackRimeAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_sesame_voice.rb b/lib/vapi/types/fallback_sesame_voice.rb index 13b48964..29c14461 100644 --- a/lib/vapi/types/fallback_sesame_voice.rb +++ b/lib/vapi/types/fallback_sesame_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Sesame, including voice and model selection, + # chunking, and caching. class FallbackSesameVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_smallest_ai_voice.rb b/lib/vapi/types/fallback_smallest_ai_voice.rb index 04274d93..e9fa7f71 100644 --- a/lib/vapi/types/fallback_smallest_ai_voice.rb +++ b/lib/vapi/types/fallback_smallest_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Smallest AI, including voice and model selection, + # speed, chunking, and caching. class FallbackSmallestAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackSmallestAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_soniox_transcriber.rb b/lib/vapi/types/fallback_soniox_transcriber.rb index d5c33419..fc5cccb2 100644 --- a/lib/vapi/types/fallback_soniox_transcriber.rb +++ b/lib/vapi/types/fallback_soniox_transcriber.rb @@ -2,12 +2,16 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Soniox, including model, language detection, endpointing, and + # vocabulary. class FallbackSonioxTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackSonioxTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackSonioxTranscriberLanguage }, optional: true, nullable: false + field :languages, -> { Internal::Types::Array[Vapi::Types::FallbackSonioxTranscriberLanguagesItem] }, optional: true, nullable: false field :language_hints_strict, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "languageHintsStrict" field :max_endpoint_delay_ms, -> { Integer }, optional: true, nullable: false, api_name: "maxEndpointDelayMs" field :custom_vocabulary, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "customVocabulary" + field :context_general, -> { Internal::Types::Array[Vapi::Types::SonioxContextGeneralItem] }, optional: true, nullable: false, api_name: "contextGeneral" end end end diff --git a/lib/vapi/types/fallback_soniox_transcriber_languages_item.rb b/lib/vapi/types/fallback_soniox_transcriber_languages_item.rb new file mode 100644 index 00000000..7111f9f5 --- /dev/null +++ b/lib/vapi/types/fallback_soniox_transcriber_languages_item.rb @@ -0,0 +1,195 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackSonioxTranscriberLanguagesItem + extend Vapi::Internal::Types::Enum + + AA = "aa" + AB = "ab" + AE = "ae" + AF = "af" + AK = "ak" + AM = "am" + AN = "an" + AR = "ar" + AS = "as" + AV = "av" + AY = "ay" + AZ = "az" + BA = "ba" + BE = "be" + BG = "bg" + BH = "bh" + BI = "bi" + BM = "bm" + BN = "bn" + BO = "bo" + BR = "br" + BS = "bs" + CA = "ca" + CE = "ce" + CH = "ch" + CO = "co" + CR = "cr" + CS = "cs" + CU = "cu" + CV = "cv" + CY = "cy" + DA = "da" + DE = "de" + DV = "dv" + DZ = "dz" + EE = "ee" + EL = "el" + EN = "en" + EO = "eo" + ES = "es" + ET = "et" + EU = "eu" + FA = "fa" + FF = "ff" + FI = "fi" + FJ = "fj" + FO = "fo" + FR = "fr" + FY = "fy" + GA = "ga" + GD = "gd" + GL = "gl" + GN = "gn" + GU = "gu" + GV = "gv" + HA = "ha" + HE = "he" + HI = "hi" + HO = "ho" + HR = "hr" + HT = "ht" + HU = "hu" + HY = "hy" + HZ = "hz" + IA = "ia" + ID = "id" + IE = "ie" + IG = "ig" + II = "ii" + IK = "ik" + IO = "io" + IS = "is" + IT = "it" + IU = "iu" + JA = "ja" + JV = "jv" + KA = "ka" + KG = "kg" + KI = "ki" + KJ = "kj" + KK = "kk" + KL = "kl" + KM = "km" + KN = "kn" + KO = "ko" + KR = "kr" + KS = "ks" + KU = "ku" + KV = "kv" + KW = "kw" + KY = "ky" + LA = "la" + LB = "lb" + LG = "lg" + LI = "li" + LN = "ln" + LO = "lo" + LT = "lt" + LU = "lu" + LV = "lv" + MG = "mg" + MH = "mh" + MI = "mi" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MT = "mt" + MY = "my" + NA = "na" + NB = "nb" + ND = "nd" + NE = "ne" + NG = "ng" + NL = "nl" + NN = "nn" + NO = "no" + NR = "nr" + NV = "nv" + NY = "ny" + OC = "oc" + OJ = "oj" + OM = "om" + OR = "or" + OS = "os" + PA = "pa" + PI = "pi" + PL = "pl" + PS = "ps" + PT = "pt" + QU = "qu" + RM = "rm" + RN = "rn" + RO = "ro" + RU = "ru" + RW = "rw" + SA = "sa" + SC = "sc" + SD = "sd" + SE = "se" + SG = "sg" + SI = "si" + SK = "sk" + SL = "sl" + SM = "sm" + SN = "sn" + SO = "so" + SQ = "sq" + SR = "sr" + SS = "ss" + ST = "st" + SU = "su" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TG = "tg" + TH = "th" + TI = "ti" + TK = "tk" + TL = "tl" + TN = "tn" + TO = "to" + TR = "tr" + TS = "ts" + TT = "tt" + TW = "tw" + TY = "ty" + UG = "ug" + UK = "uk" + UR = "ur" + UZ = "uz" + VE = "ve" + VI = "vi" + VO = "vo" + WA = "wa" + WO = "wo" + XH = "xh" + YI = "yi" + YUE = "yue" + YO = "yo" + ZA = "za" + ZH = "zh" + ZU = "zu" + end + end +end diff --git a/lib/vapi/types/fallback_soniox_transcriber_model.rb b/lib/vapi/types/fallback_soniox_transcriber_model.rb index 597f4556..e975223e 100644 --- a/lib/vapi/types/fallback_soniox_transcriber_model.rb +++ b/lib/vapi/types/fallback_soniox_transcriber_model.rb @@ -6,6 +6,7 @@ module FallbackSonioxTranscriberModel extend Vapi::Internal::Types::Enum STT_RT_V_4 = "stt-rt-v4" + STT_RT_V_5 = "stt-rt-v5" end end end diff --git a/lib/vapi/types/fallback_speechmatics_transcriber.rb b/lib/vapi/types/fallback_speechmatics_transcriber.rb index 0c270c5f..b685276b 100644 --- a/lib/vapi/types/fallback_speechmatics_transcriber.rb +++ b/lib/vapi/types/fallback_speechmatics_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Speechmatics, including language, region, diarization, + # vocabulary, endpointing, and formatting. class FallbackSpeechmaticsTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackSpeechmaticsTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackSpeechmaticsTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_talkscriber_transcriber.rb b/lib/vapi/types/fallback_talkscriber_transcriber.rb index 8f3ef9be..42adcac9 100644 --- a/lib/vapi/types/fallback_talkscriber_transcriber.rb +++ b/lib/vapi/types/fallback_talkscriber_transcriber.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fallback configuration for transcribing speech with Talkscriber, including model and language. class FallbackTalkscriberTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::FallbackTalkscriberTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::FallbackTalkscriberTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/fallback_tavus_voice.rb b/lib/vapi/types/fallback_tavus_voice.rb index e201c26b..4e4cc393 100644 --- a/lib/vapi/types/fallback_tavus_voice.rb +++ b/lib/vapi/types/fallback_tavus_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for using Tavus as the assistant's voice provider, including persona, callback, context, + # greeting, conversation properties, chunking, and caching. class FallbackTavusVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackTavusVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_transcriber_plan.rb b/lib/vapi/types/fallback_transcriber_plan.rb index 70eadbfd..731ee852 100644 --- a/lib/vapi/types/fallback_transcriber_plan.rb +++ b/lib/vapi/types/fallback_transcriber_plan.rb @@ -2,8 +2,9 @@ module Vapi module Types + # Lists backup transcriber configurations that can be used if the primary transcriber fails. class FallbackTranscriberPlan < Internal::Types::Model - field :transcribers, -> { Internal::Types::Array[Vapi::Types::FallbackTranscriberPlanTranscribersItem] }, optional: false, nullable: false + field :transcribers, -> { Internal::Types::Array[Vapi::Types::FallbackTranscriberPlanTranscribersItem] }, optional: true, nullable: false end end end diff --git a/lib/vapi/types/fallback_transcriber_plan_transcribers_item.rb b/lib/vapi/types/fallback_transcriber_plan_transcribers_item.rb index 5313b6ea..2bfe5e0d 100644 --- a/lib/vapi/types/fallback_transcriber_plan_transcribers_item.rb +++ b/lib/vapi/types/fallback_transcriber_plan_transcribers_item.rb @@ -19,6 +19,7 @@ class FallbackTranscriberPlanTranscribersItem < Internal::Types::Model member -> { Vapi::Types::FallbackOpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::FallbackCartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::FallbackSonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::FallbackXaiTranscriber }, key: "XAI" end end end diff --git a/lib/vapi/types/fallback_vapi_voice.rb b/lib/vapi/types/fallback_vapi_voice.rb index 170b3a34..f1fc155a 100644 --- a/lib/vapi/types/fallback_vapi_voice.rb +++ b/lib/vapi/types/fallback_vapi_voice.rb @@ -2,10 +2,14 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with Vapi, including voice selection, speed, + # pronunciation dictionary, chunking, and caching. class FallbackVapiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::FallbackVapiVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :version, -> { Vapi::Types::FallbackVapiVoiceVersion }, optional: true, nullable: false field :speed, -> { Integer }, optional: true, nullable: false + field :language, -> { Vapi::Types::FallbackVapiVoiceLanguage }, optional: true, nullable: false field :pronunciation_dictionary, -> { Internal::Types::Array[Vapi::Types::VapiPronunciationDictionaryLocator] }, optional: true, nullable: false, api_name: "pronunciationDictionary" field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" end diff --git a/lib/vapi/types/fallback_vapi_voice_language.rb b/lib/vapi/types/fallback_vapi_voice_language.rb new file mode 100644 index 00000000..6b0121aa --- /dev/null +++ b/lib/vapi/types/fallback_vapi_voice_language.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackVapiVoiceLanguage + extend Vapi::Internal::Types::Enum + + EN_US = "en-US" + EN_GB = "en-GB" + EN_AU = "en-AU" + EN_CA = "en-CA" + JA = "ja" + ZH = "zh" + DE = "de" + HI = "hi" + FR_FR = "fr-FR" + FR_CA = "fr-CA" + KO = "ko" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + IT = "it" + ES_ES = "es-ES" + ES_MX = "es-MX" + ID = "id" + NL = "nl" + TR = "tr" + FIL = "fil" + PL = "pl" + SV = "sv" + BG = "bg" + RO = "ro" + AR_SA = "ar-SA" + AR_AE = "ar-AE" + CS = "cs" + EL = "el" + FI = "fi" + HR = "hr" + MS = "ms" + SK = "sk" + DA = "da" + TA = "ta" + UK = "uk" + RU = "ru" + HU = "hu" + NO = "no" + VI = "vi" + AUTO = "auto" + EN = "en" + AR = "ar" + AR_EG = "ar-EG" + BN = "bn" + ES = "es" + FR = "fr" + GU = "gu" + HE = "he" + KA = "ka" + KN = "kn" + ML = "ml" + MR = "mr" + PA = "pa" + PT = "pt" + TE = "te" + TH = "th" + TL = "tl" + end + end +end diff --git a/lib/vapi/types/fallback_vapi_voice_version.rb b/lib/vapi/types/fallback_vapi_voice_version.rb new file mode 100644 index 00000000..d635915f --- /dev/null +++ b/lib/vapi/types/fallback_vapi_voice_version.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackVapiVoiceVersion + extend Vapi::Internal::Types::Enum + + ONE = "1" + TWO = "2" + LATEST = "latest" + end + end +end diff --git a/lib/vapi/types/fallback_vapi_voice_voice_id.rb b/lib/vapi/types/fallback_vapi_voice_voice_id.rb index 6914a498..4a45fddf 100644 --- a/lib/vapi/types/fallback_vapi_voice_voice_id.rb +++ b/lib/vapi/types/fallback_vapi_voice_voice_id.rb @@ -7,25 +7,25 @@ module FallbackVapiVoiceVoiceId CLARA = "Clara" GODFREY = "Godfrey" + ELLIOT = "Elliot" + SAVANNAH = "Savannah" + NICO = "Nico" + KAI = "Kai" + EMMA = "Emma" + SAGAR = "Sagar" + NEIL = "Neil" LAYLA = "Layla" SID = "Sid" GUSTAVO = "Gustavo" - ELLIOT = "Elliot" KYLIE = "Kylie" ROHAN = "Rohan" LILY = "Lily" - SAVANNAH = "Savannah" HANA = "Hana" NEHA = "Neha" COLE = "Cole" HARRY = "Harry" PAIGE = "Paige" SPENCER = "Spencer" - NICO = "Nico" - KAI = "Kai" - EMMA = "Emma" - SAGAR = "Sagar" - NEIL = "Neil" NAINA = "Naina" LEAH = "Leah" TARA = "Tara" diff --git a/lib/vapi/types/fallback_well_said_voice.rb b/lib/vapi/types/fallback_well_said_voice.rb index 0780470e..e6eef9cf 100644 --- a/lib/vapi/types/fallback_well_said_voice.rb +++ b/lib/vapi/types/fallback_well_said_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fallback configuration for synthesizing assistant speech with WellSaid, including voice and model selection, + # Speech Synthesis Markup Language support, voice libraries, chunking, and caching. class FallbackWellSaidVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/fallback_xai_transcriber.rb b/lib/vapi/types/fallback_xai_transcriber.rb new file mode 100644 index 00000000..4e4a5c1d --- /dev/null +++ b/lib/vapi/types/fallback_xai_transcriber.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class FallbackXaiTranscriber < Internal::Types::Model + field :model, -> { Vapi::Types::FallbackXaiTranscriberModel }, optional: true, nullable: false + field :language, -> { Vapi::Types::FallbackXaiTranscriberLanguage }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/fallback_xai_transcriber_language.rb b/lib/vapi/types/fallback_xai_transcriber_language.rb new file mode 100644 index 00000000..106e68f6 --- /dev/null +++ b/lib/vapi/types/fallback_xai_transcriber_language.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackXaiTranscriberLanguage + extend Vapi::Internal::Types::Enum + + AR = "ar" + CS = "cs" + DA = "da" + NL = "nl" + EN = "en" + FIL = "fil" + FR = "fr" + DE = "de" + HI = "hi" + ID = "id" + IT = "it" + JA = "ja" + KO = "ko" + MK = "mk" + MS = "ms" + FA = "fa" + PL = "pl" + PT = "pt" + RO = "ro" + RU = "ru" + ES = "es" + SV = "sv" + TH = "th" + TR = "tr" + VI = "vi" + end + end +end diff --git a/lib/vapi/types/trieve_knowledge_base_create_type.rb b/lib/vapi/types/fallback_xai_transcriber_model.rb similarity index 64% rename from lib/vapi/types/trieve_knowledge_base_create_type.rb rename to lib/vapi/types/fallback_xai_transcriber_model.rb index 12eb61c5..22a1b735 100644 --- a/lib/vapi/types/trieve_knowledge_base_create_type.rb +++ b/lib/vapi/types/fallback_xai_transcriber_model.rb @@ -2,10 +2,10 @@ module Vapi module Types - module TrieveKnowledgeBaseCreateType + module FallbackXaiTranscriberModel extend Vapi::Internal::Types::Enum - CREATE = "create" + DEFAULT = "default" end end end diff --git a/lib/vapi/types/fallback_xai_voice.rb b/lib/vapi/types/fallback_xai_voice.rb new file mode 100644 index 00000000..85338cbe --- /dev/null +++ b/lib/vapi/types/fallback_xai_voice.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class FallbackXaiVoice < Internal::Types::Model + field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" + field :voice_id, -> { Vapi::Types::FallbackXaiVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :language, -> { Vapi::Types::FallbackXaiVoiceLanguage }, optional: true, nullable: false + field :speed, -> { Integer }, optional: true, nullable: false + field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" + end + end +end diff --git a/lib/vapi/types/fallback_xai_voice_language.rb b/lib/vapi/types/fallback_xai_voice_language.rb new file mode 100644 index 00000000..8f05559c --- /dev/null +++ b/lib/vapi/types/fallback_xai_voice_language.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackXaiVoiceLanguage + extend Vapi::Internal::Types::Enum + + AUTO = "auto" + EN = "en" + AR_EG = "ar-EG" + AR_SA = "ar-SA" + AR_AE = "ar-AE" + BN = "bn" + ZH = "zh" + FR = "fr" + DE = "de" + HI = "hi" + ID = "id" + IT = "it" + JA = "ja" + KO = "ko" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + RU = "ru" + ES_MX = "es-MX" + ES_ES = "es-ES" + TR = "tr" + VI = "vi" + end + end +end diff --git a/lib/vapi/types/fallback_xai_voice_voice_id.rb b/lib/vapi/types/fallback_xai_voice_voice_id.rb new file mode 100644 index 00000000..187d03ed --- /dev/null +++ b/lib/vapi/types/fallback_xai_voice_voice_id.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + module FallbackXaiVoiceVoiceId + extend Vapi::Internal::Types::Enum + + EVE = "eve" + ARA = "ara" + REX = "rex" + SAL = "sal" + LEO = "leo" + end + end +end diff --git a/lib/vapi/types/file.rb b/lib/vapi/types/file.rb index 3b55f3f6..31c9bd33 100644 --- a/lib/vapi/types/file.rb +++ b/lib/vapi/types/file.rb @@ -2,6 +2,8 @@ module Vapi module Types + # An uploaded file record, including its processing status, storage details, extracted-text location, metadata, and + # lifecycle timestamps. class File < Internal::Types::Model field :object, -> { Vapi::Types::FileObject }, optional: true, nullable: false field :status, -> { Vapi::Types::FileStatus }, optional: true, nullable: false diff --git a/lib/vapi/types/filter_date_type_column_on_call_table.rb b/lib/vapi/types/filter_date_type_column_on_call_table.rb index face9fec..75572bf8 100644 --- a/lib/vapi/types/filter_date_type_column_on_call_table.rb +++ b/lib/vapi/types/filter_date_type_column_on_call_table.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters call records by comparing a start or end timestamp with a date. class FilterDateTypeColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterDateTypeColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterDateTypeColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/filter_number_array_type_column_on_call_table.rb b/lib/vapi/types/filter_number_array_type_column_on_call_table.rb index 0692b043..b51a7e3c 100644 --- a/lib/vapi/types/filter_number_array_type_column_on_call_table.rb +++ b/lib/vapi/types/filter_number_array_type_column_on_call_table.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters numeric call fields using a list of values or an emptiness test. class FilterNumberArrayTypeColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterNumberArrayTypeColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterNumberArrayTypeColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/filter_number_type_column_on_call_table.rb b/lib/vapi/types/filter_number_type_column_on_call_table.rb index d9dd8c18..bc98c17a 100644 --- a/lib/vapi/types/filter_number_type_column_on_call_table.rb +++ b/lib/vapi/types/filter_number_type_column_on_call_table.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters call records by comparing a numeric field with a value. class FilterNumberTypeColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterNumberTypeColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterNumberTypeColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/filter_string_array_type_column_on_call_table.rb b/lib/vapi/types/filter_string_array_type_column_on_call_table.rb index 518f6102..e585a91e 100644 --- a/lib/vapi/types/filter_string_array_type_column_on_call_table.rb +++ b/lib/vapi/types/filter_string_array_type_column_on_call_table.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters string-valued call fields using a list of values or an emptiness test. class FilterStringArrayTypeColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterStringArrayTypeColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterStringArrayTypeColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/filter_string_type_column_on_call_table.rb b/lib/vapi/types/filter_string_type_column_on_call_table.rb index 6e2e0c11..8e8a871e 100644 --- a/lib/vapi/types/filter_string_type_column_on_call_table.rb +++ b/lib/vapi/types/filter_string_type_column_on_call_table.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters call records by comparing or searching a string-valued field. class FilterStringTypeColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterStringTypeColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterStringTypeColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/filter_structured_output_column_on_call_table.rb b/lib/vapi/types/filter_structured_output_column_on_call_table.rb index 8bc8d622..77a9f79e 100644 --- a/lib/vapi/types/filter_structured_output_column_on_call_table.rb +++ b/lib/vapi/types/filter_structured_output_column_on_call_table.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Filters a structured-output value stored on a call using comparison, membership, containment, or emptiness + # operators. class FilterStructuredOutputColumnOnCallTable < Internal::Types::Model field :column, -> { Vapi::Types::FilterStructuredOutputColumnOnCallTableColumn }, optional: false, nullable: false field :operator, -> { Vapi::Types::FilterStructuredOutputColumnOnCallTableOperator }, optional: false, nullable: false diff --git a/lib/vapi/types/format_plan.rb b/lib/vapi/types/format_plan.rb index 4bf6fe8e..2a41d0a3 100644 --- a/lib/vapi/types/format_plan.rb +++ b/lib/vapi/types/format_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls text normalization before voice synthesis, including built-in formatters, number handling, and custom + # replacements. class FormatPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :number_to_digits_cutoff, -> { Integer }, optional: true, nullable: false, api_name: "numberToDigitsCutoff" diff --git a/lib/vapi/types/fourier_denoising_plan.rb b/lib/vapi/types/fourier_denoising_plan.rb index 6b6091c9..eaa94069 100644 --- a/lib/vapi/types/fourier_denoising_plan.rb +++ b/lib/vapi/types/fourier_denoising_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for Fourier denoising, including media detection, thresholds, baseline calculation, and analysis + # window. class FourierDenoisingPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :media_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "mediaDetectionEnabled" diff --git a/lib/vapi/types/function_tool.rb b/lib/vapi/types/function_tool.rb index a7cde977..6a85e070 100644 --- a/lib/vapi/types/function_tool.rb +++ b/lib/vapi/types/function_tool.rb @@ -2,7 +2,10 @@ module Vapi module Types + # A reusable custom function tool that sends model-generated arguments to a configured server and returns the result + # to the assistant. class FunctionTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::FunctionToolMessagesItem] }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/gcp_key.rb b/lib/vapi/types/gcp_key.rb index e440a8a1..7f74997c 100644 --- a/lib/vapi/types/gcp_key.rb +++ b/lib/vapi/types/gcp_key.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Google Cloud service-account key used to authenticate access to Google Cloud resources. class GcpKey < Internal::Types::Model field :type, -> { String }, optional: false, nullable: false field :project_id, -> { String }, optional: false, nullable: false, api_name: "projectId" diff --git a/lib/vapi/types/gemini_multimodal_live_prebuilt_voice_config.rb b/lib/vapi/types/gemini_multimodal_live_prebuilt_voice_config.rb index b103adc2..985686db 100644 --- a/lib/vapi/types/gemini_multimodal_live_prebuilt_voice_config.rb +++ b/lib/vapi/types/gemini_multimodal_live_prebuilt_voice_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Selects a prebuilt voice for Gemini Multimodal Live audio output. class GeminiMultimodalLivePrebuiltVoiceConfig < Internal::Types::Model field :voice_name, -> { Vapi::Types::GeminiMultimodalLivePrebuiltVoiceConfigVoiceName }, optional: false, nullable: false, api_name: "voiceName" end diff --git a/lib/vapi/types/gemini_multimodal_live_speech_config.rb b/lib/vapi/types/gemini_multimodal_live_speech_config.rb index 665eb6d2..9840fd5c 100644 --- a/lib/vapi/types/gemini_multimodal_live_speech_config.rb +++ b/lib/vapi/types/gemini_multimodal_live_speech_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Speech-output configuration for Gemini Multimodal Live. class GeminiMultimodalLiveSpeechConfig < Internal::Types::Model field :voice_config, -> { Vapi::Types::GeminiMultimodalLiveVoiceConfig }, optional: false, nullable: false, api_name: "voiceConfig" end diff --git a/lib/vapi/types/gemini_multimodal_live_voice_config.rb b/lib/vapi/types/gemini_multimodal_live_voice_config.rb index 1321914c..29f4722c 100644 --- a/lib/vapi/types/gemini_multimodal_live_voice_config.rb +++ b/lib/vapi/types/gemini_multimodal_live_voice_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Voice selection configuration for Gemini Multimodal Live. class GeminiMultimodalLiveVoiceConfig < Internal::Types::Model field :prebuilt_voice_config, -> { Vapi::Types::GeminiMultimodalLivePrebuiltVoiceConfig }, optional: false, nullable: false, api_name: "prebuiltVoiceConfig" end diff --git a/lib/vapi/types/get_chat_paginated_dto.rb b/lib/vapi/types/get_chat_paginated_dto.rb index f63f7305..2ae04321 100644 --- a/lib/vapi/types/get_chat_paginated_dto.rb +++ b/lib/vapi/types/get_chat_paginated_dto.rb @@ -11,6 +11,7 @@ class GetChatPaginatedDto < Internal::Types::Model field :previous_chat_id, -> { String }, optional: true, nullable: false, api_name: "previousChatId" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::GetChatPaginatedDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::GetChatPaginatedDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/get_chat_paginated_dto_sort_by.rb b/lib/vapi/types/get_chat_paginated_dto_sort_by.rb new file mode 100644 index 00000000..5e6e95fb --- /dev/null +++ b/lib/vapi/types/get_chat_paginated_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module GetChatPaginatedDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/get_eval_paginated_dto.rb b/lib/vapi/types/get_eval_paginated_dto.rb index 74b4b310..c5b596bf 100644 --- a/lib/vapi/types/get_eval_paginated_dto.rb +++ b/lib/vapi/types/get_eval_paginated_dto.rb @@ -6,6 +6,7 @@ class GetEvalPaginatedDto < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::GetEvalPaginatedDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::GetEvalPaginatedDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/get_eval_paginated_dto_sort_by.rb b/lib/vapi/types/get_eval_paginated_dto_sort_by.rb new file mode 100644 index 00000000..3df5f150 --- /dev/null +++ b/lib/vapi/types/get_eval_paginated_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module GetEvalPaginatedDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/get_eval_run_paginated_dto.rb b/lib/vapi/types/get_eval_run_paginated_dto.rb index 3ac6bfc5..dc3b0141 100644 --- a/lib/vapi/types/get_eval_run_paginated_dto.rb +++ b/lib/vapi/types/get_eval_run_paginated_dto.rb @@ -6,6 +6,7 @@ class GetEvalRunPaginatedDto < Internal::Types::Model field :id, -> { String }, optional: true, nullable: false field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::GetEvalRunPaginatedDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::GetEvalRunPaginatedDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/get_eval_run_paginated_dto_sort_by.rb b/lib/vapi/types/get_eval_run_paginated_dto_sort_by.rb new file mode 100644 index 00000000..00847cf3 --- /dev/null +++ b/lib/vapi/types/get_eval_run_paginated_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module GetEvalRunPaginatedDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/get_session_paginated_dto.rb b/lib/vapi/types/get_session_paginated_dto.rb index 945218ac..934d6a23 100644 --- a/lib/vapi/types/get_session_paginated_dto.rb +++ b/lib/vapi/types/get_session_paginated_dto.rb @@ -15,6 +15,7 @@ class GetSessionPaginatedDto < Internal::Types::Model field :phone_number_id_any, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "phoneNumberIdAny" field :page, -> { Integer }, optional: true, nullable: false field :sort_order, -> { Vapi::Types::GetSessionPaginatedDtoSortOrder }, optional: true, nullable: false, api_name: "sortOrder" + field :sort_by, -> { Vapi::Types::GetSessionPaginatedDtoSortBy }, optional: true, nullable: false, api_name: "sortBy" field :limit, -> { Integer }, optional: true, nullable: false field :created_at_gt, -> { String }, optional: true, nullable: false, api_name: "createdAtGt" field :created_at_lt, -> { String }, optional: true, nullable: false, api_name: "createdAtLt" diff --git a/lib/vapi/types/get_session_paginated_dto_sort_by.rb b/lib/vapi/types/get_session_paginated_dto_sort_by.rb new file mode 100644 index 00000000..9fd29f67 --- /dev/null +++ b/lib/vapi/types/get_session_paginated_dto_sort_by.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module GetSessionPaginatedDtoSortBy + extend Vapi::Internal::Types::Enum + + CREATED_AT = "createdAt" + DURATION = "duration" + COST = "cost" + end + end +end diff --git a/lib/vapi/types/get_tool_drafts_dto.rb b/lib/vapi/types/get_tool_drafts_dto.rb new file mode 100644 index 00000000..c11ca1e1 --- /dev/null +++ b/lib/vapi/types/get_tool_drafts_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class GetToolDraftsDto < Internal::Types::Model + field :cursor, -> { String }, optional: true, nullable: false + field :limit, -> { Integer }, optional: true, nullable: false + field :created_by, -> { String }, optional: true, nullable: false, api_name: "createdBy" + end + end +end diff --git a/lib/vapi/types/ghl_tool.rb b/lib/vapi/types/ghl_tool.rb index fe418a12..e1231011 100644 --- a/lib/vapi/types/ghl_tool.rb +++ b/lib/vapi/types/ghl_tool.rb @@ -3,6 +3,7 @@ module Vapi module Types class GhlTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GhlToolMessagesItem] }, optional: true, nullable: false field :type, -> { Vapi::Types::GhlToolType }, optional: false, nullable: false field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/ghl_tool_metadata.rb b/lib/vapi/types/ghl_tool_metadata.rb index 248d147a..f93a7d65 100644 --- a/lib/vapi/types/ghl_tool_metadata.rb +++ b/lib/vapi/types/ghl_tool_metadata.rb @@ -2,6 +2,7 @@ module Vapi module Types + # GHL workflow and location identifiers attached to a tool. class GhlToolMetadata < Internal::Types::Model field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" field :location_id, -> { String }, optional: true, nullable: false, api_name: "locationId" diff --git a/lib/vapi/types/gladia_custom_vocabulary_config_dto.rb b/lib/vapi/types/gladia_custom_vocabulary_config_dto.rb index ed9f31c3..142b7283 100644 --- a/lib/vapi/types/gladia_custom_vocabulary_config_dto.rb +++ b/lib/vapi/types/gladia_custom_vocabulary_config_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Custom vocabulary configuration for Gladia transcription, including vocabulary items and default recognition + # intensity. class GladiaCustomVocabularyConfigDto < Internal::Types::Model field :vocabulary, -> { Internal::Types::Array[Vapi::Types::GladiaCustomVocabularyConfigDtoVocabularyItem] }, optional: false, nullable: false field :default_intensity, -> { Integer }, optional: true, nullable: false, api_name: "defaultIntensity" diff --git a/lib/vapi/types/gladia_transcriber.rb b/lib/vapi/types/gladia_transcriber.rb index 2bc833d0..3346f78c 100644 --- a/lib/vapi/types/gladia_transcriber.rb +++ b/lib/vapi/types/gladia_transcriber.rb @@ -2,11 +2,13 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Gladia, including language behavior, + # audio processing, endpointing, vocabulary, region, and fallback settings. class GladiaTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::GladiaTranscriberModel }, optional: true, nullable: false field :language_behaviour, -> { Vapi::Types::GladiaTranscriberLanguageBehaviour }, optional: true, nullable: false, api_name: "languageBehaviour" field :language, -> { Vapi::Types::GladiaTranscriberLanguage }, optional: true, nullable: false - field :languages, -> { Vapi::Types::GladiaTranscriberLanguages }, optional: true, nullable: false + field :languages, -> { Internal::Types::Array[Vapi::Types::GladiaTranscriberLanguagesItem] }, optional: true, nullable: false field :transcription_hint, -> { String }, optional: true, nullable: false, api_name: "transcriptionHint" field :prosody, -> { Internal::Types::Boolean }, optional: true, nullable: false field :audio_enhancer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "audioEnhancer" diff --git a/lib/vapi/types/gladia_transcriber_languages.rb b/lib/vapi/types/gladia_transcriber_languages_item.rb similarity index 97% rename from lib/vapi/types/gladia_transcriber_languages.rb rename to lib/vapi/types/gladia_transcriber_languages_item.rb index 8b853379..42d967f5 100644 --- a/lib/vapi/types/gladia_transcriber_languages.rb +++ b/lib/vapi/types/gladia_transcriber_languages_item.rb @@ -2,7 +2,7 @@ module Vapi module Types - module GladiaTranscriberLanguages + module GladiaTranscriberLanguagesItem extend Vapi::Internal::Types::Enum AF = "af" diff --git a/lib/vapi/types/gladia_vocabulary_item_dto.rb b/lib/vapi/types/gladia_vocabulary_item_dto.rb index 6df6389a..19f18697 100644 --- a/lib/vapi/types/gladia_vocabulary_item_dto.rb +++ b/lib/vapi/types/gladia_vocabulary_item_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A Gladia custom vocabulary word or phrase with optional pronunciations, intensity, and language. class GladiaVocabularyItemDto < Internal::Types::Model field :value, -> { String }, optional: false, nullable: false field :pronunciations, -> { Internal::Types::Array[String] }, optional: true, nullable: false diff --git a/lib/vapi/types/global_node_plan.rb b/lib/vapi/types/global_node_plan.rb index 5bf1fa1c..0255ccf9 100644 --- a/lib/vapi/types/global_node_plan.rb +++ b/lib/vapi/types/global_node_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls whether a conversation node can be entered globally and the condition evaluated before that node runs. class GlobalNodePlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :enter_condition, -> { String }, optional: true, nullable: false, api_name: "enterCondition" diff --git a/lib/vapi/types/go_high_level_calendar_availability_tool.rb b/lib/vapi/types/go_high_level_calendar_availability_tool.rb index a5c468eb..10075a72 100644 --- a/lib/vapi/types/go_high_level_calendar_availability_tool.rb +++ b/lib/vapi/types/go_high_level_calendar_availability_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that checks calendar availability in a connected GoHighLevel account. class GoHighLevelCalendarAvailabilityTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoHighLevelCalendarAvailabilityToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/go_high_level_calendar_event_create_tool.rb b/lib/vapi/types/go_high_level_calendar_event_create_tool.rb index 2f8c0b11..fcdde73c 100644 --- a/lib/vapi/types/go_high_level_calendar_event_create_tool.rb +++ b/lib/vapi/types/go_high_level_calendar_event_create_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that adds calendar events to a connected GoHighLevel account. class GoHighLevelCalendarEventCreateTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoHighLevelCalendarEventCreateToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/go_high_level_contact_create_tool.rb b/lib/vapi/types/go_high_level_contact_create_tool.rb index f0fb6e91..31d59c5d 100644 --- a/lib/vapi/types/go_high_level_contact_create_tool.rb +++ b/lib/vapi/types/go_high_level_contact_create_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that adds contacts to a connected GoHighLevel account. class GoHighLevelContactCreateTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoHighLevelContactCreateToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/go_high_level_contact_get_tool.rb b/lib/vapi/types/go_high_level_contact_get_tool.rb index 1b34c633..4e1a516e 100644 --- a/lib/vapi/types/go_high_level_contact_get_tool.rb +++ b/lib/vapi/types/go_high_level_contact_get_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that retrieves contacts from a connected GoHighLevel account. class GoHighLevelContactGetTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoHighLevelContactGetToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/google_calendar_check_availability_tool.rb b/lib/vapi/types/google_calendar_check_availability_tool.rb index 12759fcd..0d637f4c 100644 --- a/lib/vapi/types/google_calendar_check_availability_tool.rb +++ b/lib/vapi/types/google_calendar_check_availability_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that checks availability in a connected Google Calendar. class GoogleCalendarCheckAvailabilityTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoogleCalendarCheckAvailabilityToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/google_calendar_create_event_tool.rb b/lib/vapi/types/google_calendar_create_event_tool.rb index 91879a57..851bed55 100644 --- a/lib/vapi/types/google_calendar_create_event_tool.rb +++ b/lib/vapi/types/google_calendar_create_event_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that adds events to a connected Google Calendar. class GoogleCalendarCreateEventTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoogleCalendarCreateEventToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/google_model.rb b/lib/vapi/types/google_model.rb index fc4f420c..ae465755 100644 --- a/lib/vapi/types/google_model.rb +++ b/lib/vapi/types/google_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Google, including model, prompts, tools, knowledge-base + # access, realtime settings, and generation settings. class GoogleModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::GoogleModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::GoogleModelModel }, optional: false, nullable: false field :realtime_config, -> { Vapi::Types::GoogleRealtimeConfig }, optional: true, nullable: false, api_name: "realtimeConfig" diff --git a/lib/vapi/types/google_model_model.rb b/lib/vapi/types/google_model_model.rb index c6bb2b48..aa1bcbbd 100644 --- a/lib/vapi/types/google_model_model.rb +++ b/lib/vapi/types/google_model_model.rb @@ -5,6 +5,8 @@ module Types module GoogleModelModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/google_realtime_config.rb b/lib/vapi/types/google_realtime_config.rb index 4b88c4e7..65aad963 100644 --- a/lib/vapi/types/google_realtime_config.rb +++ b/lib/vapi/types/google_realtime_config.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Realtime Gemini generation and speech-output settings, including sampling, repetition penalties, and voice + # configuration. class GoogleRealtimeConfig < Internal::Types::Model field :top_p, -> { Integer }, optional: true, nullable: false, api_name: "topP" field :top_k, -> { Integer }, optional: true, nullable: false, api_name: "topK" diff --git a/lib/vapi/types/google_sheets_row_append_tool.rb b/lib/vapi/types/google_sheets_row_append_tool.rb index c98b7ea0..4c040b51 100644 --- a/lib/vapi/types/google_sheets_row_append_tool.rb +++ b/lib/vapi/types/google_sheets_row_append_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that appends rows to a connected Google Sheet. class GoogleSheetsRowAppendTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::GoogleSheetsRowAppendToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/google_transcriber.rb b/lib/vapi/types/google_transcriber.rb index eb109467..a05c7f81 100644 --- a/lib/vapi/types/google_transcriber.rb +++ b/lib/vapi/types/google_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Google, including model, language, and + # fallback settings. class GoogleTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::GoogleTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::GoogleTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/google_transcriber_model.rb b/lib/vapi/types/google_transcriber_model.rb index 20c435a8..fb85104f 100644 --- a/lib/vapi/types/google_transcriber_model.rb +++ b/lib/vapi/types/google_transcriber_model.rb @@ -5,6 +5,8 @@ module Types module GoogleTranscriberModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/google_voicemail_detection_plan.rb b/lib/vapi/types/google_voicemail_detection_plan.rb index 459d305f..9acdb79d 100644 --- a/lib/vapi/types/google_voicemail_detection_plan.rb +++ b/lib/vapi/types/google_voicemail_detection_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for detecting voicemail with Google, including detection type, maximum beep wait, and retry backoff. class GoogleVoicemailDetectionPlan < Internal::Types::Model field :beep_max_await_seconds, -> { Integer }, optional: true, nullable: false, api_name: "beepMaxAwaitSeconds" field :provider, -> { Vapi::Types::GoogleVoicemailDetectionPlanProvider }, optional: false, nullable: false diff --git a/lib/vapi/types/groq_model.rb b/lib/vapi/types/groq_model.rb index f4d58af8..c97cd132 100644 --- a/lib/vapi/types/groq_model.rb +++ b/lib/vapi/types/groq_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Groq, including model, prompts, tools, knowledge-base + # access, and generation settings. class GroqModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::GroqModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::GroqModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/groq_model_model.rb b/lib/vapi/types/groq_model_model.rb index 527d96ec..d22759d4 100644 --- a/lib/vapi/types/groq_model_model.rb +++ b/lib/vapi/types/groq_model_model.rb @@ -15,7 +15,6 @@ module GroqModelModel LLAMA_370_B_8192 = "llama3-70b-8192" GEMMA_29_B_IT = "gemma2-9b-it" MOONSHOTAI_KIMI_K_2_INSTRUCT_0905 = "moonshotai/kimi-k2-instruct-0905" - META_LLAMA_LLAMA_4_MAVERICK_17_B_128_E_INSTRUCT = "meta-llama/llama-4-maverick-17b-128e-instruct" META_LLAMA_LLAMA_4_SCOUT_17_B_16_E_INSTRUCT = "meta-llama/llama-4-scout-17b-16e-instruct" MISTRAL_SABA_24_B = "mistral-saba-24b" COMPOUND_BETA = "compound-beta" diff --git a/lib/vapi/types/group_condition.rb b/lib/vapi/types/group_condition.rb index e27a2564..f288fcc1 100644 --- a/lib/vapi/types/group_condition.rb +++ b/lib/vapi/types/group_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Combines nested regular-expression, Liquid, or grouped conditions with an `AND` or `OR` operator. class GroupCondition < Internal::Types::Model field :operator, -> { Vapi::Types::GroupConditionOperator }, optional: false, nullable: false field :conditions, -> { Internal::Types::Array[Vapi::Types::GroupConditionConditionsItem] }, optional: false, nullable: false diff --git a/lib/vapi/types/handoff_destination_assistant.rb b/lib/vapi/types/handoff_destination_assistant.rb index 0d31a368..6afc224d 100644 --- a/lib/vapi/types/handoff_destination_assistant.rb +++ b/lib/vapi/types/handoff_destination_assistant.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Routes a handoff to a saved or transient assistant, with optional context engineering, variable extraction, and + # assistant overrides. class HandoffDestinationAssistant < Internal::Types::Model field :type, -> { Vapi::Types::HandoffDestinationAssistantType }, optional: false, nullable: false field :context_engineering_plan, -> { Vapi::Types::HandoffDestinationAssistantContextEngineeringPlan }, optional: true, nullable: false, api_name: "contextEngineeringPlan" diff --git a/lib/vapi/types/handoff_destination_assistant_context_engineering_plan.rb b/lib/vapi/types/handoff_destination_assistant_context_engineering_plan.rb index 7ee559c8..1683c941 100644 --- a/lib/vapi/types/handoff_destination_assistant_context_engineering_plan.rb +++ b/lib/vapi/types/handoff_destination_assistant_context_engineering_plan.rb @@ -12,6 +12,7 @@ class HandoffDestinationAssistantContextEngineeringPlan < Internal::Types::Model member -> { Vapi::Types::ContextEngineeringPlanNone }, key: "NONE" member -> { Vapi::Types::ContextEngineeringPlanAll }, key: "ALL" member -> { Vapi::Types::ContextEngineeringPlanUserAndAssistantMessages }, key: "USER_AND_ASSISTANT_MESSAGES" + member -> { Vapi::Types::ContextEngineeringPlanPreviousAssistantMessages }, key: "PREVIOUS_ASSISTANT_MESSAGES" end end end diff --git a/lib/vapi/types/handoff_destination_dynamic.rb b/lib/vapi/types/handoff_destination_dynamic.rb index 27abbccf..8f431ce0 100644 --- a/lib/vapi/types/handoff_destination_dynamic.rb +++ b/lib/vapi/types/handoff_destination_dynamic.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Uses a webhook response to select the handoff destination at runtime. class HandoffDestinationDynamic < Internal::Types::Model field :server, -> { Vapi::Types::Server }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/handoff_destination_squad.rb b/lib/vapi/types/handoff_destination_squad.rb index 7fd97c82..a0baba65 100644 --- a/lib/vapi/types/handoff_destination_squad.rb +++ b/lib/vapi/types/handoff_destination_squad.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Routes a handoff to a saved or transient squad, with optional entry assistant, context engineering, variable + # extraction, and overrides. class HandoffDestinationSquad < Internal::Types::Model field :context_engineering_plan, -> { Vapi::Types::HandoffDestinationSquadContextEngineeringPlan }, optional: true, nullable: false, api_name: "contextEngineeringPlan" field :squad_id, -> { String }, optional: true, nullable: false, api_name: "squadId" diff --git a/lib/vapi/types/handoff_destination_squad_context_engineering_plan.rb b/lib/vapi/types/handoff_destination_squad_context_engineering_plan.rb index 3b243393..60b7a2d4 100644 --- a/lib/vapi/types/handoff_destination_squad_context_engineering_plan.rb +++ b/lib/vapi/types/handoff_destination_squad_context_engineering_plan.rb @@ -12,6 +12,7 @@ class HandoffDestinationSquadContextEngineeringPlan < Internal::Types::Model member -> { Vapi::Types::ContextEngineeringPlanNone }, key: "NONE" member -> { Vapi::Types::ContextEngineeringPlanAll }, key: "ALL" member -> { Vapi::Types::ContextEngineeringPlanUserAndAssistantMessages }, key: "USER_AND_ASSISTANT_MESSAGES" + member -> { Vapi::Types::ContextEngineeringPlanPreviousAssistantMessages }, key: "PREVIOUS_ASSISTANT_MESSAGES" end end end diff --git a/lib/vapi/types/handoff_tool.rb b/lib/vapi/types/handoff_tool.rb index e1a7d9c1..e69a9bfe 100644 --- a/lib/vapi/types/handoff_tool.rb +++ b/lib/vapi/types/handoff_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that hands a conversation to another assistant, squad, or dynamically selected destination. class HandoffTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::HandoffToolMessagesItem] }, optional: true, nullable: false field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" field :destinations, -> { Internal::Types::Array[Vapi::Types::HandoffToolDestinationsItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/hmac_authentication_plan.rb b/lib/vapi/types/hmac_authentication_plan.rb index 67ac6a46..3cf0e06b 100644 --- a/lib/vapi/types/hmac_authentication_plan.rb +++ b/lib/vapi/types/hmac_authentication_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for signing outbound requests with an HMAC secret, including algorithm, headers, payload format, and + # signature encoding. class HmacAuthenticationPlan < Internal::Types::Model field :secret_key, -> { String }, optional: false, nullable: false, api_name: "secretKey" field :algorithm, -> { Vapi::Types::HmacAuthenticationPlanAlgorithm }, optional: false, nullable: false diff --git a/lib/vapi/types/hume_voice.rb b/lib/vapi/types/hume_voice.rb index e32cd11a..fe907aa3 100644 --- a/lib/vapi/types/hume_voice.rb +++ b/lib/vapi/types/hume_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Hume, including model and voice selection, custom voice + # metadata, chunking, caching, and fallback settings. class HumeVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :model, -> { Vapi::Types::HumeVoiceModel }, optional: true, nullable: false diff --git a/lib/vapi/types/import_twilio_phone_number_dto.rb b/lib/vapi/types/import_twilio_phone_number_dto.rb index a777b224..fe17b42c 100644 --- a/lib/vapi/types/import_twilio_phone_number_dto.rb +++ b/lib/vapi/types/import_twilio_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for importing a Twilio phone number into Vapi, including Twilio credentials, routing target, + # fallback destination, hooks, SMS, and server settings. class ImportTwilioPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::ImportTwilioPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::ImportTwilioPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/inflection_ai_model.rb b/lib/vapi/types/inflection_ai_model.rb index 5c87ba92..bb9d41a6 100644 --- a/lib/vapi/types/inflection_ai_model.rb +++ b/lib/vapi/types/inflection_ai_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Inflection AI, including model, prompts, tools, + # knowledge-base access, and generation settings. class InflectionAiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::InflectionAiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::InflectionAiModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/insight.rb b/lib/vapi/types/insight.rb index 993480be..64ab6de6 100644 --- a/lib/vapi/types/insight.rb +++ b/lib/vapi/types/insight.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved insight returned by the API, including its visualization type, identity, organization, and lifecycle + # timestamps. class Insight < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :type, -> { Vapi::Types::InsightType }, optional: false, nullable: false @@ -9,6 +11,7 @@ class Insight < Internal::Types::Model field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" end end end diff --git a/lib/vapi/types/insight_formula.rb b/lib/vapi/types/insight_formula.rb index 4a7cf492..651d9c97 100644 --- a/lib/vapi/types/insight_formula.rb +++ b/lib/vapi/types/insight_formula.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A formula used to calculate an insight from its query results, with an optional display name. class InsightFormula < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formula, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/insight_paginated_response.rb b/lib/vapi/types/insight_paginated_response.rb index e5398b10..fe54e988 100644 --- a/lib/vapi/types/insight_paginated_response.rb +++ b/lib/vapi/types/insight_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of saved reporting insights and metadata describing the result set. class InsightPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::Insight] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/insight_run_format_plan.rb b/lib/vapi/types/insight_run_format_plan.rb index f10db117..8b627923 100644 --- a/lib/vapi/types/insight_run_format_plan.rb +++ b/lib/vapi/types/insight_run_format_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Selects whether an insight run returns raw data or Recharts-formatted data. class InsightRunFormatPlan < Internal::Types::Model field :format, -> { Vapi::Types::InsightRunFormatPlanFormat }, optional: true, nullable: false end diff --git a/lib/vapi/types/insight_run_response.rb b/lib/vapi/types/insight_run_response.rb index 719c94fb..36dd1d32 100644 --- a/lib/vapi/types/insight_run_response.rb +++ b/lib/vapi/types/insight_run_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Metadata identifying a saved insight run and its lifecycle timestamps. class InsightRunResponse < Internal::Types::Model field :id, -> { String }, optional: false, nullable: false field :insight_id, -> { String }, optional: false, nullable: false, api_name: "insightId" diff --git a/lib/vapi/types/insight_time_range.rb b/lib/vapi/types/insight_time_range.rb index 217359f6..9b57d8ca 100644 --- a/lib/vapi/types/insight_time_range.rb +++ b/lib/vapi/types/insight_time_range.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Start, end, and timezone used to limit an insight query by time. class InsightTimeRange < Internal::Types::Model field :start, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false field :end_, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "end" diff --git a/lib/vapi/types/insight_time_range_with_step.rb b/lib/vapi/types/insight_time_range_with_step.rb index 6985e989..81577e48 100644 --- a/lib/vapi/types/insight_time_range_with_step.rb +++ b/lib/vapi/types/insight_time_range_with_step.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Start, end, timezone, and aggregation step used for a time-series insight query. class InsightTimeRangeWithStep < Internal::Types::Model field :step, -> { Vapi::Types::InsightTimeRangeWithStepStep }, optional: true, nullable: false field :start, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/invite_user_dto_role.rb b/lib/vapi/types/invite_user_dto_role.rb index 0c40e525..5875324d 100644 --- a/lib/vapi/types/invite_user_dto_role.rb +++ b/lib/vapi/types/invite_user_dto_role.rb @@ -2,12 +2,11 @@ module Vapi module Types - module InviteUserDtoRole - extend Vapi::Internal::Types::Enum + class InviteUserDtoRole < Internal::Types::Model + extend Vapi::Internal::Types::Union - ADMIN = "admin" - EDITOR = "editor" - VIEWER = "viewer" + member -> { Vapi::Types::InviteUserDtoRoleZero } + member -> { String } end end end diff --git a/lib/vapi/types/invite_user_dto_role_zero.rb b/lib/vapi/types/invite_user_dto_role_zero.rb new file mode 100644 index 00000000..05e16ec5 --- /dev/null +++ b/lib/vapi/types/invite_user_dto_role_zero.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module InviteUserDtoRoleZero + extend Vapi::Internal::Types::Enum + + ADMIN = "admin" + EDITOR = "editor" + VIEWER = "viewer" + end + end +end diff --git a/lib/vapi/types/inworld_voice.rb b/lib/vapi/types/inworld_voice.rb index a8cc5170..882081ce 100644 --- a/lib/vapi/types/inworld_voice.rb +++ b/lib/vapi/types/inworld_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Inworld, including voice and model selection, language, + # temperature, speaking rate, chunking, caching, and fallback settings. class InworldVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::InworldVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/json_query_on_call_table_with_number_type_column.rb b/lib/vapi/types/json_query_on_call_table_with_number_type_column.rb index 4a482d26..5af46493 100644 --- a/lib/vapi/types/json_query_on_call_table_with_number_type_column.rb +++ b/lib/vapi/types/json_query_on_call_table_with_number_type_column.rb @@ -2,6 +2,7 @@ module Vapi module Types + # VapiQL JSON query that aggregates a numeric call-table column with optional call filters. class JsonQueryOnCallTableWithNumberTypeColumn < Internal::Types::Model field :type, -> { Vapi::Types::JsonQueryOnCallTableWithNumberTypeColumnType }, optional: false, nullable: false field :table, -> { Vapi::Types::JsonQueryOnCallTableWithNumberTypeColumnTable }, optional: false, nullable: false diff --git a/lib/vapi/types/json_query_on_call_table_with_string_type_column.rb b/lib/vapi/types/json_query_on_call_table_with_string_type_column.rb index 929192d0..e04e2e25 100644 --- a/lib/vapi/types/json_query_on_call_table_with_string_type_column.rb +++ b/lib/vapi/types/json_query_on_call_table_with_string_type_column.rb @@ -2,6 +2,7 @@ module Vapi module Types + # VapiQL JSON query that counts values from a string-valued call-table column with optional call filters. class JsonQueryOnCallTableWithStringTypeColumn < Internal::Types::Model field :type, -> { Vapi::Types::JsonQueryOnCallTableWithStringTypeColumnType }, optional: false, nullable: false field :table, -> { Vapi::Types::JsonQueryOnCallTableWithStringTypeColumnTable }, optional: false, nullable: false diff --git a/lib/vapi/types/json_query_on_call_table_with_structured_output_column.rb b/lib/vapi/types/json_query_on_call_table_with_structured_output_column.rb index be6bef07..7ce0bfed 100644 --- a/lib/vapi/types/json_query_on_call_table_with_structured_output_column.rb +++ b/lib/vapi/types/json_query_on_call_table_with_structured_output_column.rb @@ -2,6 +2,7 @@ module Vapi module Types + # VapiQL JSON query that aggregates or counts a structured-output value stored on call records. class JsonQueryOnCallTableWithStructuredOutputColumn < Internal::Types::Model field :type, -> { Vapi::Types::JsonQueryOnCallTableWithStructuredOutputColumnType }, optional: false, nullable: false field :table, -> { Vapi::Types::JsonQueryOnCallTableWithStructuredOutputColumnTable }, optional: false, nullable: false diff --git a/lib/vapi/types/json_query_on_events_table.rb b/lib/vapi/types/json_query_on_events_table.rb index d0ca7664..2be22c6f 100644 --- a/lib/vapi/types/json_query_on_events_table.rb +++ b/lib/vapi/types/json_query_on_events_table.rb @@ -2,6 +2,8 @@ module Vapi module Types + # VapiQL JSON query that counts or calculates the percentage of matching events using optional typed event-data + # filters. class JsonQueryOnEventsTable < Internal::Types::Model field :type, -> { Vapi::Types::JsonQueryOnEventsTableType }, optional: false, nullable: false field :table, -> { Vapi::Types::JsonQueryOnEventsTableTable }, optional: false, nullable: false diff --git a/lib/vapi/types/json_query_on_events_table_on.rb b/lib/vapi/types/json_query_on_events_table_on.rb index 7deec68c..e4242ad7 100644 --- a/lib/vapi/types/json_query_on_events_table_on.rb +++ b/lib/vapi/types/json_query_on_events_table_on.rb @@ -90,6 +90,7 @@ module JsonQueryOnEventsTableOn ASSISTANT_TRANSCRIBER_TRANSCRIPT_IGNORED = "assistant.transcriber.transcriptIgnored" ASSISTANT_TRANSCRIBER_LANGUAGE_SWITCHED = "assistant.transcriber.languageSwitched" ASSISTANT_ANALYSIS_STRUCTURED_OUTPUT_GENERATED = "assistant.analysis.structuredOutputGenerated" + ASSISTANT_ANALYSIS_STRUCTURED_OUTPUT_SKIPPED = "assistant.analysis.structuredOutputSkipped" PIPELINE_TURN_STARTED = "pipeline.turnStarted" PIPELINE_CLEARED = "pipeline.cleared" PIPELINE_BOT_SPEECH_STARTED = "pipeline.botSpeechStarted" diff --git a/lib/vapi/types/json_schema.rb b/lib/vapi/types/json_schema.rb index 38954e77..0ff5274c 100644 --- a/lib/vapi/types/json_schema.rb +++ b/lib/vapi/types/json_schema.rb @@ -2,6 +2,7 @@ module Vapi module Types + # JSON Schema definition used to describe structured data for extraction, validation, or model output. class JsonSchema < Internal::Types::Model field :type, -> { Vapi::Types::JsonSchemaType }, optional: false, nullable: false field :items, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false diff --git a/lib/vapi/types/keypad_input_plan.rb b/lib/vapi/types/keypad_input_plan.rb index 33183902..dc5c3c6e 100644 --- a/lib/vapi/types/keypad_input_plan.rb +++ b/lib/vapi/types/keypad_input_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls collection of dual-tone multi-frequency (DTMF) keypad input, including enablement, processing timeout, + # and delimiters. class KeypadInputPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" diff --git a/lib/vapi/types/knowledge_base.rb b/lib/vapi/types/knowledge_base.rb index 7435da36..2684b5dd 100644 --- a/lib/vapi/types/knowledge_base.rb +++ b/lib/vapi/types/knowledge_base.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A knowledge-base configuration, including its provider, model, description, and associated files. class KnowledgeBase < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :provider, -> { Vapi::Types::KnowledgeBaseProvider }, optional: false, nullable: false diff --git a/lib/vapi/types/knowledge_base_cost.rb b/lib/vapi/types/knowledge_base_cost.rb index 62eae7fb..51b44e1a 100644 --- a/lib/vapi/types/knowledge_base_cost.rb +++ b/lib/vapi/types/knowledge_base_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Knowledge-base model cost, including model, token usage, and amount. class KnowledgeBaseCost < Internal::Types::Model field :model, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :prompt_tokens, -> { Integer }, optional: false, nullable: false, api_name: "promptTokens" diff --git a/lib/vapi/types/knowledge_base_model.rb b/lib/vapi/types/knowledge_base_model.rb index e4613ab6..478dd25a 100644 --- a/lib/vapi/types/knowledge_base_model.rb +++ b/lib/vapi/types/knowledge_base_model.rb @@ -5,6 +5,8 @@ module Types module KnowledgeBaseModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/langfuse_observability_plan.rb b/lib/vapi/types/langfuse_observability_plan.rb index 2b0f3cc7..a0758f70 100644 --- a/lib/vapi/types/langfuse_observability_plan.rb +++ b/lib/vapi/types/langfuse_observability_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for sending assistant call traces to Langfuse, including prompt version linkage, trace naming, tags, + # and metadata. class LangfuseObservabilityPlan < Internal::Types::Model field :provider, -> { Vapi::Types::LangfuseObservabilityPlanProvider }, optional: false, nullable: false field :prompt_name, -> { String }, optional: true, nullable: false, api_name: "promptName" diff --git a/lib/vapi/types/legacy_assistant_version.rb b/lib/vapi/types/legacy_assistant_version.rb new file mode 100644 index 00000000..642163cf --- /dev/null +++ b/lib/vapi/types/legacy_assistant_version.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class LegacyAssistantVersion < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :assistant_id, -> { String }, optional: false, nullable: false, api_name: "assistantId" + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :data, -> { String }, optional: true, nullable: false + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + end + end +end diff --git a/lib/vapi/types/legacy_assistant_version_paginated_response.rb b/lib/vapi/types/legacy_assistant_version_paginated_response.rb new file mode 100644 index 00000000..df8b909a --- /dev/null +++ b/lib/vapi/types/legacy_assistant_version_paginated_response.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class LegacyAssistantVersionPaginatedResponse < Internal::Types::Model + field :results, -> { Internal::Types::Array[Vapi::Types::LegacyAssistantVersion] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false + field :next_page_state, -> { String }, optional: true, nullable: false, api_name: "nextPageState" + end + end +end diff --git a/lib/vapi/types/line_insight.rb b/lib/vapi/types/line_insight.rb index 616f2c83..52c46712 100644 --- a/lib/vapi/types/line_insight.rb +++ b/lib/vapi/types/line_insight.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved line-chart insight containing its call-data queries, formulas, grouping, stepped time range, metadata, and + # lifecycle information. class LineInsight < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false @@ -13,6 +15,7 @@ class LineInsight < Internal::Types::Model field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" end end end diff --git a/lib/vapi/types/line_insight_metadata.rb b/lib/vapi/types/line_insight_metadata.rb index 1fc9e6fd..39fa7ed8 100644 --- a/lib/vapi/types/line_insight_metadata.rb +++ b/lib/vapi/types/line_insight_metadata.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Display settings for a line insight, including chart name, axis labels, and optional y-axis bounds. class LineInsightMetadata < Internal::Types::Model field :x_axis_label, -> { String }, optional: true, nullable: false, api_name: "xAxisLabel" field :y_axis_label, -> { String }, optional: true, nullable: false, api_name: "yAxisLabel" diff --git a/lib/vapi/types/liquid_condition.rb b/lib/vapi/types/liquid_condition.rb index 0e641af3..9e975878 100644 --- a/lib/vapi/types/liquid_condition.rb +++ b/lib/vapi/types/liquid_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Evaluates a Liquid template that must return `true` or `false`. class LiquidCondition < Internal::Types::Model field :liquid, -> { String }, optional: false, nullable: false end diff --git a/lib/vapi/types/livekit_smart_endpointing_plan.rb b/lib/vapi/types/livekit_smart_endpointing_plan.rb index cf3e744b..ac4101f3 100644 --- a/lib/vapi/types/livekit_smart_endpointing_plan.rb +++ b/lib/vapi/types/livekit_smart_endpointing_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for using LiveKit smart endpointing, including provider selection and wait-function behavior. class LivekitSmartEndpointingPlan < Internal::Types::Model field :provider, -> { Vapi::Types::LivekitSmartEndpointingPlanProvider }, optional: false, nullable: false field :wait_function, -> { String }, optional: true, nullable: false, api_name: "waitFunction" diff --git a/lib/vapi/types/lmnt_voice.rb b/lib/vapi/types/lmnt_voice.rb index a1d73a64..63e8fdee 100644 --- a/lib/vapi/types/lmnt_voice.rb +++ b/lib/vapi/types/lmnt_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with LMNT, including voice selection, language, speed, chunking, + # caching, and fallback settings. class LmntVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::LmntVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/make_tool.rb b/lib/vapi/types/make_tool.rb index be7ba245..03891ab9 100644 --- a/lib/vapi/types/make_tool.rb +++ b/lib/vapi/types/make_tool.rb @@ -3,6 +3,7 @@ module Vapi module Types class MakeTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::MakeToolMessagesItem] }, optional: true, nullable: false field :type, -> { Vapi::Types::MakeToolType }, optional: false, nullable: false field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/mcp_tool.rb b/lib/vapi/types/mcp_tool.rb index 0aba0c02..7f1a32b2 100644 --- a/lib/vapi/types/mcp_tool.rb +++ b/lib/vapi/types/mcp_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that connects an assistant to a Model Context Protocol server and exposes its available tools. class McpTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessagesItem] }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false field :tool_messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessages] }, optional: true, nullable: false, api_name: "toolMessages" diff --git a/lib/vapi/types/mcp_tool_messages.rb b/lib/vapi/types/mcp_tool_messages.rb index 97dddcd5..9f8ebfe3 100644 --- a/lib/vapi/types/mcp_tool_messages.rb +++ b/lib/vapi/types/mcp_tool_messages.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Per-tool message overrides for a tool discovered through an MCP server. class McpToolMessages < Internal::Types::Model field :name, -> { String }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessagesMessagesItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/mcp_tool_metadata.rb b/lib/vapi/types/mcp_tool_metadata.rb index 2daeab0a..1ea420fa 100644 --- a/lib/vapi/types/mcp_tool_metadata.rb +++ b/lib/vapi/types/mcp_tool_metadata.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Protocol metadata used to communicate with an MCP server. class McpToolMetadata < Internal::Types::Model field :protocol, -> { Vapi::Types::McpToolMetadataProtocol }, optional: true, nullable: false end diff --git a/lib/vapi/types/message_add_hook_action.rb b/lib/vapi/types/message_add_hook_action.rb index 139d5689..eed3e533 100644 --- a/lib/vapi/types/message_add_hook_action.rb +++ b/lib/vapi/types/message_add_hook_action.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A hook action that adds an OpenAI-format message to the conversation and can trigger an assistant response. class MessageAddHookAction < Internal::Types::Model field :message, -> { Vapi::Types::OpenAiMessage }, optional: false, nullable: false field :trigger_response_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "triggerResponseEnabled" diff --git a/lib/vapi/types/message_target.rb b/lib/vapi/types/message_target.rb index ce048b20..9de3fb1c 100644 --- a/lib/vapi/types/message_target.rb +++ b/lib/vapi/types/message_target.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Selects a conversation message by participant role and position for condition evaluation. class MessageTarget < Internal::Types::Model field :role, -> { Vapi::Types::MessageTargetRole }, optional: true, nullable: false field :position, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/trieve_credential.rb b/lib/vapi/types/microsoft_credential.rb similarity index 71% rename from lib/vapi/types/trieve_credential.rb rename to lib/vapi/types/microsoft_credential.rb index b8734d62..fa5d9488 100644 --- a/lib/vapi/types/trieve_credential.rb +++ b/lib/vapi/types/microsoft_credential.rb @@ -2,9 +2,10 @@ module Vapi module Types - class TrieveCredential < Internal::Types::Model - field :provider, -> { Vapi::Types::TrieveCredentialProvider }, optional: false, nullable: false + class MicrosoftCredential < Internal::Types::Model + field :provider, -> { Vapi::Types::MicrosoftCredentialProvider }, optional: false, nullable: false field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :region, -> { String }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" diff --git a/lib/vapi/types/microsoft_credential_provider.rb b/lib/vapi/types/microsoft_credential_provider.rb new file mode 100644 index 00000000..c9fd0068 --- /dev/null +++ b/lib/vapi/types/microsoft_credential_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module MicrosoftCredentialProvider + extend Vapi::Internal::Types::Enum + + MICROSOFT = "microsoft" + end + end +end diff --git a/lib/vapi/types/microsoft_voice.rb b/lib/vapi/types/microsoft_voice.rb new file mode 100644 index 00000000..315e59e4 --- /dev/null +++ b/lib/vapi/types/microsoft_voice.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + class MicrosoftVoice < Internal::Types::Model + field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" + field :voice_id, -> { Vapi::Types::MicrosoftVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :style, -> { Vapi::Types::MicrosoftVoiceStyle }, optional: true, nullable: false + field :style_degree, -> { Integer }, optional: true, nullable: false, api_name: "styleDegree" + field :role, -> { Vapi::Types::MicrosoftVoiceRole }, optional: true, nullable: false + field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" + field :speed, -> { Integer }, optional: true, nullable: false + field :fallback_plan, -> { Vapi::Types::FallbackPlan }, optional: true, nullable: false, api_name: "fallbackPlan" + end + end +end diff --git a/lib/vapi/types/microsoft_voice_role.rb b/lib/vapi/types/microsoft_voice_role.rb new file mode 100644 index 00000000..7e120c44 --- /dev/null +++ b/lib/vapi/types/microsoft_voice_role.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + module MicrosoftVoiceRole + extend Vapi::Internal::Types::Enum + + GIRL = "Girl" + BOY = "Boy" + YOUNG_ADULT_FEMALE = "YoungAdultFemale" + YOUNG_ADULT_MALE = "YoungAdultMale" + OLDER_ADULT_FEMALE = "OlderAdultFemale" + OLDER_ADULT_MALE = "OlderAdultMale" + SENIOR_FEMALE = "SeniorFemale" + SENIOR_MALE = "SeniorMale" + end + end +end diff --git a/lib/vapi/types/microsoft_voice_style.rb b/lib/vapi/types/microsoft_voice_style.rb new file mode 100644 index 00000000..1ee1ca2f --- /dev/null +++ b/lib/vapi/types/microsoft_voice_style.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Vapi + module Types + module MicrosoftVoiceStyle + extend Vapi::Internal::Types::Enum + + ADVENTUROUS = "adventurous" + ANGRY = "angry" + CARING = "caring" + CHEERFUL = "cheerful" + CONFUSED = "confused" + CURIOUS = "curious" + DETERMINED = "determined" + DISAPPOINTED = "disappointed" + DISGUSTED = "disgusted" + EMBARRASSED = "embarrassed" + EMPATHY = "empathy" + ENCOURAGING = "encouraging" + EXCITED = "excited" + FEARFUL = "fearful" + FRIENDLY = "friendly" + HAPPY = "happy" + HOPEFUL = "hopeful" + JEALOUS = "jealous" + JOYFUL = "joyful" + NOSTALGIC = "nostalgic" + REFLECTIVE = "reflective" + REGRETFUL = "regretful" + RELIEVED = "relieved" + SAD = "sad" + SERIOUS = "serious" + SHOUTING = "shouting" + SOFTVOICE = "softvoice" + SURPRISED = "surprised" + WHISPERING = "whispering" + end + end +end diff --git a/lib/vapi/types/microsoft_voice_voice_id.rb b/lib/vapi/types/microsoft_voice_voice_id.rb new file mode 100644 index 00000000..56e60c20 --- /dev/null +++ b/lib/vapi/types/microsoft_voice_voice_id.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +module Vapi + module Types + module MicrosoftVoiceVoiceId + extend Vapi::Internal::Types::Enum + + DE_DE_KLAUS_MAI_VOICE_2 = "de-DE-Klaus:MAI-Voice-2" + DE_DE_MIA_MAI_VOICE_2 = "de-DE-Mia:MAI-Voice-2" + EN_AU_LISA_MAI_VOICE_2 = "en-AU-Lisa:MAI-Voice-2" + EN_US_ETHAN_MAI_VOICE_2 = "en-US-Ethan:MAI-Voice-2" + EN_US_GRANT_MAI_VOICE_2 = "en-US-Grant:MAI-Voice-2" + EN_US_HARPER_MAI_VOICE_2 = "en-US-Harper:MAI-Voice-2" + EN_US_IRIS_MAI_VOICE_2 = "en-US-Iris:MAI-Voice-2" + EN_US_JASPER_MAI_VOICE_2 = "en-US-Jasper:MAI-Voice-2" + EN_US_OLIVIA_MAI_VOICE_2 = "en-US-Olivia:MAI-Voice-2" + ES_ES_MARTA_MAI_VOICE_2 = "es-ES-Marta:MAI-Voice-2" + ES_MX_ALEJO_MAI_VOICE_2 = "es-MX-Alejo:MAI-Voice-2" + ES_MX_VALERIA_MAI_VOICE_2 = "es-MX-Valeria:MAI-Voice-2" + FR_FR_MARC_MAI_VOICE_2 = "fr-FR-Marc:MAI-Voice-2" + FR_FR_SOLEIL_MAI_VOICE_2 = "fr-FR-Soleil:MAI-Voice-2" + HI_IN_ARJUN_MAI_VOICE_2 = "hi-IN-Arjun:MAI-Voice-2" + HI_IN_DHRUV_MAI_VOICE_2 = "hi-IN-Dhruv:MAI-Voice-2" + HI_IN_KAVYA_MAI_VOICE_2 = "hi-IN-Kavya:MAI-Voice-2" + HI_IN_PRIYA_MAI_VOICE_2 = "hi-IN-Priya:MAI-Voice-2" + HU_HU_BENCE_MAI_VOICE_2 = "hu-HU-Bence:MAI-Voice-2" + HU_HU_LEVENTE_MAI_VOICE_2 = "hu-HU-Levente:MAI-Voice-2" + HU_HU_LILLA_MAI_VOICE_2 = "hu-HU-Lilla:MAI-Voice-2" + HU_HU_REKA_MAI_VOICE_2 = "hu-HU-Réka:MAI-Voice-2" + IT_IT_LUCA_MAI_VOICE_2 = "it-IT-Luca:MAI-Voice-2" + IT_IT_ROSA_MAI_VOICE_2 = "it-IT-Rosa:MAI-Voice-2" + KO_KR_HANA_MAI_VOICE_2 = "ko-KR-Hana:MAI-Voice-2" + KO_KR_JUNHO_MAI_VOICE_2 = "ko-KR-Junho:MAI-Voice-2" + NL_NL_FLEUR_MAI_VOICE_2 = "nl-NL-Fleur:MAI-Voice-2" + NL_NL_SANDER_MAI_VOICE_2 = "nl-NL-Sander:MAI-Voice-2" + PT_BR_CAIO_MAI_VOICE_2 = "pt-BR-Caio:MAI-Voice-2" + PT_BR_LUANA_MAI_VOICE_2 = "pt-BR-Luana:MAI-Voice-2" + PT_BR_PEDRO_MAI_VOICE_2 = "pt-BR-Pedro:MAI-Voice-2" + PT_BR_RAFAEL_MAI_VOICE_2 = "pt-BR-Rafael:MAI-Voice-2" + PT_PT_RUI_MAI_VOICE_2 = "pt-PT-Rui:MAI-Voice-2" + RO_RO_ANDREI_MAI_VOICE_2 = "ro-RO-Andrei:MAI-Voice-2" + RO_RO_ELENA_MAI_VOICE_2 = "ro-RO-Elena:MAI-Voice-2" + RO_RO_IOANA_MAI_VOICE_2 = "ro-RO-Ioana:MAI-Voice-2" + RO_RO_RADU_MAI_VOICE_2 = "ro-RO-Radu:MAI-Voice-2" + RU_RU_LEV_MAI_VOICE_2 = "ru-RU-Lev:MAI-Voice-2" + RU_RU_MASHA_MAI_VOICE_2 = "ru-RU-Masha:MAI-Voice-2" + TH_TH_KRIT_MAI_VOICE_2 = "th-TH-Krit:MAI-Voice-2" + TH_TH_NATTAPONG_MAI_VOICE_2 = "th-TH-Nattapong:MAI-Voice-2" + TR_TR_AYDIN_MAI_VOICE_2 = "tr-TR-Aydin:MAI-Voice-2" + TR_TR_ELIF_MAI_VOICE_2 = "tr-TR-Elif:MAI-Voice-2" + ZH_CN_BO_MAI_VOICE_2 = "zh-CN-Bo:MAI-Voice-2" + ZH_CN_LAN_MAI_VOICE_2 = "zh-CN-Lan:MAI-Voice-2" + ZH_CN_MEI_MAI_VOICE_2 = "zh-CN-Mei:MAI-Voice-2" + end + end +end diff --git a/lib/vapi/types/min_call_duration_condition.rb b/lib/vapi/types/min_call_duration_condition.rb new file mode 100644 index 00000000..05231fa9 --- /dev/null +++ b/lib/vapi/types/min_call_duration_condition.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class MinCallDurationCondition < Internal::Types::Model + field :seconds, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/min_messages_condition.rb b/lib/vapi/types/min_messages_condition.rb new file mode 100644 index 00000000..baa3536c --- /dev/null +++ b/lib/vapi/types/min_messages_condition.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class MinMessagesCondition < Internal::Types::Model + field :count, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/minimax_llm_model.rb b/lib/vapi/types/minimax_llm_model.rb index 104ba934..b95f1ea4 100644 --- a/lib/vapi/types/minimax_llm_model.rb +++ b/lib/vapi/types/minimax_llm_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with MiniMax, including model, prompts, tools, knowledge-base + # access, and generation settings. class MinimaxLlmModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::MinimaxLlmModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::MinimaxLlmModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/minimax_voice.rb b/lib/vapi/types/minimax_voice.rb index 14340ce7..5d0646d3 100644 --- a/lib/vapi/types/minimax_voice.rb +++ b/lib/vapi/types/minimax_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with MiniMax, including voice and model selection, emotion, pitch, + # speed, volume, region, language, text normalization, chunking, caching, and fallback settings. class MinimaxVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/model_cost.rb b/lib/vapi/types/model_cost.rb index 7f58e619..61d115bf 100644 --- a/lib/vapi/types/model_cost.rb +++ b/lib/vapi/types/model_cost.rb @@ -2,11 +2,13 @@ module Vapi module Types + # Language-model cost for a call, including model, token usage, and amount. class ModelCost < Internal::Types::Model field :model, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :prompt_tokens, -> { Integer }, optional: false, nullable: false, api_name: "promptTokens" field :completion_tokens, -> { Integer }, optional: false, nullable: false, api_name: "completionTokens" field :cached_prompt_tokens, -> { Integer }, optional: true, nullable: false, api_name: "cachedPromptTokens" + field :reasoning_tokens, -> { Integer }, optional: true, nullable: false, api_name: "reasoningTokens" field :cost, -> { Integer }, optional: false, nullable: false end end diff --git a/lib/vapi/types/monitor.rb b/lib/vapi/types/monitor.rb index 9324f44e..5d22dae2 100644 --- a/lib/vapi/types/monitor.rb +++ b/lib/vapi/types/monitor.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Live monitoring data for a call, including attached monitor results and listening and control URLs. class Monitor < Internal::Types::Model field :monitors, -> { Internal::Types::Array[Vapi::Types::MonitorResult] }, optional: true, nullable: false field :listen_url, -> { String }, optional: true, nullable: false, api_name: "listenUrl" diff --git a/lib/vapi/types/monitor_plan.rb b/lib/vapi/types/monitor_plan.rb index c586bc2b..a88dc185 100644 --- a/lib/vapi/types/monitor_plan.rb +++ b/lib/vapi/types/monitor_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls real-time listening and control for assistant calls, authentication requirements for monitor URLs, and + # attached monitors. class MonitorPlan < Internal::Types::Model field :listen_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "listenEnabled" field :listen_authentication_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "listenAuthenticationEnabled" diff --git a/lib/vapi/types/monitor_result.rb b/lib/vapi/types/monitor_result.rb index 74272d52..a4cad87e 100644 --- a/lib/vapi/types/monitor_result.rb +++ b/lib/vapi/types/monitor_result.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Result of evaluating an attached monitor's filter for a call. class MonitorResult < Internal::Types::Model field :monitor_id, -> { String }, optional: false, nullable: false, api_name: "monitorId" field :filter_passed, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "filterPassed" diff --git a/lib/vapi/types/mono.rb b/lib/vapi/types/mono.rb index 79bb3931..30486078 100644 --- a/lib/vapi/types/mono.rb +++ b/lib/vapi/types/mono.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Mono recording URLs for the combined call and isolated assistant and customer audio. class Mono < Internal::Types::Model field :combined_url, -> { String }, optional: true, nullable: false, api_name: "combinedUrl" field :assistant_url, -> { String }, optional: true, nullable: false, api_name: "assistantUrl" diff --git a/lib/vapi/types/neuphonic_voice.rb b/lib/vapi/types/neuphonic_voice.rb index c38b27d3..9dccc9da 100644 --- a/lib/vapi/types/neuphonic_voice.rb +++ b/lib/vapi/types/neuphonic_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Neuphonic, including voice and model selection, language, + # speed, chunking, caching, and fallback settings. class NeuphonicVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/node_artifact.rb b/lib/vapi/types/node_artifact.rb index 08b068bb..340db28a 100644 --- a/lib/vapi/types/node_artifact.rb +++ b/lib/vapi/types/node_artifact.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Messages and variable values captured while a workflow node was active. class NodeArtifact < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::NodeArtifactMessagesItem] }, optional: true, nullable: false field :node_name, -> { String }, optional: true, nullable: false, api_name: "nodeName" diff --git a/lib/vapi/types/number_comparator_scorecard_metric_condition.rb b/lib/vapi/types/number_comparator_scorecard_metric_condition.rb new file mode 100644 index 00000000..3c660941 --- /dev/null +++ b/lib/vapi/types/number_comparator_scorecard_metric_condition.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class NumberComparatorScorecardMetricCondition < Internal::Types::Model + field :type, -> { Vapi::Types::NumberComparatorScorecardMetricConditionType }, optional: false, nullable: false + field :comparator, -> { Vapi::Types::NumberComparatorScorecardMetricConditionComparator }, optional: false, nullable: false + field :value, -> { Integer }, optional: false, nullable: false + field :points, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/number_comparator_scorecard_metric_condition_comparator.rb b/lib/vapi/types/number_comparator_scorecard_metric_condition_comparator.rb new file mode 100644 index 00000000..a2bd5350 --- /dev/null +++ b/lib/vapi/types/number_comparator_scorecard_metric_condition_comparator.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + module NumberComparatorScorecardMetricConditionComparator + extend Vapi::Internal::Types::Enum + + EQUAL_TO = "=" + NOT_EQUALS = "!=" + GREATER_THAN = ">" + LESS_THAN = "<" + GREATER_THAN_OR_EQUAL_TO = ">=" + LESS_THAN_OR_EQUAL_TO = "<=" + end + end +end diff --git a/lib/vapi/types/number_comparator_scorecard_metric_condition_type.rb b/lib/vapi/types/number_comparator_scorecard_metric_condition_type.rb new file mode 100644 index 00000000..9cd0fb1a --- /dev/null +++ b/lib/vapi/types/number_comparator_scorecard_metric_condition_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module NumberComparatorScorecardMetricConditionType + extend Vapi::Internal::Types::Enum + + COMPARATOR = "comparator" + end + end +end diff --git a/lib/vapi/types/o_auth_2_authentication_plan.rb b/lib/vapi/types/o_auth_2_authentication_plan.rb index d20e0c3d..2f4e68c2 100644 --- a/lib/vapi/types/o_auth_2_authentication_plan.rb +++ b/lib/vapi/types/o_auth_2_authentication_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Client-credentials configuration for obtaining an OAuth 2.0 access token used to authenticate outbound requests. class OAuth2AuthenticationPlan < Internal::Types::Model field :type, -> { Vapi::Types::OAuth2AuthenticationPlanType }, optional: false, nullable: false field :url, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/oauth_2_authentication_session.rb b/lib/vapi/types/oauth_2_authentication_session.rb index 661b3e86..8d17544b 100644 --- a/lib/vapi/types/oauth_2_authentication_session.rb +++ b/lib/vapi/types/oauth_2_authentication_session.rb @@ -2,6 +2,7 @@ module Vapi module Types + # OAuth 2.0 session tokens and expiration used to authenticate integration requests. class Oauth2AuthenticationSession < Internal::Types::Model field :access_token, -> { String }, optional: true, nullable: false, api_name: "accessToken" field :expires_at, -> { String }, optional: true, nullable: false, api_name: "expiresAt" diff --git a/lib/vapi/types/open_ai_function.rb b/lib/vapi/types/open_ai_function.rb index 352dafe8..3641c9f3 100644 --- a/lib/vapi/types/open_ai_function.rb +++ b/lib/vapi/types/open_ai_function.rb @@ -2,9 +2,11 @@ module Vapi module Types + # Function definition exposed to a language model, including its name, purpose, parameter schema, and strict-schema + # behavior. class OpenAiFunction < Internal::Types::Model - field :strict, -> { Internal::Types::Boolean }, optional: true, nullable: false field :name, -> { String }, optional: false, nullable: false + field :strict, -> { Internal::Types::Boolean }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false field :parameters, -> { Vapi::Types::OpenAiFunctionParameters }, optional: true, nullable: false end diff --git a/lib/vapi/types/open_ai_function_parameters.rb b/lib/vapi/types/open_ai_function_parameters.rb index 3e67b787..ce2d06a8 100644 --- a/lib/vapi/types/open_ai_function_parameters.rb +++ b/lib/vapi/types/open_ai_function_parameters.rb @@ -2,6 +2,7 @@ module Vapi module Types + # JSON object schema defining the properties accepted by a function and which properties are required. class OpenAiFunctionParameters < Internal::Types::Model field :type, -> { Vapi::Types::OpenAiFunctionParametersType }, optional: false, nullable: false field :properties, -> { Internal::Types::Hash[String, Vapi::Types::JsonSchema] }, optional: false, nullable: false diff --git a/lib/vapi/types/open_ai_message.rb b/lib/vapi/types/open_ai_message.rb index 2332103a..6ddd1d3f 100644 --- a/lib/vapi/types/open_ai_message.rb +++ b/lib/vapi/types/open_ai_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A conversation message represented in OpenAI chat format. class OpenAiMessage < Internal::Types::Model field :content, -> { String }, optional: false, nullable: true field :role, -> { Vapi::Types::OpenAiMessageRole }, optional: false, nullable: false diff --git a/lib/vapi/types/open_ai_model.rb b/lib/vapi/types/open_ai_model.rb index 162cfc37..b6258ca2 100644 --- a/lib/vapi/types/open_ai_model.rb +++ b/lib/vapi/types/open_ai_model.rb @@ -2,16 +2,20 @@ module Vapi module Types + # Configuration for generating assistant responses with OpenAI, including model selection, fallback models, prompts, + # tools, prompt caching, and generation settings. class OpenAiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::OpenAiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::OpenAiModelModel }, optional: false, nullable: false field :fallback_models, -> { Internal::Types::Array[Vapi::Types::OpenAiModelFallbackModelsItem] }, optional: true, nullable: false, api_name: "fallbackModels" field :tool_strict_compatibility_mode, -> { Vapi::Types::OpenAiModelToolStrictCompatibilityMode }, optional: true, nullable: false, api_name: "toolStrictCompatibilityMode" field :prompt_cache_retention, -> { Vapi::Types::OpenAiModelPromptCacheRetention }, optional: true, nullable: false, api_name: "promptCacheRetention" field :prompt_cache_key, -> { String }, optional: true, nullable: false, api_name: "promptCacheKey" + field :reasoning_effort, -> { Vapi::Types::OpenAiModelReasoningEffort }, optional: true, nullable: false, api_name: "reasoningEffort" field :temperature, -> { Integer }, optional: true, nullable: false field :max_tokens, -> { Integer }, optional: true, nullable: false, api_name: "maxTokens" field :emotion_recognition_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "emotionRecognitionEnabled" diff --git a/lib/vapi/types/open_ai_model_fallback_models_item.rb b/lib/vapi/types/open_ai_model_fallback_models_item.rb index 3267143d..930b4823 100644 --- a/lib/vapi/types/open_ai_model_fallback_models_item.rb +++ b/lib/vapi/types/open_ai_model_fallback_models_item.rb @@ -5,6 +5,11 @@ module Types module OpenAiModelFallbackModelsItem extend Vapi::Internal::Types::Enum + GPT_56_SOL = "gpt-5.6-sol" + GPT_56_TERRA = "gpt-5.6-terra" + GPT_56_LUNA = "gpt-5.6-luna" + GPT_55 = "gpt-5.5" + CHAT_LATEST = "chat-latest" GPT_54 = "gpt-5.4" GPT_54_MINI = "gpt-5.4-mini" GPT_54_NANO = "gpt-5.4-nano" @@ -33,6 +38,7 @@ module OpenAiModelFallbackModelsItem GPT_4_O_MINI_REALTIME_PREVIEW_20241217 = "gpt-4o-mini-realtime-preview-2024-12-17" GPT_REALTIME_20250828 = "gpt-realtime-2025-08-28" GPT_REALTIME_MINI_20251215 = "gpt-realtime-mini-2025-12-15" + GPT_REALTIME_2 = "gpt-realtime-2" GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18" GPT_4_O_MINI = "gpt-4o-mini" GPT_4_O = "gpt-4o" @@ -123,6 +129,9 @@ module OpenAiModelFallbackModelsItem GPT_35_TURBO_0125_SOUTHCENTRALUS = "gpt-3.5-turbo-0125:southcentralus" GPT_35_TURBO_1106_CANADAEAST = "gpt-3.5-turbo-1106:canadaeast" GPT_35_TURBO_1106_WESTUS = "gpt-3.5-turbo-1106:westus" + GPT_41_AUSTRALIAEAST = "gpt-4.1:australiaeast" + GPT_4_O_AUSTRALIAEAST = "gpt-4o:australiaeast" + GPT_54_MINI_AUSTRALIAEAST = "gpt-5.4-mini:australiaeast" end end end diff --git a/lib/vapi/types/open_ai_model_model.rb b/lib/vapi/types/open_ai_model_model.rb index eafd5526..e03f66cc 100644 --- a/lib/vapi/types/open_ai_model_model.rb +++ b/lib/vapi/types/open_ai_model_model.rb @@ -5,6 +5,11 @@ module Types module OpenAiModelModel extend Vapi::Internal::Types::Enum + GPT_56_SOL = "gpt-5.6-sol" + GPT_56_TERRA = "gpt-5.6-terra" + GPT_56_LUNA = "gpt-5.6-luna" + GPT_55 = "gpt-5.5" + CHAT_LATEST = "chat-latest" GPT_54 = "gpt-5.4" GPT_54_MINI = "gpt-5.4-mini" GPT_54_NANO = "gpt-5.4-nano" @@ -33,6 +38,7 @@ module OpenAiModelModel GPT_4_O_MINI_REALTIME_PREVIEW_20241217 = "gpt-4o-mini-realtime-preview-2024-12-17" GPT_REALTIME_20250828 = "gpt-realtime-2025-08-28" GPT_REALTIME_MINI_20251215 = "gpt-realtime-mini-2025-12-15" + GPT_REALTIME_2 = "gpt-realtime-2" GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18" GPT_4_O_MINI = "gpt-4o-mini" GPT_4_O = "gpt-4o" @@ -123,6 +129,9 @@ module OpenAiModelModel GPT_35_TURBO_0125_SOUTHCENTRALUS = "gpt-3.5-turbo-0125:southcentralus" GPT_35_TURBO_1106_CANADAEAST = "gpt-3.5-turbo-1106:canadaeast" GPT_35_TURBO_1106_WESTUS = "gpt-3.5-turbo-1106:westus" + GPT_41_AUSTRALIAEAST = "gpt-4.1:australiaeast" + GPT_4_O_AUSTRALIAEAST = "gpt-4o:australiaeast" + GPT_54_MINI_AUSTRALIAEAST = "gpt-5.4-mini:australiaeast" end end end diff --git a/lib/vapi/types/open_ai_model_reasoning_effort.rb b/lib/vapi/types/open_ai_model_reasoning_effort.rb new file mode 100644 index 00000000..0d2610b5 --- /dev/null +++ b/lib/vapi/types/open_ai_model_reasoning_effort.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + module OpenAiModelReasoningEffort + extend Vapi::Internal::Types::Enum + + MINIMAL = "minimal" + NONE = "none" + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + XHIGH = "xhigh" + end + end +end diff --git a/lib/vapi/types/open_ai_transcriber.rb b/lib/vapi/types/open_ai_transcriber.rb index de4a19db..0c17f988 100644 --- a/lib/vapi/types/open_ai_transcriber.rb +++ b/lib/vapi/types/open_ai_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with OpenAI, including model, language, and + # fallback settings. class OpenAiTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::OpenAiTranscriberModel }, optional: false, nullable: false field :language, -> { Vapi::Types::OpenAiTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/open_ai_voice.rb b/lib/vapi/types/open_ai_voice.rb index 302b0082..a363f339 100644 --- a/lib/vapi/types/open_ai_voice.rb +++ b/lib/vapi/types/open_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with OpenAI, including voice and model selection, delivery + # instructions, speed, chunking, caching, and fallback settings. class OpenAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::OpenAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/open_ai_voicemail_detection_plan.rb b/lib/vapi/types/open_ai_voicemail_detection_plan.rb index 7ca148ff..ca448919 100644 --- a/lib/vapi/types/open_ai_voicemail_detection_plan.rb +++ b/lib/vapi/types/open_ai_voicemail_detection_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for detecting voicemail with OpenAI, including detection type, maximum beep wait, and retry backoff. class OpenAiVoicemailDetectionPlan < Internal::Types::Model field :beep_max_await_seconds, -> { Integer }, optional: true, nullable: false, api_name: "beepMaxAwaitSeconds" field :provider, -> { Vapi::Types::OpenAiVoicemailDetectionPlanProvider }, optional: false, nullable: false diff --git a/lib/vapi/types/open_router_model.rb b/lib/vapi/types/open_router_model.rb index a75c7d47..9d91a589 100644 --- a/lib/vapi/types/open_router_model.rb +++ b/lib/vapi/types/open_router_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses through OpenRouter, including routed model selection, prompts, + # tools, knowledge-base access, and generation settings. class OpenRouterModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::OpenRouterModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/org.rb b/lib/vapi/types/org.rb index 7251eaf4..4b192b8c 100644 --- a/lib/vapi/types/org.rb +++ b/lib/vapi/types/org.rb @@ -4,6 +4,8 @@ module Vapi module Types class Org < Internal::Types::Model field :hipaa_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "hipaaEnabled" + field :workos_repair_pending, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "workosRepairPending" + field :workos_repair_queued, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "workosRepairQueued" field :subscription, -> { Vapi::Types::Subscription }, optional: true, nullable: false field :subscription_id, -> { String }, optional: true, nullable: false, api_name: "subscriptionId" field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/output_tool.rb b/lib/vapi/types/output_tool.rb index 32b59a8d..8ecb9e2d 100644 --- a/lib/vapi/types/output_tool.rb +++ b/lib/vapi/types/output_tool.rb @@ -3,6 +3,7 @@ module Vapi module Types class OutputTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::OutputToolMessagesItem] }, optional: true, nullable: false field :type, -> { Vapi::Types::OutputToolType }, optional: false, nullable: false field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/pagination_meta.rb b/lib/vapi/types/pagination_meta.rb index e3495110..8301c715 100644 --- a/lib/vapi/types/pagination_meta.rb +++ b/lib/vapi/types/pagination_meta.rb @@ -2,10 +2,15 @@ module Vapi module Types + # Pagination and retention metadata returned with a paginated list of phone numbers. class PaginationMeta < Internal::Types::Model field :items_per_page, -> { Integer }, optional: false, nullable: false, api_name: "itemsPerPage" field :total_items, -> { Integer }, optional: false, nullable: false, api_name: "totalItems" field :current_page, -> { Integer }, optional: false, nullable: false, api_name: "currentPage" + field :total_pages, -> { Integer }, optional: true, nullable: false, api_name: "totalPages" + field :has_next_page, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "hasNextPage" + field :next_cursor, -> { String }, optional: true, nullable: false, api_name: "nextCursor" + field :sort_order, -> { Vapi::Types::PaginationMetaSortOrder }, optional: true, nullable: false, api_name: "sortOrder" field :items_beyond_retention, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "itemsBeyondRetention" field :created_at_le, -> { String }, optional: true, nullable: false, api_name: "createdAtLe" field :created_at_ge, -> { String }, optional: true, nullable: false, api_name: "createdAtGe" diff --git a/lib/vapi/types/pagination_meta_sort_order.rb b/lib/vapi/types/pagination_meta_sort_order.rb new file mode 100644 index 00000000..46025899 --- /dev/null +++ b/lib/vapi/types/pagination_meta_sort_order.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module PaginationMetaSortOrder + extend Vapi::Internal::Types::Enum + + ASC = "ASC" + DESC = "DESC" + end + end +end diff --git a/lib/vapi/types/pending_invitation_dto.rb b/lib/vapi/types/pending_invitation_dto.rb new file mode 100644 index 00000000..618ed6dc --- /dev/null +++ b/lib/vapi/types/pending_invitation_dto.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class PendingInvitationDto < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/pending_invitations_response_dto.rb b/lib/vapi/types/pending_invitations_response_dto.rb new file mode 100644 index 00000000..674d9227 --- /dev/null +++ b/lib/vapi/types/pending_invitations_response_dto.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class PendingInvitationsResponseDto < Internal::Types::Model + field :invitations, -> { Internal::Types::Array[Vapi::Types::PendingInvitationDto] }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/performance_metrics.rb b/lib/vapi/types/performance_metrics.rb index 77c48c26..9dcfd14d 100644 --- a/lib/vapi/types/performance_metrics.rb +++ b/lib/vapi/types/performance_metrics.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Call performance measurements, including per-turn and average provider, endpointing, transport, and interruption + # metrics. class PerformanceMetrics < Internal::Types::Model field :turn_latencies, -> { Internal::Types::Array[Vapi::Types::TurnLatency] }, optional: true, nullable: false, api_name: "turnLatencies" field :model_latency_average, -> { Integer }, optional: true, nullable: false, api_name: "modelLatencyAverage" diff --git a/lib/vapi/types/perplexity_ai_model.rb b/lib/vapi/types/perplexity_ai_model.rb index aab8efcf..453fbe3f 100644 --- a/lib/vapi/types/perplexity_ai_model.rb +++ b/lib/vapi/types/perplexity_ai_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Perplexity AI, including model, prompts, tools, + # knowledge-base access, and generation settings. class PerplexityAiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::PerplexityAiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/phone_number_call_ending_hook_filter.rb b/lib/vapi/types/phone_number_call_ending_hook_filter.rb index 3fa33ac6..f3ba020e 100644 --- a/lib/vapi/types/phone_number_call_ending_hook_filter.rb +++ b/lib/vapi/types/phone_number_call_ending_hook_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Matches the call's ended reason against configured assistant-request failure reasons before an ending hook runs. class PhoneNumberCallEndingHookFilter < Internal::Types::Model field :type, -> { Vapi::Types::PhoneNumberCallEndingHookFilterType }, optional: false, nullable: false field :key, -> { Vapi::Types::PhoneNumberCallEndingHookFilterKey }, optional: false, nullable: false diff --git a/lib/vapi/types/phone_number_call_ringing_hook_filter.rb b/lib/vapi/types/phone_number_call_ringing_hook_filter.rb index 5e9e96b4..f0e86800 100644 --- a/lib/vapi/types/phone_number_call_ringing_hook_filter.rb +++ b/lib/vapi/types/phone_number_call_ringing_hook_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Matches an incoming caller's phone number against one or more prefixes before a ringing hook runs. class PhoneNumberCallRingingHookFilter < Internal::Types::Model field :type, -> { Vapi::Types::PhoneNumberCallRingingHookFilterType }, optional: false, nullable: false field :key, -> { Vapi::Types::PhoneNumberCallRingingHookFilterKey }, optional: false, nullable: false diff --git a/lib/vapi/types/phone_number_hook_call_ending.rb b/lib/vapi/types/phone_number_hook_call_ending.rb index 33707559..4b81ffcc 100644 --- a/lib/vapi/types/phone_number_hook_call_ending.rb +++ b/lib/vapi/types/phone_number_hook_call_ending.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Runs configured transfer or message actions when a call ends with a matching assistant-request failure reason. class PhoneNumberHookCallEnding < Internal::Types::Model field :filters, -> { Internal::Types::Array[Vapi::Types::PhoneNumberCallEndingHookFilter] }, optional: true, nullable: false field :do_, -> { Vapi::Types::PhoneNumberHookCallEndingDo }, optional: true, nullable: false, api_name: "do" diff --git a/lib/vapi/types/phone_number_hook_call_ringing.rb b/lib/vapi/types/phone_number_hook_call_ringing.rb index b4d2e5a0..7814cf3a 100644 --- a/lib/vapi/types/phone_number_hook_call_ringing.rb +++ b/lib/vapi/types/phone_number_hook_call_ringing.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Runs configured transfer or message actions when an incoming call rings and its caller-number prefix filters + # match. class PhoneNumberHookCallRinging < Internal::Types::Model field :filters, -> { Internal::Types::Array[Vapi::Types::PhoneNumberCallRingingHookFilter] }, optional: true, nullable: false field :do_, -> { Internal::Types::Array[Vapi::Types::PhoneNumberHookCallRingingDoItem] }, optional: false, nullable: false, api_name: "do" diff --git a/lib/vapi/types/phone_number_paginated_response.rb b/lib/vapi/types/phone_number_paginated_response.rb index b2975df8..2da208d0 100644 --- a/lib/vapi/types/phone_number_paginated_response.rb +++ b/lib/vapi/types/phone_number_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of phone numbers and metadata describing the result set. class PhoneNumberPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::PhoneNumberPaginatedResponseResultsItem] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/pie_insight.rb b/lib/vapi/types/pie_insight.rb index 0e3cab31..ee9401ed 100644 --- a/lib/vapi/types/pie_insight.rb +++ b/lib/vapi/types/pie_insight.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved pie-chart insight containing its call-data queries, formulas, grouping, time range, and lifecycle + # information. class PieInsight < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false @@ -12,6 +14,7 @@ class PieInsight < Internal::Types::Model field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" end end end diff --git a/lib/vapi/types/play_ht_voice.rb b/lib/vapi/types/play_ht_voice.rb index 2a47f62a..095813bb 100644 --- a/lib/vapi/types/play_ht_voice.rb +++ b/lib/vapi/types/play_ht_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with PlayHT, including voice and model selection, language, + # emotion and style guidance, chunking, caching, and fallback settings. class PlayHtVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::PlayHtVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/prompt_injection_security_filter.rb b/lib/vapi/types/prompt_injection_security_filter.rb index afb41e38..8e820509 100644 --- a/lib/vapi/types/prompt_injection_security_filter.rb +++ b/lib/vapi/types/prompt_injection_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters potential prompt-injection patterns from transcripts. class PromptInjectionSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::PromptInjectionSecurityFilterType }, optional: false, nullable: false end diff --git a/lib/vapi/types/provider_resource.rb b/lib/vapi/types/provider_resource.rb index 822f1e4a..8569140e 100644 --- a/lib/vapi/types/provider_resource.rb +++ b/lib/vapi/types/provider_resource.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A provider-managed pronunciation-dictionary resource mirrored in Vapi, including its provider identifiers, + # resource data, and lifecycle information. class ProviderResource < Internal::Types::Model field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/provider_resource_paginated_response.rb b/lib/vapi/types/provider_resource_paginated_response.rb index 04b2ebb3..ddf11ef8 100644 --- a/lib/vapi/types/provider_resource_paginated_response.rb +++ b/lib/vapi/types/provider_resource_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of provider resources and metadata describing the result set. class ProviderResourcePaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::ProviderResource] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/public_key_encryption_plan.rb b/lib/vapi/types/public_key_encryption_plan.rb index 3449a60b..eefab5e1 100644 --- a/lib/vapi/types/public_key_encryption_plan.rb +++ b/lib/vapi/types/public_key_encryption_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for encrypting sensitive outbound request data with a public key. class PublicKeyEncryptionPlan < Internal::Types::Model field :algorithm, -> { Vapi::Types::PublicKeyEncryptionPlanAlgorithm }, optional: false, nullable: false field :public_key, -> { Vapi::Types::PublicKeyEncryptionPlanPublicKey }, optional: false, nullable: false, api_name: "publicKey" diff --git a/lib/vapi/types/query_tool.rb b/lib/vapi/types/query_tool.rb index 28e2b28c..09b9f712 100644 --- a/lib/vapi/types/query_tool.rb +++ b/lib/vapi/types/query_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that searches configured knowledge bases and returns relevant content to the assistant. class QueryTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::QueryToolMessagesItem] }, optional: true, nullable: false field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/rce_security_filter.rb b/lib/vapi/types/rce_security_filter.rb index 3ef808e1..84a0303b 100644 --- a/lib/vapi/types/rce_security_filter.rb +++ b/lib/vapi/types/rce_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters potential remote code execution (RCE) patterns from transcripts. class RceSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::RceSecurityFilterType }, optional: false, nullable: false end diff --git a/lib/vapi/types/recording.rb b/lib/vapi/types/recording.rb index faddc02c..ae95baba 100644 --- a/lib/vapi/types/recording.rb +++ b/lib/vapi/types/recording.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Call recording locations, including stereo, video, and separated mono recording URLs. class Recording < Internal::Types::Model field :stereo_url, -> { String }, optional: true, nullable: false, api_name: "stereoUrl" field :video_url, -> { String }, optional: true, nullable: false, api_name: "videoUrl" diff --git a/lib/vapi/types/recording_consent.rb b/lib/vapi/types/recording_consent.rb index 928a178a..85089cd0 100644 --- a/lib/vapi/types/recording_consent.rb +++ b/lib/vapi/types/recording_consent.rb @@ -2,8 +2,9 @@ module Vapi module Types + # Result of the recording-consent flow, including consent type and the time consent was granted. class RecordingConsent < Internal::Types::Model - field :type, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + field :type, -> { Vapi::Types::RecordingConsentType }, optional: false, nullable: false field :granted_at, -> { String }, optional: true, nullable: false, api_name: "grantedAt" end end diff --git a/lib/vapi/types/recording_consent_plan_stay_on_line.rb b/lib/vapi/types/recording_consent_plan_stay_on_line.rb index 3ab68c3c..3183a26c 100644 --- a/lib/vapi/types/recording_consent_plan_stay_on_line.rb +++ b/lib/vapi/types/recording_consent_plan_stay_on_line.rb @@ -2,9 +2,12 @@ module Vapi module Types + # Configuration for requesting recording consent by treating continued presence on the call as consent, including + # the announcement voice and wait time. class RecordingConsentPlanStayOnLine < Internal::Types::Model field :message, -> { String }, optional: false, nullable: false field :voice, -> { Vapi::Types::RecordingConsentPlanStayOnLineVoice }, optional: true, nullable: false + field :first_message_mode, -> { Vapi::Types::RecordingConsentPlanStayOnLineFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" field :wait_seconds, -> { Integer }, optional: true, nullable: false, api_name: "waitSeconds" end end diff --git a/lib/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.rb b/lib/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.rb new file mode 100644 index 00000000..ad3a6ed1 --- /dev/null +++ b/lib/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module RecordingConsentPlanStayOnLineFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/recording_consent_plan_stay_on_line_voice.rb b/lib/vapi/types/recording_consent_plan_stay_on_line_voice.rb index aa36a048..784b21af 100644 --- a/lib/vapi/types/recording_consent_plan_stay_on_line_voice.rb +++ b/lib/vapi/types/recording_consent_plan_stay_on_line_voice.rb @@ -27,6 +27,8 @@ class RecordingConsentPlanStayOnLineVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/recording_consent_plan_verbal.rb b/lib/vapi/types/recording_consent_plan_verbal.rb index a0e5c3c8..397c3320 100644 --- a/lib/vapi/types/recording_consent_plan_verbal.rb +++ b/lib/vapi/types/recording_consent_plan_verbal.rb @@ -2,9 +2,12 @@ module Vapi module Types + # Configuration for requesting explicit verbal recording consent, including the announcement voice and action to + # take when the customer declines. class RecordingConsentPlanVerbal < Internal::Types::Model field :message, -> { String }, optional: false, nullable: false field :voice, -> { Vapi::Types::RecordingConsentPlanVerbalVoice }, optional: true, nullable: false + field :first_message_mode, -> { Vapi::Types::RecordingConsentPlanVerbalFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" field :decline_tool, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "declineTool" field :decline_tool_id, -> { String }, optional: true, nullable: false, api_name: "declineToolId" end diff --git a/lib/vapi/types/recording_consent_plan_verbal_first_message_mode.rb b/lib/vapi/types/recording_consent_plan_verbal_first_message_mode.rb new file mode 100644 index 00000000..bd3d3703 --- /dev/null +++ b/lib/vapi/types/recording_consent_plan_verbal_first_message_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module RecordingConsentPlanVerbalFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/recording_consent_plan_verbal_voice.rb b/lib/vapi/types/recording_consent_plan_verbal_voice.rb index ba44234a..c1840302 100644 --- a/lib/vapi/types/recording_consent_plan_verbal_voice.rb +++ b/lib/vapi/types/recording_consent_plan_verbal_voice.rb @@ -27,6 +27,8 @@ class RecordingConsentPlanVerbalVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/recording_consent_type.rb b/lib/vapi/types/recording_consent_type.rb new file mode 100644 index 00000000..38dd27c0 --- /dev/null +++ b/lib/vapi/types/recording_consent_type.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module RecordingConsentType + extend Vapi::Internal::Types::Enum + + STAY_ON_LINE = "stay-on-line" + VERBAL = "verbal" + end + end +end diff --git a/lib/vapi/types/regex_condition.rb b/lib/vapi/types/regex_condition.rb index d13f042f..6aeaff1c 100644 --- a/lib/vapi/types/regex_condition.rb +++ b/lib/vapi/types/regex_condition.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Evaluates whether targeted conversation-message content matches a regular expression. class RegexCondition < Internal::Types::Model field :regex, -> { String }, optional: false, nullable: false field :target, -> { Vapi::Types::MessageTarget }, optional: true, nullable: false diff --git a/lib/vapi/types/regex_option.rb b/lib/vapi/types/regex_option.rb index 8065def0..9c4c3f1f 100644 --- a/lib/vapi/types/regex_option.rb +++ b/lib/vapi/types/regex_option.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Enables or disables one regular-expression matching option for a text replacement. class RegexOption < Internal::Types::Model field :type, -> { Vapi::Types::RegexOptionType }, optional: false, nullable: false field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false diff --git a/lib/vapi/types/regex_replacement.rb b/lib/vapi/types/regex_replacement.rb index 3776ee19..47a59ecb 100644 --- a/lib/vapi/types/regex_replacement.rb +++ b/lib/vapi/types/regex_replacement.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Replaces text matching a regular expression before it is sent to a voice provider. class RegexReplacement < Internal::Types::Model field :regex, -> { String }, optional: false, nullable: false field :options, -> { Internal::Types::Array[Vapi::Types::RegexOption] }, optional: true, nullable: false diff --git a/lib/vapi/types/regex_security_filter.rb b/lib/vapi/types/regex_security_filter.rb index 787140ea..bbb74cfc 100644 --- a/lib/vapi/types/regex_security_filter.rb +++ b/lib/vapi/types/regex_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters transcript content that matches a custom regular expression. class RegexSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::RegexSecurityFilterType }, optional: false, nullable: false field :regex, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/revoke_invitation_response_dto.rb b/lib/vapi/types/revoke_invitation_response_dto.rb new file mode 100644 index 00000000..d400d174 --- /dev/null +++ b/lib/vapi/types/revoke_invitation_response_dto.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class RevokeInvitationResponseDto < Internal::Types::Model + field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/rime_ai_voice.rb b/lib/vapi/types/rime_ai_voice.rb index 77824a84..07a99879 100644 --- a/lib/vapi/types/rime_ai_voice.rb +++ b/lib/vapi/types/rime_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Rime AI, including voice and model selection, language, + # speed, pauses, phonemization, latency, chunking, caching, and fallback settings. class RimeAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::RimeAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/s_3_compatible_bucket_plan.rb b/lib/vapi/types/s_3_compatible_bucket_plan.rb new file mode 100644 index 00000000..13c83ac6 --- /dev/null +++ b/lib/vapi/types/s_3_compatible_bucket_plan.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + class S3CompatibleBucketPlan < Internal::Types::Model + field :url, -> { String }, optional: false, nullable: false + field :region, -> { String }, optional: false, nullable: false + field :access_key_id, -> { String }, optional: false, nullable: false, api_name: "accessKeyId" + field :secret_access_key, -> { String }, optional: false, nullable: false, api_name: "secretAccessKey" + field :name, -> { String }, optional: false, nullable: false + field :path, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/s_3_compatible_storage_credential.rb b/lib/vapi/types/s_3_compatible_storage_credential.rb new file mode 100644 index 00000000..45d2c5a7 --- /dev/null +++ b/lib/vapi/types/s_3_compatible_storage_credential.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + class S3CompatibleStorageCredential < Internal::Types::Model + field :provider, -> { Vapi::Types::S3CompatibleStorageCredentialProvider }, optional: false, nullable: false + field :bucket_plan, -> { Vapi::Types::S3CompatibleBucketPlan }, optional: false, nullable: false, api_name: "bucketPlan" + field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/s_3_compatible_storage_credential_provider.rb b/lib/vapi/types/s_3_compatible_storage_credential_provider.rb new file mode 100644 index 00000000..43c72c73 --- /dev/null +++ b/lib/vapi/types/s_3_compatible_storage_credential_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module S3CompatibleStorageCredentialProvider + extend Vapi::Internal::Types::Enum + + S_3_COMPATIBLE = "s3-compatible" + end + end +end diff --git a/lib/vapi/types/say_hook_action.rb b/lib/vapi/types/say_hook_action.rb index 05ccb17b..d752777e 100644 --- a/lib/vapi/types/say_hook_action.rb +++ b/lib/vapi/types/say_hook_action.rb @@ -2,9 +2,10 @@ module Vapi module Types + # A hook action that makes the assistant speak exact text or generate a response from a prompt. class SayHookAction < Internal::Types::Model + field :exact, -> { Vapi::Types::SayHookActionExact }, optional: true, nullable: false field :prompt, -> { Vapi::Types::SayHookActionPrompt }, optional: true, nullable: false - field :exact, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false end end end diff --git a/lib/vapi/types/say_hook_action_exact.rb b/lib/vapi/types/say_hook_action_exact.rb new file mode 100644 index 00000000..ea64940c --- /dev/null +++ b/lib/vapi/types/say_hook_action_exact.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the exact message to say. When a string array is provided, one is randomly selected. + class SayHookActionExact < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { String } + member -> { Internal::Types::Array[String] } + end + end +end diff --git a/lib/vapi/types/say_phone_number_hook_action.rb b/lib/vapi/types/say_phone_number_hook_action.rb index 0bf2b9ed..7659be72 100644 --- a/lib/vapi/types/say_phone_number_hook_action.rb +++ b/lib/vapi/types/say_phone_number_hook_action.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A phone-number hook action that speaks an exact message to the caller. class SayPhoneNumberHookAction < Internal::Types::Model field :exact, -> { String }, optional: false, nullable: false end diff --git a/lib/vapi/types/sbc_configuration.rb b/lib/vapi/types/sbc_configuration.rb index 05383862..067f69c0 100644 --- a/lib/vapi/types/sbc_configuration.rb +++ b/lib/vapi/types/sbc_configuration.rb @@ -2,6 +2,22 @@ module Vapi module Types - class SbcConfiguration < Internal::Types::Model; end + module SbcConfiguration + # SbcConfiguration is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end end end diff --git a/lib/vapi/types/schedule_plan.rb b/lib/vapi/types/schedule_plan.rb index a79e6895..ac78fcfa 100644 --- a/lib/vapi/types/schedule_plan.rb +++ b/lib/vapi/types/schedule_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Time window that controls the earliest and latest time a call may begin. class SchedulePlan < Internal::Types::Model field :earliest_at, -> { String }, optional: false, nullable: false, api_name: "earliestAt" field :latest_at, -> { String }, optional: true, nullable: false, api_name: "latestAt" diff --git a/lib/vapi/types/scorecard.rb b/lib/vapi/types/scorecard.rb index 9cefd483..d8a79687 100644 --- a/lib/vapi/types/scorecard.rb +++ b/lib/vapi/types/scorecard.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved scorecard containing its evaluation metrics, scoring conditions, assistant associations, descriptive + # metadata, and lifecycle information. class Scorecard < Internal::Types::Model field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/scorecard_metric.rb b/lib/vapi/types/scorecard_metric.rb index e69bb7b6..78e1ae87 100644 --- a/lib/vapi/types/scorecard_metric.rb +++ b/lib/vapi/types/scorecard_metric.rb @@ -2,9 +2,10 @@ module Vapi module Types + # A scorecard metric that awards points when a structured output meets its configured conditions. class ScorecardMetric < Internal::Types::Model + field :conditions, -> { Internal::Types::Array[Vapi::Types::ScorecardMetricConditionsItem] }, optional: false, nullable: false field :structured_output_id, -> { String }, optional: false, nullable: false, api_name: "structuredOutputId" - field :conditions, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: false, nullable: false end end end diff --git a/lib/vapi/types/scorecard_metric_conditions_item.rb b/lib/vapi/types/scorecard_metric_conditions_item.rb new file mode 100644 index 00000000..f8cd4bc0 --- /dev/null +++ b/lib/vapi/types/scorecard_metric_conditions_item.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ScorecardMetricConditionsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::NumberComparatorScorecardMetricCondition } + member -> { Vapi::Types::BooleanComparatorScorecardMetricCondition } + end + end +end diff --git a/lib/vapi/types/scorecard_paginated_response.rb b/lib/vapi/types/scorecard_paginated_response.rb index fd3dbbde..5203adb1 100644 --- a/lib/vapi/types/scorecard_paginated_response.rb +++ b/lib/vapi/types/scorecard_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of scorecards and metadata describing the result set. class ScorecardPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::Scorecard] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/security_filter_base.rb b/lib/vapi/types/security_filter_base.rb index 0df5da7c..ab092d02 100644 --- a/lib/vapi/types/security_filter_base.rb +++ b/lib/vapi/types/security_filter_base.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Base configuration for a security filter applied to transcripts before model processing. class SecurityFilterBase < Internal::Types::Model; end end end diff --git a/lib/vapi/types/security_filter_plan.rb b/lib/vapi/types/security_filter_plan.rb index 16f986e7..e7dfa46e 100644 --- a/lib/vapi/types/security_filter_plan.rb +++ b/lib/vapi/types/security_filter_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls filtering of transcripts for security threats before content is sent to the assistant's language model, + # including filter selection, handling mode, and replacement text. class SecurityFilterPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :filters, -> { Internal::Types::Array[Vapi::Types::SecurityFilterBase] }, optional: true, nullable: false diff --git a/lib/vapi/types/server.rb b/lib/vapi/types/server.rb index d1f1caa8..b893e603 100644 --- a/lib/vapi/types/server.rb +++ b/lib/vapi/types/server.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for requests Vapi sends to a customer server, including URL, authentication, headers, timeout, + # encryption, static IP addresses, and retry behavior. class Server < Internal::Types::Model field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" diff --git a/lib/vapi/types/server_message_assistant_request.rb b/lib/vapi/types/server_message_assistant_request.rb index 5601f235..917a8591 100644 --- a/lib/vapi/types/server_message_assistant_request.rb +++ b/lib/vapi/types/server_message_assistant_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageAssistantRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageAssistantRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageAssistantRequestType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_assistant_speech.rb b/lib/vapi/types/server_message_assistant_speech.rb index 9b0bdcd2..eeea5e1b 100644 --- a/lib/vapi/types/server_message_assistant_speech.rb +++ b/lib/vapi/types/server_message_assistant_speech.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageAssistantSpeech < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageAssistantSpeechPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageAssistantSpeechType }, optional: false, nullable: false field :text, -> { String }, optional: false, nullable: false field :turn, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_call_delete_failed.rb b/lib/vapi/types/server_message_call_delete_failed.rb index f5b2b85f..bc310d1f 100644 --- a/lib/vapi/types/server_message_call_delete_failed.rb +++ b/lib/vapi/types/server_message_call_delete_failed.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageCallDeleteFailed < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageCallDeleteFailedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageCallDeleteFailedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_call_deleted.rb b/lib/vapi/types/server_message_call_deleted.rb index a4c15424..260b9ea4 100644 --- a/lib/vapi/types/server_message_call_deleted.rb +++ b/lib/vapi/types/server_message_call_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageCallDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageCallDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageCallDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_call_endpointing_request.rb b/lib/vapi/types/server_message_call_endpointing_request.rb index ad170bb1..20803cdd 100644 --- a/lib/vapi/types/server_message_call_endpointing_request.rb +++ b/lib/vapi/types/server_message_call_endpointing_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageCallEndpointingRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageCallEndpointingRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageCallEndpointingRequestType }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::ServerMessageCallEndpointingRequestMessagesItem] }, optional: true, nullable: false field :messages_open_ai_formatted, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: false, nullable: false, api_name: "messagesOpenAIFormatted" diff --git a/lib/vapi/types/server_message_campaign_predial.rb b/lib/vapi/types/server_message_campaign_predial.rb new file mode 100644 index 00000000..c99c72c9 --- /dev/null +++ b/lib/vapi/types/server_message_campaign_predial.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ServerMessageCampaignPredial < Internal::Types::Model + field :phone_number, -> { Vapi::Types::ServerMessageCampaignPredialPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" + field :type, -> { Vapi::Types::ServerMessageCampaignPredialType }, optional: false, nullable: false + field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId" + field :contact, -> { Vapi::Types::CampaignContact }, optional: false, nullable: false + field :timestamp, -> { Integer }, optional: true, nullable: false + field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false + field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false + field :customer, -> { Vapi::Types::CreateCustomerDto }, optional: true, nullable: false + field :call, -> { Vapi::Types::Call }, optional: true, nullable: false + field :chat, -> { Vapi::Types::Chat }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/server_message_campaign_predial_phone_number.rb b/lib/vapi/types/server_message_campaign_predial_phone_number.rb new file mode 100644 index 00000000..d4db6575 --- /dev/null +++ b/lib/vapi/types/server_message_campaign_predial_phone_number.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the phone number that the message is associated with. + class ServerMessageCampaignPredialPhoneNumber < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::CreateByoPhoneNumberDto }, key: "BYO_PHONE_NUMBER" + member -> { Vapi::Types::CreateTwilioPhoneNumberDto }, key: "TWILIO" + member -> { Vapi::Types::CreateVonagePhoneNumberDto }, key: "VONAGE" + member -> { Vapi::Types::CreateVapiPhoneNumberDto }, key: "VAPI" + member -> { Vapi::Types::CreateTelnyxPhoneNumberDto }, key: "TELNYX" + end + end +end diff --git a/lib/vapi/types/server_message_campaign_predial_type.rb b/lib/vapi/types/server_message_campaign_predial_type.rb new file mode 100644 index 00000000..ba18e095 --- /dev/null +++ b/lib/vapi/types/server_message_campaign_predial_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ServerMessageCampaignPredialType + extend Vapi::Internal::Types::Enum + + CAMPAIGN_PREDIAL = "campaign.predial" + end + end +end diff --git a/lib/vapi/types/server_message_chat_created.rb b/lib/vapi/types/server_message_chat_created.rb index 9908c60e..e5578860 100644 --- a/lib/vapi/types/server_message_chat_created.rb +++ b/lib/vapi/types/server_message_chat_created.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageChatCreated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageChatCreatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageChatCreatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_chat_deleted.rb b/lib/vapi/types/server_message_chat_deleted.rb index decc2e27..a23a32e3 100644 --- a/lib/vapi/types/server_message_chat_deleted.rb +++ b/lib/vapi/types/server_message_chat_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageChatDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageChatDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageChatDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_conversation_update.rb b/lib/vapi/types/server_message_conversation_update.rb index 148dd1de..d4ca4a81 100644 --- a/lib/vapi/types/server_message_conversation_update.rb +++ b/lib/vapi/types/server_message_conversation_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageConversationUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageConversationUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageConversationUpdateType }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::ServerMessageConversationUpdateMessagesItem] }, optional: true, nullable: false field :messages_open_ai_formatted, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: false, nullable: false, api_name: "messagesOpenAIFormatted" diff --git a/lib/vapi/types/server_message_end_of_call_report.rb b/lib/vapi/types/server_message_end_of_call_report.rb index 3e313a07..fb84163a 100644 --- a/lib/vapi/types/server_message_end_of_call_report.rb +++ b/lib/vapi/types/server_message_end_of_call_report.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageEndOfCallReport < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageEndOfCallReportPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageEndOfCallReportType }, optional: false, nullable: false field :ended_reason, -> { Vapi::Types::ServerMessageEndOfCallReportEndedReason }, optional: false, nullable: false, api_name: "endedReason" field :cost, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_end_of_call_report_ended_reason.rb b/lib/vapi/types/server_message_end_of_call_report_ended_reason.rb index bb60a841..ce970f6e 100644 --- a/lib/vapi/types/server_message_end_of_call_report_ended_reason.rb +++ b/lib/vapi/types/server_message_end_of_call_report_ended_reason.rb @@ -29,6 +29,7 @@ module ServerMessageEndOfCallReportEndedReason CALL_START_ERROR_SUBSCRIPTION_UPGRADE_FAILED = "call.start.error-subscription-upgrade-failed" CALL_START_ERROR_SUBSCRIPTION_CONCURRENCY_LIMIT_REACHED = "call.start.error-subscription-concurrency-limit-reached" CALL_START_ERROR_ENTERPRISE_FEATURE_NOT_AVAILABLE_RECORDING_CONSENT = "call.start.error-enterprise-feature-not-available-recording-consent" + CALL_START_ASSISTANT_VERSION_ERROR_VALIDATION = "call.start.assistant-version-error-validation" ASSISTANT_NOT_VALID = "assistant-not-valid" CALL_START_ERROR_VAPIFAULT_DATABASE_ERROR = "call.start.error-vapifault-database-error" ASSISTANT_NOT_FOUND = "assistant-not-found" @@ -48,6 +49,9 @@ module ServerMessageEndOfCallReportEndedReason PIPELINE_ERROR_INWORLD_VOICE_FAILED = "pipeline-error-inworld-voice-failed" PIPELINE_ERROR_MINIMAX_VOICE_FAILED = "pipeline-error-minimax-voice-failed" PIPELINE_ERROR_WELLSAID_VOICE_FAILED = "pipeline-error-wellsaid-voice-failed" + PIPELINE_ERROR_XAI_VOICE_FAILED = "pipeline-error-xai-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_FAILED = "pipeline-error-microsoft-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_REQUEST_CANCELED = "pipeline-error-microsoft-voice-request-canceled" PIPELINE_ERROR_TAVUS_VIDEO_FAILED = "pipeline-error-tavus-video-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_OPENAI_VOICE_FAILED = "call.in-progress.error-vapifault-openai-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_VOICE_FAILED = "call.in-progress.error-vapifault-cartesia-voice-failed" @@ -65,6 +69,8 @@ module ServerMessageEndOfCallReportEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_INWORLD_VOICE_FAILED = "call.in-progress.error-vapifault-inworld-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_MINIMAX_VOICE_FAILED = "call.in-progress.error-vapifault-minimax-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_WELLSAID_VOICE_FAILED = "call.in-progress.error-vapifault-wellsaid-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_VOICE_FAILED = "call.in-progress.error-vapifault-xai-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_MICROSOFT_VOICE_FAILED = "call.in-progress.error-vapifault-microsoft-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_TAVUS_VIDEO_FAILED = "call.in-progress.error-vapifault-tavus-video-failed" PIPELINE_ERROR_VAPI_LLM_FAILED = "pipeline-error-vapi-llm-failed" PIPELINE_ERROR_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-vapi-400-bad-request-validation-failed" @@ -74,12 +80,17 @@ module ServerMessageEndOfCallReportEndedReason PIPELINE_ERROR_VAPI_500_SERVER_ERROR = "pipeline-error-vapi-500-server-error" PIPELINE_ERROR_VAPI_503_SERVER_OVERLOADED_ERROR = "pipeline-error-vapi-503-server-overloaded-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_LLM_FAILED = "call.in-progress.error-providerfault-vapi-llm-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_LLM_FAILED = "call.in-progress.error-vapifault-vapi-llm-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_401_UNAUTHORIZED = "call.in-progress.error-vapifault-vapi-401-unauthorized" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_403_MODEL_ACCESS_DENIED = "call.in-progress.error-vapifault-vapi-403-model-access-denied" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_429_EXCEEDED_QUOTA = "call.in-progress.error-vapifault-vapi-429-exceeded-quota" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_500_SERVER_ERROR = "call.in-progress.error-providerfault-vapi-500-server-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_503_SERVER_OVERLOADED_ERROR = "call.in-progress.error-providerfault-vapi-503-server-overloaded-error" + PIPELINE_ERROR_VAPI_TRANSCRIBER_FAILED = "pipeline-error-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-providerfault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_VOICE_FAILED = "call.in-progress.error-providerfault-vapi-voice-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_FAILED = "pipeline-error-deepgram-transcriber-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_API_KEY_MISSING = "pipeline-error-deepgram-transcriber-api-key-missing" CALL_IN_PROGRESS_ERROR_VAPIFAULT_DEEPGRAM_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-deepgram-transcriber-failed" @@ -119,6 +130,18 @@ module ServerMessageEndOfCallReportEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-soniox-transcriber-invalid-config" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-soniox-transcriber-server-error" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-soniox-transcriber-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_AUTH_FAILED = "pipeline-error-xai-transcriber-auth-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_RATE_LIMITED = "pipeline-error-xai-transcriber-rate-limited" + PIPELINE_ERROR_XAI_TRANSCRIBER_INVALID_CONFIG = "pipeline-error-xai-transcriber-invalid-config" + PIPELINE_ERROR_XAI_TRANSCRIBER_SERVER_ERROR = "pipeline-error-xai-transcriber-server-error" + PIPELINE_ERROR_XAI_TRANSCRIBER_FAILED = "pipeline-error-xai-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_AUTH_FAILED = "call.in-progress.error-vapifault-xai-transcriber-auth-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_RATE_LIMITED = "call.in-progress.error-vapifault-xai-transcriber-rate-limited" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-xai-transcriber-invalid-config" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-xai-transcriber-server-error" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-xai-transcriber-failed" + PIPELINE_ERROR_CARTESIA_TRANSCRIBER_FAILED = "pipeline-error-cartesia-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-cartesia-transcriber-failed" CALL_IN_PROGRESS_ERROR_PIPELINE_NO_AVAILABLE_LLM_MODEL = "call.in-progress.error-pipeline-no-available-llm-model" WORKER_SHUTDOWN = "worker-shutdown" VONAGE_DISCONNECTED = "vonage-disconnected" @@ -561,6 +584,7 @@ module ServerMessageEndOfCallReportEndedReason MANUALLY_CANCELED = "manually-canceled" PHONE_CALL_PROVIDER_CLOSED_WEBSOCKET = "phone-call-provider-closed-websocket" CALL_FORWARDING_OPERATOR_BUSY = "call.forwarding.operator-busy" + CALL_FORWARDING_NO_ANSWER = "call.forwarding.no-answer" SILENCE_TIMED_OUT = "silence-timed-out" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_403_FORBIDDEN = "call.in-progress.error-providerfault-outbound-sip-403-forbidden" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_407_PROXY_AUTHENTICATION_REQUIRED = "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required" diff --git a/lib/vapi/types/server_message_handoff_destination_request.rb b/lib/vapi/types/server_message_handoff_destination_request.rb index e9ebc2ec..e7a3b43c 100644 --- a/lib/vapi/types/server_message_handoff_destination_request.rb +++ b/lib/vapi/types/server_message_handoff_destination_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageHandoffDestinationRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageHandoffDestinationRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageHandoffDestinationRequestType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_hang.rb b/lib/vapi/types/server_message_hang.rb index 81b069b6..7803b3b5 100644 --- a/lib/vapi/types/server_message_hang.rb +++ b/lib/vapi/types/server_message_hang.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageHang < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageHangPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageHangType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_knowledge_base_request.rb b/lib/vapi/types/server_message_knowledge_base_request.rb index 4782cf04..c4fb2829 100644 --- a/lib/vapi/types/server_message_knowledge_base_request.rb +++ b/lib/vapi/types/server_message_knowledge_base_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageKnowledgeBaseRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageKnowledgeBaseRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageKnowledgeBaseRequestType }, optional: false, nullable: false field :messages, -> { Internal::Types::Array[Vapi::Types::ServerMessageKnowledgeBaseRequestMessagesItem] }, optional: true, nullable: false field :messages_open_ai_formatted, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: false, nullable: false, api_name: "messagesOpenAIFormatted" diff --git a/lib/vapi/types/server_message_language_change_detected.rb b/lib/vapi/types/server_message_language_change_detected.rb index ef945f57..d30d4548 100644 --- a/lib/vapi/types/server_message_language_change_detected.rb +++ b/lib/vapi/types/server_message_language_change_detected.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageLanguageChangeDetected < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageLanguageChangeDetectedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageLanguageChangeDetectedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_message.rb b/lib/vapi/types/server_message_message.rb index f67d5c02..f4130d60 100644 --- a/lib/vapi/types/server_message_message.rb +++ b/lib/vapi/types/server_message_message.rb @@ -41,6 +41,7 @@ class ServerMessageMessage < Internal::Types::Model member -> { Vapi::Types::ServerMessageSessionDeleted } member -> { Vapi::Types::ServerMessageCallDeleted } member -> { Vapi::Types::ServerMessageCallDeleteFailed } + member -> { Vapi::Types::ServerMessageCampaignPredial } end end end diff --git a/lib/vapi/types/server_message_model_output.rb b/lib/vapi/types/server_message_model_output.rb index 93f85004..4107eea3 100644 --- a/lib/vapi/types/server_message_model_output.rb +++ b/lib/vapi/types/server_message_model_output.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageModelOutput < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageModelOutputPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageModelOutputType }, optional: false, nullable: false field :turn_id, -> { String }, optional: true, nullable: false, api_name: "turnId" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_phone_call_control.rb b/lib/vapi/types/server_message_phone_call_control.rb index f173a3eb..a74b5c19 100644 --- a/lib/vapi/types/server_message_phone_call_control.rb +++ b/lib/vapi/types/server_message_phone_call_control.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessagePhoneCallControl < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessagePhoneCallControlPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessagePhoneCallControlType }, optional: false, nullable: false field :request, -> { Vapi::Types::ServerMessagePhoneCallControlRequest }, optional: false, nullable: false field :destination, -> { Vapi::Types::ServerMessagePhoneCallControlDestination }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_response_campaign_predial.rb b/lib/vapi/types/server_message_response_campaign_predial.rb new file mode 100644 index 00000000..0ac23473 --- /dev/null +++ b/lib/vapi/types/server_message_response_campaign_predial.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ServerMessageResponseCampaignPredial < Internal::Types::Model + field :eligible, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/server_message_response_message_response.rb b/lib/vapi/types/server_message_response_message_response.rb index 8cf39128..747014d3 100644 --- a/lib/vapi/types/server_message_response_message_response.rb +++ b/lib/vapi/types/server_message_response_message_response.rb @@ -16,6 +16,7 @@ class ServerMessageResponseMessageResponse < Internal::Types::Model member -> { Vapi::Types::ServerMessageResponseTransferDestinationRequest } member -> { Vapi::Types::ServerMessageResponseVoiceRequest } member -> { Vapi::Types::ServerMessageResponseCallEndpointingRequest } + member -> { Vapi::Types::ServerMessageResponseCampaignPredial } end end end diff --git a/lib/vapi/types/server_message_session_created.rb b/lib/vapi/types/server_message_session_created.rb index a56ce8c9..be4d6e3a 100644 --- a/lib/vapi/types/server_message_session_created.rb +++ b/lib/vapi/types/server_message_session_created.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageSessionCreated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageSessionCreatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageSessionCreatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_session_deleted.rb b/lib/vapi/types/server_message_session_deleted.rb index 1fd54dfe..0cba49ca 100644 --- a/lib/vapi/types/server_message_session_deleted.rb +++ b/lib/vapi/types/server_message_session_deleted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageSessionDeleted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageSessionDeletedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageSessionDeletedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_session_updated.rb b/lib/vapi/types/server_message_session_updated.rb index 25c5dde9..02491f4a 100644 --- a/lib/vapi/types/server_message_session_updated.rb +++ b/lib/vapi/types/server_message_session_updated.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageSessionUpdated < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageSessionUpdatedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageSessionUpdatedType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_speech_update.rb b/lib/vapi/types/server_message_speech_update.rb index 1622567d..27b64c78 100644 --- a/lib/vapi/types/server_message_speech_update.rb +++ b/lib/vapi/types/server_message_speech_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageSpeechUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageSpeechUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageSpeechUpdateType }, optional: false, nullable: false field :status, -> { Vapi::Types::ServerMessageSpeechUpdateStatus }, optional: false, nullable: false field :role, -> { Vapi::Types::ServerMessageSpeechUpdateRole }, optional: false, nullable: false diff --git a/lib/vapi/types/server_message_status_update.rb b/lib/vapi/types/server_message_status_update.rb index ef3879a7..44715b16 100644 --- a/lib/vapi/types/server_message_status_update.rb +++ b/lib/vapi/types/server_message_status_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageStatusUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageStatusUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageStatusUpdateType }, optional: false, nullable: false field :status, -> { Vapi::Types::ServerMessageStatusUpdateStatus }, optional: false, nullable: false field :ended_reason, -> { Vapi::Types::ServerMessageStatusUpdateEndedReason }, optional: true, nullable: false, api_name: "endedReason" diff --git a/lib/vapi/types/server_message_status_update_ended_reason.rb b/lib/vapi/types/server_message_status_update_ended_reason.rb index 431f4b55..ae464a86 100644 --- a/lib/vapi/types/server_message_status_update_ended_reason.rb +++ b/lib/vapi/types/server_message_status_update_ended_reason.rb @@ -29,6 +29,7 @@ module ServerMessageStatusUpdateEndedReason CALL_START_ERROR_SUBSCRIPTION_UPGRADE_FAILED = "call.start.error-subscription-upgrade-failed" CALL_START_ERROR_SUBSCRIPTION_CONCURRENCY_LIMIT_REACHED = "call.start.error-subscription-concurrency-limit-reached" CALL_START_ERROR_ENTERPRISE_FEATURE_NOT_AVAILABLE_RECORDING_CONSENT = "call.start.error-enterprise-feature-not-available-recording-consent" + CALL_START_ASSISTANT_VERSION_ERROR_VALIDATION = "call.start.assistant-version-error-validation" ASSISTANT_NOT_VALID = "assistant-not-valid" CALL_START_ERROR_VAPIFAULT_DATABASE_ERROR = "call.start.error-vapifault-database-error" ASSISTANT_NOT_FOUND = "assistant-not-found" @@ -48,6 +49,9 @@ module ServerMessageStatusUpdateEndedReason PIPELINE_ERROR_INWORLD_VOICE_FAILED = "pipeline-error-inworld-voice-failed" PIPELINE_ERROR_MINIMAX_VOICE_FAILED = "pipeline-error-minimax-voice-failed" PIPELINE_ERROR_WELLSAID_VOICE_FAILED = "pipeline-error-wellsaid-voice-failed" + PIPELINE_ERROR_XAI_VOICE_FAILED = "pipeline-error-xai-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_FAILED = "pipeline-error-microsoft-voice-failed" + PIPELINE_ERROR_MICROSOFT_VOICE_REQUEST_CANCELED = "pipeline-error-microsoft-voice-request-canceled" PIPELINE_ERROR_TAVUS_VIDEO_FAILED = "pipeline-error-tavus-video-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_OPENAI_VOICE_FAILED = "call.in-progress.error-vapifault-openai-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_VOICE_FAILED = "call.in-progress.error-vapifault-cartesia-voice-failed" @@ -65,6 +69,8 @@ module ServerMessageStatusUpdateEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_INWORLD_VOICE_FAILED = "call.in-progress.error-vapifault-inworld-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_MINIMAX_VOICE_FAILED = "call.in-progress.error-vapifault-minimax-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_WELLSAID_VOICE_FAILED = "call.in-progress.error-vapifault-wellsaid-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_VOICE_FAILED = "call.in-progress.error-vapifault-xai-voice-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_MICROSOFT_VOICE_FAILED = "call.in-progress.error-vapifault-microsoft-voice-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_TAVUS_VIDEO_FAILED = "call.in-progress.error-vapifault-tavus-video-failed" PIPELINE_ERROR_VAPI_LLM_FAILED = "pipeline-error-vapi-llm-failed" PIPELINE_ERROR_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "pipeline-error-vapi-400-bad-request-validation-failed" @@ -74,12 +80,17 @@ module ServerMessageStatusUpdateEndedReason PIPELINE_ERROR_VAPI_500_SERVER_ERROR = "pipeline-error-vapi-500-server-error" PIPELINE_ERROR_VAPI_503_SERVER_OVERLOADED_ERROR = "pipeline-error-vapi-503-server-overloaded-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_LLM_FAILED = "call.in-progress.error-providerfault-vapi-llm-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_LLM_FAILED = "call.in-progress.error-vapifault-vapi-llm-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_400_BAD_REQUEST_VALIDATION_FAILED = "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_401_UNAUTHORIZED = "call.in-progress.error-vapifault-vapi-401-unauthorized" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_403_MODEL_ACCESS_DENIED = "call.in-progress.error-vapifault-vapi-403-model-access-denied" CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_429_EXCEEDED_QUOTA = "call.in-progress.error-vapifault-vapi-429-exceeded-quota" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_500_SERVER_ERROR = "call.in-progress.error-providerfault-vapi-500-server-error" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_503_SERVER_OVERLOADED_ERROR = "call.in-progress.error-providerfault-vapi-503-server-overloaded-error" + PIPELINE_ERROR_VAPI_TRANSCRIBER_FAILED = "pipeline-error-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_TRANSCRIBER_FAILED = "call.in-progress.error-providerfault-vapi-transcriber-failed" + CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_VAPI_VOICE_FAILED = "call.in-progress.error-providerfault-vapi-voice-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_FAILED = "pipeline-error-deepgram-transcriber-failed" PIPELINE_ERROR_DEEPGRAM_TRANSCRIBER_API_KEY_MISSING = "pipeline-error-deepgram-transcriber-api-key-missing" CALL_IN_PROGRESS_ERROR_VAPIFAULT_DEEPGRAM_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-deepgram-transcriber-failed" @@ -119,6 +130,18 @@ module ServerMessageStatusUpdateEndedReason CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-soniox-transcriber-invalid-config" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-soniox-transcriber-server-error" CALL_IN_PROGRESS_ERROR_VAPIFAULT_SONIOX_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-soniox-transcriber-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_AUTH_FAILED = "pipeline-error-xai-transcriber-auth-failed" + PIPELINE_ERROR_XAI_TRANSCRIBER_RATE_LIMITED = "pipeline-error-xai-transcriber-rate-limited" + PIPELINE_ERROR_XAI_TRANSCRIBER_INVALID_CONFIG = "pipeline-error-xai-transcriber-invalid-config" + PIPELINE_ERROR_XAI_TRANSCRIBER_SERVER_ERROR = "pipeline-error-xai-transcriber-server-error" + PIPELINE_ERROR_XAI_TRANSCRIBER_FAILED = "pipeline-error-xai-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_AUTH_FAILED = "call.in-progress.error-vapifault-xai-transcriber-auth-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_RATE_LIMITED = "call.in-progress.error-vapifault-xai-transcriber-rate-limited" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_INVALID_CONFIG = "call.in-progress.error-vapifault-xai-transcriber-invalid-config" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_SERVER_ERROR = "call.in-progress.error-vapifault-xai-transcriber-server-error" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_XAI_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-xai-transcriber-failed" + PIPELINE_ERROR_CARTESIA_TRANSCRIBER_FAILED = "pipeline-error-cartesia-transcriber-failed" + CALL_IN_PROGRESS_ERROR_VAPIFAULT_CARTESIA_TRANSCRIBER_FAILED = "call.in-progress.error-vapifault-cartesia-transcriber-failed" CALL_IN_PROGRESS_ERROR_PIPELINE_NO_AVAILABLE_LLM_MODEL = "call.in-progress.error-pipeline-no-available-llm-model" WORKER_SHUTDOWN = "worker-shutdown" VONAGE_DISCONNECTED = "vonage-disconnected" @@ -561,6 +584,7 @@ module ServerMessageStatusUpdateEndedReason MANUALLY_CANCELED = "manually-canceled" PHONE_CALL_PROVIDER_CLOSED_WEBSOCKET = "phone-call-provider-closed-websocket" CALL_FORWARDING_OPERATOR_BUSY = "call.forwarding.operator-busy" + CALL_FORWARDING_NO_ANSWER = "call.forwarding.no-answer" SILENCE_TIMED_OUT = "silence-timed-out" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_403_FORBIDDEN = "call.in-progress.error-providerfault-outbound-sip-403-forbidden" CALL_IN_PROGRESS_ERROR_PROVIDERFAULT_OUTBOUND_SIP_407_PROXY_AUTHENTICATION_REQUIRED = "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required" diff --git a/lib/vapi/types/server_message_tool_calls.rb b/lib/vapi/types/server_message_tool_calls.rb index 4af9ccca..7f5a340b 100644 --- a/lib/vapi/types/server_message_tool_calls.rb +++ b/lib/vapi/types/server_message_tool_calls.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageToolCalls < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageToolCallsPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageToolCallsType }, optional: true, nullable: false field :tool_with_tool_call_list, -> { Internal::Types::Array[Vapi::Types::ServerMessageToolCallsToolWithToolCallListItem] }, optional: false, nullable: false, api_name: "toolWithToolCallList" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_transcript.rb b/lib/vapi/types/server_message_transcript.rb index 97020297..0faf5f99 100644 --- a/lib/vapi/types/server_message_transcript.rb +++ b/lib/vapi/types/server_message_transcript.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageTranscript < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageTranscriptPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageTranscriptType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_transfer_destination_request.rb b/lib/vapi/types/server_message_transfer_destination_request.rb index 8fd7bcd9..2660d90b 100644 --- a/lib/vapi/types/server_message_transfer_destination_request.rb +++ b/lib/vapi/types/server_message_transfer_destination_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageTransferDestinationRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageTransferDestinationRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageTransferDestinationRequestType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_transfer_update.rb b/lib/vapi/types/server_message_transfer_update.rb index 8e6cea20..57e5c7c1 100644 --- a/lib/vapi/types/server_message_transfer_update.rb +++ b/lib/vapi/types/server_message_transfer_update.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageTransferUpdate < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageTransferUpdatePhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageTransferUpdateType }, optional: false, nullable: false field :destination, -> { Vapi::Types::ServerMessageTransferUpdateDestination }, optional: true, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_user_interrupted.rb b/lib/vapi/types/server_message_user_interrupted.rb index 51b80fd7..33f96efa 100644 --- a/lib/vapi/types/server_message_user_interrupted.rb +++ b/lib/vapi/types/server_message_user_interrupted.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageUserInterrupted < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageUserInterruptedPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageUserInterruptedType }, optional: false, nullable: false field :turn_id, -> { String }, optional: true, nullable: false, api_name: "turnId" field :timestamp, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_voice_input.rb b/lib/vapi/types/server_message_voice_input.rb index a885eebd..a14e7dd1 100644 --- a/lib/vapi/types/server_message_voice_input.rb +++ b/lib/vapi/types/server_message_voice_input.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageVoiceInput < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageVoiceInputPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageVoiceInputType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/server_message_voice_request.rb b/lib/vapi/types/server_message_voice_request.rb index 6d77119a..3f3b8f51 100644 --- a/lib/vapi/types/server_message_voice_request.rb +++ b/lib/vapi/types/server_message_voice_request.rb @@ -4,6 +4,7 @@ module Vapi module Types class ServerMessageVoiceRequest < Internal::Types::Model field :phone_number, -> { Vapi::Types::ServerMessageVoiceRequestPhoneNumber }, optional: true, nullable: false, api_name: "phoneNumber" + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :type, -> { Vapi::Types::ServerMessageVoiceRequestType }, optional: false, nullable: false field :timestamp, -> { Integer }, optional: true, nullable: false field :artifact, -> { Vapi::Types::Artifact }, optional: true, nullable: false diff --git a/lib/vapi/types/sesame_voice.rb b/lib/vapi/types/sesame_voice.rb index fed154d2..742b59ad 100644 --- a/lib/vapi/types/sesame_voice.rb +++ b/lib/vapi/types/sesame_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Sesame, including voice and model selection, chunking, + # caching, and fallback settings. class SesameVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/simulation_suite.rb b/lib/vapi/types/simulation_suite.rb index c999bd2c..f739ff9d 100644 --- a/lib/vapi/types/simulation_suite.rb +++ b/lib/vapi/types/simulation_suite.rb @@ -11,6 +11,7 @@ class SimulationSuite < Internal::Types::Model field :slack_webhook_url, -> { String }, optional: true, nullable: false, api_name: "slackWebhookUrl" field :path, -> { String }, optional: true, nullable: false field :simulation_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "simulationIds" + field :target_assignments, -> { Internal::Types::Array[Vapi::Types::SimulationSuiteTargetAssignment] }, optional: false, nullable: false, api_name: "targetAssignments" end end end diff --git a/lib/vapi/types/simulation_suite_target_assignment.rb b/lib/vapi/types/simulation_suite_target_assignment.rb new file mode 100644 index 00000000..ea1dfac2 --- /dev/null +++ b/lib/vapi/types/simulation_suite_target_assignment.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class SimulationSuiteTargetAssignment < Internal::Types::Model + field :target_type, -> { Vapi::Types::SimulationSuiteTargetAssignmentTargetType }, optional: false, nullable: false, api_name: "targetType" + field :target_id, -> { String }, optional: false, nullable: false, api_name: "targetId" + end + end +end diff --git a/lib/vapi/types/simulation_suite_target_assignment_target_type.rb b/lib/vapi/types/simulation_suite_target_assignment_target_type.rb new file mode 100644 index 00000000..0ab80a13 --- /dev/null +++ b/lib/vapi/types/simulation_suite_target_assignment_target_type.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module SimulationSuiteTargetAssignmentTargetType + extend Vapi::Internal::Types::Enum + + ASSISTANT = "assistant" + SQUAD = "squad" + end + end +end diff --git a/lib/vapi/types/sip_authentication.rb b/lib/vapi/types/sip_authentication.rb index e94944f1..e4a6e8ba 100644 --- a/lib/vapi/types/sip_authentication.rb +++ b/lib/vapi/types/sip_authentication.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Realm, username, and password used to authenticate SIP requests. class SipAuthentication < Internal::Types::Model field :realm, -> { String }, optional: true, nullable: false field :username, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/sip_request_tool.rb b/lib/vapi/types/sip_request_tool.rb index 5a487ea7..0d9f5ec0 100644 --- a/lib/vapi/types/sip_request_tool.rb +++ b/lib/vapi/types/sip_request_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that sends SIP `INFO`, `MESSAGE`, or `NOTIFY` requests with configured headers and body. class SipRequestTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::SipRequestToolMessagesItem] }, optional: true, nullable: false field :verb, -> { Vapi::Types::SipRequestToolVerb }, optional: false, nullable: false field :headers, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false diff --git a/lib/vapi/types/sip_trunk_gateway.rb b/lib/vapi/types/sip_trunk_gateway.rb index d423115d..f6ac17ab 100644 --- a/lib/vapi/types/sip_trunk_gateway.rb +++ b/lib/vapi/types/sip_trunk_gateway.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Network and routing settings for a SIP trunk gateway, including address, port, netmask, inbound and outbound use, + # signaling protocol, and OPTIONS health checks. class SipTrunkGateway < Internal::Types::Model field :ip, -> { String }, optional: false, nullable: false field :port, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/sip_trunk_outbound_authentication_plan.rb b/lib/vapi/types/sip_trunk_outbound_authentication_plan.rb index 213b9624..822116db 100644 --- a/lib/vapi/types/sip_trunk_outbound_authentication_plan.rb +++ b/lib/vapi/types/sip_trunk_outbound_authentication_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Credentials and optional SIP REGISTER settings used to authenticate outbound calls with a SIP trunk. class SipTrunkOutboundAuthenticationPlan < Internal::Types::Model field :auth_password, -> { String }, optional: true, nullable: false, api_name: "authPassword" field :auth_username, -> { String }, optional: true, nullable: false, api_name: "authUsername" diff --git a/lib/vapi/types/sip_trunk_outbound_sip_register_plan.rb b/lib/vapi/types/sip_trunk_outbound_sip_register_plan.rb index a2357441..7ae2a212 100644 --- a/lib/vapi/types/sip_trunk_outbound_sip_register_plan.rb +++ b/lib/vapi/types/sip_trunk_outbound_sip_register_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Registration settings used when the SIP trunk requires SIP REGISTER. class SipTrunkOutboundSipRegisterPlan < Internal::Types::Model field :domain, -> { String }, optional: true, nullable: false field :username, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/skipped_structured_output.rb b/lib/vapi/types/skipped_structured_output.rb new file mode 100644 index 00000000..d046294e --- /dev/null +++ b/lib/vapi/types/skipped_structured_output.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class SkippedStructuredOutput < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + field :unmet_condition, -> { Vapi::Types::SkippedStructuredOutputUnmetCondition }, optional: false, nullable: false, api_name: "unmetCondition" + end + end +end diff --git a/lib/vapi/types/skipped_structured_output_unmet_condition.rb b/lib/vapi/types/skipped_structured_output_unmet_condition.rb new file mode 100644 index 00000000..fec79862 --- /dev/null +++ b/lib/vapi/types/skipped_structured_output_unmet_condition.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the first condition that was not met. Conditions use AND semantics, so + # evaluation stops as soon as one condition does not pass. + class SkippedStructuredOutputUnmetCondition < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::MinMessagesCondition }, key: "MIN_MESSAGES" + member -> { Vapi::Types::MinCallDurationCondition }, key: "MIN_CALL_DURATION" + member -> { Vapi::Types::EndedReasonCondition }, key: "ENDED_REASON" + end + end +end diff --git a/lib/vapi/types/slack_send_message_tool.rb b/lib/vapi/types/slack_send_message_tool.rb index 40ddb933..a8622713 100644 --- a/lib/vapi/types/slack_send_message_tool.rb +++ b/lib/vapi/types/slack_send_message_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that lets an assistant send a message to Slack. class SlackSendMessageTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::SlackSendMessageToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/smallest_ai_voice.rb b/lib/vapi/types/smallest_ai_voice.rb index 4930e3b8..6ae7ebaf 100644 --- a/lib/vapi/types/smallest_ai_voice.rb +++ b/lib/vapi/types/smallest_ai_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Smallest AI, including voice and model selection, speed, + # chunking, caching, and fallback settings. class SmallestAiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::SmallestAiVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/smart_denoising_plan.rb b/lib/vapi/types/smart_denoising_plan.rb index f85aba8f..f5b6c290 100644 --- a/lib/vapi/types/smart_denoising_plan.rb +++ b/lib/vapi/types/smart_denoising_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls whether Krisp smart denoising filters background speech and noise. class SmartDenoisingPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false end diff --git a/lib/vapi/types/sms_tool.rb b/lib/vapi/types/sms_tool.rb index bf8b6e8f..751aa8c9 100644 --- a/lib/vapi/types/sms_tool.rb +++ b/lib/vapi/types/sms_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that lets an assistant send an SMS message during a call. class SmsTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::SmsToolMessagesItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" diff --git a/lib/vapi/types/soniox_context_general_item.rb b/lib/vapi/types/soniox_context_general_item.rb new file mode 100644 index 00000000..603760a4 --- /dev/null +++ b/lib/vapi/types/soniox_context_general_item.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class SonioxContextGeneralItem < Internal::Types::Model + field :key, -> { String }, optional: false, nullable: false + field :value, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/soniox_credential.rb b/lib/vapi/types/soniox_credential.rb index 4a5ddaf1..2a6c6a8e 100644 --- a/lib/vapi/types/soniox_credential.rb +++ b/lib/vapi/types/soniox_credential.rb @@ -5,6 +5,7 @@ module Types class SonioxCredential < Internal::Types::Model field :provider, -> { Vapi::Types::SonioxCredentialProvider }, optional: false, nullable: false field :api_key, -> { String }, optional: false, nullable: false, api_name: "apiKey" + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" diff --git a/lib/vapi/types/soniox_transcriber.rb b/lib/vapi/types/soniox_transcriber.rb index cd7f5394..bd05582a 100644 --- a/lib/vapi/types/soniox_transcriber.rb +++ b/lib/vapi/types/soniox_transcriber.rb @@ -2,12 +2,16 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Soniox, including model, language + # detection, endpointing, vocabulary, and fallback settings. class SonioxTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::SonioxTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::SonioxTranscriberLanguage }, optional: true, nullable: false + field :languages, -> { Internal::Types::Array[Vapi::Types::SonioxTranscriberLanguagesItem] }, optional: true, nullable: false field :language_hints_strict, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "languageHintsStrict" field :max_endpoint_delay_ms, -> { Integer }, optional: true, nullable: false, api_name: "maxEndpointDelayMs" field :custom_vocabulary, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "customVocabulary" + field :context_general, -> { Internal::Types::Array[Vapi::Types::SonioxContextGeneralItem] }, optional: true, nullable: false, api_name: "contextGeneral" field :fallback_plan, -> { Vapi::Types::FallbackTranscriberPlan }, optional: true, nullable: false, api_name: "fallbackPlan" end end diff --git a/lib/vapi/types/soniox_transcriber_languages_item.rb b/lib/vapi/types/soniox_transcriber_languages_item.rb new file mode 100644 index 00000000..a13b036c --- /dev/null +++ b/lib/vapi/types/soniox_transcriber_languages_item.rb @@ -0,0 +1,195 @@ +# frozen_string_literal: true + +module Vapi + module Types + module SonioxTranscriberLanguagesItem + extend Vapi::Internal::Types::Enum + + AA = "aa" + AB = "ab" + AE = "ae" + AF = "af" + AK = "ak" + AM = "am" + AN = "an" + AR = "ar" + AS = "as" + AV = "av" + AY = "ay" + AZ = "az" + BA = "ba" + BE = "be" + BG = "bg" + BH = "bh" + BI = "bi" + BM = "bm" + BN = "bn" + BO = "bo" + BR = "br" + BS = "bs" + CA = "ca" + CE = "ce" + CH = "ch" + CO = "co" + CR = "cr" + CS = "cs" + CU = "cu" + CV = "cv" + CY = "cy" + DA = "da" + DE = "de" + DV = "dv" + DZ = "dz" + EE = "ee" + EL = "el" + EN = "en" + EO = "eo" + ES = "es" + ET = "et" + EU = "eu" + FA = "fa" + FF = "ff" + FI = "fi" + FJ = "fj" + FO = "fo" + FR = "fr" + FY = "fy" + GA = "ga" + GD = "gd" + GL = "gl" + GN = "gn" + GU = "gu" + GV = "gv" + HA = "ha" + HE = "he" + HI = "hi" + HO = "ho" + HR = "hr" + HT = "ht" + HU = "hu" + HY = "hy" + HZ = "hz" + IA = "ia" + ID = "id" + IE = "ie" + IG = "ig" + II = "ii" + IK = "ik" + IO = "io" + IS = "is" + IT = "it" + IU = "iu" + JA = "ja" + JV = "jv" + KA = "ka" + KG = "kg" + KI = "ki" + KJ = "kj" + KK = "kk" + KL = "kl" + KM = "km" + KN = "kn" + KO = "ko" + KR = "kr" + KS = "ks" + KU = "ku" + KV = "kv" + KW = "kw" + KY = "ky" + LA = "la" + LB = "lb" + LG = "lg" + LI = "li" + LN = "ln" + LO = "lo" + LT = "lt" + LU = "lu" + LV = "lv" + MG = "mg" + MH = "mh" + MI = "mi" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MT = "mt" + MY = "my" + NA = "na" + NB = "nb" + ND = "nd" + NE = "ne" + NG = "ng" + NL = "nl" + NN = "nn" + NO = "no" + NR = "nr" + NV = "nv" + NY = "ny" + OC = "oc" + OJ = "oj" + OM = "om" + OR = "or" + OS = "os" + PA = "pa" + PI = "pi" + PL = "pl" + PS = "ps" + PT = "pt" + QU = "qu" + RM = "rm" + RN = "rn" + RO = "ro" + RU = "ru" + RW = "rw" + SA = "sa" + SC = "sc" + SD = "sd" + SE = "se" + SG = "sg" + SI = "si" + SK = "sk" + SL = "sl" + SM = "sm" + SN = "sn" + SO = "so" + SQ = "sq" + SR = "sr" + SS = "ss" + ST = "st" + SU = "su" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TG = "tg" + TH = "th" + TI = "ti" + TK = "tk" + TL = "tl" + TN = "tn" + TO = "to" + TR = "tr" + TS = "ts" + TT = "tt" + TW = "tw" + TY = "ty" + UG = "ug" + UK = "uk" + UR = "ur" + UZ = "uz" + VE = "ve" + VI = "vi" + VO = "vo" + WA = "wa" + WO = "wo" + XH = "xh" + YI = "yi" + YUE = "yue" + YO = "yo" + ZA = "za" + ZH = "zh" + ZU = "zu" + end + end +end diff --git a/lib/vapi/types/soniox_transcriber_model.rb b/lib/vapi/types/soniox_transcriber_model.rb index ccdac7c2..bef0baa1 100644 --- a/lib/vapi/types/soniox_transcriber_model.rb +++ b/lib/vapi/types/soniox_transcriber_model.rb @@ -6,6 +6,7 @@ module SonioxTranscriberModel extend Vapi::Internal::Types::Enum STT_RT_V_4 = "stt-rt-v4" + STT_RT_V_5 = "stt-rt-v5" end end end diff --git a/lib/vapi/types/speechmatics_custom_vocabulary_item.rb b/lib/vapi/types/speechmatics_custom_vocabulary_item.rb index 9c5536ca..5b343de4 100644 --- a/lib/vapi/types/speechmatics_custom_vocabulary_item.rb +++ b/lib/vapi/types/speechmatics_custom_vocabulary_item.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A word or phrase to prioritize during Speechmatics transcription, with optional phonetic alternatives. class SpeechmaticsCustomVocabularyItem < Internal::Types::Model field :content, -> { String }, optional: false, nullable: false field :sounds_like, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "soundsLike" diff --git a/lib/vapi/types/speechmatics_transcriber.rb b/lib/vapi/types/speechmatics_transcriber.rb index 2c93b51c..56d30ce6 100644 --- a/lib/vapi/types/speechmatics_transcriber.rb +++ b/lib/vapi/types/speechmatics_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Speechmatics, including language, + # region, diarization, vocabulary, endpointing, formatting, and fallback settings. class SpeechmaticsTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::SpeechmaticsTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::SpeechmaticsTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/spki_pem_public_key_config.rb b/lib/vapi/types/spki_pem_public_key_config.rb index ebb8bf51..07e536d4 100644 --- a/lib/vapi/types/spki_pem_public_key_config.rb +++ b/lib/vapi/types/spki_pem_public_key_config.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An SPKI public key in PEM format used to encrypt sensitive request data. class SpkiPemPublicKeyConfig < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :pem, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/sql_injection_security_filter.rb b/lib/vapi/types/sql_injection_security_filter.rb index 0c36a8eb..1053c278 100644 --- a/lib/vapi/types/sql_injection_security_filter.rb +++ b/lib/vapi/types/sql_injection_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters potential SQL injection patterns from transcripts. class SqlInjectionSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::SqlInjectionSecurityFilterType }, optional: false, nullable: false end diff --git a/lib/vapi/types/squad.rb b/lib/vapi/types/squad.rb index a427448b..31a17a1a 100644 --- a/lib/vapi/types/squad.rb +++ b/lib/vapi/types/squad.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A saved squad configuration that coordinates a group of assistants during a conversation. The first member starts + # the call, and member destinations control transfers between assistants. class Squad < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :members, -> { Internal::Types::Array[Vapi::Types::SquadMemberDto] }, optional: false, nullable: false diff --git a/lib/vapi/types/squad_member_dto.rb b/lib/vapi/types/squad_member_dto.rb index 09698553..8e3823d5 100644 --- a/lib/vapi/types/squad_member_dto.rb +++ b/lib/vapi/types/squad_member_dto.rb @@ -2,7 +2,10 @@ module Vapi module Types + # An assistant member of a squad. Reference a saved assistant or provide a transient assistant, then configure + # member-specific overrides and destinations for transfers. class SquadMemberDto < Internal::Types::Model + field :assistant_version, -> { String }, optional: true, nullable: false, api_name: "assistantVersion" field :assistant_destinations, -> { Internal::Types::Array[Vapi::Types::SquadMemberDtoAssistantDestinationsItem] }, optional: true, nullable: false, api_name: "assistantDestinations" field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" field :assistant, -> { Vapi::Types::CreateAssistantDto }, optional: true, nullable: false diff --git a/lib/vapi/types/ssrf_security_filter.rb b/lib/vapi/types/ssrf_security_filter.rb index 08fe398a..8a50ec3f 100644 --- a/lib/vapi/types/ssrf_security_filter.rb +++ b/lib/vapi/types/ssrf_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters potential server-side request forgery (SSRF) patterns from transcripts. class SsrfSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::SsrfSecurityFilterType }, optional: false, nullable: false end diff --git a/lib/vapi/types/start_speaking_plan.rb b/lib/vapi/types/start_speaking_plan.rb index 27f47b5b..3647288f 100644 --- a/lib/vapi/types/start_speaking_plan.rb +++ b/lib/vapi/types/start_speaking_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls when the assistant begins speaking after customer speech, including the minimum wait, endpointing + # strategy, and custom endpointing rules. class StartSpeakingPlan < Internal::Types::Model field :wait_seconds, -> { Integer }, optional: true, nullable: false, api_name: "waitSeconds" field :smart_endpointing_enabled, -> { Vapi::Types::StartSpeakingPlanSmartEndpointingEnabled }, optional: true, nullable: false, api_name: "smartEndpointingEnabled" diff --git a/lib/vapi/types/stop_speaking_plan.rb b/lib/vapi/types/stop_speaking_plan.rb index 58efb5a7..b5209825 100644 --- a/lib/vapi/types/stop_speaking_plan.rb +++ b/lib/vapi/types/stop_speaking_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls when the assistant stops speaking after a customer interruption, including word and voice thresholds, + # restart delay, and phrase exceptions. class StopSpeakingPlan < Internal::Types::Model field :num_words, -> { Integer }, optional: true, nullable: false, api_name: "numWords" field :voice_seconds, -> { Integer }, optional: true, nullable: false, api_name: "voiceSeconds" diff --git a/lib/vapi/types/structured_data_multi_plan.rb b/lib/vapi/types/structured_data_multi_plan.rb index 8ccf4c7b..fa2191f1 100644 --- a/lib/vapi/types/structured_data_multi_plan.rb +++ b/lib/vapi/types/structured_data_multi_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Associates a catalog key with a structured data extraction plan. class StructuredDataMultiPlan < Internal::Types::Model field :key, -> { String }, optional: false, nullable: false field :plan, -> { Vapi::Types::StructuredDataPlan }, optional: false, nullable: false diff --git a/lib/vapi/types/structured_data_plan.rb b/lib/vapi/types/structured_data_plan.rb index 662ddf35..d5c79199 100644 --- a/lib/vapi/types/structured_data_plan.rb +++ b/lib/vapi/types/structured_data_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls extraction of post-call structured data, including prompt messages, JSON schema, enablement, and request + # timeout. class StructuredDataPlan < Internal::Types::Model field :messages, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/structured_output.rb b/lib/vapi/types/structured_output.rb index c48a206f..278b5c78 100644 --- a/lib/vapi/types/structured_output.rb +++ b/lib/vapi/types/structured_output.rb @@ -2,11 +2,14 @@ module Vapi module Types + # A saved structured-output definition containing its extraction schema, execution method, model or regular + # expression, linked resources, and lifecycle metadata. class StructuredOutput < Internal::Types::Model field :type, -> { Vapi::Types::StructuredOutputType }, optional: true, nullable: false field :regex, -> { String }, optional: true, nullable: false field :model, -> { Vapi::Types::StructuredOutputModel }, optional: true, nullable: false field :compliance_plan, -> { Vapi::Types::ComplianceOverride }, optional: true, nullable: false, api_name: "compliancePlan" + field :conditions, -> { Internal::Types::Array[Vapi::Types::StructuredOutputConditionsItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" diff --git a/lib/vapi/types/structured_output_conditions_item.rb b/lib/vapi/types/structured_output_conditions_item.rb new file mode 100644 index 00000000..1baeb61a --- /dev/null +++ b/lib/vapi/types/structured_output_conditions_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class StructuredOutputConditionsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::MinMessagesCondition }, key: "MIN_MESSAGES" + member -> { Vapi::Types::MinCallDurationCondition }, key: "MIN_CALL_DURATION" + member -> { Vapi::Types::EndedReasonCondition }, key: "ENDED_REASON" + end + end +end diff --git a/lib/vapi/types/structured_output_evaluation_result.rb b/lib/vapi/types/structured_output_evaluation_result.rb index 43885adf..da08e5bf 100644 --- a/lib/vapi/types/structured_output_evaluation_result.rb +++ b/lib/vapi/types/structured_output_evaluation_result.rb @@ -5,6 +5,9 @@ module Types class StructuredOutputEvaluationResult < Internal::Types::Model field :structured_output_id, -> { String }, optional: false, nullable: false, api_name: "structuredOutputId" field :name, -> { String }, optional: false, nullable: false + field :path, -> { String }, optional: true, nullable: false + field :description, -> { String }, optional: true, nullable: false + field :schema, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false field :extracted_value, -> { Vapi::Types::StructuredOutputEvaluationResultExtractedValue }, optional: false, nullable: true, api_name: "extractedValue" field :expected_value, -> { Vapi::Types::StructuredOutputEvaluationResultExpectedValue }, optional: false, nullable: false, api_name: "expectedValue" field :comparator, -> { Vapi::Types::StructuredOutputEvaluationResultComparator }, optional: false, nullable: false diff --git a/lib/vapi/types/structured_output_paginated_response.rb b/lib/vapi/types/structured_output_paginated_response.rb index 29952af0..b12a152e 100644 --- a/lib/vapi/types/structured_output_paginated_response.rb +++ b/lib/vapi/types/structured_output_paginated_response.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A paginated collection of structured-output definitions and metadata describing the result set. class StructuredOutputPaginatedResponse < Internal::Types::Model field :results, -> { Internal::Types::Array[Vapi::Types::StructuredOutput] }, optional: false, nullable: false field :metadata, -> { Vapi::Types::PaginationMeta }, optional: false, nullable: false diff --git a/lib/vapi/types/structured_output_rerun_response.rb b/lib/vapi/types/structured_output_rerun_response.rb new file mode 100644 index 00000000..b5b8452e --- /dev/null +++ b/lib/vapi/types/structured_output_rerun_response.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class StructuredOutputRerunResponse < Internal::Types::Model + field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/structured_output_run_preview_response.rb b/lib/vapi/types/structured_output_run_preview_response.rb new file mode 100644 index 00000000..ccff5ee4 --- /dev/null +++ b/lib/vapi/types/structured_output_run_preview_response.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Vapi + module Types + class StructuredOutputRunPreviewResponse < Internal::Types::Model + field :skipped, -> { Internal::Types::Hash[String, Vapi::Types::SkippedStructuredOutput] }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/structured_output_run_result.rb b/lib/vapi/types/structured_output_run_result.rb new file mode 100644 index 00000000..546e492e --- /dev/null +++ b/lib/vapi/types/structured_output_run_result.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class StructuredOutputRunResult < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + field :result, -> { Vapi::Types::StructuredOutputRunResultResult }, optional: false, nullable: true + field :compliance_plan, -> { Vapi::Types::ComplianceOverride }, optional: true, nullable: false, api_name: "compliancePlan" + end + end +end diff --git a/lib/vapi/types/structured_output_run_result_result.rb b/lib/vapi/types/structured_output_run_result_result.rb new file mode 100644 index 00000000..b043f397 --- /dev/null +++ b/lib/vapi/types/structured_output_run_result_result.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the extracted value, shaped by the structured output's schema. + class StructuredOutputRunResultResult < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { String } + member -> { Integer } + member -> { Internal::Types::Boolean } + member -> { Internal::Types::Hash[String, Object] } + member -> { Internal::Types::Array[Object] } + end + end +end diff --git a/lib/vapi/types/subscription_limits.rb b/lib/vapi/types/subscription_limits.rb index 3857d8a9..e9b348b4 100644 --- a/lib/vapi/types/subscription_limits.rb +++ b/lib/vapi/types/subscription_limits.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Organization concurrency limits and remaining concurrent call capacity. class SubscriptionLimits < Internal::Types::Model field :concurrency_blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "concurrencyBlocked" field :concurrency_limit, -> { Integer }, optional: true, nullable: false, api_name: "concurrencyLimit" diff --git a/lib/vapi/types/success_evaluation_plan.rb b/lib/vapi/types/success_evaluation_plan.rb index 375e5750..d56b1bf1 100644 --- a/lib/vapi/types/success_evaluation_plan.rb +++ b/lib/vapi/types/success_evaluation_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls post-call success evaluation, including the rubric, prompt messages, enablement, and request timeout. class SuccessEvaluationPlan < Internal::Types::Model field :rubric, -> { Vapi::Types::SuccessEvaluationPlanRubric }, optional: true, nullable: false field :messages, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false diff --git a/lib/vapi/types/summary_plan.rb b/lib/vapi/types/summary_plan.rb index 9026b635..97cb0c00 100644 --- a/lib/vapi/types/summary_plan.rb +++ b/lib/vapi/types/summary_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls generation of a post-call summary, including prompt messages, enablement, and request timeout. class SummaryPlan < Internal::Types::Model field :messages, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/supabase_bucket_plan.rb b/lib/vapi/types/supabase_bucket_plan.rb index f66890cf..70f79ee7 100644 --- a/lib/vapi/types/supabase_bucket_plan.rb +++ b/lib/vapi/types/supabase_bucket_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Supabase S3-compatible bucket configuration for call artifacts, including region, endpoint, access keys, bucket + # name, and path. class SupabaseBucketPlan < Internal::Types::Model field :region, -> { Vapi::Types::SupabaseBucketPlanRegion }, optional: false, nullable: false field :url, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/sync_voice_library_dto_providers_item.rb b/lib/vapi/types/sync_voice_library_dto_providers_item.rb index 35b5386b..3b389d8d 100644 --- a/lib/vapi/types/sync_voice_library_dto_providers_item.rb +++ b/lib/vapi/types/sync_voice_library_dto_providers_item.rb @@ -24,6 +24,8 @@ module SyncVoiceLibraryDtoProvidersItem MINIMAX = "minimax" WELLSAID = "wellsaid" ORPHEUS = "orpheus" + XAI = "xai" + MICROSOFT = "microsoft" end end end diff --git a/lib/vapi/types/system_message.rb b/lib/vapi/types/system_message.rb index 975c87fc..6732b0c1 100644 --- a/lib/vapi/types/system_message.rb +++ b/lib/vapi/types/system_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A system-authored entry in the call message history, including its content and timing. class SystemMessage < Internal::Types::Model field :role, -> { String }, optional: false, nullable: false field :message, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/talkscriber_transcriber.rb b/lib/vapi/types/talkscriber_transcriber.rb index 2802c3c2..87376f7b 100644 --- a/lib/vapi/types/talkscriber_transcriber.rb +++ b/lib/vapi/types/talkscriber_transcriber.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for transcribing speech during assistant conversations with Talkscriber, including model, language, + # and fallback settings. class TalkscriberTranscriber < Internal::Types::Model field :model, -> { Vapi::Types::TalkscriberTranscriberModel }, optional: true, nullable: false field :language, -> { Vapi::Types::TalkscriberTranscriberLanguage }, optional: true, nullable: false diff --git a/lib/vapi/types/tavus_conversation_properties.rb b/lib/vapi/types/tavus_conversation_properties.rb index 20d3a02d..d4f7821d 100644 --- a/lib/vapi/types/tavus_conversation_properties.rb +++ b/lib/vapi/types/tavus_conversation_properties.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Tavus conversation behavior and media settings, including duration, participant timeouts, recording, + # transcription, background, language, and recording storage. class TavusConversationProperties < Internal::Types::Model field :max_call_duration, -> { Integer }, optional: true, nullable: false, api_name: "maxCallDuration" field :participant_left_timeout, -> { Integer }, optional: true, nullable: false, api_name: "participantLeftTimeout" diff --git a/lib/vapi/types/tavus_voice.rb b/lib/vapi/types/tavus_voice.rb index ad332560..feeb3568 100644 --- a/lib/vapi/types/tavus_voice.rb +++ b/lib/vapi/types/tavus_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for using Tavus as the assistant's voice provider, including persona, callback, context, greeting, + # conversation properties, chunking, caching, and fallback settings. class TavusVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::TavusVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/telnyx_phone_number.rb b/lib/vapi/types/telnyx_phone_number.rb index 3a4a555c..72dcd271 100644 --- a/lib/vapi/types/telnyx_phone_number.rb +++ b/lib/vapi/types/telnyx_phone_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A Telnyx phone number connected to Vapi, including its credential, routing, hooks, server settings, and lifecycle + # metadata. class TelnyxPhoneNumber < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::TelnyxPhoneNumberFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::TelnyxPhoneNumberHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/telnyx_transport.rb b/lib/vapi/types/telnyx_transport.rb new file mode 100644 index 00000000..45096f34 --- /dev/null +++ b/lib/vapi/types/telnyx_transport.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class TelnyxTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::TelnyxTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :call_control_id, -> { String }, optional: true, nullable: false, api_name: "callControlId" + field :call_leg_id, -> { String }, optional: true, nullable: false, api_name: "callLegId" + field :call_session_id, -> { String }, optional: true, nullable: false, api_name: "callSessionId" + end + end +end diff --git a/lib/vapi/types/trieve_knowledge_base_import_type.rb b/lib/vapi/types/telnyx_transport_conversation_type.rb similarity index 64% rename from lib/vapi/types/trieve_knowledge_base_import_type.rb rename to lib/vapi/types/telnyx_transport_conversation_type.rb index e8b0fe29..b0420a1f 100644 --- a/lib/vapi/types/trieve_knowledge_base_import_type.rb +++ b/lib/vapi/types/telnyx_transport_conversation_type.rb @@ -2,10 +2,10 @@ module Vapi module Types - module TrieveKnowledgeBaseImportType + module TelnyxTransportConversationType extend Vapi::Internal::Types::Enum - IMPORT = "import" + VOICE = "voice" end end end diff --git a/lib/vapi/types/text_content.rb b/lib/vapi/types/text_content.rb index e08fb14c..82b985de 100644 --- a/lib/vapi/types/text_content.rb +++ b/lib/vapi/types/text_content.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Localized text content used as a language-specific message variant. class TextContent < Internal::Types::Model field :type, -> { Vapi::Types::TextContentType }, optional: false, nullable: false field :text, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/text_editor_tool.rb b/lib/vapi/types/text_editor_tool.rb index 6a3cff00..1623d85a 100644 --- a/lib/vapi/types/text_editor_tool.rb +++ b/lib/vapi/types/text_editor_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that reads and edits text files in a configured environment. class TextEditorTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::TextEditorToolMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::TextEditorToolSubType }, optional: false, nullable: false, api_name: "subType" field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/text_insight.rb b/lib/vapi/types/text_insight.rb index b88d8497..62c67d8b 100644 --- a/lib/vapi/types/text_insight.rb +++ b/lib/vapi/types/text_insight.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A saved text-value insight containing its call-data queries, formula, time range, and lifecycle information. class TextInsight < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formula, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false @@ -11,6 +12,7 @@ class TextInsight < Internal::Types::Model field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :system_key, -> { String }, optional: true, nullable: false, api_name: "systemKey" end end end diff --git a/lib/vapi/types/time_range.rb b/lib/vapi/types/time_range.rb index a3aaf34e..8530a29d 100644 --- a/lib/vapi/types/time_range.rb +++ b/lib/vapi/types/time_range.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Start, end, timezone, and time step used for analytics aggregation. class TimeRange < Internal::Types::Model field :step, -> { Vapi::Types::TimeRangeStep }, optional: true, nullable: false field :start, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/together_ai_model.rb b/lib/vapi/types/together_ai_model.rb index 5fc360f4..1dc33f6a 100644 --- a/lib/vapi/types/together_ai_model.rb +++ b/lib/vapi/types/together_ai_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with Together AI, including model, prompts, tools, knowledge-base + # access, and generation settings. class TogetherAiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::TogetherAiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/tool_call.rb b/lib/vapi/types/tool_call.rb index bbc2ad6c..837ea7c2 100644 --- a/lib/vapi/types/tool_call.rb +++ b/lib/vapi/types/tool_call.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A tool invocation requested by the assistant, including its identifier, type, and function details. class ToolCall < Internal::Types::Model field :id, -> { String }, optional: false, nullable: false field :type, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/tool_call_function.rb b/lib/vapi/types/tool_call_function.rb index 085f5bbd..0d85c1fd 100644 --- a/lib/vapi/types/tool_call_function.rb +++ b/lib/vapi/types/tool_call_function.rb @@ -2,6 +2,7 @@ module Vapi module Types + # The function name and serialized arguments associated with a tool call. class ToolCallFunction < Internal::Types::Model field :arguments, -> { String }, optional: false, nullable: false field :name, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/tool_call_hook_action.rb b/lib/vapi/types/tool_call_hook_action.rb index 3938564d..d7b85043 100644 --- a/lib/vapi/types/tool_call_hook_action.rb +++ b/lib/vapi/types/tool_call_hook_action.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A hook action that invokes an inline tool or an existing tool when the hook triggers. class ToolCallHookAction < Internal::Types::Model field :type, -> { Vapi::Types::ToolCallHookActionType }, optional: false, nullable: false field :tool, -> { Vapi::Types::ToolCallHookActionTool }, optional: true, nullable: false diff --git a/lib/vapi/types/tool_call_message.rb b/lib/vapi/types/tool_call_message.rb index dd5946eb..8f5ae525 100644 --- a/lib/vapi/types/tool_call_message.rb +++ b/lib/vapi/types/tool_call_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # An entry in the call message history that records one or more tool calls requested during the conversation. class ToolCallMessage < Internal::Types::Model field :role, -> { String }, optional: false, nullable: false field :tool_calls, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: false, nullable: false, api_name: "toolCalls" diff --git a/lib/vapi/types/tool_call_result_message.rb b/lib/vapi/types/tool_call_result_message.rb index aa047370..6a63a051 100644 --- a/lib/vapi/types/tool_call_result_message.rb +++ b/lib/vapi/types/tool_call_result_message.rb @@ -2,14 +2,18 @@ module Vapi module Types + # This is the message that will be spoken to the user. + # + # If this is not returned, assistant will speak: + # 1. a `request-complete` or `request-failed` message from `tool.messages`, if it exists + # 2. a response generated by the model, if not class ToolCallResultMessage < Internal::Types::Model - field :role, -> { String }, optional: false, nullable: false - field :tool_call_id, -> { String }, optional: false, nullable: false, api_name: "toolCallId" - field :name, -> { String }, optional: false, nullable: false - field :result, -> { String }, optional: false, nullable: false - field :time, -> { Integer }, optional: false, nullable: false - field :seconds_from_start, -> { Integer }, optional: false, nullable: false, api_name: "secondsFromStart" - field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::ToolMessageComplete }, key: "REQUEST_COMPLETE" + member -> { Vapi::Types::ToolMessageFailed }, key: "REQUEST_FAILED" end end end diff --git a/lib/vapi/types/tool_call_result_message_warning.rb b/lib/vapi/types/tool_call_result_message_warning.rb new file mode 100644 index 00000000..8b12e074 --- /dev/null +++ b/lib/vapi/types/tool_call_result_message_warning.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolCallResultMessageWarning < Internal::Types::Model + field :type, -> { Vapi::Types::ToolCallResultMessageWarningType }, optional: false, nullable: false + field :token_count, -> { Integer }, optional: false, nullable: false, api_name: "tokenCount" + field :threshold, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_call_result_message_warning_type.rb b/lib/vapi/types/tool_call_result_message_warning_type.rb new file mode 100644 index 00000000..8b435ff4 --- /dev/null +++ b/lib/vapi/types/tool_call_result_message_warning_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolCallResultMessageWarningType + extend Vapi::Internal::Types::Enum + + OVERSIZED_TOOL_RESPONSE = "oversized-tool-response" + end + end +end diff --git a/lib/vapi/types/tool_draft.rb b/lib/vapi/types/tool_draft.rb new file mode 100644 index 00000000..4ad378b4 --- /dev/null +++ b/lib/vapi/types/tool_draft.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolDraft < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::ToolDraftMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::ToolDraftType }, optional: true, nullable: false + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :tool_id, -> { String }, optional: false, nullable: false, api_name: "toolId" + field :base_version, -> { String }, optional: false, nullable: false, api_name: "baseVersion" + field :created_by, -> { String }, optional: true, nullable: false, api_name: "createdBy" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt" + field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" + field :function, -> { Vapi::Types::OpenAiFunction }, optional: true, nullable: false + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :template_id, -> { String }, optional: true, nullable: false, api_name: "templateId" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false + field :destinations, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :sub_type, -> { String }, optional: true, nullable: false, api_name: "subType" + field :display_width_px, -> { Integer }, optional: true, nullable: false, api_name: "displayWidthPx" + field :display_height_px, -> { Integer }, optional: true, nullable: false, api_name: "displayHeightPx" + field :display_number, -> { Integer }, optional: true, nullable: false, api_name: "displayNumber" + field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" + field :url, -> { String }, optional: true, nullable: false + field :method_, -> { Vapi::Types::ToolDraftMethod }, optional: true, nullable: false, api_name: "method" + field :headers, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false + field :body, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :backoff_plan, -> { Vapi::Types::BackoffPlan }, optional: true, nullable: false, api_name: "backoffPlan" + field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" + field :description, -> { String }, optional: true, nullable: false + field :variable_extraction_plan, -> { Vapi::Types::VariableExtractionPlan }, optional: true, nullable: false, api_name: "variableExtractionPlan" + field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" + field :extended_delay_when_preceded_by_text_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "extendedDelayWhenPrecededByTextEnabled" + field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" + field :code, -> { String }, optional: true, nullable: false + field :environment_variables, -> { Internal::Types::Array[Vapi::Types::CodeToolEnvironmentVariable] }, optional: true, nullable: false, api_name: "environmentVariables" + field :parameters, -> { Internal::Types::Array[Vapi::Types::ToolParameter] }, optional: true, nullable: false + field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" + field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" + field :verb, -> { Vapi::Types::ToolDraftVerb }, optional: true, nullable: false + field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" + field :tool_messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessages] }, optional: true, nullable: false, api_name: "toolMessages" + end + end +end diff --git a/lib/vapi/types/tool_draft_conflict_response_dto.rb b/lib/vapi/types/tool_draft_conflict_response_dto.rb new file mode 100644 index 00000000..95751819 --- /dev/null +++ b/lib/vapi/types/tool_draft_conflict_response_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolDraftConflictResponseDto < Internal::Types::Model + field :existing_draft_id, -> { String }, optional: false, nullable: true, api_name: "existingDraftId" + field :error, -> { String }, optional: false, nullable: false + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_draft_messages_item.rb b/lib/vapi/types/tool_draft_messages_item.rb new file mode 100644 index 00000000..c9468f60 --- /dev/null +++ b/lib/vapi/types/tool_draft_messages_item.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolDraftMessagesItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::ToolMessageStart }, key: "REQUEST_START" + member -> { Vapi::Types::ToolMessageComplete }, key: "REQUEST_COMPLETE" + member -> { Vapi::Types::ToolMessageFailed }, key: "REQUEST_FAILED" + member -> { Vapi::Types::ToolMessageDelayed }, key: "REQUEST_RESPONSE_DELAYED" + end + end +end diff --git a/lib/vapi/types/tool_draft_method.rb b/lib/vapi/types/tool_draft_method.rb new file mode 100644 index 00000000..06e9c169 --- /dev/null +++ b/lib/vapi/types/tool_draft_method.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolDraftMethod + extend Vapi::Internal::Types::Enum + + POST = "POST" + GET = "GET" + PUT = "PUT" + PATCH = "PATCH" + DELETE = "DELETE" + end + end +end diff --git a/lib/vapi/types/tool_draft_paginated_metadata.rb b/lib/vapi/types/tool_draft_paginated_metadata.rb new file mode 100644 index 00000000..bb61bf67 --- /dev/null +++ b/lib/vapi/types/tool_draft_paginated_metadata.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolDraftPaginatedMetadata < Internal::Types::Model + field :next_cursor, -> { String }, optional: false, nullable: true, api_name: "nextCursor" + field :has_next_page, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasNextPage" + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_draft_paginated_response.rb b/lib/vapi/types/tool_draft_paginated_response.rb new file mode 100644 index 00000000..4f254f30 --- /dev/null +++ b/lib/vapi/types/tool_draft_paginated_response.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolDraftPaginatedResponse < Internal::Types::Model + field :results, -> { Internal::Types::Array[Vapi::Types::ToolDraft] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::ToolDraftPaginatedMetadata }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_draft_type.rb b/lib/vapi/types/tool_draft_type.rb new file mode 100644 index 00000000..dc55c6e2 --- /dev/null +++ b/lib/vapi/types/tool_draft_type.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolDraftType + extend Vapi::Internal::Types::Enum + + DTMF = "dtmf" + END_CALL = "endCall" + TRANSFER_CALL = "transferCall" + TRANSFER_CANCEL = "transferCancel" + TRANSFER_SUCCESSFUL = "transferSuccessful" + HANDOFF = "handoff" + OUTPUT = "output" + VOICEMAIL = "voicemail" + QUERY = "query" + SMS = "sms" + SIP_REQUEST = "sipRequest" + FUNCTION = "function" + MCP = "mcp" + API_REQUEST = "apiRequest" + CODE = "code" + BASH = "bash" + COMPUTER = "computer" + TEXT_EDITOR = "textEditor" + GOOGLE_CALENDAR_EVENT_CREATE = "google.calendar.event.create" + GOOGLE_CALENDAR_AVAILABILITY_CHECK = "google.calendar.availability.check" + GOOGLE_SHEETS_ROW_APPEND = "google.sheets.row.append" + SLACK_MESSAGE_SEND = "slack.message.send" + GOHIGHLEVEL_CALENDAR_EVENT_CREATE = "gohighlevel.calendar.event.create" + GOHIGHLEVEL_CALENDAR_AVAILABILITY_CHECK = "gohighlevel.calendar.availability.check" + GOHIGHLEVEL_CONTACT_CREATE = "gohighlevel.contact.create" + GOHIGHLEVEL_CONTACT_GET = "gohighlevel.contact.get" + MAKE = "make" + GHL = "ghl" + end + end +end diff --git a/lib/vapi/types/tool_draft_verb.rb b/lib/vapi/types/tool_draft_verb.rb new file mode 100644 index 00000000..06ceb960 --- /dev/null +++ b/lib/vapi/types/tool_draft_verb.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolDraftVerb + extend Vapi::Internal::Types::Enum + + INFO = "INFO" + MESSAGE = "MESSAGE" + NOTIFY = "NOTIFY" + end + end +end diff --git a/lib/vapi/types/tool_message.rb b/lib/vapi/types/tool_message.rb index 66df278b..6e4b0e7d 100644 --- a/lib/vapi/types/tool_message.rb +++ b/lib/vapi/types/tool_message.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A tool-result message associated with a specific tool call. class ToolMessage < Internal::Types::Model field :role, -> { Vapi::Types::ToolMessageRole }, optional: false, nullable: false field :content, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/tool_message_complete.rb b/lib/vapi/types/tool_message_complete.rb index cb65d03f..bf12248c 100644 --- a/lib/vapi/types/tool_message_complete.rb +++ b/lib/vapi/types/tool_message_complete.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Message spoken when a tool call completes, with optional language variants, argument conditions, role, and + # end-call behavior. class ToolMessageComplete < Internal::Types::Model field :contents, -> { Internal::Types::Array[Vapi::Types::TextContent] }, optional: true, nullable: false field :role, -> { Vapi::Types::ToolMessageCompleteRole }, optional: true, nullable: false diff --git a/lib/vapi/types/tool_message_delayed.rb b/lib/vapi/types/tool_message_delayed.rb index 29fd54d4..55556caf 100644 --- a/lib/vapi/types/tool_message_delayed.rb +++ b/lib/vapi/types/tool_message_delayed.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Message spoken when a tool call exceeds a configured response delay, with optional language variants and argument + # conditions. class ToolMessageDelayed < Internal::Types::Model field :contents, -> { Internal::Types::Array[Vapi::Types::TextContent] }, optional: true, nullable: false field :timing_milliseconds, -> { Integer }, optional: true, nullable: false, api_name: "timingMilliseconds" diff --git a/lib/vapi/types/tool_message_failed.rb b/lib/vapi/types/tool_message_failed.rb index bbe6b6b8..77733f6c 100644 --- a/lib/vapi/types/tool_message_failed.rb +++ b/lib/vapi/types/tool_message_failed.rb @@ -2,8 +2,11 @@ module Vapi module Types + # Message spoken when a tool call fails, with optional language variants, argument conditions, and end-call + # behavior. class ToolMessageFailed < Internal::Types::Model field :contents, -> { Internal::Types::Array[Vapi::Types::TextContent] }, optional: true, nullable: false + field :role, -> { Vapi::Types::ToolMessageFailedRole }, optional: true, nullable: false field :end_call_after_spoken_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "endCallAfterSpokenEnabled" field :content, -> { String }, optional: true, nullable: false field :conditions, -> { Internal::Types::Array[Vapi::Types::Condition] }, optional: true, nullable: false diff --git a/lib/vapi/types/tool_message_failed_role.rb b/lib/vapi/types/tool_message_failed_role.rb new file mode 100644 index 00000000..88ea7e8f --- /dev/null +++ b/lib/vapi/types/tool_message_failed_role.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolMessageFailedRole + extend Vapi::Internal::Types::Enum + + ASSISTANT = "assistant" + SYSTEM = "system" + end + end +end diff --git a/lib/vapi/types/tool_message_start.rb b/lib/vapi/types/tool_message_start.rb index de719c30..470adc3e 100644 --- a/lib/vapi/types/tool_message_start.rb +++ b/lib/vapi/types/tool_message_start.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Message spoken when a tool call starts, with optional language variants, argument conditions, and blocking + # behavior. class ToolMessageStart < Internal::Types::Model field :contents, -> { Internal::Types::Array[Vapi::Types::TextContent] }, optional: true, nullable: false field :blocking, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/tool_node.rb b/lib/vapi/types/tool_node.rb index 9c391946..1dee2070 100644 --- a/lib/vapi/types/tool_node.rb +++ b/lib/vapi/types/tool_node.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A workflow node that invokes an inline tool or an existing saved tool. class ToolNode < Internal::Types::Model field :tool, -> { Vapi::Types::ToolNodeTool }, optional: true, nullable: false field :tool_id, -> { String }, optional: true, nullable: false, api_name: "toolId" diff --git a/lib/vapi/types/tool_parameter.rb b/lib/vapi/types/tool_parameter.rb index a1cb7bd6..9ae86dea 100644 --- a/lib/vapi/types/tool_parameter.rb +++ b/lib/vapi/types/tool_parameter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Static key-value parameter added to a tool request, with Liquid template support for string values. class ToolParameter < Internal::Types::Model field :key, -> { String }, optional: false, nullable: false field :value, -> { Vapi::Types::ToolParameterValue }, optional: false, nullable: false diff --git a/lib/vapi/types/tool_pinned_conflict_response_dto.rb b/lib/vapi/types/tool_pinned_conflict_response_dto.rb new file mode 100644 index 00000000..bc85d15f --- /dev/null +++ b/lib/vapi/types/tool_pinned_conflict_response_dto.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolPinnedConflictResponseDto < Internal::Types::Model + field :error, -> { Vapi::Types::ToolPinnedConflictResponseDtoError }, optional: false, nullable: false + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_pinned_conflict_response_dto_error.rb b/lib/vapi/types/tool_pinned_conflict_response_dto_error.rb new file mode 100644 index 00000000..eef2ddfe --- /dev/null +++ b/lib/vapi/types/tool_pinned_conflict_response_dto_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module ToolPinnedConflictResponseDtoError + extend Vapi::Internal::Types::Enum + + TOOL_PINNED = "tool_pinned" + end + end +end diff --git a/lib/vapi/types/tool_ref.rb b/lib/vapi/types/tool_ref.rb new file mode 100644 index 00000000..c1a40de5 --- /dev/null +++ b/lib/vapi/types/tool_ref.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolRef < Internal::Types::Model + field :tool_id, -> { String }, optional: false, nullable: false, api_name: "toolId" + field :version, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_rejection_plan.rb b/lib/vapi/types/tool_rejection_plan.rb index 573436bb..dcd3d670 100644 --- a/lib/vapi/types/tool_rejection_plan.rb +++ b/lib/vapi/types/tool_rejection_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Conditions evaluated to determine whether a requested tool call should be rejected. class ToolRejectionPlan < Internal::Types::Model field :conditions, -> { Internal::Types::Array[Vapi::Types::ToolRejectionPlanConditionsItem] }, optional: true, nullable: false end diff --git a/lib/vapi/types/tool_version.rb b/lib/vapi/types/tool_version.rb new file mode 100644 index 00000000..d8f8e91f --- /dev/null +++ b/lib/vapi/types/tool_version.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolVersion < Internal::Types::Model + field :version_name, -> { String }, optional: true, nullable: false, api_name: "versionName" + field :version_description, -> { String }, optional: true, nullable: false, api_name: "versionDescription" + field :type, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :function, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :messages, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :template_id, -> { String }, optional: true, nullable: false, api_name: "templateId" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false + field :destinations, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :sub_type, -> { String }, optional: true, nullable: false, api_name: "subType" + field :display_width_px, -> { Integer }, optional: true, nullable: false, api_name: "displayWidthPx" + field :display_height_px, -> { Integer }, optional: true, nullable: false, api_name: "displayHeightPx" + field :display_number, -> { Integer }, optional: true, nullable: false, api_name: "displayNumber" + field :knowledge_bases, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false, api_name: "knowledgeBases" + field :url, -> { String }, optional: true, nullable: false + field :method_, -> { String }, optional: true, nullable: false, api_name: "method" + field :headers, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :body, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :backoff_plan, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "backoffPlan" + field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" + field :description, -> { String }, optional: true, nullable: false + field :variable_extraction_plan, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "variableExtractionPlan" + field :rejection_plan, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "rejectionPlan" + field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" + field :extended_delay_when_preceded_by_text_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "extendedDelayWhenPrecededByTextEnabled" + field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" + field :code, -> { String }, optional: true, nullable: false + field :environment_variables, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false, api_name: "environmentVariables" + field :parameters, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" + field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" + field :verb, -> { String }, optional: true, nullable: false + field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" + field :tool_messages, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false, api_name: "toolMessages" + field :id, -> { String }, optional: false, nullable: false + field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + field :tool_id, -> { String }, optional: false, nullable: false, api_name: "toolId" + field :version, -> { String }, optional: false, nullable: false + field :config_hash, -> { String }, optional: false, nullable: false, api_name: "configHash" + field :parent_version, -> { String }, optional: true, nullable: false, api_name: "parentVersion" + field :created_by, -> { String }, optional: true, nullable: false, api_name: "createdBy" + field :deleted_at, -> { String }, optional: true, nullable: false, api_name: "deletedAt" + field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt" + end + end +end diff --git a/lib/vapi/types/tool_version_paginated_metadata.rb b/lib/vapi/types/tool_version_paginated_metadata.rb new file mode 100644 index 00000000..f3c31039 --- /dev/null +++ b/lib/vapi/types/tool_version_paginated_metadata.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolVersionPaginatedMetadata < Internal::Types::Model + field :next_cursor, -> { String }, optional: true, nullable: false, api_name: "nextCursor" + field :has_next_page, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasNextPage" + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/tool_version_paginated_response.rb b/lib/vapi/types/tool_version_paginated_response.rb new file mode 100644 index 00000000..ea62f9cf --- /dev/null +++ b/lib/vapi/types/tool_version_paginated_response.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class ToolVersionPaginatedResponse < Internal::Types::Model + field :results, -> { Internal::Types::Array[Vapi::Types::ToolVersion] }, optional: false, nullable: false + field :metadata, -> { Vapi::Types::ToolVersionPaginatedMetadata }, optional: false, nullable: false + end + end +end diff --git a/lib/vapi/types/transcriber_cost.rb b/lib/vapi/types/transcriber_cost.rb index 42471013..da31b584 100644 --- a/lib/vapi/types/transcriber_cost.rb +++ b/lib/vapi/types/transcriber_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Speech-to-text cost for a call, including transcriber, billable minutes, and amount. class TranscriberCost < Internal::Types::Model field :transcriber, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :minutes, -> { Integer }, optional: false, nullable: false diff --git a/lib/vapi/types/transcript_plan.rb b/lib/vapi/types/transcript_plan.rb index 67ed7f29..1137418f 100644 --- a/lib/vapi/types/transcript_plan.rb +++ b/lib/vapi/types/transcript_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls whether the call transcript is stored and the speaker names used in the transcript. class TranscriptPlan < Internal::Types::Model field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false field :assistant_name, -> { String }, optional: true, nullable: false, api_name: "assistantName" diff --git a/lib/vapi/types/transcription_endpointing_plan.rb b/lib/vapi/types/transcription_endpointing_plan.rb index 1cb1030f..506e8ac6 100644 --- a/lib/vapi/types/transcription_endpointing_plan.rb +++ b/lib/vapi/types/transcription_endpointing_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls endpointing delays based on whether customer speech ends with punctuation, without punctuation, or with a + # number. class TranscriptionEndpointingPlan < Internal::Types::Model field :on_punctuation_seconds, -> { Integer }, optional: true, nullable: false, api_name: "onPunctuationSeconds" field :on_no_punctuation_seconds, -> { Integer }, optional: true, nullable: false, api_name: "onNoPunctuationSeconds" diff --git a/lib/vapi/types/transfer_artifact.rb b/lib/vapi/types/transfer_artifact.rb new file mode 100644 index 00000000..669f2b84 --- /dev/null +++ b/lib/vapi/types/transfer_artifact.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class TransferArtifact < Internal::Types::Model + field :destination, -> { Vapi::Types::TransferArtifactDestination }, optional: false, nullable: false + field :mode, -> { Vapi::Types::TransferArtifactMode }, optional: true, nullable: false + field :transcript, -> { String }, optional: true, nullable: false + field :status, -> { Vapi::Types::TransferArtifactStatus }, optional: true, nullable: false + field :messages, -> { Internal::Types::Array[Vapi::Types::TransferArtifactMessagesItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/transfer_artifact_destination.rb b/lib/vapi/types/transfer_artifact_destination.rb new file mode 100644 index 00000000..2b7d568b --- /dev/null +++ b/lib/vapi/types/transfer_artifact_destination.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + # The transfer destination (phone number or SIP URI). + class TransferArtifactDestination < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::TransferDestinationNumber }, key: "NUMBER" + member -> { Vapi::Types::TransferDestinationSip }, key: "SIP" + end + end +end diff --git a/lib/vapi/types/transfer_artifact_messages_item.rb b/lib/vapi/types/transfer_artifact_messages_item.rb new file mode 100644 index 00000000..2ee969ab --- /dev/null +++ b/lib/vapi/types/transfer_artifact_messages_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class TransferArtifactMessagesItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::UserMessage } + member -> { Vapi::Types::SystemMessage } + member -> { Vapi::Types::BotMessage } + member -> { Vapi::Types::ToolCallMessage } + member -> { Vapi::Types::ToolCallResultMessage } + end + end +end diff --git a/lib/vapi/types/transfer_artifact_mode.rb b/lib/vapi/types/transfer_artifact_mode.rb new file mode 100644 index 00000000..133182a6 --- /dev/null +++ b/lib/vapi/types/transfer_artifact_mode.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + module TransferArtifactMode + extend Vapi::Internal::Types::Enum + + BLIND_TRANSFER = "blind-transfer" + BLIND_TRANSFER_ADD_SUMMARY_TO_SIP_HEADER = "blind-transfer-add-summary-to-sip-header" + WARM_TRANSFER_SAY_MESSAGE = "warm-transfer-say-message" + WARM_TRANSFER_SAY_SUMMARY = "warm-transfer-say-summary" + WARM_TRANSFER_TWIML = "warm-transfer-twiml" + WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_MESSAGE = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-message" + WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_SUMMARY = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary" + WARM_TRANSFER_EXPERIMENTAL = "warm-transfer-experimental" + end + end +end diff --git a/lib/vapi/types/transfer_artifact_status.rb b/lib/vapi/types/transfer_artifact_status.rb new file mode 100644 index 00000000..89b0f5a7 --- /dev/null +++ b/lib/vapi/types/transfer_artifact_status.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vapi + module Types + module TransferArtifactStatus + extend Vapi::Internal::Types::Enum + + CONNECTED = "connected" + NO_ANSWER = "no-answer" + BUSY = "busy" + VOICEMAIL = "voicemail" + FAILED = "failed" + COMPLETED = "completed" + CANCELLED = "cancelled" + end + end +end diff --git a/lib/vapi/types/transfer_assistant_transcriber.rb b/lib/vapi/types/transfer_assistant_transcriber.rb index a6ceef5d..77ea0d0d 100644 --- a/lib/vapi/types/transfer_assistant_transcriber.rb +++ b/lib/vapi/types/transfer_assistant_transcriber.rb @@ -20,6 +20,8 @@ class TransferAssistantTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/transfer_assistant_voice.rb b/lib/vapi/types/transfer_assistant_voice.rb index bc320d97..016dba7a 100644 --- a/lib/vapi/types/transfer_assistant_voice.rb +++ b/lib/vapi/types/transfer_assistant_voice.rb @@ -26,6 +26,8 @@ class TransferAssistantVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/transfer_call_tool.rb b/lib/vapi/types/transfer_call_tool.rb index 64398090..15d04ef6 100644 --- a/lib/vapi/types/transfer_call_tool.rb +++ b/lib/vapi/types/transfer_call_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable tool that transfers the active call to one of its configured destinations. class TransferCallTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::TransferCallToolMessagesItem] }, optional: true, nullable: false field :destinations, -> { Internal::Types::Array[Vapi::Types::TransferCallToolDestinationsItem] }, optional: true, nullable: false field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/transfer_destination_assistant.rb b/lib/vapi/types/transfer_destination_assistant.rb index f06fe33a..08a95d7f 100644 --- a/lib/vapi/types/transfer_destination_assistant.rb +++ b/lib/vapi/types/transfer_destination_assistant.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Transfers a call to another assistant by name, with an optional message and assistant-transfer mode. class TransferDestinationAssistant < Internal::Types::Model field :message, -> { Vapi::Types::TransferDestinationAssistantMessage }, optional: true, nullable: false field :type, -> { Vapi::Types::TransferDestinationAssistantType }, optional: false, nullable: false diff --git a/lib/vapi/types/transfer_destination_number.rb b/lib/vapi/types/transfer_destination_number.rb index 2d2a6314..bd8c3c67 100644 --- a/lib/vapi/types/transfer_destination_number.rb +++ b/lib/vapi/types/transfer_destination_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Transfers a call to a phone number, with optional extension, caller ID, message, transfer plan, and number + # validation. class TransferDestinationNumber < Internal::Types::Model field :message, -> { Vapi::Types::TransferDestinationNumberMessage }, optional: true, nullable: false field :number_e_164_check_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "numberE164CheckEnabled" diff --git a/lib/vapi/types/transfer_destination_sip.rb b/lib/vapi/types/transfer_destination_sip.rb index d999a298..545dde5e 100644 --- a/lib/vapi/types/transfer_destination_sip.rb +++ b/lib/vapi/types/transfer_destination_sip.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Transfers a call to a SIP URI, with optional caller ID, headers, message, and transfer plan. class TransferDestinationSip < Internal::Types::Model field :message, -> { Vapi::Types::TransferDestinationSipMessage }, optional: true, nullable: false field :sip_uri, -> { String }, optional: false, nullable: false, api_name: "sipUri" diff --git a/lib/vapi/types/transfer_fallback_plan.rb b/lib/vapi/types/transfer_fallback_plan.rb index dccc3329..8d02ae9c 100644 --- a/lib/vapi/types/transfer_fallback_plan.rb +++ b/lib/vapi/types/transfer_fallback_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls the message and end-call behavior used when a call transfer fails. class TransferFallbackPlan < Internal::Types::Model field :message, -> { Vapi::Types::TransferFallbackPlanMessage }, optional: false, nullable: false field :end_call_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "endCallEnabled" diff --git a/lib/vapi/types/transfer_phone_number_hook_action.rb b/lib/vapi/types/transfer_phone_number_hook_action.rb index 3b636e20..8f8cd437 100644 --- a/lib/vapi/types/transfer_phone_number_hook_action.rb +++ b/lib/vapi/types/transfer_phone_number_hook_action.rb @@ -2,6 +2,7 @@ module Vapi module Types + # A phone-number hook action that transfers the call to a phone number or SIP destination. class TransferPhoneNumberHookAction < Internal::Types::Model field :destination, -> { Vapi::Types::TransferPhoneNumberHookActionDestination }, optional: true, nullable: false end diff --git a/lib/vapi/types/transfer_plan.rb b/lib/vapi/types/transfer_plan.rb index 7f1cfd41..86c32c2f 100644 --- a/lib/vapi/types/transfer_plan.rb +++ b/lib/vapi/types/transfer_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Controls how a call transfer is executed, including blind and warm transfer modes, dialing and SIP behavior, hold + # audio, context, summary, and failure handling. class TransferPlan < Internal::Types::Model field :mode, -> { Vapi::Types::TransferPlanMode }, optional: false, nullable: false field :message, -> { Vapi::Types::TransferPlanMessage }, optional: true, nullable: false diff --git a/lib/vapi/types/transport_configuration_twilio.rb b/lib/vapi/types/transport_configuration_twilio.rb index 12345524..06d24ebb 100644 --- a/lib/vapi/types/transport_configuration_twilio.rb +++ b/lib/vapi/types/transport_configuration_twilio.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration passed to Twilio for assistant calls, including ring timeout and Twilio recording behavior. class TransportConfigurationTwilio < Internal::Types::Model field :provider, -> { Vapi::Types::TransportConfigurationTwilioProvider }, optional: false, nullable: false field :timeout, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/transport_cost.rb b/lib/vapi/types/transport_cost.rb index abbb9a5e..6eb6cd83 100644 --- a/lib/vapi/types/transport_cost.rb +++ b/lib/vapi/types/transport_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Telephony transport cost for a call, including provider, billable minutes, and amount. class TransportCost < Internal::Types::Model field :provider, -> { Vapi::Types::TransportCostProvider }, optional: true, nullable: false field :minutes, -> { Integer }, optional: false, nullable: false diff --git a/lib/vapi/types/trieve_knowledge_base.rb b/lib/vapi/types/trieve_knowledge_base.rb index 20fc2ee6..ee910ba7 100644 --- a/lib/vapi/types/trieve_knowledge_base.rb +++ b/lib/vapi/types/trieve_knowledge_base.rb @@ -2,13 +2,22 @@ module Vapi module Types - class TrieveKnowledgeBase < Internal::Types::Model - field :provider, -> { Vapi::Types::TrieveKnowledgeBaseProvider }, optional: false, nullable: false - field :name, -> { String }, optional: true, nullable: false - field :search_plan, -> { Vapi::Types::TrieveKnowledgeBaseSearchPlan }, optional: true, nullable: false, api_name: "searchPlan" - field :create_plan, -> { Vapi::Types::TrieveKnowledgeBaseImport }, optional: true, nullable: false, api_name: "createPlan" - field :id, -> { String }, optional: false, nullable: false - field :org_id, -> { String }, optional: false, nullable: false, api_name: "orgId" + module TrieveKnowledgeBase + # TrieveKnowledgeBase is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end end end end diff --git a/lib/vapi/types/trieve_knowledge_base_chunk_plan.rb b/lib/vapi/types/trieve_knowledge_base_chunk_plan.rb deleted file mode 100644 index f5776a32..00000000 --- a/lib/vapi/types/trieve_knowledge_base_chunk_plan.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Types - class TrieveKnowledgeBaseChunkPlan < Internal::Types::Model - field :file_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "fileIds" - field :websites, -> { Internal::Types::Array[String] }, optional: true, nullable: false - field :target_splits_per_chunk, -> { Integer }, optional: true, nullable: false, api_name: "targetSplitsPerChunk" - field :split_delimiters, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "splitDelimiters" - field :rebalance_chunks, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "rebalanceChunks" - end - end -end diff --git a/lib/vapi/types/trieve_knowledge_base_create.rb b/lib/vapi/types/trieve_knowledge_base_create.rb deleted file mode 100644 index 6fa292f6..00000000 --- a/lib/vapi/types/trieve_knowledge_base_create.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Types - class TrieveKnowledgeBaseCreate < Internal::Types::Model - field :type, -> { Vapi::Types::TrieveKnowledgeBaseCreateType }, optional: false, nullable: false - field :chunk_plans, -> { Internal::Types::Array[Vapi::Types::TrieveKnowledgeBaseChunkPlan] }, optional: false, nullable: false, api_name: "chunkPlans" - end - end -end diff --git a/lib/vapi/types/trieve_knowledge_base_import.rb b/lib/vapi/types/trieve_knowledge_base_import.rb index dc9a4bf1..57e1060c 100644 --- a/lib/vapi/types/trieve_knowledge_base_import.rb +++ b/lib/vapi/types/trieve_knowledge_base_import.rb @@ -2,9 +2,22 @@ module Vapi module Types - class TrieveKnowledgeBaseImport < Internal::Types::Model - field :type, -> { Vapi::Types::TrieveKnowledgeBaseImportType }, optional: false, nullable: false - field :provider_id, -> { String }, optional: false, nullable: false, api_name: "providerId" + module TrieveKnowledgeBaseImport + # TrieveKnowledgeBaseImport is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end end end end diff --git a/lib/vapi/types/trieve_knowledge_base_search_plan.rb b/lib/vapi/types/trieve_knowledge_base_search_plan.rb deleted file mode 100644 index 34877f8f..00000000 --- a/lib/vapi/types/trieve_knowledge_base_search_plan.rb +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Types - class TrieveKnowledgeBaseSearchPlan < Internal::Types::Model - field :top_k, -> { Integer }, optional: true, nullable: false, api_name: "topK" - field :remove_stop_words, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "removeStopWords" - field :score_threshold, -> { Integer }, optional: true, nullable: false, api_name: "scoreThreshold" - field :search_type, -> { Vapi::Types::TrieveKnowledgeBaseSearchPlanSearchType }, optional: false, nullable: false, api_name: "searchType" - end - end -end diff --git a/lib/vapi/types/trieve_knowledge_base_search_plan_search_type.rb b/lib/vapi/types/trieve_knowledge_base_search_plan_search_type.rb deleted file mode 100644 index 058ebd12..00000000 --- a/lib/vapi/types/trieve_knowledge_base_search_plan_search_type.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Types - module TrieveKnowledgeBaseSearchPlanSearchType - extend Vapi::Internal::Types::Enum - - FULLTEXT = "fulltext" - SEMANTIC = "semantic" - HYBRID = "hybrid" - BM_25 = "bm25" - end - end -end diff --git a/lib/vapi/types/turn_latency.rb b/lib/vapi/types/turn_latency.rb index 5c58a2b1..bad2c774 100644 --- a/lib/vapi/types/turn_latency.rb +++ b/lib/vapi/types/turn_latency.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Model, voice, transcription, endpointing, and total latency measurements for a conversation turn. class TurnLatency < Internal::Types::Model field :model_latency, -> { Integer }, optional: true, nullable: false, api_name: "modelLatency" field :voice_latency, -> { Integer }, optional: true, nullable: false, api_name: "voiceLatency" diff --git a/lib/vapi/types/twilio_phone_number.rb b/lib/vapi/types/twilio_phone_number.rb index c4e86bb7..7bf4f37a 100644 --- a/lib/vapi/types/twilio_phone_number.rb +++ b/lib/vapi/types/twilio_phone_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A Twilio phone number connected to Vapi, including its Twilio account details, SMS configuration, routing, hooks, + # server settings, and lifecycle metadata. class TwilioPhoneNumber < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::TwilioPhoneNumberFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::TwilioPhoneNumberHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/twilio_transport.rb b/lib/vapi/types/twilio_transport.rb new file mode 100644 index 00000000..04bcd353 --- /dev/null +++ b/lib/vapi/types/twilio_transport.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class TwilioTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::TwilioTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :account_sid, -> { String }, optional: true, nullable: false, api_name: "accountSid" + field :call_sid, -> { String }, optional: true, nullable: false, api_name: "callSid" + field :call_token, -> { String }, optional: true, nullable: false, api_name: "callToken" + field :forwarded_from, -> { String }, optional: true, nullable: false, api_name: "forwardedFrom" + end + end +end diff --git a/lib/vapi/types/twilio_transport_conversation_type.rb b/lib/vapi/types/twilio_transport_conversation_type.rb new file mode 100644 index 00000000..722c8cde --- /dev/null +++ b/lib/vapi/types/twilio_transport_conversation_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module TwilioTransportConversationType + extend Vapi::Internal::Types::Enum + + VOICE = "voice" + end + end +end diff --git a/lib/vapi/types/twilio_voicemail_detection_plan.rb b/lib/vapi/types/twilio_voicemail_detection_plan.rb index df828797..582b0a30 100644 --- a/lib/vapi/types/twilio_voicemail_detection_plan.rb +++ b/lib/vapi/types/twilio_voicemail_detection_plan.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for Twilio answering-machine detection, including recognized outcomes, enablement, timeout, speech + # thresholds, and silence timeout. class TwilioVoicemailDetectionPlan < Internal::Types::Model field :provider, -> { Vapi::Types::TwilioVoicemailDetectionPlanProvider }, optional: false, nullable: false field :voicemail_detection_types, -> { Internal::Types::Array[Vapi::Types::TwilioVoicemailDetectionPlanVoicemailDetectionTypesItem] }, optional: true, nullable: false, api_name: "voicemailDetectionTypes" diff --git a/lib/vapi/types/update_anthropic_bedrock_credential_dto.rb b/lib/vapi/types/update_anthropic_bedrock_credential_dto.rb index ca7eb568..23ab0875 100644 --- a/lib/vapi/types/update_anthropic_bedrock_credential_dto.rb +++ b/lib/vapi/types/update_anthropic_bedrock_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAnthropicBedrockCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAnthropicBedrockCredentialDtoProvider }, optional: true, nullable: false field :region, -> { Vapi::Types::UpdateAnthropicBedrockCredentialDtoRegion }, optional: true, nullable: false field :authentication_plan, -> { Vapi::Types::UpdateAnthropicBedrockCredentialDtoAuthenticationPlan }, optional: true, nullable: false, api_name: "authenticationPlan" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/update_anthropic_bedrock_credential_dto_provider.rb b/lib/vapi/types/update_anthropic_bedrock_credential_dto_provider.rb new file mode 100644 index 00000000..753ba693 --- /dev/null +++ b/lib/vapi/types/update_anthropic_bedrock_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAnthropicBedrockCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + ANTHROPIC_BEDROCK = "anthropic-bedrock" + end + end +end diff --git a/lib/vapi/types/update_anthropic_bedrock_credential_dto_region.rb b/lib/vapi/types/update_anthropic_bedrock_credential_dto_region.rb index c5c81ebc..33235f69 100644 --- a/lib/vapi/types/update_anthropic_bedrock_credential_dto_region.rb +++ b/lib/vapi/types/update_anthropic_bedrock_credential_dto_region.rb @@ -7,6 +7,7 @@ module UpdateAnthropicBedrockCredentialDtoRegion US_EAST_1 = "us-east-1" US_WEST_2 = "us-west-2" + EU_CENTRAL_1 = "eu-central-1" EU_WEST_1 = "eu-west-1" EU_WEST_3 = "eu-west-3" AP_NORTHEAST_1 = "ap-northeast-1" diff --git a/lib/vapi/types/update_anthropic_credential_dto.rb b/lib/vapi/types/update_anthropic_credential_dto.rb index 1c752e7d..dcdf9e9f 100644 --- a/lib/vapi/types/update_anthropic_credential_dto.rb +++ b/lib/vapi/types/update_anthropic_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAnthropicCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAnthropicCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_anthropic_credential_dto_provider.rb b/lib/vapi/types/update_anthropic_credential_dto_provider.rb new file mode 100644 index 00000000..1a572264 --- /dev/null +++ b/lib/vapi/types/update_anthropic_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAnthropicCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + ANTHROPIC = "anthropic" + end + end +end diff --git a/lib/vapi/types/update_anyscale_credential_dto.rb b/lib/vapi/types/update_anyscale_credential_dto.rb index 84d93c15..983f95e6 100644 --- a/lib/vapi/types/update_anyscale_credential_dto.rb +++ b/lib/vapi/types/update_anyscale_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAnyscaleCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAnyscaleCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_anyscale_credential_dto_provider.rb b/lib/vapi/types/update_anyscale_credential_dto_provider.rb new file mode 100644 index 00000000..6f7defe4 --- /dev/null +++ b/lib/vapi/types/update_anyscale_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAnyscaleCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + ANYSCALE = "anyscale" + end + end +end diff --git a/lib/vapi/types/update_api_request_tool_dto.rb b/lib/vapi/types/update_api_request_tool_dto.rb index 73b83593..8ed56cf1 100644 --- a/lib/vapi/types/update_api_request_tool_dto.rb +++ b/lib/vapi/types/update_api_request_tool_dto.rb @@ -2,15 +2,17 @@ module Vapi module Types + # Fields used to update an API-request tool, including its URL, HTTP method, authentication, request data, retries, + # and response handling. class UpdateApiRequestToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateApiRequestToolDtoMessagesItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false field :method_, -> { Vapi::Types::UpdateApiRequestToolDtoMethod }, optional: true, nullable: false, api_name: "method" field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" field :parameters, -> { Internal::Types::Array[Vapi::Types::ToolParameter] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" - field :name, -> { String }, optional: true, nullable: false field :description, -> { String }, optional: true, nullable: false field :url, -> { String }, optional: true, nullable: false field :body, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false diff --git a/lib/vapi/types/update_assembly_ai_credential_dto.rb b/lib/vapi/types/update_assembly_ai_credential_dto.rb index 1ffb9319..7350b285 100644 --- a/lib/vapi/types/update_assembly_ai_credential_dto.rb +++ b/lib/vapi/types/update_assembly_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAssemblyAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAssemblyAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_assembly_ai_credential_dto_provider.rb b/lib/vapi/types/update_assembly_ai_credential_dto_provider.rb new file mode 100644 index 00000000..933b2129 --- /dev/null +++ b/lib/vapi/types/update_assembly_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssemblyAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + ASSEMBLY_AI = "assembly-ai" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto.rb b/lib/vapi/types/update_assistant_draft_dto.rb new file mode 100644 index 00000000..5b587b15 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateAssistantDraftDto < Internal::Types::Model + field :transcriber, -> { Vapi::Types::UpdateAssistantDraftDtoTranscriber }, optional: true, nullable: false + field :model, -> { Vapi::Types::UpdateAssistantDraftDtoModel }, optional: true, nullable: false + field :voice, -> { Vapi::Types::UpdateAssistantDraftDtoVoice }, optional: true, nullable: false + field :first_message, -> { String }, optional: true, nullable: false, api_name: "firstMessage" + field :first_message_interruptions_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "firstMessageInterruptionsEnabled" + field :first_message_mode, -> { Vapi::Types::UpdateAssistantDraftDtoFirstMessageMode }, optional: true, nullable: false, api_name: "firstMessageMode" + field :voicemail_detection, -> { Vapi::Types::UpdateAssistantDraftDtoVoicemailDetection }, optional: true, nullable: false, api_name: "voicemailDetection" + field :client_messages, -> { Internal::Types::Array[Vapi::Types::UpdateAssistantDraftDtoClientMessagesItem] }, optional: true, nullable: false, api_name: "clientMessages" + field :server_messages, -> { Internal::Types::Array[Vapi::Types::UpdateAssistantDraftDtoServerMessagesItem] }, optional: true, nullable: false, api_name: "serverMessages" + field :max_duration_seconds, -> { Integer }, optional: true, nullable: false, api_name: "maxDurationSeconds" + field :background_sound, -> { Vapi::Types::UpdateAssistantDraftDtoBackgroundSound }, optional: true, nullable: false, api_name: "backgroundSound" + field :model_output_in_messages_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "modelOutputInMessagesEnabled" + field :transport_configurations, -> { Internal::Types::Array[Vapi::Types::TransportConfigurationTwilio] }, optional: true, nullable: false, api_name: "transportConfigurations" + field :observability_plan, -> { Vapi::Types::LangfuseObservabilityPlan }, optional: true, nullable: false, api_name: "observabilityPlan" + field :credentials, -> { Internal::Types::Array[Vapi::Types::UpdateAssistantDraftDtoCredentialsItem] }, optional: true, nullable: false + field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateAssistantDraftDtoHooksItem] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :voicemail_message, -> { String }, optional: true, nullable: false, api_name: "voicemailMessage" + field :end_call_message, -> { String }, optional: true, nullable: false, api_name: "endCallMessage" + field :end_call_phrases, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "endCallPhrases" + field :compliance_plan, -> { Vapi::Types::CompliancePlan }, optional: true, nullable: false, api_name: "compliancePlan" + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :background_speech_denoising_plan, -> { Vapi::Types::BackgroundSpeechDenoisingPlan }, optional: true, nullable: false, api_name: "backgroundSpeechDenoisingPlan" + field :analysis_plan, -> { Vapi::Types::AnalysisPlan }, optional: true, nullable: false, api_name: "analysisPlan" + field :artifact_plan, -> { Vapi::Types::ArtifactPlan }, optional: true, nullable: false, api_name: "artifactPlan" + field :start_speaking_plan, -> { Vapi::Types::StartSpeakingPlan }, optional: true, nullable: false, api_name: "startSpeakingPlan" + field :stop_speaking_plan, -> { Vapi::Types::StopSpeakingPlan }, optional: true, nullable: false, api_name: "stopSpeakingPlan" + field :monitor_plan, -> { Vapi::Types::MonitorPlan }, optional: true, nullable: false, api_name: "monitorPlan" + field :credential_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "credentialIds" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :keypad_input_plan, -> { Vapi::Types::KeypadInputPlan }, optional: true, nullable: false, api_name: "keypadInputPlan" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_background_sound.rb b/lib/vapi/types/update_assistant_draft_dto_background_sound.rb new file mode 100644 index 00000000..7793d575 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_background_sound.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + # This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'. + # You can also provide a custom sound by providing a URL to an audio file. + class UpdateAssistantDraftDtoBackgroundSound < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::UpdateAssistantDraftDtoBackgroundSoundZero } + member -> { String } + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_background_sound_zero.rb b/lib/vapi/types/update_assistant_draft_dto_background_sound_zero.rb new file mode 100644 index 00000000..797381da --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_background_sound_zero.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssistantDraftDtoBackgroundSoundZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + OFFICE = "office" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_client_messages_item.rb b/lib/vapi/types/update_assistant_draft_dto_client_messages_item.rb new file mode 100644 index 00000000..7802c226 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_client_messages_item.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssistantDraftDtoClientMessagesItem + extend Vapi::Internal::Types::Enum + + CONVERSATION_UPDATE = "conversation-update" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + FUNCTION_CALL = "function-call" + FUNCTION_CALL_RESULT = "function-call-result" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + METADATA = "metadata" + MODEL_OUTPUT = "model-output" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TOOL_CALLS = "tool-calls" + TOOL_CALLS_RESULT = "tool-calls-result" + TOOL_COMPLETED = "tool.completed" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + WORKFLOW_NODE_STARTED = "workflow.node.started" + ASSISTANT_STARTED = "assistant.started" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_credentials_item.rb b/lib/vapi/types/update_assistant_draft_dto_credentials_item.rb new file mode 100644 index 00000000..24882199 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_credentials_item.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateAssistantDraftDtoCredentialsItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::CreateElevenLabsCredentialDto }, key: "_11_LABS" + member -> { Vapi::Types::CreateAnthropicCredentialDto }, key: "ANTHROPIC" + member -> { Vapi::Types::CreateAnthropicBedrockCredentialDto }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::CreateAnyscaleCredentialDto }, key: "ANYSCALE" + member -> { Vapi::Types::CreateAssemblyAiCredentialDto }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::CreateAzureOpenAiCredentialDto }, key: "AZURE_OPENAI" + member -> { Vapi::Types::CreateAzureCredentialDto }, key: "AZURE" + member -> { Vapi::Types::CreateByoSipTrunkCredentialDto }, key: "BYO_SIP_TRUNK" + member -> { Vapi::Types::CreateCartesiaCredentialDto }, key: "CARTESIA" + member -> { Vapi::Types::CreateCerebrasCredentialDto }, key: "CEREBRAS" + member -> { Vapi::Types::CreateCloudflareCredentialDto }, key: "CLOUDFLARE" + member -> { Vapi::Types::CreateCustomLlmCredentialDto }, key: "CUSTOM_LLM" + member -> { Vapi::Types::CreateDeepgramCredentialDto }, key: "DEEPGRAM" + member -> { Vapi::Types::CreateDeepInfraCredentialDto }, key: "DEEPINFRA" + member -> { Vapi::Types::CreateDeepSeekCredentialDto }, key: "DEEP_SEEK" + member -> { Vapi::Types::CreateGcpCredentialDto }, key: "GCP" + member -> { Vapi::Types::CreateGladiaCredentialDto }, key: "GLADIA" + member -> { Vapi::Types::CreateGoHighLevelCredentialDto }, key: "GOHIGHLEVEL" + member -> { Vapi::Types::CreateGoogleCredentialDto }, key: "GOOGLE" + member -> { Vapi::Types::CreateGroqCredentialDto }, key: "GROQ" + member -> { Vapi::Types::CreateInflectionAiCredentialDto }, key: "INFLECTION_AI" + member -> { Vapi::Types::CreateLangfuseCredentialDto }, key: "LANGFUSE" + member -> { Vapi::Types::CreateLmntCredentialDto }, key: "LMNT" + member -> { Vapi::Types::CreateMakeCredentialDto }, key: "MAKE" + member -> { Vapi::Types::CreateOpenAiCredentialDto }, key: "OPENAI" + member -> { Vapi::Types::CreateOpenRouterCredentialDto }, key: "OPENROUTER" + member -> { Vapi::Types::CreatePerplexityAiCredentialDto }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::CreatePlayHtCredentialDto }, key: "PLAYHT" + member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" + member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" + member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" + member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" + member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" + member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" + member -> { Vapi::Types::CreateTogetherAiCredentialDto }, key: "TOGETHER_AI" + member -> { Vapi::Types::CreateTwilioCredentialDto }, key: "TWILIO" + member -> { Vapi::Types::CreateVonageCredentialDto }, key: "VONAGE" + member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" + member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" + member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" + member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" + member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" + member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" + member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" + member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" + member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateSlackOAuth2AuthorizationCredentialDto }, key: "SLACK_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateGoHighLevelMcpCredentialDto }, key: "GHL_OAUTH_2_AUTHORIZATION" + member -> { Vapi::Types::CreateInworldCredentialDto }, key: "INWORLD" + member -> { Vapi::Types::CreateMinimaxCredentialDto }, key: "MINIMAX" + member -> { Vapi::Types::CreateWellSaidCredentialDto }, key: "WELLSAID" + member -> { Vapi::Types::CreateEmailCredentialDto }, key: "EMAIL" + member -> { Vapi::Types::CreateSlackWebhookCredentialDto }, key: "SLACK_WEBHOOK" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_first_message_mode.rb b/lib/vapi/types/update_assistant_draft_dto_first_message_mode.rb new file mode 100644 index 00000000..c605406c --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_first_message_mode.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssistantDraftDtoFirstMessageMode + extend Vapi::Internal::Types::Enum + + ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first" + ASSISTANT_SPEAKS_FIRST_WITH_MODEL_GENERATED_MESSAGE = "assistant-speaks-first-with-model-generated-message" + ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_hooks_item.rb b/lib/vapi/types/update_assistant_draft_dto_hooks_item.rb new file mode 100644 index 00000000..c842b0e3 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_hooks_item.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateAssistantDraftDtoHooksItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::CallHookCallEnding } + member -> { Vapi::Types::CallHookAssistantSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechInterrupted } + member -> { Vapi::Types::CallHookCustomerSpeechTimeout } + member -> { Vapi::Types::SessionCreatedHook } + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_model.rb b/lib/vapi/types/update_assistant_draft_dto_model.rb new file mode 100644 index 00000000..1a3d7c82 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_model.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's LLM. + class UpdateAssistantDraftDtoModel < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AnthropicModel }, key: "ANTHROPIC" + member -> { Vapi::Types::AnthropicBedrockModel }, key: "ANTHROPIC_BEDROCK" + member -> { Vapi::Types::AnyscaleModel }, key: "ANYSCALE" + member -> { Vapi::Types::CerebrasModel }, key: "CEREBRAS" + member -> { Vapi::Types::CustomLlmModel }, key: "CUSTOM_LLM" + member -> { Vapi::Types::DeepInfraModel }, key: "DEEPINFRA" + member -> { Vapi::Types::DeepSeekModel }, key: "DEEP_SEEK" + member -> { Vapi::Types::GoogleModel }, key: "GOOGLE" + member -> { Vapi::Types::GroqModel }, key: "GROQ" + member -> { Vapi::Types::InflectionAiModel }, key: "INFLECTION_AI" + member -> { Vapi::Types::MinimaxLlmModel }, key: "MINIMAX" + member -> { Vapi::Types::OpenAiModel }, key: "OPENAI" + member -> { Vapi::Types::OpenRouterModel }, key: "OPENROUTER" + member -> { Vapi::Types::PerplexityAiModel }, key: "PERPLEXITY_AI" + member -> { Vapi::Types::TogetherAiModel }, key: "TOGETHER_AI" + member -> { Vapi::Types::XaiModel }, key: "XAI" + member -> { Vapi::Types::VapiModel }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_server_messages_item.rb b/lib/vapi/types/update_assistant_draft_dto_server_messages_item.rb new file mode 100644 index 00000000..fe085fba --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_server_messages_item.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssistantDraftDtoServerMessagesItem + extend Vapi::Internal::Types::Enum + + ASSISTANT_STARTED = "assistant.started" + ASSISTANT_SPEECH_STARTED = "assistant.speechStarted" + CONVERSATION_UPDATE = "conversation-update" + END_OF_CALL_REPORT = "end-of-call-report" + FUNCTION_CALL = "function-call" + HANG = "hang" + LANGUAGE_CHANGED = "language-changed" + LANGUAGE_CHANGE_DETECTED = "language-change-detected" + MODEL_OUTPUT = "model-output" + PHONE_CALL_CONTROL = "phone-call-control" + SPEECH_UPDATE = "speech-update" + STATUS_UPDATE = "status-update" + TRANSCRIPT = "transcript" + TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType=\"final\"]" + TOOL_CALLS = "tool-calls" + TRANSFER_DESTINATION_REQUEST = "transfer-destination-request" + HANDOFF_DESTINATION_REQUEST = "handoff-destination-request" + TRANSFER_UPDATE = "transfer-update" + USER_INTERRUPTED = "user-interrupted" + VOICE_INPUT = "voice-input" + CHAT_CREATED = "chat.created" + CHAT_DELETED = "chat.deleted" + SESSION_CREATED = "session.created" + SESSION_UPDATED = "session.updated" + SESSION_DELETED = "session.deleted" + CALL_DELETED = "call.deleted" + CALL_DELETE_FAILED = "call.delete.failed" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_transcriber.rb b/lib/vapi/types/update_assistant_draft_dto_transcriber.rb new file mode 100644 index 00000000..937f15aa --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_transcriber.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's transcriber. + class UpdateAssistantDraftDtoTranscriber < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AssemblyAiTranscriber }, key: "ASSEMBLY_AI" + member -> { Vapi::Types::AzureSpeechTranscriber }, key: "AZURE" + member -> { Vapi::Types::CustomTranscriber }, key: "CUSTOM_TRANSCRIBER" + member -> { Vapi::Types::DeepgramTranscriber }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsTranscriber }, key: "_11_LABS" + member -> { Vapi::Types::GladiaTranscriber }, key: "GLADIA" + member -> { Vapi::Types::GoogleTranscriber }, key: "GOOGLE" + member -> { Vapi::Types::SpeechmaticsTranscriber }, key: "SPEECHMATICS" + member -> { Vapi::Types::TalkscriberTranscriber }, key: "TALKSCRIBER" + member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" + member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" + member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_voice.rb b/lib/vapi/types/update_assistant_draft_dto_voice.rb new file mode 100644 index 00000000..4618c373 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_voice.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the options for the assistant's voice. + class UpdateAssistantDraftDtoVoice < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :provider + + member -> { Vapi::Types::AzureVoice }, key: "AZURE" + member -> { Vapi::Types::CartesiaVoice }, key: "CARTESIA" + member -> { Vapi::Types::CustomVoice }, key: "CUSTOM_VOICE" + member -> { Vapi::Types::DeepgramVoice }, key: "DEEPGRAM" + member -> { Vapi::Types::ElevenLabsVoice }, key: "_11_LABS" + member -> { Vapi::Types::HumeVoice }, key: "HUME" + member -> { Vapi::Types::LmntVoice }, key: "LMNT" + member -> { Vapi::Types::NeuphonicVoice }, key: "NEUPHONIC" + member -> { Vapi::Types::OpenAiVoice }, key: "OPENAI" + member -> { Vapi::Types::PlayHtVoice }, key: "PLAYHT" + member -> { Vapi::Types::WellSaidVoice }, key: "WELLSAID" + member -> { Vapi::Types::RimeAiVoice }, key: "RIME_AI" + member -> { Vapi::Types::SmallestAiVoice }, key: "SMALLEST_AI" + member -> { Vapi::Types::TavusVoice }, key: "TAVUS" + member -> { Vapi::Types::VapiVoice }, key: "VAPI" + member -> { Vapi::Types::SesameVoice }, key: "SESAME" + member -> { Vapi::Types::InworldVoice }, key: "INWORLD" + member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_voicemail_detection.rb b/lib/vapi/types/update_assistant_draft_dto_voicemail_detection.rb new file mode 100644 index 00000000..8a48dc67 --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_voicemail_detection.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be + # configured using the model.tools=[VoicemailTool]. + # By default, voicemail detection is disabled. + class UpdateAssistantDraftDtoVoicemailDetection < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { Vapi::Types::UpdateAssistantDraftDtoVoicemailDetectionZero } + member -> { Vapi::Types::GoogleVoicemailDetectionPlan } + member -> { Vapi::Types::OpenAiVoicemailDetectionPlan } + member -> { Vapi::Types::TwilioVoicemailDetectionPlan } + member -> { Vapi::Types::VapiVoicemailDetectionPlan } + end + end +end diff --git a/lib/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.rb b/lib/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.rb new file mode 100644 index 00000000..4cba137c --- /dev/null +++ b/lib/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAssistantDraftDtoVoicemailDetectionZero + extend Vapi::Internal::Types::Enum + + OFF = "off" + end + end +end diff --git a/lib/vapi/types/update_assistant_version_metadata_dto.rb b/lib/vapi/types/update_assistant_version_metadata_dto.rb new file mode 100644 index 00000000..0bfe3de7 --- /dev/null +++ b/lib/vapi/types/update_assistant_version_metadata_dto.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateAssistantVersionMetadataDto < Internal::Types::Model + field :version_name, -> { String }, optional: true, nullable: false, api_name: "versionName" + field :version_description, -> { String }, optional: true, nullable: false, api_name: "versionDescription" + end + end +end diff --git a/lib/vapi/types/update_azure_credential_dto.rb b/lib/vapi/types/update_azure_credential_dto.rb index dce91356..0a12624b 100644 --- a/lib/vapi/types/update_azure_credential_dto.rb +++ b/lib/vapi/types/update_azure_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAzureCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAzureCredentialDtoProvider }, optional: true, nullable: false field :service, -> { Vapi::Types::UpdateAzureCredentialDtoService }, optional: true, nullable: false field :region, -> { Vapi::Types::UpdateAzureCredentialDtoRegion }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/update_azure_credential_dto_provider.rb b/lib/vapi/types/update_azure_credential_dto_provider.rb new file mode 100644 index 00000000..5e2aa56e --- /dev/null +++ b/lib/vapi/types/update_azure_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAzureCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + AZURE = "azure" + end + end +end diff --git a/lib/vapi/types/update_azure_credential_dto_region.rb b/lib/vapi/types/update_azure_credential_dto_region.rb index 517094b6..f030b26a 100644 --- a/lib/vapi/types/update_azure_credential_dto_region.rb +++ b/lib/vapi/types/update_azure_credential_dto_region.rb @@ -23,6 +23,8 @@ module UpdateAzureCredentialDtoRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/update_azure_open_ai_credential_dto.rb b/lib/vapi/types/update_azure_open_ai_credential_dto.rb index 4e73a802..e72feccc 100644 --- a/lib/vapi/types/update_azure_open_ai_credential_dto.rb +++ b/lib/vapi/types/update_azure_open_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateAzureOpenAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateAzureOpenAiCredentialDtoProvider }, optional: true, nullable: false field :region, -> { Vapi::Types::UpdateAzureOpenAiCredentialDtoRegion }, optional: true, nullable: false field :models, -> { Internal::Types::Array[Vapi::Types::UpdateAzureOpenAiCredentialDtoModelsItem] }, optional: true, nullable: false field :open_ai_key, -> { String }, optional: true, nullable: false, api_name: "openAIKey" diff --git a/lib/vapi/types/update_azure_open_ai_credential_dto_models_item.rb b/lib/vapi/types/update_azure_open_ai_credential_dto_models_item.rb index 04e3629b..22de627c 100644 --- a/lib/vapi/types/update_azure_open_ai_credential_dto_models_item.rb +++ b/lib/vapi/types/update_azure_open_ai_credential_dto_models_item.rb @@ -28,6 +28,9 @@ module UpdateAzureOpenAiCredentialDtoModelsItem GPT_40613 = "gpt-4-0613" GPT_35_TURBO_0125 = "gpt-35-turbo-0125" GPT_35_TURBO_1106 = "gpt-35-turbo-1106" + GPT_4_O = "gpt-4o" + GPT_41 = "gpt-4.1" + GPT_54_MINI_20260317 = "gpt-5.4-mini-2026-03-17" end end end diff --git a/lib/vapi/types/update_azure_open_ai_credential_dto_provider.rb b/lib/vapi/types/update_azure_open_ai_credential_dto_provider.rb new file mode 100644 index 00000000..107cdd70 --- /dev/null +++ b/lib/vapi/types/update_azure_open_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateAzureOpenAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + AZURE_OPENAI = "azure-openai" + end + end +end diff --git a/lib/vapi/types/update_azure_open_ai_credential_dto_region.rb b/lib/vapi/types/update_azure_open_ai_credential_dto_region.rb index 8ea77e68..1732da9d 100644 --- a/lib/vapi/types/update_azure_open_ai_credential_dto_region.rb +++ b/lib/vapi/types/update_azure_open_ai_credential_dto_region.rb @@ -23,6 +23,8 @@ module UpdateAzureOpenAiCredentialDtoRegion SPAINCENTRAL = "spaincentral" SWEDENCENTRAL = "swedencentral" SWITZERLAND = "switzerland" + SWITZERLANDNORTH = "switzerlandnorth" + SWITZERLANDWEST = "switzerlandwest" UAENORTH = "uaenorth" UK = "uk" WESTEUROPE = "westeurope" diff --git a/lib/vapi/types/update_bar_insight_from_call_table_dto.rb b/lib/vapi/types/update_bar_insight_from_call_table_dto.rb index 4a7129de..387226bb 100644 --- a/lib/vapi/types/update_bar_insight_from_call_table_dto.rb +++ b/lib/vapi/types/update_bar_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a bar-chart insight, including its queries, formulas, grouping, time range, metadata, and + # name. class UpdateBarInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_bash_tool_dto.rb b/lib/vapi/types/update_bash_tool_dto.rb index a84c3e68..8c00a8f2 100644 --- a/lib/vapi/types/update_bash_tool_dto.rb +++ b/lib/vapi/types/update_bash_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a Bash tool, including its name, environment subtype, server, messages, and rejection plan. class UpdateBashToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateBashToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::UpdateBashToolDtoSubType }, optional: true, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/update_byo_phone_number_dto.rb b/lib/vapi/types/update_byo_phone_number_dto.rb index 4d75ba6d..3e752d08 100644 --- a/lib/vapi/types/update_byo_phone_number_dto.rb +++ b/lib/vapi/types/update_byo_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a bring-your-own phone number, including its credential, number, routing, hooks, and server + # settings. class UpdateByoPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::UpdateByoPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateByoPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_byo_sip_trunk_credential_dto.rb b/lib/vapi/types/update_byo_sip_trunk_credential_dto.rb index 445f4224..7d2454f4 100644 --- a/lib/vapi/types/update_byo_sip_trunk_credential_dto.rb +++ b/lib/vapi/types/update_byo_sip_trunk_credential_dto.rb @@ -3,13 +3,13 @@ module Vapi module Types class UpdateByoSipTrunkCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateByoSipTrunkCredentialDtoProvider }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false field :gateways, -> { Internal::Types::Array[Vapi::Types::SipTrunkGateway] }, optional: true, nullable: false field :outbound_authentication_plan, -> { Vapi::Types::SipTrunkOutboundAuthenticationPlan }, optional: true, nullable: false, api_name: "outboundAuthenticationPlan" field :outbound_leading_plus_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "outboundLeadingPlusEnabled" field :tech_prefix, -> { String }, optional: true, nullable: false, api_name: "techPrefix" field :sip_diversion_header, -> { String }, optional: true, nullable: false, api_name: "sipDiversionHeader" - field :sbc_configuration, -> { Vapi::Types::SbcConfiguration }, optional: true, nullable: false, api_name: "sbcConfiguration" end end end diff --git a/lib/vapi/types/update_byo_sip_trunk_credential_dto_provider.rb b/lib/vapi/types/update_byo_sip_trunk_credential_dto_provider.rb new file mode 100644 index 00000000..40665109 --- /dev/null +++ b/lib/vapi/types/update_byo_sip_trunk_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateByoSipTrunkCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + BYO_SIP_TRUNK = "byo-sip-trunk" + end + end +end diff --git a/lib/vapi/types/update_campaign_dto.rb b/lib/vapi/types/update_campaign_dto.rb new file mode 100644 index 00000000..9fcd8935 --- /dev/null +++ b/lib/vapi/types/update_campaign_dto.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vapi + module Types + # Fields used to update an outbound calling campaign, including its name, status, calling resource, phone-number or + # dial-plan settings, and schedule. + class UpdateCampaignDto < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + field :assistant_id, -> { String }, optional: true, nullable: false, api_name: "assistantId" + field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" + field :squad_id, -> { String }, optional: true, nullable: false, api_name: "squadId" + field :phone_number_id, -> { String }, optional: true, nullable: false, api_name: "phoneNumberId" + field :dial_plan, -> { Internal::Types::Array[Vapi::Types::DialPlanEntry] }, optional: true, nullable: false, api_name: "dialPlan" + field :schedule_plan, -> { Vapi::Types::SchedulePlan }, optional: true, nullable: false, api_name: "schedulePlan" + field :status, -> { Vapi::Types::UpdateCampaignDtoStatus }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/update_campaign_dto_status.rb b/lib/vapi/types/update_campaign_dto_status.rb new file mode 100644 index 00000000..d6ef4016 --- /dev/null +++ b/lib/vapi/types/update_campaign_dto_status.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCampaignDtoStatus + extend Vapi::Internal::Types::Enum + + ENDED = "ended" + CANCELLED = "cancelled" + end + end +end diff --git a/lib/vapi/types/update_cartesia_credential_dto.rb b/lib/vapi/types/update_cartesia_credential_dto.rb index 48d0b59b..4ebde773 100644 --- a/lib/vapi/types/update_cartesia_credential_dto.rb +++ b/lib/vapi/types/update_cartesia_credential_dto.rb @@ -3,8 +3,10 @@ module Vapi module Types class UpdateCartesiaCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCartesiaCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" end end end diff --git a/lib/vapi/types/update_cartesia_credential_dto_provider.rb b/lib/vapi/types/update_cartesia_credential_dto_provider.rb new file mode 100644 index 00000000..6a111182 --- /dev/null +++ b/lib/vapi/types/update_cartesia_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCartesiaCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + CARTESIA = "cartesia" + end + end +end diff --git a/lib/vapi/types/update_cerebras_credential_dto.rb b/lib/vapi/types/update_cerebras_credential_dto.rb index d33cd794..0a3bfef4 100644 --- a/lib/vapi/types/update_cerebras_credential_dto.rb +++ b/lib/vapi/types/update_cerebras_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateCerebrasCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCerebrasCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_cerebras_credential_dto_provider.rb b/lib/vapi/types/update_cerebras_credential_dto_provider.rb new file mode 100644 index 00000000..faa53cd0 --- /dev/null +++ b/lib/vapi/types/update_cerebras_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCerebrasCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + CEREBRAS = "cerebras" + end + end +end diff --git a/lib/vapi/types/update_cloudflare_credential_dto.rb b/lib/vapi/types/update_cloudflare_credential_dto.rb index 421f5f9e..9b364d1f 100644 --- a/lib/vapi/types/update_cloudflare_credential_dto.rb +++ b/lib/vapi/types/update_cloudflare_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateCloudflareCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCloudflareCredentialDtoProvider }, optional: true, nullable: false field :account_id, -> { String }, optional: true, nullable: false, api_name: "accountId" field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :account_email, -> { String }, optional: true, nullable: false, api_name: "accountEmail" diff --git a/lib/vapi/types/update_cloudflare_credential_dto_provider.rb b/lib/vapi/types/update_cloudflare_credential_dto_provider.rb new file mode 100644 index 00000000..4951c8d6 --- /dev/null +++ b/lib/vapi/types/update_cloudflare_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCloudflareCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + CLOUDFLARE = "cloudflare" + end + end +end diff --git a/lib/vapi/types/update_code_tool_dto.rb b/lib/vapi/types/update_code_tool_dto.rb index af179f71..c2fa6dd6 100644 --- a/lib/vapi/types/update_code_tool_dto.rb +++ b/lib/vapi/types/update_code_tool_dto.rb @@ -4,6 +4,7 @@ module Vapi module Types class UpdateCodeToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateCodeToolDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::UpdateCodeToolDtoType }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false field :code, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/trieve_knowledge_base_provider.rb b/lib/vapi/types/update_code_tool_dto_type.rb similarity index 65% rename from lib/vapi/types/trieve_knowledge_base_provider.rb rename to lib/vapi/types/update_code_tool_dto_type.rb index 482b5f09..41df2605 100644 --- a/lib/vapi/types/trieve_knowledge_base_provider.rb +++ b/lib/vapi/types/update_code_tool_dto_type.rb @@ -2,10 +2,10 @@ module Vapi module Types - module TrieveKnowledgeBaseProvider + module UpdateCodeToolDtoType extend Vapi::Internal::Types::Enum - TRIEVE = "trieve" + CODE = "code" end end end diff --git a/lib/vapi/types/update_computer_tool_dto.rb b/lib/vapi/types/update_computer_tool_dto.rb index 81e93836..6f931aa7 100644 --- a/lib/vapi/types/update_computer_tool_dto.rb +++ b/lib/vapi/types/update_computer_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a computer tool, including its display settings, environment subtype, server, messages, and + # rejection plan. class UpdateComputerToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateComputerToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::UpdateComputerToolDtoSubType }, optional: true, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/update_custom_credential_dto.rb b/lib/vapi/types/update_custom_credential_dto.rb index 6358f124..cd5f4c74 100644 --- a/lib/vapi/types/update_custom_credential_dto.rb +++ b/lib/vapi/types/update_custom_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateCustomCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCustomCredentialDtoProvider }, optional: true, nullable: false field :authentication_plan, -> { Vapi::Types::UpdateCustomCredentialDtoAuthenticationPlan }, optional: true, nullable: false, api_name: "authenticationPlan" field :encryption_plan, -> { Vapi::Types::UpdateCustomCredentialDtoEncryptionPlan }, optional: true, nullable: false, api_name: "encryptionPlan" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/update_custom_credential_dto_provider.rb b/lib/vapi/types/update_custom_credential_dto_provider.rb new file mode 100644 index 00000000..670b9f97 --- /dev/null +++ b/lib/vapi/types/update_custom_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCustomCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + CUSTOM_CREDENTIAL = "custom-credential" + end + end +end diff --git a/lib/vapi/types/update_custom_knowledge_base_dto.rb b/lib/vapi/types/update_custom_knowledge_base_dto.rb index 2c893ea7..0486f087 100644 --- a/lib/vapi/types/update_custom_knowledge_base_dto.rb +++ b/lib/vapi/types/update_custom_knowledge_base_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateCustomKnowledgeBaseDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCustomKnowledgeBaseDtoProvider }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false end end diff --git a/lib/vapi/types/update_custom_knowledge_base_dto_provider.rb b/lib/vapi/types/update_custom_knowledge_base_dto_provider.rb new file mode 100644 index 00000000..fbfd4e6a --- /dev/null +++ b/lib/vapi/types/update_custom_knowledge_base_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCustomKnowledgeBaseDtoProvider + extend Vapi::Internal::Types::Enum + + CUSTOM_KNOWLEDGE_BASE = "custom-knowledge-base" + end + end +end diff --git a/lib/vapi/types/update_custom_llm_credential_dto.rb b/lib/vapi/types/update_custom_llm_credential_dto.rb index 455e9591..5ab5b9e9 100644 --- a/lib/vapi/types/update_custom_llm_credential_dto.rb +++ b/lib/vapi/types/update_custom_llm_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateCustomLlmCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateCustomLlmCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :authentication_plan, -> { Vapi::Types::OAuth2AuthenticationPlan }, optional: true, nullable: false, api_name: "authenticationPlan" field :name, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/update_custom_llm_credential_dto_provider.rb b/lib/vapi/types/update_custom_llm_credential_dto_provider.rb new file mode 100644 index 00000000..cbf29703 --- /dev/null +++ b/lib/vapi/types/update_custom_llm_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateCustomLlmCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + CUSTOM_LLM = "custom-llm" + end + end +end diff --git a/lib/vapi/types/update_deep_infra_credential_dto.rb b/lib/vapi/types/update_deep_infra_credential_dto.rb index ec542f97..906c3a79 100644 --- a/lib/vapi/types/update_deep_infra_credential_dto.rb +++ b/lib/vapi/types/update_deep_infra_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateDeepInfraCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateDeepInfraCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_deep_infra_credential_dto_provider.rb b/lib/vapi/types/update_deep_infra_credential_dto_provider.rb new file mode 100644 index 00000000..a2503dce --- /dev/null +++ b/lib/vapi/types/update_deep_infra_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateDeepInfraCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + DEEPINFRA = "deepinfra" + end + end +end diff --git a/lib/vapi/types/update_deep_seek_credential_dto.rb b/lib/vapi/types/update_deep_seek_credential_dto.rb index 2a9b5e3f..5ae53101 100644 --- a/lib/vapi/types/update_deep_seek_credential_dto.rb +++ b/lib/vapi/types/update_deep_seek_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateDeepSeekCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateDeepSeekCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_deep_seek_credential_dto_provider.rb b/lib/vapi/types/update_deep_seek_credential_dto_provider.rb new file mode 100644 index 00000000..d0186b47 --- /dev/null +++ b/lib/vapi/types/update_deep_seek_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateDeepSeekCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + DEEP_SEEK = "deep-seek" + end + end +end diff --git a/lib/vapi/types/update_deepgram_credential_dto.rb b/lib/vapi/types/update_deepgram_credential_dto.rb index 94e61bc8..d9a95e81 100644 --- a/lib/vapi/types/update_deepgram_credential_dto.rb +++ b/lib/vapi/types/update_deepgram_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateDeepgramCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateDeepgramCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" diff --git a/lib/vapi/types/update_deepgram_credential_dto_provider.rb b/lib/vapi/types/update_deepgram_credential_dto_provider.rb new file mode 100644 index 00000000..f2616ad9 --- /dev/null +++ b/lib/vapi/types/update_deepgram_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateDeepgramCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + DEEPGRAM = "deepgram" + end + end +end diff --git a/lib/vapi/types/update_dtmf_tool_dto.rb b/lib/vapi/types/update_dtmf_tool_dto.rb index 68bb2886..30d41f52 100644 --- a/lib/vapi/types/update_dtmf_tool_dto.rb +++ b/lib/vapi/types/update_dtmf_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a DTMF tool, including its spoken messages, rejection plan, and SIP INFO behavior. class UpdateDtmfToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateDtmfToolDtoMessagesItem] }, optional: true, nullable: false field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" diff --git a/lib/vapi/types/update_eleven_labs_credential_dto.rb b/lib/vapi/types/update_eleven_labs_credential_dto.rb index d7cfd311..4fa6cc01 100644 --- a/lib/vapi/types/update_eleven_labs_credential_dto.rb +++ b/lib/vapi/types/update_eleven_labs_credential_dto.rb @@ -3,9 +3,10 @@ module Vapi module Types class UpdateElevenLabsCredentialDto < Internal::Types::Model + field :provider, -> { String }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" + field :api_url, -> { Vapi::Types::UpdateElevenLabsCredentialDtoApiUrl }, optional: true, nullable: false, api_name: "apiUrl" field :name, -> { String }, optional: true, nullable: false - field :provider, -> { String }, optional: true, nullable: false end end end diff --git a/lib/vapi/types/update_eleven_labs_credential_dto_api_url.rb b/lib/vapi/types/update_eleven_labs_credential_dto_api_url.rb new file mode 100644 index 00000000..fe234d77 --- /dev/null +++ b/lib/vapi/types/update_eleven_labs_credential_dto_api_url.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateElevenLabsCredentialDtoApiUrl + extend Vapi::Internal::Types::Enum + + HTTPS_API_ELEVENLABS_IO = "https://api.elevenlabs.io" + HTTPS_API_EU_RESIDENCY_ELEVENLABS_IO = "https://api.eu.residency.elevenlabs.io" + end + end +end diff --git a/lib/vapi/types/update_email_credential_dto.rb b/lib/vapi/types/update_email_credential_dto.rb index 4ebe6a01..0c165982 100644 --- a/lib/vapi/types/update_email_credential_dto.rb +++ b/lib/vapi/types/update_email_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateEmailCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateEmailCredentialDtoProvider }, optional: true, nullable: false field :email, -> { String }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_email_credential_dto_provider.rb b/lib/vapi/types/update_email_credential_dto_provider.rb new file mode 100644 index 00000000..ccccb50e --- /dev/null +++ b/lib/vapi/types/update_email_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateEmailCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + EMAIL = "email" + end + end +end diff --git a/lib/vapi/types/update_end_call_tool_dto.rb b/lib/vapi/types/update_end_call_tool_dto.rb index 7629bae8..917b9f93 100644 --- a/lib/vapi/types/update_end_call_tool_dto.rb +++ b/lib/vapi/types/update_end_call_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update an end-call tool, including its spoken messages and rejection plan. class UpdateEndCallToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateEndCallToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_function_tool_dto.rb b/lib/vapi/types/update_function_tool_dto.rb index 13dda5bf..1c6aca83 100644 --- a/lib/vapi/types/update_function_tool_dto.rb +++ b/lib/vapi/types/update_function_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a custom function tool, including its function definition, server, parameters, messages, and + # execution behavior. class UpdateFunctionToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateFunctionToolDtoMessagesItem] }, optional: true, nullable: false field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false diff --git a/lib/vapi/types/update_gcp_credential_dto.rb b/lib/vapi/types/update_gcp_credential_dto.rb index f5554642..426c1e23 100644 --- a/lib/vapi/types/update_gcp_credential_dto.rb +++ b/lib/vapi/types/update_gcp_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGcpCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGcpCredentialDtoProvider }, optional: true, nullable: false field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" field :name, -> { String }, optional: true, nullable: false field :gcp_key, -> { Vapi::Types::GcpKey }, optional: true, nullable: false, api_name: "gcpKey" diff --git a/lib/vapi/types/update_gcp_credential_dto_provider.rb b/lib/vapi/types/update_gcp_credential_dto_provider.rb new file mode 100644 index 00000000..199a5b84 --- /dev/null +++ b/lib/vapi/types/update_gcp_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGcpCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GCP = "gcp" + end + end +end diff --git a/lib/vapi/types/update_ghl_tool_dto.rb b/lib/vapi/types/update_ghl_tool_dto.rb index fa2f4908..65142470 100644 --- a/lib/vapi/types/update_ghl_tool_dto.rb +++ b/lib/vapi/types/update_ghl_tool_dto.rb @@ -4,6 +4,7 @@ module Vapi module Types class UpdateGhlToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGhlToolDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::UpdateGhlToolDtoType }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" field :metadata, -> { Vapi::Types::GhlToolMetadata }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_ghl_tool_dto_type.rb b/lib/vapi/types/update_ghl_tool_dto_type.rb new file mode 100644 index 00000000..5d8aa1d8 --- /dev/null +++ b/lib/vapi/types/update_ghl_tool_dto_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGhlToolDtoType + extend Vapi::Internal::Types::Enum + + GHL = "ghl" + end + end +end diff --git a/lib/vapi/types/update_gladia_credential_dto.rb b/lib/vapi/types/update_gladia_credential_dto.rb index 6ab790d7..67b23a61 100644 --- a/lib/vapi/types/update_gladia_credential_dto.rb +++ b/lib/vapi/types/update_gladia_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGladiaCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGladiaCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_gladia_credential_dto_provider.rb b/lib/vapi/types/update_gladia_credential_dto_provider.rb new file mode 100644 index 00000000..209edcce --- /dev/null +++ b/lib/vapi/types/update_gladia_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGladiaCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GLADIA = "gladia" + end + end +end diff --git a/lib/vapi/types/update_go_high_level_calendar_availability_tool_dto.rb b/lib/vapi/types/update_go_high_level_calendar_availability_tool_dto.rb index 59325308..c430ad4d 100644 --- a/lib/vapi/types/update_go_high_level_calendar_availability_tool_dto.rb +++ b/lib/vapi/types/update_go_high_level_calendar_availability_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a GoHighLevel calendar-availability tool, including its spoken messages and rejection plan. class UpdateGoHighLevelCalendarAvailabilityToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_go_high_level_calendar_event_create_tool_dto.rb b/lib/vapi/types/update_go_high_level_calendar_event_create_tool_dto.rb index 3b508a5c..afab37cf 100644 --- a/lib/vapi/types/update_go_high_level_calendar_event_create_tool_dto.rb +++ b/lib/vapi/types/update_go_high_level_calendar_event_create_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a GoHighLevel calendar-event tool, including its spoken messages and rejection plan. class UpdateGoHighLevelCalendarEventCreateToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoHighLevelCalendarEventCreateToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_go_high_level_contact_create_tool_dto.rb b/lib/vapi/types/update_go_high_level_contact_create_tool_dto.rb index 7ffee2ec..d772480c 100644 --- a/lib/vapi/types/update_go_high_level_contact_create_tool_dto.rb +++ b/lib/vapi/types/update_go_high_level_contact_create_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a GoHighLevel contact-creation tool, including its spoken messages and rejection plan. class UpdateGoHighLevelContactCreateToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoHighLevelContactCreateToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_go_high_level_contact_get_tool_dto.rb b/lib/vapi/types/update_go_high_level_contact_get_tool_dto.rb index 28df79af..8dbf46d9 100644 --- a/lib/vapi/types/update_go_high_level_contact_get_tool_dto.rb +++ b/lib/vapi/types/update_go_high_level_contact_get_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a GoHighLevel contact-retrieval tool, including its spoken messages and rejection plan. class UpdateGoHighLevelContactGetToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoHighLevelContactGetToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_go_high_level_credential_dto.rb b/lib/vapi/types/update_go_high_level_credential_dto.rb index 9f51dc0e..eb03f78a 100644 --- a/lib/vapi/types/update_go_high_level_credential_dto.rb +++ b/lib/vapi/types/update_go_high_level_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoHighLevelCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoHighLevelCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_go_high_level_credential_dto_provider.rb b/lib/vapi/types/update_go_high_level_credential_dto_provider.rb new file mode 100644 index 00000000..f719e673 --- /dev/null +++ b/lib/vapi/types/update_go_high_level_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoHighLevelCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GOHIGHLEVEL = "gohighlevel" + end + end +end diff --git a/lib/vapi/types/update_go_high_level_mcp_credential_dto.rb b/lib/vapi/types/update_go_high_level_mcp_credential_dto.rb index a6977577..d36b277d 100644 --- a/lib/vapi/types/update_go_high_level_mcp_credential_dto.rb +++ b/lib/vapi/types/update_go_high_level_mcp_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoHighLevelMcpCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoHighLevelMcpCredentialDtoProvider }, optional: true, nullable: false field :authentication_session, -> { Vapi::Types::Oauth2AuthenticationSession }, optional: true, nullable: false, api_name: "authenticationSession" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_go_high_level_mcp_credential_dto_provider.rb b/lib/vapi/types/update_go_high_level_mcp_credential_dto_provider.rb new file mode 100644 index 00000000..d4c1ca4d --- /dev/null +++ b/lib/vapi/types/update_go_high_level_mcp_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoHighLevelMcpCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GHL_OAUTH_2_AUTHORIZATION = "ghl.oauth2-authorization" + end + end +end diff --git a/lib/vapi/types/update_google_calendar_check_availability_tool_dto.rb b/lib/vapi/types/update_google_calendar_check_availability_tool_dto.rb index 05946eec..461f07df 100644 --- a/lib/vapi/types/update_google_calendar_check_availability_tool_dto.rb +++ b/lib/vapi/types/update_google_calendar_check_availability_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a Google Calendar availability tool, including its spoken messages and rejection plan. class UpdateGoogleCalendarCheckAvailabilityToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_google_calendar_create_event_tool_dto.rb b/lib/vapi/types/update_google_calendar_create_event_tool_dto.rb index f15e895b..0da54ddb 100644 --- a/lib/vapi/types/update_google_calendar_create_event_tool_dto.rb +++ b/lib/vapi/types/update_google_calendar_create_event_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a Google Calendar event-creation tool, including its spoken messages and rejection plan. class UpdateGoogleCalendarCreateEventToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoogleCalendarCreateEventToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb index 805a9a7e..9db15dfd 100644 --- a/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoogleCalendarOAuth2AuthorizationCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider }, optional: true, nullable: false field :authorization_id, -> { String }, optional: true, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.rb b/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.rb new file mode 100644 index 00000000..24ae5c8a --- /dev/null +++ b/lib/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION = "google.calendar.oauth2-authorization" + end + end +end diff --git a/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.rb b/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.rb index 1c2b8138..04ded87d 100644 --- a/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.rb +++ b/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoogleCalendarOAuth2ClientCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider }, optional: true, nullable: false field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.rb b/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.rb new file mode 100644 index 00000000..a0ef02e1 --- /dev/null +++ b/lib/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GOOGLE_CALENDAR_OAUTH_2_CLIENT = "google.calendar.oauth2-client" + end + end +end diff --git a/lib/vapi/types/update_google_credential_dto.rb b/lib/vapi/types/update_google_credential_dto.rb index 1bb50dff..543c7a5c 100644 --- a/lib/vapi/types/update_google_credential_dto.rb +++ b/lib/vapi/types/update_google_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoogleCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoogleCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_google_credential_dto_provider.rb b/lib/vapi/types/update_google_credential_dto_provider.rb new file mode 100644 index 00000000..7c5df877 --- /dev/null +++ b/lib/vapi/types/update_google_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoogleCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GOOGLE = "google" + end + end +end diff --git a/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb index f82713fc..f90aae0b 100644 --- a/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGoogleSheetsOAuth2AuthorizationCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider }, optional: true, nullable: false field :authorization_id, -> { String }, optional: true, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.rb b/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.rb new file mode 100644 index 00000000..33da6e10 --- /dev/null +++ b/lib/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION = "google.sheets.oauth2-authorization" + end + end +end diff --git a/lib/vapi/types/update_google_sheets_row_append_tool_dto.rb b/lib/vapi/types/update_google_sheets_row_append_tool_dto.rb index c3a46b03..f88d58d0 100644 --- a/lib/vapi/types/update_google_sheets_row_append_tool_dto.rb +++ b/lib/vapi/types/update_google_sheets_row_append_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a Google Sheets row-append tool, including its spoken messages and rejection plan. class UpdateGoogleSheetsRowAppendToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateGoogleSheetsRowAppendToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_groq_credential_dto.rb b/lib/vapi/types/update_groq_credential_dto.rb index 9c9b2872..10905aa6 100644 --- a/lib/vapi/types/update_groq_credential_dto.rb +++ b/lib/vapi/types/update_groq_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateGroqCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateGroqCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_groq_credential_dto_provider.rb b/lib/vapi/types/update_groq_credential_dto_provider.rb new file mode 100644 index 00000000..2d52b9d9 --- /dev/null +++ b/lib/vapi/types/update_groq_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateGroqCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + GROQ = "groq" + end + end +end diff --git a/lib/vapi/types/update_handoff_tool_dto.rb b/lib/vapi/types/update_handoff_tool_dto.rb index d7be2b8a..806a67eb 100644 --- a/lib/vapi/types/update_handoff_tool_dto.rb +++ b/lib/vapi/types/update_handoff_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a handoff tool, including its destinations, function definition, default result, messages, + # and rejection plan. class UpdateHandoffToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateHandoffToolDtoMessagesItem] }, optional: true, nullable: false field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" diff --git a/lib/vapi/types/update_hume_credential_dto.rb b/lib/vapi/types/update_hume_credential_dto.rb index b392b109..b57ed5ec 100644 --- a/lib/vapi/types/update_hume_credential_dto.rb +++ b/lib/vapi/types/update_hume_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateHumeCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateHumeCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_hume_credential_dto_provider.rb b/lib/vapi/types/update_hume_credential_dto_provider.rb new file mode 100644 index 00000000..3fc7ab2d --- /dev/null +++ b/lib/vapi/types/update_hume_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateHumeCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + HUME = "hume" + end + end +end diff --git a/lib/vapi/types/update_inflection_ai_credential_dto.rb b/lib/vapi/types/update_inflection_ai_credential_dto.rb index 44c0bdf5..80ac2019 100644 --- a/lib/vapi/types/update_inflection_ai_credential_dto.rb +++ b/lib/vapi/types/update_inflection_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateInflectionAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateInflectionAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_inflection_ai_credential_dto_provider.rb b/lib/vapi/types/update_inflection_ai_credential_dto_provider.rb new file mode 100644 index 00000000..5a0e1f37 --- /dev/null +++ b/lib/vapi/types/update_inflection_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateInflectionAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + INFLECTION_AI = "inflection-ai" + end + end +end diff --git a/lib/vapi/types/update_inworld_credential_dto.rb b/lib/vapi/types/update_inworld_credential_dto.rb index 2e687e31..067cba99 100644 --- a/lib/vapi/types/update_inworld_credential_dto.rb +++ b/lib/vapi/types/update_inworld_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateInworldCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateInworldCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/create_trieve_knowledge_base_dto_provider.rb b/lib/vapi/types/update_inworld_credential_dto_provider.rb similarity index 62% rename from lib/vapi/types/create_trieve_knowledge_base_dto_provider.rb rename to lib/vapi/types/update_inworld_credential_dto_provider.rb index adf52ea4..e28688aa 100644 --- a/lib/vapi/types/create_trieve_knowledge_base_dto_provider.rb +++ b/lib/vapi/types/update_inworld_credential_dto_provider.rb @@ -2,10 +2,10 @@ module Vapi module Types - module CreateTrieveKnowledgeBaseDtoProvider + module UpdateInworldCredentialDtoProvider extend Vapi::Internal::Types::Enum - TRIEVE = "trieve" + INWORLD = "inworld" end end end diff --git a/lib/vapi/types/update_langfuse_credential_dto.rb b/lib/vapi/types/update_langfuse_credential_dto.rb index 755b53c2..da97690b 100644 --- a/lib/vapi/types/update_langfuse_credential_dto.rb +++ b/lib/vapi/types/update_langfuse_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateLangfuseCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateLangfuseCredentialDtoProvider }, optional: true, nullable: false field :public_key, -> { String }, optional: true, nullable: false, api_name: "publicKey" field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" diff --git a/lib/vapi/types/update_langfuse_credential_dto_provider.rb b/lib/vapi/types/update_langfuse_credential_dto_provider.rb new file mode 100644 index 00000000..36acd21a --- /dev/null +++ b/lib/vapi/types/update_langfuse_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateLangfuseCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + LANGFUSE = "langfuse" + end + end +end diff --git a/lib/vapi/types/update_line_insight_from_call_table_dto.rb b/lib/vapi/types/update_line_insight_from_call_table_dto.rb index 3db94f1c..4baef133 100644 --- a/lib/vapi/types/update_line_insight_from_call_table_dto.rb +++ b/lib/vapi/types/update_line_insight_from_call_table_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a line-chart insight, including its queries, formulas, grouping, time range, metadata, and + # name. class UpdateLineInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_lmnt_credential_dto.rb b/lib/vapi/types/update_lmnt_credential_dto.rb index f0b8486e..1d86009f 100644 --- a/lib/vapi/types/update_lmnt_credential_dto.rb +++ b/lib/vapi/types/update_lmnt_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateLmntCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateLmntCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_lmnt_credential_dto_provider.rb b/lib/vapi/types/update_lmnt_credential_dto_provider.rb new file mode 100644 index 00000000..a3f9d595 --- /dev/null +++ b/lib/vapi/types/update_lmnt_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateLmntCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + LMNT = "lmnt" + end + end +end diff --git a/lib/vapi/types/update_make_credential_dto.rb b/lib/vapi/types/update_make_credential_dto.rb index 6748ecaa..4d6ac922 100644 --- a/lib/vapi/types/update_make_credential_dto.rb +++ b/lib/vapi/types/update_make_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateMakeCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateMakeCredentialDtoProvider }, optional: true, nullable: false field :team_id, -> { String }, optional: true, nullable: false, api_name: "teamId" field :region, -> { String }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/update_make_credential_dto_provider.rb b/lib/vapi/types/update_make_credential_dto_provider.rb new file mode 100644 index 00000000..39d2b62b --- /dev/null +++ b/lib/vapi/types/update_make_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateMakeCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + MAKE = "make" + end + end +end diff --git a/lib/vapi/types/update_make_tool_dto.rb b/lib/vapi/types/update_make_tool_dto.rb index e733b1ef..ee2648df 100644 --- a/lib/vapi/types/update_make_tool_dto.rb +++ b/lib/vapi/types/update_make_tool_dto.rb @@ -4,6 +4,7 @@ module Vapi module Types class UpdateMakeToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateMakeToolDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::UpdateMakeToolDtoType }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" field :metadata, -> { Vapi::Types::MakeToolMetadata }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_make_tool_dto_type.rb b/lib/vapi/types/update_make_tool_dto_type.rb new file mode 100644 index 00000000..93999477 --- /dev/null +++ b/lib/vapi/types/update_make_tool_dto_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateMakeToolDtoType + extend Vapi::Internal::Types::Enum + + MAKE = "make" + end + end +end diff --git a/lib/vapi/types/update_mcp_tool_dto.rb b/lib/vapi/types/update_mcp_tool_dto.rb index 11317091..66041039 100644 --- a/lib/vapi/types/update_mcp_tool_dto.rb +++ b/lib/vapi/types/update_mcp_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update an MCP tool, including its server, connection metadata, exposed tool messages, and rejection + # plan. class UpdateMcpToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateMcpToolDtoMessagesItem] }, optional: true, nullable: false field :server, -> { Vapi::Types::Server }, optional: true, nullable: false diff --git a/lib/vapi/types/update_microsoft_credential_dto.rb b/lib/vapi/types/update_microsoft_credential_dto.rb new file mode 100644 index 00000000..b525c9f3 --- /dev/null +++ b/lib/vapi/types/update_microsoft_credential_dto.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateMicrosoftCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateMicrosoftCredentialDtoProvider }, optional: true, nullable: false + field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" + field :region, -> { String }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/update_microsoft_credential_dto_provider.rb b/lib/vapi/types/update_microsoft_credential_dto_provider.rb new file mode 100644 index 00000000..00487a94 --- /dev/null +++ b/lib/vapi/types/update_microsoft_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateMicrosoftCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + MICROSOFT = "microsoft" + end + end +end diff --git a/lib/vapi/types/update_mistral_credential_dto.rb b/lib/vapi/types/update_mistral_credential_dto.rb index 0123f628..e8fc8be4 100644 --- a/lib/vapi/types/update_mistral_credential_dto.rb +++ b/lib/vapi/types/update_mistral_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateMistralCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateMistralCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_mistral_credential_dto_provider.rb b/lib/vapi/types/update_mistral_credential_dto_provider.rb new file mode 100644 index 00000000..e6df0652 --- /dev/null +++ b/lib/vapi/types/update_mistral_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateMistralCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + MISTRAL = "mistral" + end + end +end diff --git a/lib/vapi/types/update_neuphonic_credential_dto.rb b/lib/vapi/types/update_neuphonic_credential_dto.rb index 239c0fd6..0f093e86 100644 --- a/lib/vapi/types/update_neuphonic_credential_dto.rb +++ b/lib/vapi/types/update_neuphonic_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateNeuphonicCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateNeuphonicCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_neuphonic_credential_dto_provider.rb b/lib/vapi/types/update_neuphonic_credential_dto_provider.rb new file mode 100644 index 00000000..ad26e183 --- /dev/null +++ b/lib/vapi/types/update_neuphonic_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateNeuphonicCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + NEUPHONIC = "neuphonic" + end + end +end diff --git a/lib/vapi/types/update_open_ai_credential_dto.rb b/lib/vapi/types/update_open_ai_credential_dto.rb index 76e3b896..f5ff6441 100644 --- a/lib/vapi/types/update_open_ai_credential_dto.rb +++ b/lib/vapi/types/update_open_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateOpenAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateOpenAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_open_ai_credential_dto_provider.rb b/lib/vapi/types/update_open_ai_credential_dto_provider.rb new file mode 100644 index 00000000..1e60f26b --- /dev/null +++ b/lib/vapi/types/update_open_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateOpenAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + OPENAI = "openai" + end + end +end diff --git a/lib/vapi/types/update_open_router_credential_dto.rb b/lib/vapi/types/update_open_router_credential_dto.rb index e80a2e8d..6c18a89d 100644 --- a/lib/vapi/types/update_open_router_credential_dto.rb +++ b/lib/vapi/types/update_open_router_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateOpenRouterCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateOpenRouterCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_open_router_credential_dto_provider.rb b/lib/vapi/types/update_open_router_credential_dto_provider.rb new file mode 100644 index 00000000..c0f5063a --- /dev/null +++ b/lib/vapi/types/update_open_router_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateOpenRouterCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + OPENROUTER = "openrouter" + end + end +end diff --git a/lib/vapi/types/update_output_tool_dto.rb b/lib/vapi/types/update_output_tool_dto.rb index 793ddfc8..2d6906a4 100644 --- a/lib/vapi/types/update_output_tool_dto.rb +++ b/lib/vapi/types/update_output_tool_dto.rb @@ -4,6 +4,7 @@ module Vapi module Types class UpdateOutputToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateOutputToolDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::UpdateOutputToolDtoType }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" end end diff --git a/lib/vapi/types/update_output_tool_dto_type.rb b/lib/vapi/types/update_output_tool_dto_type.rb new file mode 100644 index 00000000..e3b45643 --- /dev/null +++ b/lib/vapi/types/update_output_tool_dto_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateOutputToolDtoType + extend Vapi::Internal::Types::Enum + + OUTPUT = "output" + end + end +end diff --git a/lib/vapi/types/update_perplexity_ai_credential_dto.rb b/lib/vapi/types/update_perplexity_ai_credential_dto.rb index e3e20aea..5fe36bba 100644 --- a/lib/vapi/types/update_perplexity_ai_credential_dto.rb +++ b/lib/vapi/types/update_perplexity_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdatePerplexityAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdatePerplexityAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_perplexity_ai_credential_dto_provider.rb b/lib/vapi/types/update_perplexity_ai_credential_dto_provider.rb new file mode 100644 index 00000000..22f781f2 --- /dev/null +++ b/lib/vapi/types/update_perplexity_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdatePerplexityAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + PERPLEXITY_AI = "perplexity-ai" + end + end +end diff --git a/lib/vapi/types/update_pie_insight_from_call_table_dto.rb b/lib/vapi/types/update_pie_insight_from_call_table_dto.rb index 2c7b474b..d61cec6a 100644 --- a/lib/vapi/types/update_pie_insight_from_call_table_dto.rb +++ b/lib/vapi/types/update_pie_insight_from_call_table_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a pie-chart insight, including its queries, formulas, grouping, time range, and name. class UpdatePieInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formulas, -> { Internal::Types::Array[Vapi::Types::InsightFormula] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_play_ht_credential_dto.rb b/lib/vapi/types/update_play_ht_credential_dto.rb index ac4a46d2..c598ad7d 100644 --- a/lib/vapi/types/update_play_ht_credential_dto.rb +++ b/lib/vapi/types/update_play_ht_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdatePlayHtCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdatePlayHtCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false field :user_id, -> { String }, optional: true, nullable: false, api_name: "userId" diff --git a/lib/vapi/types/update_play_ht_credential_dto_provider.rb b/lib/vapi/types/update_play_ht_credential_dto_provider.rb new file mode 100644 index 00000000..f324e32c --- /dev/null +++ b/lib/vapi/types/update_play_ht_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdatePlayHtCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + PLAYHT = "playht" + end + end +end diff --git a/lib/vapi/types/update_query_tool_dto.rb b/lib/vapi/types/update_query_tool_dto.rb index 77202cf5..2cb64350 100644 --- a/lib/vapi/types/update_query_tool_dto.rb +++ b/lib/vapi/types/update_query_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a query tool, including its knowledge bases, spoken messages, and rejection plan. class UpdateQueryToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateQueryToolDtoMessagesItem] }, optional: true, nullable: false field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" diff --git a/lib/vapi/types/update_rime_ai_credential_dto.rb b/lib/vapi/types/update_rime_ai_credential_dto.rb index 3ce913a7..bb3a6bc5 100644 --- a/lib/vapi/types/update_rime_ai_credential_dto.rb +++ b/lib/vapi/types/update_rime_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateRimeAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateRimeAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_rime_ai_credential_dto_provider.rb b/lib/vapi/types/update_rime_ai_credential_dto_provider.rb new file mode 100644 index 00000000..d44ad01e --- /dev/null +++ b/lib/vapi/types/update_rime_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateRimeAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + RIME_AI = "rime-ai" + end + end +end diff --git a/lib/vapi/types/update_runpod_credential_dto.rb b/lib/vapi/types/update_runpod_credential_dto.rb index c2bd8714..a1287916 100644 --- a/lib/vapi/types/update_runpod_credential_dto.rb +++ b/lib/vapi/types/update_runpod_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateRunpodCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateRunpodCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_runpod_credential_dto_provider.rb b/lib/vapi/types/update_runpod_credential_dto_provider.rb new file mode 100644 index 00000000..18845d38 --- /dev/null +++ b/lib/vapi/types/update_runpod_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateRunpodCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + RUNPOD = "runpod" + end + end +end diff --git a/lib/vapi/types/update_s_3_compatible_bucket_plan_dto.rb b/lib/vapi/types/update_s_3_compatible_bucket_plan_dto.rb new file mode 100644 index 00000000..671478c7 --- /dev/null +++ b/lib/vapi/types/update_s_3_compatible_bucket_plan_dto.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateS3CompatibleBucketPlanDto < Internal::Types::Model + field :url, -> { String }, optional: true, nullable: false + field :region, -> { String }, optional: true, nullable: false + field :access_key_id, -> { String }, optional: true, nullable: false, api_name: "accessKeyId" + field :secret_access_key, -> { String }, optional: true, nullable: false, api_name: "secretAccessKey" + field :name, -> { String }, optional: true, nullable: false + field :path, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/update_s_3_compatible_credential_dto.rb b/lib/vapi/types/update_s_3_compatible_credential_dto.rb new file mode 100644 index 00000000..f738ade7 --- /dev/null +++ b/lib/vapi/types/update_s_3_compatible_credential_dto.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateS3CompatibleCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateS3CompatibleCredentialDtoProvider }, optional: true, nullable: false + field :fallback_index, -> { Integer }, optional: true, nullable: false, api_name: "fallbackIndex" + field :bucket_plan, -> { Vapi::Types::UpdateS3CompatibleBucketPlanDto }, optional: true, nullable: false, api_name: "bucketPlan" + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/vapi/types/update_s_3_compatible_credential_dto_provider.rb b/lib/vapi/types/update_s_3_compatible_credential_dto_provider.rb new file mode 100644 index 00000000..1b294e32 --- /dev/null +++ b/lib/vapi/types/update_s_3_compatible_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateS3CompatibleCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + S_3_COMPATIBLE = "s3-compatible" + end + end +end diff --git a/lib/vapi/types/update_s_3_credential_dto.rb b/lib/vapi/types/update_s_3_credential_dto.rb index 6b8d2f88..f65fc7c5 100644 --- a/lib/vapi/types/update_s_3_credential_dto.rb +++ b/lib/vapi/types/update_s_3_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateS3CredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateS3CredentialDtoProvider }, optional: true, nullable: false field :aws_access_key_id, -> { String }, optional: true, nullable: false, api_name: "awsAccessKeyId" field :aws_secret_access_key, -> { String }, optional: true, nullable: false, api_name: "awsSecretAccessKey" field :region, -> { String }, optional: true, nullable: false diff --git a/lib/vapi/types/update_s_3_credential_dto_provider.rb b/lib/vapi/types/update_s_3_credential_dto_provider.rb new file mode 100644 index 00000000..7c51c366 --- /dev/null +++ b/lib/vapi/types/update_s_3_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateS3CredentialDtoProvider + extend Vapi::Internal::Types::Enum + + S_3 = "s3" + end + end +end diff --git a/lib/vapi/types/update_simulation_suite_dto.rb b/lib/vapi/types/update_simulation_suite_dto.rb index e8aa90d8..db9d350b 100644 --- a/lib/vapi/types/update_simulation_suite_dto.rb +++ b/lib/vapi/types/update_simulation_suite_dto.rb @@ -6,6 +6,7 @@ class UpdateSimulationSuiteDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :slack_webhook_url, -> { String }, optional: true, nullable: false, api_name: "slackWebhookUrl" field :simulation_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "simulationIds" + field :target_assignments, -> { Internal::Types::Array[Vapi::Types::SimulationSuiteTargetAssignment] }, optional: true, nullable: false, api_name: "targetAssignments" field :path, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/update_sip_request_tool_dto.rb b/lib/vapi/types/update_sip_request_tool_dto.rb index 680a7295..47f94d3f 100644 --- a/lib/vapi/types/update_sip_request_tool_dto.rb +++ b/lib/vapi/types/update_sip_request_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a SIP-request tool, including its method, headers, body, spoken messages, and rejection + # plan. class UpdateSipRequestToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateSipRequestToolDtoMessagesItem] }, optional: true, nullable: false field :verb, -> { Vapi::Types::UpdateSipRequestToolDtoVerb }, optional: true, nullable: false diff --git a/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto.rb b/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto.rb index 23ede1a5..3fa371cc 100644 --- a/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto.rb +++ b/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateSlackOAuth2AuthorizationCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateSlackOAuth2AuthorizationCredentialDtoProvider }, optional: true, nullable: false field :authorization_id, -> { String }, optional: true, nullable: false, api_name: "authorizationId" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.rb b/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.rb new file mode 100644 index 00000000..689cc85e --- /dev/null +++ b/lib/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateSlackOAuth2AuthorizationCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + SLACK_OAUTH_2_AUTHORIZATION = "slack.oauth2-authorization" + end + end +end diff --git a/lib/vapi/types/update_slack_send_message_tool_dto.rb b/lib/vapi/types/update_slack_send_message_tool_dto.rb index 2881aee8..acb29bdb 100644 --- a/lib/vapi/types/update_slack_send_message_tool_dto.rb +++ b/lib/vapi/types/update_slack_send_message_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a Slack message tool, including its spoken messages and rejection plan. class UpdateSlackSendMessageToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateSlackSendMessageToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_slack_webhook_credential_dto.rb b/lib/vapi/types/update_slack_webhook_credential_dto.rb index e33905ca..4b152cf0 100644 --- a/lib/vapi/types/update_slack_webhook_credential_dto.rb +++ b/lib/vapi/types/update_slack_webhook_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateSlackWebhookCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateSlackWebhookCredentialDtoProvider }, optional: true, nullable: false field :webhook_url, -> { String }, optional: true, nullable: false, api_name: "webhookUrl" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_slack_webhook_credential_dto_provider.rb b/lib/vapi/types/update_slack_webhook_credential_dto_provider.rb new file mode 100644 index 00000000..6a003455 --- /dev/null +++ b/lib/vapi/types/update_slack_webhook_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateSlackWebhookCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + SLACK_WEBHOOK = "slack-webhook" + end + end +end diff --git a/lib/vapi/types/update_sms_tool_dto.rb b/lib/vapi/types/update_sms_tool_dto.rb index 5ac50e70..0cf154ab 100644 --- a/lib/vapi/types/update_sms_tool_dto.rb +++ b/lib/vapi/types/update_sms_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update an SMS tool, including its spoken messages and rejection plan. class UpdateSmsToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateSmsToolDtoMessagesItem] }, optional: true, nullable: false field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" diff --git a/lib/vapi/types/update_soniox_credential_dto.rb b/lib/vapi/types/update_soniox_credential_dto.rb index 45d29b3d..8157b69c 100644 --- a/lib/vapi/types/update_soniox_credential_dto.rb +++ b/lib/vapi/types/update_soniox_credential_dto.rb @@ -3,7 +3,9 @@ module Vapi module Types class UpdateSonioxCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateSonioxCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" + field :api_url, -> { String }, optional: true, nullable: false, api_name: "apiUrl" field :name, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/update_soniox_credential_dto_provider.rb b/lib/vapi/types/update_soniox_credential_dto_provider.rb new file mode 100644 index 00000000..63be3d32 --- /dev/null +++ b/lib/vapi/types/update_soniox_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateSonioxCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + SONIOX = "soniox" + end + end +end diff --git a/lib/vapi/types/update_telnyx_phone_number_dto.rb b/lib/vapi/types/update_telnyx_phone_number_dto.rb index 9d858b4e..74c4b059 100644 --- a/lib/vapi/types/update_telnyx_phone_number_dto.rb +++ b/lib/vapi/types/update_telnyx_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a Telnyx phone number, including its credential, number, routing, hooks, and server + # settings. class UpdateTelnyxPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::UpdateTelnyxPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateTelnyxPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_text_editor_tool_dto.rb b/lib/vapi/types/update_text_editor_tool_dto.rb index 184a24bc..70b374b3 100644 --- a/lib/vapi/types/update_text_editor_tool_dto.rb +++ b/lib/vapi/types/update_text_editor_tool_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a text-editor tool, including its name, environment subtype, server, messages, and rejection + # plan. class UpdateTextEditorToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateTextEditorToolDtoMessagesItem] }, optional: true, nullable: false field :sub_type, -> { Vapi::Types::UpdateTextEditorToolDtoSubType }, optional: true, nullable: false, api_name: "subType" diff --git a/lib/vapi/types/update_text_insight_from_call_table_dto.rb b/lib/vapi/types/update_text_insight_from_call_table_dto.rb index 099e81b1..968645fc 100644 --- a/lib/vapi/types/update_text_insight_from_call_table_dto.rb +++ b/lib/vapi/types/update_text_insight_from_call_table_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a text-value insight, including its queries, formula, time range, and name. class UpdateTextInsightFromCallTableDto < Internal::Types::Model field :name, -> { String }, optional: true, nullable: false field :formula, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_together_ai_credential_dto.rb b/lib/vapi/types/update_together_ai_credential_dto.rb index 34476917..c5b2b2cf 100644 --- a/lib/vapi/types/update_together_ai_credential_dto.rb +++ b/lib/vapi/types/update_together_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateTogetherAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateTogetherAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_together_ai_credential_dto_provider.rb b/lib/vapi/types/update_together_ai_credential_dto_provider.rb new file mode 100644 index 00000000..ec10cbfc --- /dev/null +++ b/lib/vapi/types/update_together_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateTogetherAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + TOGETHER_AI = "together-ai" + end + end +end diff --git a/lib/vapi/types/update_tool_draft_dto.rb b/lib/vapi/types/update_tool_draft_dto.rb new file mode 100644 index 00000000..d17e3c1c --- /dev/null +++ b/lib/vapi/types/update_tool_draft_dto.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateToolDraftDto < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateToolDraftDtoMessagesItem] }, optional: true, nullable: false + field :type, -> { Vapi::Types::UpdateToolDraftDtoType }, optional: true, nullable: false + field :function, -> { Vapi::Types::OpenAiFunction }, optional: true, nullable: false + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :template_id, -> { String }, optional: true, nullable: false, api_name: "templateId" + field :server, -> { Vapi::Types::Server }, optional: true, nullable: false + field :async, -> { Internal::Types::Boolean }, optional: true, nullable: false + field :destinations, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + field :name, -> { String }, optional: true, nullable: false + field :sub_type, -> { String }, optional: true, nullable: false, api_name: "subType" + field :display_width_px, -> { Integer }, optional: true, nullable: false, api_name: "displayWidthPx" + field :display_height_px, -> { Integer }, optional: true, nullable: false, api_name: "displayHeightPx" + field :display_number, -> { Integer }, optional: true, nullable: false, api_name: "displayNumber" + field :knowledge_bases, -> { Internal::Types::Array[Vapi::Types::KnowledgeBase] }, optional: true, nullable: false, api_name: "knowledgeBases" + field :url, -> { String }, optional: true, nullable: false + field :method_, -> { Vapi::Types::UpdateToolDraftDtoMethod }, optional: true, nullable: false, api_name: "method" + field :headers, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false + field :body, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + field :backoff_plan, -> { Vapi::Types::BackoffPlan }, optional: true, nullable: false, api_name: "backoffPlan" + field :timeout_seconds, -> { Integer }, optional: true, nullable: false, api_name: "timeoutSeconds" + field :description, -> { String }, optional: true, nullable: false + field :variable_extraction_plan, -> { Vapi::Types::VariableExtractionPlan }, optional: true, nullable: false, api_name: "variableExtractionPlan" + field :credential_id, -> { String }, optional: true, nullable: false, api_name: "credentialId" + field :extended_delay_when_preceded_by_text_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "extendedDelayWhenPrecededByTextEnabled" + field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" + field :code, -> { String }, optional: true, nullable: false + field :environment_variables, -> { Internal::Types::Array[Vapi::Types::CodeToolEnvironmentVariable] }, optional: true, nullable: false, api_name: "environmentVariables" + field :parameters, -> { Internal::Types::Array[Vapi::Types::ToolParameter] }, optional: true, nullable: false + field :encrypted_paths, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "encryptedPaths" + field :sip_info_dtmf_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sipInfoDtmfEnabled" + field :verb, -> { Vapi::Types::UpdateToolDraftDtoVerb }, optional: true, nullable: false + field :default_result, -> { String }, optional: true, nullable: false, api_name: "defaultResult" + field :tool_messages, -> { Internal::Types::Array[Vapi::Types::McpToolMessages] }, optional: true, nullable: false, api_name: "toolMessages" + field :rejection_plan, -> { Vapi::Types::ToolRejectionPlan }, optional: true, nullable: false, api_name: "rejectionPlan" + end + end +end diff --git a/lib/vapi/types/update_tool_draft_dto_messages_item.rb b/lib/vapi/types/update_tool_draft_dto_messages_item.rb new file mode 100644 index 00000000..ef222672 --- /dev/null +++ b/lib/vapi/types/update_tool_draft_dto_messages_item.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateToolDraftDtoMessagesItem < Internal::Types::Model + extend Vapi::Internal::Types::Union + + discriminant :type + + member -> { Vapi::Types::ToolMessageStart }, key: "REQUEST_START" + member -> { Vapi::Types::ToolMessageComplete }, key: "REQUEST_COMPLETE" + member -> { Vapi::Types::ToolMessageFailed }, key: "REQUEST_FAILED" + member -> { Vapi::Types::ToolMessageDelayed }, key: "REQUEST_RESPONSE_DELAYED" + end + end +end diff --git a/lib/vapi/types/update_tool_draft_dto_method.rb b/lib/vapi/types/update_tool_draft_dto_method.rb new file mode 100644 index 00000000..f1581599 --- /dev/null +++ b/lib/vapi/types/update_tool_draft_dto_method.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateToolDraftDtoMethod + extend Vapi::Internal::Types::Enum + + POST = "POST" + GET = "GET" + PUT = "PUT" + PATCH = "PATCH" + DELETE = "DELETE" + end + end +end diff --git a/lib/vapi/types/update_tool_draft_dto_type.rb b/lib/vapi/types/update_tool_draft_dto_type.rb new file mode 100644 index 00000000..08cbb2f9 --- /dev/null +++ b/lib/vapi/types/update_tool_draft_dto_type.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateToolDraftDtoType + extend Vapi::Internal::Types::Enum + + DTMF = "dtmf" + END_CALL = "endCall" + TRANSFER_CALL = "transferCall" + TRANSFER_CANCEL = "transferCancel" + TRANSFER_SUCCESSFUL = "transferSuccessful" + HANDOFF = "handoff" + OUTPUT = "output" + VOICEMAIL = "voicemail" + QUERY = "query" + SMS = "sms" + SIP_REQUEST = "sipRequest" + FUNCTION = "function" + MCP = "mcp" + API_REQUEST = "apiRequest" + CODE = "code" + BASH = "bash" + COMPUTER = "computer" + TEXT_EDITOR = "textEditor" + GOOGLE_CALENDAR_EVENT_CREATE = "google.calendar.event.create" + GOOGLE_CALENDAR_AVAILABILITY_CHECK = "google.calendar.availability.check" + GOOGLE_SHEETS_ROW_APPEND = "google.sheets.row.append" + SLACK_MESSAGE_SEND = "slack.message.send" + GOHIGHLEVEL_CALENDAR_EVENT_CREATE = "gohighlevel.calendar.event.create" + GOHIGHLEVEL_CALENDAR_AVAILABILITY_CHECK = "gohighlevel.calendar.availability.check" + GOHIGHLEVEL_CONTACT_CREATE = "gohighlevel.contact.create" + GOHIGHLEVEL_CONTACT_GET = "gohighlevel.contact.get" + MAKE = "make" + GHL = "ghl" + end + end +end diff --git a/lib/vapi/types/update_tool_draft_dto_verb.rb b/lib/vapi/types/update_tool_draft_dto_verb.rb new file mode 100644 index 00000000..f06298be --- /dev/null +++ b/lib/vapi/types/update_tool_draft_dto_verb.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateToolDraftDtoVerb + extend Vapi::Internal::Types::Enum + + INFO = "INFO" + MESSAGE = "MESSAGE" + NOTIFY = "NOTIFY" + end + end +end diff --git a/lib/vapi/types/update_tool_version_metadata_dto.rb b/lib/vapi/types/update_tool_version_metadata_dto.rb new file mode 100644 index 00000000..0e289190 --- /dev/null +++ b/lib/vapi/types/update_tool_version_metadata_dto.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class UpdateToolVersionMetadataDto < Internal::Types::Model + field :version_name, -> { String }, optional: true, nullable: false, api_name: "versionName" + field :version_description, -> { String }, optional: true, nullable: false, api_name: "versionDescription" + end + end +end diff --git a/lib/vapi/types/update_transfer_call_tool_dto.rb b/lib/vapi/types/update_transfer_call_tool_dto.rb index 3da1582c..ef0f0812 100644 --- a/lib/vapi/types/update_transfer_call_tool_dto.rb +++ b/lib/vapi/types/update_transfer_call_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a call-transfer tool, including its destinations, spoken messages, and rejection plan. class UpdateTransferCallToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateTransferCallToolDtoMessagesItem] }, optional: true, nullable: false field :destinations, -> { Internal::Types::Array[Vapi::Types::UpdateTransferCallToolDtoDestinationsItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_trieve_credential_dto.rb b/lib/vapi/types/update_trieve_credential_dto.rb deleted file mode 100644 index 5ce52392..00000000 --- a/lib/vapi/types/update_trieve_credential_dto.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -module Vapi - module Types - class UpdateTrieveCredentialDto < Internal::Types::Model - field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" - field :name, -> { String }, optional: true, nullable: false - end - end -end diff --git a/lib/vapi/types/update_trieve_knowledge_base_dto.rb b/lib/vapi/types/update_trieve_knowledge_base_dto.rb index 54cf9a45..0cf373fc 100644 --- a/lib/vapi/types/update_trieve_knowledge_base_dto.rb +++ b/lib/vapi/types/update_trieve_knowledge_base_dto.rb @@ -2,10 +2,22 @@ module Vapi module Types - class UpdateTrieveKnowledgeBaseDto < Internal::Types::Model - field :name, -> { String }, optional: true, nullable: false - field :search_plan, -> { Vapi::Types::TrieveKnowledgeBaseSearchPlan }, optional: true, nullable: false, api_name: "searchPlan" - field :create_plan, -> { Vapi::Types::TrieveKnowledgeBaseImport }, optional: true, nullable: false, api_name: "createPlan" + module UpdateTrieveKnowledgeBaseDto + # UpdateTrieveKnowledgeBaseDto is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end end end end diff --git a/lib/vapi/types/update_twilio_credential_dto.rb b/lib/vapi/types/update_twilio_credential_dto.rb index 7e588c12..fbd9ffa2 100644 --- a/lib/vapi/types/update_twilio_credential_dto.rb +++ b/lib/vapi/types/update_twilio_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateTwilioCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateTwilioCredentialDtoProvider }, optional: true, nullable: false field :auth_token, -> { String }, optional: true, nullable: false, api_name: "authToken" field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :api_secret, -> { String }, optional: true, nullable: false, api_name: "apiSecret" diff --git a/lib/vapi/types/update_twilio_credential_dto_provider.rb b/lib/vapi/types/update_twilio_credential_dto_provider.rb new file mode 100644 index 00000000..e4a92d93 --- /dev/null +++ b/lib/vapi/types/update_twilio_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateTwilioCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + TWILIO = "twilio" + end + end +end diff --git a/lib/vapi/types/update_twilio_phone_number_dto.rb b/lib/vapi/types/update_twilio_phone_number_dto.rb index 57ad4dcd..fcd37918 100644 --- a/lib/vapi/types/update_twilio_phone_number_dto.rb +++ b/lib/vapi/types/update_twilio_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a Twilio phone number, including its account credentials, SMS configuration, routing, hooks, + # and server settings. class UpdateTwilioPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::UpdateTwilioPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateTwilioPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_user_role_dto_role.rb b/lib/vapi/types/update_user_role_dto_role.rb index 7c0b0546..98a609cb 100644 --- a/lib/vapi/types/update_user_role_dto_role.rb +++ b/lib/vapi/types/update_user_role_dto_role.rb @@ -2,12 +2,11 @@ module Vapi module Types - module UpdateUserRoleDtoRole - extend Vapi::Internal::Types::Enum + class UpdateUserRoleDtoRole < Internal::Types::Model + extend Vapi::Internal::Types::Union - ADMIN = "admin" - EDITOR = "editor" - VIEWER = "viewer" + member -> { Vapi::Types::UpdateUserRoleDtoRoleZero } + member -> { String } end end end diff --git a/lib/vapi/types/update_user_role_dto_role_zero.rb b/lib/vapi/types/update_user_role_dto_role_zero.rb new file mode 100644 index 00000000..e6d59bcf --- /dev/null +++ b/lib/vapi/types/update_user_role_dto_role_zero.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateUserRoleDtoRoleZero + extend Vapi::Internal::Types::Enum + + ADMIN = "admin" + EDITOR = "editor" + VIEWER = "viewer" + end + end +end diff --git a/lib/vapi/types/update_vapi_phone_number_dto.rb b/lib/vapi/types/update_vapi_phone_number_dto.rb index 2cc640a8..72bc8b86 100644 --- a/lib/vapi/types/update_vapi_phone_number_dto.rb +++ b/lib/vapi/types/update_vapi_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a Vapi-managed phone number or SIP URI, including its authentication, routing, hooks, and + # server settings. class UpdateVapiPhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::UpdateVapiPhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateVapiPhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_voicemail_tool_dto.rb b/lib/vapi/types/update_voicemail_tool_dto.rb index edc83ed8..42587611 100644 --- a/lib/vapi/types/update_voicemail_tool_dto.rb +++ b/lib/vapi/types/update_voicemail_tool_dto.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Fields used to update a voicemail-detection tool, including beep detection, spoken messages, and rejection plan. class UpdateVoicemailToolDto < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::UpdateVoicemailToolDtoMessagesItem] }, optional: true, nullable: false field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" diff --git a/lib/vapi/types/update_vonage_credential_dto.rb b/lib/vapi/types/update_vonage_credential_dto.rb index daffdf8d..8497183d 100644 --- a/lib/vapi/types/update_vonage_credential_dto.rb +++ b/lib/vapi/types/update_vonage_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateVonageCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateVonageCredentialDtoProvider }, optional: true, nullable: false field :api_secret, -> { String }, optional: true, nullable: false, api_name: "apiSecret" field :name, -> { String }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" diff --git a/lib/vapi/types/update_vonage_credential_dto_provider.rb b/lib/vapi/types/update_vonage_credential_dto_provider.rb new file mode 100644 index 00000000..a5a58e37 --- /dev/null +++ b/lib/vapi/types/update_vonage_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateVonageCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + VONAGE = "vonage" + end + end +end diff --git a/lib/vapi/types/update_vonage_phone_number_dto.rb b/lib/vapi/types/update_vonage_phone_number_dto.rb index b6778dea..9e22d583 100644 --- a/lib/vapi/types/update_vonage_phone_number_dto.rb +++ b/lib/vapi/types/update_vonage_phone_number_dto.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Fields used to update a Vonage phone number, including its credential, number, routing, hooks, and server + # settings. class UpdateVonagePhoneNumberDto < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::UpdateVonagePhoneNumberDtoFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::UpdateVonagePhoneNumberDtoHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/update_webhook_credential_dto.rb b/lib/vapi/types/update_webhook_credential_dto.rb index 7637f670..8508391c 100644 --- a/lib/vapi/types/update_webhook_credential_dto.rb +++ b/lib/vapi/types/update_webhook_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateWebhookCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateWebhookCredentialDtoProvider }, optional: true, nullable: false field :authentication_plan, -> { Vapi::Types::UpdateWebhookCredentialDtoAuthenticationPlan }, optional: true, nullable: false, api_name: "authenticationPlan" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_webhook_credential_dto_provider.rb b/lib/vapi/types/update_webhook_credential_dto_provider.rb new file mode 100644 index 00000000..d6df5742 --- /dev/null +++ b/lib/vapi/types/update_webhook_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateWebhookCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + WEBHOOK = "webhook" + end + end +end diff --git a/lib/vapi/types/update_well_said_credential_dto.rb b/lib/vapi/types/update_well_said_credential_dto.rb index 70b4df46..0fb90633 100644 --- a/lib/vapi/types/update_well_said_credential_dto.rb +++ b/lib/vapi/types/update_well_said_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateWellSaidCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateWellSaidCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_well_said_credential_dto_provider.rb b/lib/vapi/types/update_well_said_credential_dto_provider.rb new file mode 100644 index 00000000..422fa247 --- /dev/null +++ b/lib/vapi/types/update_well_said_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateWellSaidCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + WELLSAID = "wellsaid" + end + end +end diff --git a/lib/vapi/types/update_workflow_dto_credentials_item.rb b/lib/vapi/types/update_workflow_dto_credentials_item.rb index 9e97db78..5c75635f 100644 --- a/lib/vapi/types/update_workflow_dto_credentials_item.rb +++ b/lib/vapi/types/update_workflow_dto_credentials_item.rb @@ -38,6 +38,7 @@ class UpdateWorkflowDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class UpdateWorkflowDtoCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/update_workflow_dto_transcriber.rb b/lib/vapi/types/update_workflow_dto_transcriber.rb index 087c2039..d1cd2220 100644 --- a/lib/vapi/types/update_workflow_dto_transcriber.rb +++ b/lib/vapi/types/update_workflow_dto_transcriber.rb @@ -22,6 +22,8 @@ class UpdateWorkflowDtoTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/update_workflow_dto_voice.rb b/lib/vapi/types/update_workflow_dto_voice.rb index 509c5818..45d5b49f 100644 --- a/lib/vapi/types/update_workflow_dto_voice.rb +++ b/lib/vapi/types/update_workflow_dto_voice.rb @@ -28,6 +28,8 @@ class UpdateWorkflowDtoVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/update_x_ai_credential_dto.rb b/lib/vapi/types/update_x_ai_credential_dto.rb index 894cc0a0..1f20d3ba 100644 --- a/lib/vapi/types/update_x_ai_credential_dto.rb +++ b/lib/vapi/types/update_x_ai_credential_dto.rb @@ -3,6 +3,7 @@ module Vapi module Types class UpdateXAiCredentialDto < Internal::Types::Model + field :provider, -> { Vapi::Types::UpdateXAiCredentialDtoProvider }, optional: true, nullable: false field :api_key, -> { String }, optional: true, nullable: false, api_name: "apiKey" field :name, -> { String }, optional: true, nullable: false end diff --git a/lib/vapi/types/update_x_ai_credential_dto_provider.rb b/lib/vapi/types/update_x_ai_credential_dto_provider.rb new file mode 100644 index 00000000..14e1fb5b --- /dev/null +++ b/lib/vapi/types/update_x_ai_credential_dto_provider.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module UpdateXAiCredentialDtoProvider + extend Vapi::Internal::Types::Enum + + XAI = "xai" + end + end +end diff --git a/lib/vapi/types/user_message.rb b/lib/vapi/types/user_message.rb index fd423086..00645811 100644 --- a/lib/vapi/types/user_message.rb +++ b/lib/vapi/types/user_message.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A user-authored entry in the call message history, including content, timing, security-filter results, and + # optional speaker metadata. class UserMessage < Internal::Types::Model field :role, -> { String }, optional: false, nullable: false field :message, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/vapi_cost.rb b/lib/vapi/types/vapi_cost.rb index 02faaf1a..e6c9789e 100644 --- a/lib/vapi/types/vapi_cost.rb +++ b/lib/vapi/types/vapi_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Vapi platform cost for a call, including cost subtype, billable minutes, and amount. class VapiCost < Internal::Types::Model field :sub_type, -> { Vapi::Types::VapiCostSubType }, optional: false, nullable: false, api_name: "subType" field :minutes, -> { Integer }, optional: false, nullable: false diff --git a/lib/vapi/types/vapi_model.rb b/lib/vapi/types/vapi_model.rb index 91381fac..ca7dc67c 100644 --- a/lib/vapi/types/vapi_model.rb +++ b/lib/vapi/types/vapi_model.rb @@ -6,13 +6,13 @@ class VapiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::VapiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" - field :provider, -> { Vapi::Types::VapiModelProvider }, optional: false, nullable: false + field :model, -> { String }, optional: true, nullable: false + field :version, -> { Vapi::Types::VapiModelVersion }, optional: true, nullable: false field :workflow_id, -> { String }, optional: true, nullable: false, api_name: "workflowId" field :workflow, -> { Vapi::Types::WorkflowUserEditable }, optional: true, nullable: false - field :model, -> { String }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false - field :max_tokens, -> { Integer }, optional: true, nullable: false, api_name: "maxTokens" field :emotion_recognition_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "emotionRecognitionEnabled" field :num_fast_turns, -> { Integer }, optional: true, nullable: false, api_name: "numFastTurns" end diff --git a/lib/vapi/types/vapi_model_version.rb b/lib/vapi/types/vapi_model_version.rb new file mode 100644 index 00000000..28c930fd --- /dev/null +++ b/lib/vapi/types/vapi_model_version.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiModelVersion + extend Vapi::Internal::Types::Enum + + LATEST = "latest" + ONE = "1" + end + end +end diff --git a/lib/vapi/types/vapi_phone_number.rb b/lib/vapi/types/vapi_phone_number.rb index 8e08c3c6..337c2d03 100644 --- a/lib/vapi/types/vapi_phone_number.rb +++ b/lib/vapi/types/vapi_phone_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A Vapi-managed phone number or SIP URI, including its authentication, routing, hooks, server settings, and + # lifecycle metadata. class VapiPhoneNumber < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::VapiPhoneNumberFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::VapiPhoneNumberHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/vapi_pronunciation_dictionary_locator.rb b/lib/vapi/types/vapi_pronunciation_dictionary_locator.rb index 23765778..ab36655e 100644 --- a/lib/vapi/types/vapi_pronunciation_dictionary_locator.rb +++ b/lib/vapi/types/vapi_pronunciation_dictionary_locator.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Identifies a pronunciation dictionary and optional version used for voice synthesis. class VapiPronunciationDictionaryLocator < Internal::Types::Model field :pronunciation_dict_id, -> { String }, optional: false, nullable: false, api_name: "pronunciationDictId" field :version_id, -> { String }, optional: true, nullable: false, api_name: "versionId" diff --git a/lib/vapi/types/vapi_sip_transport.rb b/lib/vapi/types/vapi_sip_transport.rb new file mode 100644 index 00000000..89f92933 --- /dev/null +++ b/lib/vapi/types/vapi_sip_transport.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VapiSipTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::VapiSipTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :dial_timeout, -> { Integer }, optional: true, nullable: false, api_name: "dialTimeout" + field :sbc_call_sid, -> { String }, optional: true, nullable: false, api_name: "sbcCallSid" + field :call_sid, -> { String }, optional: true, nullable: false, api_name: "callSid" + end + end +end diff --git a/lib/vapi/types/vapi_sip_transport_conversation_type.rb b/lib/vapi/types/vapi_sip_transport_conversation_type.rb new file mode 100644 index 00000000..c3a23e0c --- /dev/null +++ b/lib/vapi/types/vapi_sip_transport_conversation_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiSipTransportConversationType + extend Vapi::Internal::Types::Enum + + VOICE = "voice" + end + end +end diff --git a/lib/vapi/types/vapi_smart_endpointing_plan.rb b/lib/vapi/types/vapi_smart_endpointing_plan.rb index e7248238..0aea3119 100644 --- a/lib/vapi/types/vapi_smart_endpointing_plan.rb +++ b/lib/vapi/types/vapi_smart_endpointing_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Selects Vapi smart endpointing to determine when customer speech is complete. class VapiSmartEndpointingPlan < Internal::Types::Model field :provider, -> { Vapi::Types::VapiSmartEndpointingPlanProvider }, optional: false, nullable: false end diff --git a/lib/vapi/types/vapi_transcriber.rb b/lib/vapi/types/vapi_transcriber.rb new file mode 100644 index 00000000..ba567659 --- /dev/null +++ b/lib/vapi/types/vapi_transcriber.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VapiTranscriber < Internal::Types::Model + field :version, -> { Vapi::Types::VapiTranscriberVersion }, optional: true, nullable: false + field :language, -> { Vapi::Types::VapiTranscriberLanguage }, optional: true, nullable: false + field :languages, -> { Internal::Types::Array[Vapi::Types::VapiTranscriberLanguagesItem] }, optional: true, nullable: false + field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false + field :turn_taking, -> { Vapi::Types::VapiTranscriberTurnTaking }, optional: true, nullable: false, api_name: "turnTaking" + end + end +end diff --git a/lib/vapi/types/vapi_transcriber_language.rb b/lib/vapi/types/vapi_transcriber_language.rb new file mode 100644 index 00000000..75c0dc7f --- /dev/null +++ b/lib/vapi/types/vapi_transcriber_language.rb @@ -0,0 +1,195 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiTranscriberLanguage + extend Vapi::Internal::Types::Enum + + AA = "aa" + AB = "ab" + AE = "ae" + AF = "af" + AK = "ak" + AM = "am" + AN = "an" + AR = "ar" + AS = "as" + AV = "av" + AY = "ay" + AZ = "az" + BA = "ba" + BE = "be" + BG = "bg" + BH = "bh" + BI = "bi" + BM = "bm" + BN = "bn" + BO = "bo" + BR = "br" + BS = "bs" + CA = "ca" + CE = "ce" + CH = "ch" + CO = "co" + CR = "cr" + CS = "cs" + CU = "cu" + CV = "cv" + CY = "cy" + DA = "da" + DE = "de" + DV = "dv" + DZ = "dz" + EE = "ee" + EL = "el" + EN = "en" + EO = "eo" + ES = "es" + ET = "et" + EU = "eu" + FA = "fa" + FF = "ff" + FI = "fi" + FJ = "fj" + FO = "fo" + FR = "fr" + FY = "fy" + GA = "ga" + GD = "gd" + GL = "gl" + GN = "gn" + GU = "gu" + GV = "gv" + HA = "ha" + HE = "he" + HI = "hi" + HO = "ho" + HR = "hr" + HT = "ht" + HU = "hu" + HY = "hy" + HZ = "hz" + IA = "ia" + ID = "id" + IE = "ie" + IG = "ig" + II = "ii" + IK = "ik" + IO = "io" + IS = "is" + IT = "it" + IU = "iu" + JA = "ja" + JV = "jv" + KA = "ka" + KG = "kg" + KI = "ki" + KJ = "kj" + KK = "kk" + KL = "kl" + KM = "km" + KN = "kn" + KO = "ko" + KR = "kr" + KS = "ks" + KU = "ku" + KV = "kv" + KW = "kw" + KY = "ky" + LA = "la" + LB = "lb" + LG = "lg" + LI = "li" + LN = "ln" + LO = "lo" + LT = "lt" + LU = "lu" + LV = "lv" + MG = "mg" + MH = "mh" + MI = "mi" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MT = "mt" + MY = "my" + NA = "na" + NB = "nb" + ND = "nd" + NE = "ne" + NG = "ng" + NL = "nl" + NN = "nn" + NO = "no" + NR = "nr" + NV = "nv" + NY = "ny" + OC = "oc" + OJ = "oj" + OM = "om" + OR = "or" + OS = "os" + PA = "pa" + PI = "pi" + PL = "pl" + PS = "ps" + PT = "pt" + QU = "qu" + RM = "rm" + RN = "rn" + RO = "ro" + RU = "ru" + RW = "rw" + SA = "sa" + SC = "sc" + SD = "sd" + SE = "se" + SG = "sg" + SI = "si" + SK = "sk" + SL = "sl" + SM = "sm" + SN = "sn" + SO = "so" + SQ = "sq" + SR = "sr" + SS = "ss" + ST = "st" + SU = "su" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TG = "tg" + TH = "th" + TI = "ti" + TK = "tk" + TL = "tl" + TN = "tn" + TO = "to" + TR = "tr" + TS = "ts" + TT = "tt" + TW = "tw" + TY = "ty" + UG = "ug" + UK = "uk" + UR = "ur" + UZ = "uz" + VE = "ve" + VI = "vi" + VO = "vo" + WA = "wa" + WO = "wo" + XH = "xh" + YI = "yi" + YUE = "yue" + YO = "yo" + ZA = "za" + ZH = "zh" + ZU = "zu" + end + end +end diff --git a/lib/vapi/types/vapi_transcriber_languages_item.rb b/lib/vapi/types/vapi_transcriber_languages_item.rb new file mode 100644 index 00000000..16e3ea5e --- /dev/null +++ b/lib/vapi/types/vapi_transcriber_languages_item.rb @@ -0,0 +1,195 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiTranscriberLanguagesItem + extend Vapi::Internal::Types::Enum + + AA = "aa" + AB = "ab" + AE = "ae" + AF = "af" + AK = "ak" + AM = "am" + AN = "an" + AR = "ar" + AS = "as" + AV = "av" + AY = "ay" + AZ = "az" + BA = "ba" + BE = "be" + BG = "bg" + BH = "bh" + BI = "bi" + BM = "bm" + BN = "bn" + BO = "bo" + BR = "br" + BS = "bs" + CA = "ca" + CE = "ce" + CH = "ch" + CO = "co" + CR = "cr" + CS = "cs" + CU = "cu" + CV = "cv" + CY = "cy" + DA = "da" + DE = "de" + DV = "dv" + DZ = "dz" + EE = "ee" + EL = "el" + EN = "en" + EO = "eo" + ES = "es" + ET = "et" + EU = "eu" + FA = "fa" + FF = "ff" + FI = "fi" + FJ = "fj" + FO = "fo" + FR = "fr" + FY = "fy" + GA = "ga" + GD = "gd" + GL = "gl" + GN = "gn" + GU = "gu" + GV = "gv" + HA = "ha" + HE = "he" + HI = "hi" + HO = "ho" + HR = "hr" + HT = "ht" + HU = "hu" + HY = "hy" + HZ = "hz" + IA = "ia" + ID = "id" + IE = "ie" + IG = "ig" + II = "ii" + IK = "ik" + IO = "io" + IS = "is" + IT = "it" + IU = "iu" + JA = "ja" + JV = "jv" + KA = "ka" + KG = "kg" + KI = "ki" + KJ = "kj" + KK = "kk" + KL = "kl" + KM = "km" + KN = "kn" + KO = "ko" + KR = "kr" + KS = "ks" + KU = "ku" + KV = "kv" + KW = "kw" + KY = "ky" + LA = "la" + LB = "lb" + LG = "lg" + LI = "li" + LN = "ln" + LO = "lo" + LT = "lt" + LU = "lu" + LV = "lv" + MG = "mg" + MH = "mh" + MI = "mi" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MT = "mt" + MY = "my" + NA = "na" + NB = "nb" + ND = "nd" + NE = "ne" + NG = "ng" + NL = "nl" + NN = "nn" + NO = "no" + NR = "nr" + NV = "nv" + NY = "ny" + OC = "oc" + OJ = "oj" + OM = "om" + OR = "or" + OS = "os" + PA = "pa" + PI = "pi" + PL = "pl" + PS = "ps" + PT = "pt" + QU = "qu" + RM = "rm" + RN = "rn" + RO = "ro" + RU = "ru" + RW = "rw" + SA = "sa" + SC = "sc" + SD = "sd" + SE = "se" + SG = "sg" + SI = "si" + SK = "sk" + SL = "sl" + SM = "sm" + SN = "sn" + SO = "so" + SQ = "sq" + SR = "sr" + SS = "ss" + ST = "st" + SU = "su" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TG = "tg" + TH = "th" + TI = "ti" + TK = "tk" + TL = "tl" + TN = "tn" + TO = "to" + TR = "tr" + TS = "ts" + TT = "tt" + TW = "tw" + TY = "ty" + UG = "ug" + UK = "uk" + UR = "ur" + UZ = "uz" + VE = "ve" + VI = "vi" + VO = "vo" + WA = "wa" + WO = "wo" + XH = "xh" + YI = "yi" + YUE = "yue" + YO = "yo" + ZA = "za" + ZH = "zh" + ZU = "zu" + end + end +end diff --git a/lib/vapi/types/vapi_transcriber_turn_taking.rb b/lib/vapi/types/vapi_transcriber_turn_taking.rb new file mode 100644 index 00000000..2904fefb --- /dev/null +++ b/lib/vapi/types/vapi_transcriber_turn_taking.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiTranscriberTurnTaking + extend Vapi::Internal::Types::Enum + + INTELLIGENT = "intelligent" + MANUAL = "manual" + end + end +end diff --git a/lib/vapi/types/vapi_transcriber_version.rb b/lib/vapi/types/vapi_transcriber_version.rb new file mode 100644 index 00000000..07bdd97a --- /dev/null +++ b/lib/vapi/types/vapi_transcriber_version.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiTranscriberVersion + extend Vapi::Internal::Types::Enum + + LATEST = "latest" + ONE = "1" + end + end +end diff --git a/lib/vapi/types/vapi_voice.rb b/lib/vapi/types/vapi_voice.rb index 81dc8928..220be1a3 100644 --- a/lib/vapi/types/vapi_voice.rb +++ b/lib/vapi/types/vapi_voice.rb @@ -2,13 +2,16 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with Vapi, including voice selection, speed, pronunciation + # dictionary, chunking, caching, and fallback settings. class VapiVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { Vapi::Types::VapiVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :version, -> { Vapi::Types::VapiVoiceVersion }, optional: true, nullable: false field :speed, -> { Integer }, optional: true, nullable: false + field :language, -> { Vapi::Types::VapiVoiceLanguage }, optional: true, nullable: false field :pronunciation_dictionary, -> { Internal::Types::Array[Vapi::Types::VapiPronunciationDictionaryLocator] }, optional: true, nullable: false, api_name: "pronunciationDictionary" field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" - field :fallback_plan, -> { Vapi::Types::FallbackPlan }, optional: true, nullable: false, api_name: "fallbackPlan" end end end diff --git a/lib/vapi/types/vapi_voice_language.rb b/lib/vapi/types/vapi_voice_language.rb new file mode 100644 index 00000000..5f1bfebe --- /dev/null +++ b/lib/vapi/types/vapi_voice_language.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiVoiceLanguage + extend Vapi::Internal::Types::Enum + + EN_US = "en-US" + EN_GB = "en-GB" + EN_AU = "en-AU" + EN_CA = "en-CA" + JA = "ja" + ZH = "zh" + DE = "de" + HI = "hi" + FR_FR = "fr-FR" + FR_CA = "fr-CA" + KO = "ko" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + IT = "it" + ES_ES = "es-ES" + ES_MX = "es-MX" + ID = "id" + NL = "nl" + TR = "tr" + FIL = "fil" + PL = "pl" + SV = "sv" + BG = "bg" + RO = "ro" + AR_SA = "ar-SA" + AR_AE = "ar-AE" + CS = "cs" + EL = "el" + FI = "fi" + HR = "hr" + MS = "ms" + SK = "sk" + DA = "da" + TA = "ta" + UK = "uk" + RU = "ru" + HU = "hu" + NO = "no" + VI = "vi" + AUTO = "auto" + EN = "en" + AR = "ar" + AR_EG = "ar-EG" + BN = "bn" + ES = "es" + FR = "fr" + GU = "gu" + HE = "he" + KA = "ka" + KN = "kn" + ML = "ml" + MR = "mr" + PA = "pa" + PT = "pt" + TE = "te" + TH = "th" + TL = "tl" + end + end +end diff --git a/lib/vapi/types/vapi_voice_version.rb b/lib/vapi/types/vapi_voice_version.rb new file mode 100644 index 00000000..02c3037d --- /dev/null +++ b/lib/vapi/types/vapi_voice_version.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiVoiceVersion + extend Vapi::Internal::Types::Enum + + ONE = "1" + TWO = "2" + LATEST = "latest" + end + end +end diff --git a/lib/vapi/types/vapi_voice_voice_id.rb b/lib/vapi/types/vapi_voice_voice_id.rb index c2eba3f3..20ec5840 100644 --- a/lib/vapi/types/vapi_voice_voice_id.rb +++ b/lib/vapi/types/vapi_voice_voice_id.rb @@ -7,25 +7,25 @@ module VapiVoiceVoiceId CLARA = "Clara" GODFREY = "Godfrey" + ELLIOT = "Elliot" + SAVANNAH = "Savannah" + NICO = "Nico" + KAI = "Kai" + EMMA = "Emma" + SAGAR = "Sagar" + NEIL = "Neil" LAYLA = "Layla" SID = "Sid" GUSTAVO = "Gustavo" - ELLIOT = "Elliot" KYLIE = "Kylie" ROHAN = "Rohan" LILY = "Lily" - SAVANNAH = "Savannah" HANA = "Hana" NEHA = "Neha" COLE = "Cole" HARRY = "Harry" PAIGE = "Paige" SPENCER = "Spencer" - NICO = "Nico" - KAI = "Kai" - EMMA = "Emma" - SAGAR = "Sagar" - NEIL = "Neil" NAINA = "Naina" LEAH = "Leah" TARA = "Tara" diff --git a/lib/vapi/types/vapi_voicemail_detection_plan.rb b/lib/vapi/types/vapi_voicemail_detection_plan.rb index 487b9bf9..deee70cc 100644 --- a/lib/vapi/types/vapi_voicemail_detection_plan.rb +++ b/lib/vapi/types/vapi_voicemail_detection_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Configuration for detecting voicemail with Vapi, including detection type, maximum beep wait, and retry backoff. class VapiVoicemailDetectionPlan < Internal::Types::Model field :beep_max_await_seconds, -> { Integer }, optional: true, nullable: false, api_name: "beepMaxAwaitSeconds" field :provider, -> { Vapi::Types::VapiVoicemailDetectionPlanProvider }, optional: false, nullable: false diff --git a/lib/vapi/types/vapi_web_call_transport.rb b/lib/vapi/types/vapi_web_call_transport.rb new file mode 100644 index 00000000..880ae420 --- /dev/null +++ b/lib/vapi/types/vapi_web_call_transport.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VapiWebCallTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::VapiWebCallTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :room_delete_on_user_leave_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "roomDeleteOnUserLeaveEnabled" + field :call_url, -> { String }, optional: true, nullable: false, api_name: "callUrl" + field :call_sip_uri, -> { String }, optional: true, nullable: false, api_name: "callSipUri" + end + end +end diff --git a/lib/vapi/types/vapi_web_call_transport_conversation_type.rb b/lib/vapi/types/vapi_web_call_transport_conversation_type.rb new file mode 100644 index 00000000..085516a0 --- /dev/null +++ b/lib/vapi/types/vapi_web_call_transport_conversation_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiWebCallTransportConversationType + extend Vapi::Internal::Types::Enum + + VOICE = "voice" + end + end +end diff --git a/lib/vapi/types/vapi_websocket_transport.rb b/lib/vapi/types/vapi_websocket_transport.rb new file mode 100644 index 00000000..b39f6f1d --- /dev/null +++ b/lib/vapi/types/vapi_websocket_transport.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VapiWebsocketTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::VapiWebsocketTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :audio_format, -> { Vapi::Types::AudioFormat }, optional: true, nullable: false, api_name: "audioFormat" + end + end +end diff --git a/lib/vapi/types/vapi_websocket_transport_conversation_type.rb b/lib/vapi/types/vapi_websocket_transport_conversation_type.rb new file mode 100644 index 00000000..ca04a244 --- /dev/null +++ b/lib/vapi/types/vapi_websocket_transport_conversation_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VapiWebsocketTransportConversationType + extend Vapi::Internal::Types::Enum + + VOICE = "voice" + end + end +end diff --git a/lib/vapi/types/variable_extraction_alias.rb b/lib/vapi/types/variable_extraction_alias.rb index 1031d35e..af13c05c 100644 --- a/lib/vapi/types/variable_extraction_alias.rb +++ b/lib/vapi/types/variable_extraction_alias.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Defines an additional Liquid-based variable from values extracted during a call. class VariableExtractionAlias < Internal::Types::Model field :key, -> { String }, optional: false, nullable: false field :value, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/variable_extraction_plan.rb b/lib/vapi/types/variable_extraction_plan.rb index c3814db2..8238b695 100644 --- a/lib/vapi/types/variable_extraction_plan.rb +++ b/lib/vapi/types/variable_extraction_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Defines structured variables to extract and optional aliases made available during and after a call. class VariableExtractionPlan < Internal::Types::Model field :schema, -> { Vapi::Types::JsonSchema }, optional: true, nullable: false field :aliases, -> { Internal::Types::Array[Vapi::Types::VariableExtractionAlias] }, optional: true, nullable: false diff --git a/lib/vapi/types/variable_value_group_by.rb b/lib/vapi/types/variable_value_group_by.rb index 3f44c5b6..8901ed1a 100644 --- a/lib/vapi/types/variable_value_group_by.rb +++ b/lib/vapi/types/variable_value_group_by.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Groups analytics results by a selected assistant variable-value key. class VariableValueGroupBy < Internal::Types::Model field :key, -> { String }, optional: false, nullable: false end diff --git a/lib/vapi/types/version_pin_conflict_response_dto.rb b/lib/vapi/types/version_pin_conflict_response_dto.rb new file mode 100644 index 00000000..40cb6d9e --- /dev/null +++ b/lib/vapi/types/version_pin_conflict_response_dto.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VersionPinConflictResponseDto < Internal::Types::Model + field :error, -> { Vapi::Types::VersionPinConflictResponseDtoError }, optional: false, nullable: false + field :message, -> { String }, optional: false, nullable: false + field :pinned_by, -> { Internal::Types::Array[Vapi::Types::VersionPinReference] }, optional: false, nullable: false, api_name: "pinnedBy" + end + end +end diff --git a/lib/vapi/types/version_pin_conflict_response_dto_error.rb b/lib/vapi/types/version_pin_conflict_response_dto_error.rb new file mode 100644 index 00000000..fb3ed52a --- /dev/null +++ b/lib/vapi/types/version_pin_conflict_response_dto_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VersionPinConflictResponseDtoError + extend Vapi::Internal::Types::Enum + + VERSION_PINNED = "version_pinned" + end + end +end diff --git a/lib/vapi/types/version_pin_reference.rb b/lib/vapi/types/version_pin_reference.rb new file mode 100644 index 00000000..54beb493 --- /dev/null +++ b/lib/vapi/types/version_pin_reference.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VersionPinReference < Internal::Types::Model + field :source_type, -> { Vapi::Types::VersionPinReferenceSourceType }, optional: false, nullable: false, api_name: "sourceType" + field :source_id, -> { String }, optional: false, nullable: false, api_name: "sourceId" + end + end +end diff --git a/lib/vapi/types/version_pin_reference_source_type.rb b/lib/vapi/types/version_pin_reference_source_type.rb new file mode 100644 index 00000000..930e0fa3 --- /dev/null +++ b/lib/vapi/types/version_pin_reference_source_type.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VersionPinReferenceSourceType + extend Vapi::Internal::Types::Enum + + ASSISTANT_VERSION = "assistant_version" + SQUAD = "squad" + TOOL_VERSION = "tool_version" + end + end +end diff --git a/lib/vapi/types/voice_cost.rb b/lib/vapi/types/voice_cost.rb index b760b391..9e40d810 100644 --- a/lib/vapi/types/voice_cost.rb +++ b/lib/vapi/types/voice_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Voice-synthesis cost for a call, including voice, character usage, and amount. class VoiceCost < Internal::Types::Model field :voice, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :characters, -> { Integer }, optional: false, nullable: false diff --git a/lib/vapi/types/voice_library_voice_response.rb b/lib/vapi/types/voice_library_voice_response.rb index 67e97331..f0fc9bb8 100644 --- a/lib/vapi/types/voice_library_voice_response.rb +++ b/lib/vapi/types/voice_library_voice_response.rb @@ -3,12 +3,12 @@ module Vapi module Types class VoiceLibraryVoiceResponse < Internal::Types::Model + field :age, -> { Vapi::Types::VoiceLibraryVoiceResponseAge }, optional: true, nullable: false field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" field :name, -> { String }, optional: false, nullable: false field :public_owner_id, -> { String }, optional: true, nullable: false, api_name: "publicOwnerId" field :description, -> { String }, optional: true, nullable: false field :gender, -> { String }, optional: true, nullable: false - field :age, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false field :accent, -> { String }, optional: true, nullable: false end end diff --git a/lib/vapi/types/voice_library_voice_response_age.rb b/lib/vapi/types/voice_library_voice_response_age.rb new file mode 100644 index 00000000..6041686c --- /dev/null +++ b/lib/vapi/types/voice_library_voice_response_age.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VoiceLibraryVoiceResponseAge < Internal::Types::Model + extend Vapi::Internal::Types::Union + + member -> { String } + member -> { Integer } + end + end +end diff --git a/lib/vapi/types/voicemail_detection_backoff_plan.rb b/lib/vapi/types/voicemail_detection_backoff_plan.rb index 03c8d8dc..85c384e7 100644 --- a/lib/vapi/types/voicemail_detection_backoff_plan.rb +++ b/lib/vapi/types/voicemail_detection_backoff_plan.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Controls voicemail-detection retry timing, including when retries start, retry frequency, and maximum attempts. class VoicemailDetectionBackoffPlan < Internal::Types::Model field :start_at_seconds, -> { Integer }, optional: true, nullable: false, api_name: "startAtSeconds" field :frequency_seconds, -> { Integer }, optional: true, nullable: false, api_name: "frequencySeconds" diff --git a/lib/vapi/types/voicemail_detection_cost.rb b/lib/vapi/types/voicemail_detection_cost.rb index b9162334..c9a1ca11 100644 --- a/lib/vapi/types/voicemail_detection_cost.rb +++ b/lib/vapi/types/voicemail_detection_cost.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Voicemail-detection model cost, including provider, model, multimodal token usage, and amount. class VoicemailDetectionCost < Internal::Types::Model field :model, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false field :provider, -> { Vapi::Types::VoicemailDetectionCostProvider }, optional: false, nullable: false diff --git a/lib/vapi/types/voicemail_tool.rb b/lib/vapi/types/voicemail_tool.rb index 2851227a..25bde826 100644 --- a/lib/vapi/types/voicemail_tool.rb +++ b/lib/vapi/types/voicemail_tool.rb @@ -2,7 +2,9 @@ module Vapi module Types + # A reusable voicemail-detection tool with optional beep detection for supported calls. class VoicemailTool < Internal::Types::Model + field :latest_version, -> { String }, optional: true, nullable: false, api_name: "latestVersion" field :messages, -> { Internal::Types::Array[Vapi::Types::VoicemailToolMessagesItem] }, optional: true, nullable: false field :beep_detection_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "beepDetectionEnabled" field :id, -> { String }, optional: false, nullable: false diff --git a/lib/vapi/types/vonage_phone_number.rb b/lib/vapi/types/vonage_phone_number.rb index bd9c730e..3e0fe577 100644 --- a/lib/vapi/types/vonage_phone_number.rb +++ b/lib/vapi/types/vonage_phone_number.rb @@ -2,6 +2,8 @@ module Vapi module Types + # A Vonage phone number connected to Vapi, including its credential, routing, hooks, server settings, and lifecycle + # metadata. class VonagePhoneNumber < Internal::Types::Model field :fallback_destination, -> { Vapi::Types::VonagePhoneNumberFallbackDestination }, optional: true, nullable: false, api_name: "fallbackDestination" field :hooks, -> { Internal::Types::Array[Vapi::Types::VonagePhoneNumberHooksItem] }, optional: true, nullable: false diff --git a/lib/vapi/types/vonage_transport.rb b/lib/vapi/types/vonage_transport.rb new file mode 100644 index 00000000..4bca5c9c --- /dev/null +++ b/lib/vapi/types/vonage_transport.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class VonageTransport < Internal::Types::Model + field :conversation_type, -> { Vapi::Types::VonageTransportConversationType }, optional: true, nullable: false, api_name: "conversationType" + field :conversation_uuid, -> { String }, optional: true, nullable: false, api_name: "conversationUUID" + field :call_uuid, -> { String }, optional: true, nullable: false, api_name: "callUUID" + end + end +end diff --git a/lib/vapi/types/vonage_transport_conversation_type.rb b/lib/vapi/types/vonage_transport_conversation_type.rb new file mode 100644 index 00000000..d05d0ddb --- /dev/null +++ b/lib/vapi/types/vonage_transport_conversation_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module VonageTransportConversationType + extend Vapi::Internal::Types::Enum + + VOICE = "voice" + end + end +end diff --git a/lib/vapi/types/well_said_voice.rb b/lib/vapi/types/well_said_voice.rb index c479aaea..df971ae8 100644 --- a/lib/vapi/types/well_said_voice.rb +++ b/lib/vapi/types/well_said_voice.rb @@ -2,6 +2,8 @@ module Vapi module Types + # Configuration for synthesizing assistant speech with WellSaid, including voice and model selection, Speech + # Synthesis Markup Language support, voice libraries, chunking, caching, and fallback settings. class WellSaidVoice < Internal::Types::Model field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" field :voice_id, -> { String }, optional: false, nullable: false, api_name: "voiceId" diff --git a/lib/vapi/types/workflow_anthropic_bedrock_model.rb b/lib/vapi/types/workflow_anthropic_bedrock_model.rb index 006d2073..a66a56ff 100644 --- a/lib/vapi/types/workflow_anthropic_bedrock_model.rb +++ b/lib/vapi/types/workflow_anthropic_bedrock_model.rb @@ -2,7 +2,10 @@ module Vapi module Types + # Workflow model configuration for Anthropic through Amazon Bedrock, including model selection, thinking, + # temperature, and maximum output tokens. class WorkflowAnthropicBedrockModel < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :model, -> { Vapi::Types::WorkflowAnthropicBedrockModelModel }, optional: false, nullable: false field :thinking, -> { Vapi::Types::AnthropicThinkingConfig }, optional: true, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/workflow_anthropic_bedrock_model_model.rb b/lib/vapi/types/workflow_anthropic_bedrock_model_model.rb index 5a758be5..ee7bc74f 100644 --- a/lib/vapi/types/workflow_anthropic_bedrock_model_model.rb +++ b/lib/vapi/types/workflow_anthropic_bedrock_model_model.rb @@ -19,6 +19,7 @@ module WorkflowAnthropicBedrockModelModel CLAUDE_SONNET_4520250929 = "claude-sonnet-4-5-20250929" CLAUDE_SONNET_46 = "claude-sonnet-4-6" CLAUDE_HAIKU_4520251001 = "claude-haiku-4-5-20251001" + GLOBAL_ANTHROPIC_CLAUDE_HAIKU_4520251001_V_10 = "global.anthropic.claude-haiku-4-5-20251001-v1:0" end end end diff --git a/lib/vapi/types/workflow_anthropic_model.rb b/lib/vapi/types/workflow_anthropic_model.rb index 22b4381f..97badd94 100644 --- a/lib/vapi/types/workflow_anthropic_model.rb +++ b/lib/vapi/types/workflow_anthropic_model.rb @@ -2,7 +2,10 @@ module Vapi module Types + # Workflow model configuration for Anthropic, including model selection, thinking, temperature, and maximum output + # tokens. class WorkflowAnthropicModel < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :model, -> { Vapi::Types::WorkflowAnthropicModelModel }, optional: false, nullable: false field :thinking, -> { Vapi::Types::AnthropicThinkingConfig }, optional: true, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/workflow_anthropic_model_model.rb b/lib/vapi/types/workflow_anthropic_model_model.rb index 97fa6b77..005f753c 100644 --- a/lib/vapi/types/workflow_anthropic_model_model.rb +++ b/lib/vapi/types/workflow_anthropic_model_model.rb @@ -18,6 +18,7 @@ module WorkflowAnthropicModelModel CLAUDE_SONNET_420250514 = "claude-sonnet-4-20250514" CLAUDE_SONNET_4520250929 = "claude-sonnet-4-5-20250929" CLAUDE_SONNET_46 = "claude-sonnet-4-6" + CLAUDE_SONNET_5 = "claude-sonnet-5" CLAUDE_HAIKU_4520251001 = "claude-haiku-4-5-20251001" end end diff --git a/lib/vapi/types/workflow_credentials_item.rb b/lib/vapi/types/workflow_credentials_item.rb index a9673009..a2018341 100644 --- a/lib/vapi/types/workflow_credentials_item.rb +++ b/lib/vapi/types/workflow_credentials_item.rb @@ -38,6 +38,7 @@ class WorkflowCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class WorkflowCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/workflow_custom_model.rb b/lib/vapi/types/workflow_custom_model.rb index d1bb7b4f..acfd471b 100644 --- a/lib/vapi/types/workflow_custom_model.rb +++ b/lib/vapi/types/workflow_custom_model.rb @@ -2,7 +2,10 @@ module Vapi module Types + # Workflow model configuration for a custom language model endpoint, including URL, headers, metadata delivery, + # timeout, model, temperature, and maximum output tokens. class WorkflowCustomModel < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :metadata_send_mode, -> { Vapi::Types::WorkflowCustomModelMetadataSendMode }, optional: true, nullable: false, api_name: "metadataSendMode" field :url, -> { String }, optional: false, nullable: false field :headers, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false diff --git a/lib/vapi/types/workflow_google_model.rb b/lib/vapi/types/workflow_google_model.rb index d82ecda3..29443531 100644 --- a/lib/vapi/types/workflow_google_model.rb +++ b/lib/vapi/types/workflow_google_model.rb @@ -2,7 +2,9 @@ module Vapi module Types + # Workflow model configuration for Google, including model selection, temperature, and maximum output tokens. class WorkflowGoogleModel < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :model, -> { Vapi::Types::WorkflowGoogleModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false field :max_tokens, -> { Integer }, optional: true, nullable: false, api_name: "maxTokens" diff --git a/lib/vapi/types/workflow_google_model_model.rb b/lib/vapi/types/workflow_google_model_model.rb index 25549fea..fd21f44b 100644 --- a/lib/vapi/types/workflow_google_model_model.rb +++ b/lib/vapi/types/workflow_google_model_model.rb @@ -5,6 +5,8 @@ module Types module WorkflowGoogleModelModel extend Vapi::Internal::Types::Enum + GEMINI_35_FLASH = "gemini-3.5-flash" + GEMINI_31_FLASH_LITE = "gemini-3.1-flash-lite" GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview" GEMINI_25_PRO = "gemini-2.5-pro" GEMINI_25_FLASH = "gemini-2.5-flash" diff --git a/lib/vapi/types/workflow_open_ai_model.rb b/lib/vapi/types/workflow_open_ai_model.rb index 086fe554..7e6ceae2 100644 --- a/lib/vapi/types/workflow_open_ai_model.rb +++ b/lib/vapi/types/workflow_open_ai_model.rb @@ -2,7 +2,9 @@ module Vapi module Types + # Workflow model configuration for OpenAI, including model selection, temperature, and maximum output tokens. class WorkflowOpenAiModel < Internal::Types::Model + field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :model, -> { Vapi::Types::WorkflowOpenAiModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false field :max_tokens, -> { Integer }, optional: true, nullable: false, api_name: "maxTokens" diff --git a/lib/vapi/types/workflow_open_ai_model_model.rb b/lib/vapi/types/workflow_open_ai_model_model.rb index 0238d177..f83597e3 100644 --- a/lib/vapi/types/workflow_open_ai_model_model.rb +++ b/lib/vapi/types/workflow_open_ai_model_model.rb @@ -5,6 +5,11 @@ module Types module WorkflowOpenAiModelModel extend Vapi::Internal::Types::Enum + GPT_56_SOL = "gpt-5.6-sol" + GPT_56_TERRA = "gpt-5.6-terra" + GPT_56_LUNA = "gpt-5.6-luna" + GPT_55 = "gpt-5.5" + CHAT_LATEST = "chat-latest" GPT_54 = "gpt-5.4" GPT_54_MINI = "gpt-5.4-mini" GPT_54_NANO = "gpt-5.4-nano" @@ -118,6 +123,9 @@ module WorkflowOpenAiModelModel GPT_35_TURBO_0125_SOUTHCENTRALUS = "gpt-3.5-turbo-0125:southcentralus" GPT_35_TURBO_1106_CANADAEAST = "gpt-3.5-turbo-1106:canadaeast" GPT_35_TURBO_1106_WESTUS = "gpt-3.5-turbo-1106:westus" + GPT_41_AUSTRALIAEAST = "gpt-4.1:australiaeast" + GPT_4_O_AUSTRALIAEAST = "gpt-4o:australiaeast" + GPT_54_MINI_AUSTRALIAEAST = "gpt-5.4-mini:australiaeast" end end end diff --git a/lib/vapi/types/workflow_overrides.rb b/lib/vapi/types/workflow_overrides.rb index d26171b7..78747de8 100644 --- a/lib/vapi/types/workflow_overrides.rb +++ b/lib/vapi/types/workflow_overrides.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Per-call overrides for values used in workflow template variables. class WorkflowOverrides < Internal::Types::Model field :variable_values, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "variableValues" end diff --git a/lib/vapi/types/workflow_transcriber.rb b/lib/vapi/types/workflow_transcriber.rb index abcbd13e..bacf2474 100644 --- a/lib/vapi/types/workflow_transcriber.rb +++ b/lib/vapi/types/workflow_transcriber.rb @@ -22,6 +22,8 @@ class WorkflowTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/workflow_user_editable_credentials_item.rb b/lib/vapi/types/workflow_user_editable_credentials_item.rb index cd5bae8b..95aa49c7 100644 --- a/lib/vapi/types/workflow_user_editable_credentials_item.rb +++ b/lib/vapi/types/workflow_user_editable_credentials_item.rb @@ -38,6 +38,7 @@ class WorkflowUserEditableCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateRimeAiCredentialDto }, key: "RIME_AI" member -> { Vapi::Types::CreateRunpodCredentialDto }, key: "RUNPOD" member -> { Vapi::Types::CreateS3CredentialDto }, key: "S_3" + member -> { Vapi::Types::CreateS3CompatibleCredentialDto }, key: "S_3_COMPATIBLE" member -> { Vapi::Types::CreateSupabaseCredentialDto }, key: "SUPABASE" member -> { Vapi::Types::CreateSmallestAiCredentialDto }, key: "SMALLEST_AI" member -> { Vapi::Types::CreateTavusCredentialDto }, key: "TAVUS" @@ -47,12 +48,12 @@ class WorkflowUserEditableCredentialsItem < Internal::Types::Model member -> { Vapi::Types::CreateWebhookCredentialDto }, key: "WEBHOOK" member -> { Vapi::Types::CreateCustomCredentialDto }, key: "CUSTOM_CREDENTIAL" member -> { Vapi::Types::CreateXAiCredentialDto }, key: "XAI" + member -> { Vapi::Types::CreateMicrosoftCredentialDto }, key: "MICROSOFT" member -> { Vapi::Types::CreateNeuphonicCredentialDto }, key: "NEUPHONIC" member -> { Vapi::Types::CreateHumeCredentialDto }, key: "HUME" member -> { Vapi::Types::CreateMistralCredentialDto }, key: "MISTRAL" member -> { Vapi::Types::CreateSpeechmaticsCredentialDto }, key: "SPEECHMATICS" member -> { Vapi::Types::CreateSonioxCredentialDto }, key: "SONIOX" - member -> { Vapi::Types::CreateTrieveCredentialDto }, key: "TRIEVE" member -> { Vapi::Types::CreateGoogleCalendarOAuth2ClientCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_CLIENT" member -> { Vapi::Types::CreateGoogleCalendarOAuth2AuthorizationCredentialDto }, key: "GOOGLE_CALENDAR_OAUTH_2_AUTHORIZATION" member -> { Vapi::Types::CreateGoogleSheetsOAuth2AuthorizationCredentialDto }, key: "GOOGLE_SHEETS_OAUTH_2_AUTHORIZATION" diff --git a/lib/vapi/types/workflow_user_editable_transcriber.rb b/lib/vapi/types/workflow_user_editable_transcriber.rb index 5367be73..f2f3c0a1 100644 --- a/lib/vapi/types/workflow_user_editable_transcriber.rb +++ b/lib/vapi/types/workflow_user_editable_transcriber.rb @@ -22,6 +22,8 @@ class WorkflowUserEditableTranscriber < Internal::Types::Model member -> { Vapi::Types::OpenAiTranscriber }, key: "OPENAI" member -> { Vapi::Types::CartesiaTranscriber }, key: "CARTESIA" member -> { Vapi::Types::SonioxTranscriber }, key: "SONIOX" + member -> { Vapi::Types::XaiTranscriber }, key: "XAI" + member -> { Vapi::Types::VapiTranscriber }, key: "VAPI" end end end diff --git a/lib/vapi/types/workflow_user_editable_voice.rb b/lib/vapi/types/workflow_user_editable_voice.rb index 6bf64fae..9c21ac40 100644 --- a/lib/vapi/types/workflow_user_editable_voice.rb +++ b/lib/vapi/types/workflow_user_editable_voice.rb @@ -28,6 +28,8 @@ class WorkflowUserEditableVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/workflow_voice.rb b/lib/vapi/types/workflow_voice.rb index 2d3343ac..3cd96197 100644 --- a/lib/vapi/types/workflow_voice.rb +++ b/lib/vapi/types/workflow_voice.rb @@ -28,6 +28,8 @@ class WorkflowVoice < Internal::Types::Model member -> { Vapi::Types::SesameVoice }, key: "SESAME" member -> { Vapi::Types::InworldVoice }, key: "INWORLD" member -> { Vapi::Types::MinimaxVoice }, key: "MINIMAX" + member -> { Vapi::Types::XaiVoice }, key: "XAI" + member -> { Vapi::Types::MicrosoftVoice }, key: "MICROSOFT" end end end diff --git a/lib/vapi/types/xai_model.rb b/lib/vapi/types/xai_model.rb index 59b7a3d6..b79385d4 100644 --- a/lib/vapi/types/xai_model.rb +++ b/lib/vapi/types/xai_model.rb @@ -2,10 +2,13 @@ module Vapi module Types + # Configuration for generating assistant responses with xAI, including model, prompts, tools, knowledge-base access, + # and generation settings. class XaiModel < Internal::Types::Model field :messages, -> { Internal::Types::Array[Vapi::Types::OpenAiMessage] }, optional: true, nullable: false field :tools, -> { Internal::Types::Array[Vapi::Types::XaiModelToolsItem] }, optional: true, nullable: false field :tool_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "toolIds" + field :tool_refs, -> { Internal::Types::Array[Vapi::Types::ToolRef] }, optional: true, nullable: false, api_name: "toolRefs" field :knowledge_base, -> { Vapi::Types::CreateCustomKnowledgeBaseDto }, optional: true, nullable: false, api_name: "knowledgeBase" field :model, -> { Vapi::Types::XaiModelModel }, optional: false, nullable: false field :temperature, -> { Integer }, optional: true, nullable: false diff --git a/lib/vapi/types/xai_model_model.rb b/lib/vapi/types/xai_model_model.rb index 0e4d72d5..602c0b61 100644 --- a/lib/vapi/types/xai_model_model.rb +++ b/lib/vapi/types/xai_model_model.rb @@ -10,6 +10,9 @@ module XaiModelModel GROK_3 = "grok-3" GROK_4_FAST_REASONING = "grok-4-fast-reasoning" GROK_4_FAST_NON_REASONING = "grok-4-fast-non-reasoning" + GROK_4200309_REASONING = "grok-4.20-0309-reasoning" + GROK_4200309_NON_REASONING = "grok-4.20-0309-non-reasoning" + GROK_43 = "grok-4.3" end end end diff --git a/lib/vapi/types/xai_transcriber.rb b/lib/vapi/types/xai_transcriber.rb new file mode 100644 index 00000000..15b8c071 --- /dev/null +++ b/lib/vapi/types/xai_transcriber.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + class XaiTranscriber < Internal::Types::Model + field :model, -> { Vapi::Types::XaiTranscriberModel }, optional: true, nullable: false + field :language, -> { Vapi::Types::XaiTranscriberLanguage }, optional: true, nullable: false + field :fallback_plan, -> { Vapi::Types::FallbackTranscriberPlan }, optional: true, nullable: false, api_name: "fallbackPlan" + end + end +end diff --git a/lib/vapi/types/xai_transcriber_language.rb b/lib/vapi/types/xai_transcriber_language.rb new file mode 100644 index 00000000..080bdfa7 --- /dev/null +++ b/lib/vapi/types/xai_transcriber_language.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Vapi + module Types + module XaiTranscriberLanguage + extend Vapi::Internal::Types::Enum + + AR = "ar" + CS = "cs" + DA = "da" + NL = "nl" + EN = "en" + FIL = "fil" + FR = "fr" + DE = "de" + HI = "hi" + ID = "id" + IT = "it" + JA = "ja" + KO = "ko" + MK = "mk" + MS = "ms" + FA = "fa" + PL = "pl" + PT = "pt" + RO = "ro" + RU = "ru" + ES = "es" + SV = "sv" + TH = "th" + TR = "tr" + VI = "vi" + end + end +end diff --git a/lib/vapi/types/xai_transcriber_model.rb b/lib/vapi/types/xai_transcriber_model.rb new file mode 100644 index 00000000..3c14957b --- /dev/null +++ b/lib/vapi/types/xai_transcriber_model.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Vapi + module Types + module XaiTranscriberModel + extend Vapi::Internal::Types::Enum + + DEFAULT = "default" + end + end +end diff --git a/lib/vapi/types/xai_voice.rb b/lib/vapi/types/xai_voice.rb new file mode 100644 index 00000000..7ac7a161 --- /dev/null +++ b/lib/vapi/types/xai_voice.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vapi + module Types + class XaiVoice < Internal::Types::Model + field :caching_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "cachingEnabled" + field :voice_id, -> { Vapi::Types::XaiVoiceVoiceId }, optional: false, nullable: false, api_name: "voiceId" + field :language, -> { Vapi::Types::XaiVoiceLanguage }, optional: true, nullable: false + field :speed, -> { Integer }, optional: true, nullable: false + field :chunk_plan, -> { Vapi::Types::ChunkPlan }, optional: true, nullable: false, api_name: "chunkPlan" + field :fallback_plan, -> { Vapi::Types::FallbackPlan }, optional: true, nullable: false, api_name: "fallbackPlan" + end + end +end diff --git a/lib/vapi/types/xai_voice_language.rb b/lib/vapi/types/xai_voice_language.rb new file mode 100644 index 00000000..667501c8 --- /dev/null +++ b/lib/vapi/types/xai_voice_language.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Vapi + module Types + module XaiVoiceLanguage + extend Vapi::Internal::Types::Enum + + AUTO = "auto" + EN = "en" + AR_EG = "ar-EG" + AR_SA = "ar-SA" + AR_AE = "ar-AE" + BN = "bn" + ZH = "zh" + FR = "fr" + DE = "de" + HI = "hi" + ID = "id" + IT = "it" + JA = "ja" + KO = "ko" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + RU = "ru" + ES_MX = "es-MX" + ES_ES = "es-ES" + TR = "tr" + VI = "vi" + end + end +end diff --git a/lib/vapi/types/xai_voice_voice_id.rb b/lib/vapi/types/xai_voice_voice_id.rb new file mode 100644 index 00000000..fbd60aae --- /dev/null +++ b/lib/vapi/types/xai_voice_voice_id.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Vapi + module Types + module XaiVoiceVoiceId + extend Vapi::Internal::Types::Enum + + EVE = "eve" + ARA = "ara" + REX = "rex" + SAL = "sal" + LEO = "leo" + end + end +end diff --git a/lib/vapi/types/xss_security_filter.rb b/lib/vapi/types/xss_security_filter.rb index 987cdc03..81825726 100644 --- a/lib/vapi/types/xss_security_filter.rb +++ b/lib/vapi/types/xss_security_filter.rb @@ -2,6 +2,7 @@ module Vapi module Types + # Filters potential cross-site scripting (XSS) patterns from transcripts. class XssSecurityFilter < Internal::Types::Model field :type, -> { Vapi::Types::XssSecurityFilterType }, optional: false, nullable: false end diff --git a/lib/vapi/version.rb b/lib/vapi/version.rb index e9df04c3..710ec7ee 100644 --- a/lib/vapi/version.rb +++ b/lib/vapi/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Vapi - VERSION = "2.0.0" + VERSION = "0.0.0-fern-placeholder" end diff --git a/reference.md b/reference.md index 5642a1d8..39e65f25 100644 --- a/reference.md +++ b/reference.md @@ -10,6 +10,7 @@ ## Files ## StructuredOutputs ## Insight +## Board ## Eval ## ObservabilityScorecard ## ProviderResources From 6f5aac733c90534853f1e53b34399f34fdb89cad Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:32:29 +0000 Subject: [PATCH 2/4] [fern-autoversion] SDK regeneration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- .fern/metadata.json | 2 +- lib/vapi/client.rb | 2 +- lib/vapi/version.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index c4423281..89eb7f3f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -7,5 +7,5 @@ "rubocopVariableNumberStyle": "disabled" }, "originGitCommit": "261d7f2a0130b6fa215176821c6f0a82e6445a26", - "sdkVersion": "0.0.0-fern-placeholder" + "sdkVersion": "2.0.1" } \ No newline at end of file diff --git a/lib/vapi/client.rb b/lib/vapi/client.rb index a604d3b1..586ed57c 100644 --- a/lib/vapi/client.rb +++ b/lib/vapi/client.rb @@ -10,7 +10,7 @@ def initialize(token:, base_url: nil) @raw_client = Vapi::Internal::Http::RawClient.new( base_url: base_url || Vapi::Environment::DEFAULT, headers: { - "User-Agent" => "vapi_server_sdk/0.0.0-fern-placeholder", + "User-Agent" => "vapi_server_sdk/2.0.1", "X-Fern-Language" => "Ruby", Authorization: "Bearer #{token}" } diff --git a/lib/vapi/version.rb b/lib/vapi/version.rb index 710ec7ee..fd820e25 100644 --- a/lib/vapi/version.rb +++ b/lib/vapi/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Vapi - VERSION = "0.0.0-fern-placeholder" + VERSION = "2.0.1" end From c769ed60fb1e8484ec2ddf474ca413a4495046d3 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:32:29 +0000 Subject: [PATCH 3/4] [fern-replay] advance lockfile --- .fern/replay.lock | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index dd93ea37..1b4698be 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -6,5 +6,11 @@ generations: timestamp: 2026-07-31T17:31:21.263Z cli_version: unknown generator_versions: {} -current_generation: caafff76234c021adc32f2c1a74e286394bc8b77 + - commit_sha: 677415879820cfe21a84cfad213d1be43c78c270 + tree_hash: 9193624fa7c027a9000ea37143316216727a7109 + timestamp: 2026-07-31T17:31:21.843Z + cli_version: unknown + generator_versions: + fernapi/fern-ruby-sdk: 1.1.13 +current_generation: 677415879820cfe21a84cfad213d1be43c78c270 patches: [] From 405aedfbd048256dcfad63a00f50f03a6eea7491 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:32:29 +0000 Subject: [PATCH 4/4] SDK regeneration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog.md b/changelog.md index 997d09ec..18c74549 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,5 @@ +## [2.0.1] - 2026-07-31 + ## 2.0.0 - 2026-06-24 ### Breaking Changes * **`Vapi::Types::CartesiaExperimentalControlsSpeedZero`** has been renamed to **`Vapi::Types::CartesiaSpeedControlZero`**. Update any references to use the new name.