Class: Vapi::TestSuitesClient

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::TestSuitesClient

Parameters:



19
20
21
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 19

def initialize(request_client:)
  @request_client = request_client
end

Instance Attribute Details

#request_clientVapi::RequestClient (readonly)

Returns:



15
16
17
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 15

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:



438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 438

def test_suite_controller_create(name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil,
                                 request_options: nil)
  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

#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:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 40

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)
  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

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

Parameters:

Returns:



466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 466

def test_suite_controller_find_one(id:, request_options: nil)
  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

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

Parameters:

Returns:



489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 489

def test_suite_controller_remove(id:, request_options: nil)
  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

#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:



876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
# File 'lib/vapi_server_sdk/test_suites/client.rb', line 876

def test_suite_controller_update(id:, name: nil, phone_number_id: nil, tester_plan: nil, target_plan: nil,
                                 request_options: nil)
  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