diff --git a/lib/api/access_requests.rb b/lib/api/access_requests.rb
index 87915b194807c76235c1e9eb83d89fb53b0d43ec..ed723b94cfdd46521b0c295b6ce0b25c1057e40f 100644
--- a/lib/api/access_requests.rb
+++ b/lib/api/access_requests.rb
@@ -48,7 +48,7 @@ module API
         put ':id/access_requests/:user_id/approve' do
           source = find_source(source_type, params[:id])
 
-          member = ::Members::ApproveAccessRequestService.new(source, current_user, declared(params)).execute
+          member = ::Members::ApproveAccessRequestService.new(source, current_user, declared_params).execute
 
           status :created
           present member.user, with: Entities::Member, member: member
diff --git a/lib/api/broadcast_messages.rb b/lib/api/broadcast_messages.rb
index fb2a41480113d71390b2ca2d5f18a192e541ec4d..b6281a7f0ac742116395a4d622d2cca79e81ae52 100644
--- a/lib/api/broadcast_messages.rb
+++ b/lib/api/broadcast_messages.rb
@@ -36,8 +36,7 @@ module API
         optional :font,      type: String,   desc: 'Foreground color'
       end
       post do
-        create_params = declared(params, include_missing: false).to_h
-        message = BroadcastMessage.create(create_params)
+        message = BroadcastMessage.create(declared_params(include_missing: false))
 
         if message.persisted?
           present message, with: Entities::BroadcastMessage
@@ -73,9 +72,8 @@ module API
       end
       put ':id' do
         message = find_message
-        update_params = declared(params, include_missing: false).to_h
 
-        if message.update(update_params)
+        if message.update(declared_params(include_missing: false))
           present message, with: Entities::BroadcastMessage
         else
           render_validation_error!(message)
diff --git a/lib/api/commits.rb b/lib/api/commits.rb
index 2f2cf7694817e313ef6dc4675a6ee2e0d3a00f4c..f412e1da1bf95c8d870011985ec4ba3e0e52c694 100644
--- a/lib/api/commits.rb
+++ b/lib/api/commits.rb
@@ -53,7 +53,7 @@ module API
       post ":id/repository/commits" do
         authorize! :push_code, user_project
 
-        attrs = declared(params)
+        attrs = declared_params
         attrs[:source_branch] = attrs[:branch_name]
         attrs[:target_branch] = attrs[:branch_name]
         attrs[:actions].map! do |action|
diff --git a/lib/api/deploy_keys.rb b/lib/api/deploy_keys.rb
index 425df2c176a2ae996803628fa08660315a4a57af..853607308412a80e83fb0f562673b1bda4b98690 100644
--- a/lib/api/deploy_keys.rb
+++ b/lib/api/deploy_keys.rb
@@ -82,7 +82,7 @@ module API
         end
         post ":id/#{path}/:key_id/enable" do
           key = ::Projects::EnableDeployKeyService.new(user_project,
-                                                        current_user, declared(params)).execute
+                                                        current_user, declared_params).execute
 
           if key
             present key, with: Entities::SSHKey
diff --git a/lib/api/environments.rb b/lib/api/environments.rb
index 819f80d836590786e95c3e0d36496c52a1bad700..00c901937b1c278d2e690cebd1aa6c4b8e960652 100644
--- a/lib/api/environments.rb
+++ b/lib/api/environments.rb
@@ -32,8 +32,7 @@ module API
       post ':id/environments' do
         authorize! :create_environment, user_project
 
-        create_params = declared(params, include_parent_namespaces: false).to_h
-        environment = user_project.environments.create(create_params)
+        environment = user_project.environments.create(declared_params)
 
         if environment.persisted?
           present environment, with: Entities::Environment
@@ -55,8 +54,8 @@ module API
         authorize! :update_environment, user_project
 
         environment = user_project.environments.find(params[:environment_id])
-        
-        update_params = declared(params, include_missing: false).extract!(:name, :external_url).to_h
+
+        update_params = declared_params(include_missing: false).extract!(:name, :external_url)
         if environment.update(update_params)
           present environment, with: Entities::Environment
         else
diff --git a/lib/api/labels.rb b/lib/api/labels.rb
index 97218054f3764cb2b01048e4cc985f3ced2b6a4c..652786d4e3eba436d881c3d1346138be8ef708ec 100644
--- a/lib/api/labels.rb
+++ b/lib/api/labels.rb
@@ -30,10 +30,7 @@ module API
         conflict!('Label already exists') if label
 
         priority = params.delete(:priority)
-        label_params = declared(params,
-                                include_parent_namespaces: false,
-                                include_missing: false).to_h
-        label = user_project.labels.create(label_params)
+        label = user_project.labels.create(declared_params(include_missing: false))
 
         if label.valid?
           label.prioritize!(user_project, priority) if priority
@@ -77,11 +74,9 @@ module API
 
         update_priority = params.key?(:priority)
         priority = params.delete(:priority)
-        label_params = declared(params,
-                                include_parent_namespaces: false,
-                                include_missing: false).to_h
+        label_params = declared_params(include_missing: false)
         # Rename new name to the actual label attribute name
-        label_params[:name] = label_params.delete('new_name') if label_params.key?('new_name')
+        label_params[:name] = label_params.delete(:new_name) if label_params.key?(:new_name)
 
         render_validation_error!(label) unless label.update(label_params)
 
diff --git a/lib/api/members.rb b/lib/api/members.rb
index b80818f0eb6272a24f023474632fb6a238b7b22e..2d4d5cedf20da28f73b3eb57418a8d1628ab491c 100644
--- a/lib/api/members.rb
+++ b/lib/api/members.rb
@@ -120,7 +120,7 @@ module API
           if member.nil?
             { message: "Access revoked", id: params[:user_id].to_i }
           else
-            ::Members::DestroyService.new(source, current_user, declared(params)).execute
+            ::Members::DestroyService.new(source, current_user, declared_params).execute
 
             present member.user, with: Entities::Member, member: member
           end
diff --git a/lib/api/notification_settings.rb b/lib/api/notification_settings.rb
index a70a7e7107390bf5851947a22dc6d39d2d9ec259..c5e9b3ad69b19ce25f5dca04610fb25d525a2b34 100644
--- a/lib/api/notification_settings.rb
+++ b/lib/api/notification_settings.rb
@@ -33,10 +33,9 @@ module API
         begin
           notification_setting.transaction do
             new_notification_email = params.delete(:notification_email)
-            declared_params = declared(params, include_missing: false).to_h
 
             current_user.update(notification_email: new_notification_email) if new_notification_email
-            notification_setting.update(declared_params)
+            notification_setting.update(declared_params(include_missing: false))
           end
         rescue ArgumentError => e # catch level enum error
           render_api_error! e.to_s, 400
@@ -81,9 +80,7 @@ module API
           notification_setting = current_user.notification_settings_for(source)
 
           begin
-            declared_params = declared(params, include_missing: false).to_h
-
-            notification_setting.update(declared_params)
+            notification_setting.update(declared_params(include_missing: false))
           rescue ArgumentError => e # catch level enum error
             render_api_error! e.to_s, 400
           end
diff --git a/lib/api/project_hooks.rb b/lib/api/project_hooks.rb
index eef343c2ac6c691b5ca0145f91e6e3d38b65fe26..2b36ef7c426ea9ed950b2f9374f8ebb472e8a731 100644
--- a/lib/api/project_hooks.rb
+++ b/lib/api/project_hooks.rb
@@ -51,8 +51,7 @@ module API
         use :project_hook_properties
       end
       post ":id/hooks" do
-        new_hook_params = declared(params, include_missing: false, include_parent_namespaces: false).to_h
-        hook = user_project.hooks.new(new_hook_params)
+        hook = user_project.hooks.new(declared_params(include_missing: false))
 
         if hook.save
           present hook, with: Entities::ProjectHook
@@ -71,12 +70,9 @@ module API
         use :project_hook_properties
       end
       put ":id/hooks/:hook_id" do
-        hook = user_project.hooks.find(params[:hook_id])
-
-        new_params = declared(params, include_missing: false, include_parent_namespaces: false).to_h
-        new_params.delete('hook_id')
+        hook = user_project.hooks.find(params.delete(:hook_id))
 
-        if hook.update_attributes(new_params)
+        if hook.update_attributes(declared_params(include_missing: false))
           present hook, with: Entities::ProjectHook
         else
           error!("Invalid url given", 422) if hook.errors[:url].present?
diff --git a/lib/api/system_hooks.rb b/lib/api/system_hooks.rb
index b6bfff9f20f2d2387ac96387a48dca8c167f539a..708ec8cfe70fccc626dfd1dd685049f74b61051e 100644
--- a/lib/api/system_hooks.rb
+++ b/lib/api/system_hooks.rb
@@ -27,7 +27,7 @@ module API
         optional :enable_ssl_verification, type: Boolean, desc: "Do SSL verification when triggering the hook"
       end
       post do
-        hook = SystemHook.new declared(params, include_missing: false).to_h
+        hook = SystemHook.new(declared_params(include_missing: false))
 
         if hook.save
           present hook, with: Entities::Hook
diff --git a/lib/api/tags.rb b/lib/api/tags.rb
index bf2a199ce21d62cafb0e8af0e4a8e6c17a34a8e1..cd33f9a9903ebba8b4235ec103661b7e15b9352c 100644
--- a/lib/api/tags.rb
+++ b/lib/api/tags.rb
@@ -40,10 +40,9 @@ module API
       end
       post ':id/repository/tags' do
         authorize_push_project
-        create_params = declared(params)
 
         result = CreateTagService.new(user_project, current_user).
-          execute(create_params[:tag_name], create_params[:ref], create_params[:message], create_params[:release_description])
+          execute(params[:tag_name], params[:ref], params[:message], params[:release_description])
 
         if result[:status] == :success
           present result[:tag],
diff --git a/lib/api/users.rb b/lib/api/users.rb
index 298c401a816348ac5285e8af434a0f180145bd38..aea328d2f8f7d4a040ee01a86e033b1a1d14f5b3 100644
--- a/lib/api/users.rb
+++ b/lib/api/users.rb
@@ -335,7 +335,7 @@ module API
         requires :id, type: String, desc: 'The user ID'
       end
       get ':id/events' do
-        user = User.find_by(id: declared(params).id)
+        user = User.find_by(id: params[:id])
         not_found!('User') unless user
 
         events = user.events.