diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 9f2320465..33eb9c7f4 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -94,8 +94,15 @@ class Api::V1::AccountsController < Api::BaseController def settings_params permitted = params.permit(:auto_resolve_after, :auto_resolve_message, :auto_resolve_ignore_waiting, :audio_transcriptions, :auto_resolve_label, conversation_required_attributes: []) - permitted[:captain_models] = params[:captain_models].to_unsafe_h if params[:captain_models].present? - permitted[:captain_features] = params[:captain_features].to_unsafe_h if params[:captain_features].present? + + if params[:captain_models].present? + existing_models = @account.captain_models || {} + permitted[:captain_models] = existing_models.merge(params[:captain_models].to_unsafe_h) + end + if params[:captain_features].present? + existing_features = @account.captain_features || {} + permitted[:captain_features] = existing_features.merge(params[:captain_features].to_unsafe_h) + end permitted end