Class: Vapi::AsyncTestSuitesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/vapi_server_sdk/test_suites/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request_client:) ⇒ Vapi::AsyncTestSuitesClient

Parameters:



908
909
910
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 908

def initialize(request_client:)
  @request_client = request_client
end

Instance Attribute Details

#request_clientVapi::AsyncRequestClient (readonly)



904
905
906
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 904

def request_client
  @request_client
end

Instance Method Details

#test_suite_controller_create(name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil, request_options: nil) ⇒ Vapi::TestSuite

Parameters:

  • name (String) (defaults to: nil)

    This is the name of the test suite.

  • phone_number_id (String) (defaults to: nil)

    This is the phone number ID associated with this test suite.

  • tester_plan (Hash) (defaults to: nil)

    Override the default tester plan by providing custom assistant configuration for the test agent. We recommend only using this if you are confident, as we have already set sensible defaults on the tester plan.Request of type Vapi::TesterPlan, as a Hash

    * :assistant (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
      * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
      * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    * :assistant_id (String)
    * :assistant_overrides (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
      * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
      * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
      * :variable_values (Hash{String => Object})
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    
  • target_plan (Hash) (defaults to: nil)

    These are the configuration for the assistant / phone number that is being tested.Request of type Vapi::TargetPlan, as a Hash

    * :phone_number_id (String)
    * :phone_number (Hash)
      * :provider (String)
      * :number (String)
    * :assistant_id (String)
    * :assistant_overrides (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
      * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
      * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
      * :variable_values (Hash{String => Object})
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    
  • request_options (Vapi::RequestOptions) (defaults to: nil)

Returns:



1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 1329

def test_suite_controller_create(name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil,
                                 request_options: nil)
  Async do
    response = @request_client.conn.post do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = {
        **(request_options&.additional_body_parameters || {}),
        name: name,
        phoneNumberId: phone_number_id,
        testerPlan: tester_plan,
        targetPlan: target_plan
      }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
    end
    Vapi::TestSuite.from_json(json_object: response.body)
  end
end

#test_suite_controller_find_all_paginated(page: nil, sort_order: nil, limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil) ⇒ Vapi::TestSuitesPaginatedResponse

Parameters:

  • page (Float) (defaults to: nil)

    This is the page number to return. Defaults to 1.

  • sort_order (Vapi::TestSuites::TestSuiteControllerFindAllPaginatedRequestSortOrder) (defaults to: nil)

    This is the sort order for pagination. Defaults to ‘DESC’.

  • limit (Float) (defaults to: nil)

    This is the maximum number of items to return. Defaults to 100.

  • created_at_gt (DateTime) (defaults to: nil)

    This will return items where the createdAt is greater than the specified value.

  • created_at_lt (DateTime) (defaults to: nil)

    This will return items where the createdAt is less than the specified value.

  • created_at_ge (DateTime) (defaults to: nil)

    This will return items where the createdAt is greater than or equal to the specified value.

  • created_at_le (DateTime) (defaults to: nil)

    This will return items where the createdAt is less than or equal to the specified value.

  • updated_at_gt (DateTime) (defaults to: nil)

    This will return items where the updatedAt is greater than the specified value.

  • updated_at_lt (DateTime) (defaults to: nil)

    This will return items where the updatedAt is less than the specified value.

  • updated_at_ge (DateTime) (defaults to: nil)

    This will return items where the updatedAt is greater than or equal to the specified value.

  • updated_at_le (DateTime) (defaults to: nil)

    This will return items where the updatedAt is less than or equal to the specified value.

  • request_options (Vapi::RequestOptions) (defaults to: nil)

Returns:



929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 929

def test_suite_controller_find_all_paginated(page: nil, sort_order: nil, limit: nil, created_at_gt: nil,
                                             created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      req.params = {
        **(request_options&.additional_query_parameters || {}),
        "page": page,
        "sortOrder": sort_order,
        "limit": limit,
        "createdAtGt": created_at_gt,
        "createdAtLt": created_at_lt,
        "createdAtGe": created_at_ge,
        "createdAtLe": created_at_le,
        "updatedAtGt": updated_at_gt,
        "updatedAtLt": updated_at_lt,
        "updatedAtGe": updated_at_ge,
        "updatedAtLe": updated_at_le
      }.compact
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
    end
    Vapi::TestSuitesPaginatedResponse.from_json(json_object: response.body)
  end
end

#test_suite_controller_find_one(id:, request_options: nil) ⇒ Vapi::TestSuite

Parameters:

Returns:



1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 1359

def test_suite_controller_find_one(id:, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
    end
    Vapi::TestSuite.from_json(json_object: response.body)
  end
end

#test_suite_controller_remove(id:, request_options: nil) ⇒ Vapi::TestSuite

Parameters:

Returns:



1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 1384

def test_suite_controller_remove(id:, request_options: nil)
  Async do
    response = @request_client.conn.delete do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
    end
    Vapi::TestSuite.from_json(json_object: response.body)
  end
end

#test_suite_controller_update(id:, name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil, request_options: nil) ⇒ Vapi::TestSuite

Parameters:

  • id (String)
  • name (String) (defaults to: nil)

    This is the name of the test suite.

  • phone_number_id (String) (defaults to: nil)

    This is the phone number ID associated with this test suite.

  • tester_plan (Hash) (defaults to: nil)

    Override the default tester plan by providing custom assistant configuration for the test agent. We recommend only using this if you are confident, as we have already set sensible defaults on the tester plan.Request of type Vapi::TesterPlan, as a Hash

    * :assistant (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
      * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
      * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    * :assistant_id (String)
    * :assistant_overrides (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
      * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
      * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
      * :variable_values (Hash{String => Object})
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    
  • target_plan (Hash) (defaults to: nil)

    These are the configuration for the assistant / phone number that is being tested.Request of type Vapi::TargetPlan, as a Hash

    * :phone_number_id (String)
    * :phone_number (Hash)
      * :provider (String)
      * :number (String)
    * :assistant_id (String)
    * :assistant_overrides (Hash)
      * :transcriber (Hash)
      * :model (Hash)
      * :voice (Hash)
      * :first_message (String)
      * :first_message_interruptions_enabled (Boolean)
      * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
      * :voicemail_detection (Hash)
      * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
      * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
      * :silence_timeout_seconds (Float)
      * :max_duration_seconds (Float)
      * :background_sound (Hash)
      * :background_denoising_enabled (Boolean)
      * :model_output_in_messages_enabled (Boolean)
      * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
      * :observability_plan (Hash)
        * :provider (String)
        * :tags (Array<String>)
        * :metadata (Hash{String => Object})
      * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
      * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
      * :variable_values (Hash{String => Object})
      * :name (String)
      * :voicemail_message (String)
      * :end_call_message (String)
      * :end_call_phrases (Array<String>)
      * :compliance_plan (Hash)
        * :hipaa_enabled (Boolean)
        * :pci_enabled (Boolean)
      * :metadata (Hash{String => Object})
      * :background_speech_denoising_plan (Hash)
        * :smart_denoising_plan (Hash)
          * :enabled (Boolean)
        * :fourier_denoising_plan (Hash)
          * :enabled (Boolean)
          * :media_detection_enabled (Boolean)
          * :static_threshold (Float)
          * :baseline_offset_db (Float)
          * :window_size_ms (Float)
          * :baseline_percentile (Float)
      * :analysis_plan (Hash)
        * :min_messages_threshold (Float)
        * :summary_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
        * :structured_data_plan (Hash)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :schema (Hash)
            * :type (Vapi::JsonSchemaType)
            * :items (Hash{String => Object})
            * :properties (Hash{String => Object})
            * :description (String)
            * :pattern (String)
            * :format (Vapi::JsonSchemaFormat)
            * :required (Array<String>)
            * :enum (Array<String>)
            * :title (String)
          * :timeout_seconds (Float)
        * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
        * :success_evaluation_plan (Hash)
          * :rubric (Vapi::SuccessEvaluationPlanRubric)
          * :messages (Array<Hash{String => Object}>)
          * :enabled (Boolean)
          * :timeout_seconds (Float)
      * :artifact_plan (Hash)
        * :recording_enabled (Boolean)
        * :recording_format (Vapi::ArtifactPlanRecordingFormat)
        * :video_recording_enabled (Boolean)
        * :pcap_enabled (Boolean)
        * :pcap_s_3_path_prefix (String)
        * :transcript_plan (Hash)
          * :enabled (Boolean)
          * :assistant_name (String)
          * :user_name (String)
        * :recording_path (String)
      * :message_plan (Hash)
        * :idle_messages (Array<String>)
        * :idle_message_max_spoken_count (Float)
        * :idle_message_reset_count_on_user_speech_enabled (Boolean)
        * :idle_timeout_seconds (Float)
        * :silence_timeout_message (String)
      * :start_speaking_plan (Hash)
        * :wait_seconds (Float)
        * :smart_endpointing_enabled (Hash)
        * :smart_endpointing_plan (Hash)
        * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
        * :transcription_endpointing_plan (Hash)
          * :on_punctuation_seconds (Float)
          * :on_no_punctuation_seconds (Float)
          * :on_number_seconds (Float)
      * :stop_speaking_plan (Hash)
        * :num_words (Float)
        * :voice_seconds (Float)
        * :backoff_seconds (Float)
        * :acknowledgement_phrases (Array<String>)
        * :interruption_phrases (Array<String>)
      * :monitor_plan (Hash)
        * :listen_enabled (Boolean)
        * :listen_authentication_enabled (Boolean)
        * :control_enabled (Boolean)
        * :control_authentication_enabled (Boolean)
      * :credential_ids (Array<String>)
      * :server (Hash)
        * :timeout_seconds (Float)
        * :url (String)
        * :headers (Hash{String => Object})
        * :backoff_plan (Hash)
          * :type (Hash{String => Object})
          * :max_retries (Float)
          * :base_delay_seconds (Float)
      * :keypad_input_plan (Hash)
        * :enabled (Boolean)
        * :timeout_seconds (Float)
        * :delimiters (Vapi::KeypadInputPlanDelimiters)
    
  • request_options (Vapi::RequestOptions) (defaults to: nil)

Returns:



1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 1773

def test_suite_controller_update(id:, name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil,
                                 request_options: nil)
  Async do
    response = @request_client.conn.patch do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = {
        **(request_options&.additional_body_parameters || {}),
        name: name,
        phoneNumberId: phone_number_id,
        testerPlan: tester_plan,
        targetPlan: target_plan
      }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
    end
    Vapi::TestSuite.from_json(json_object: response.body)
  end
end