diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index b62afb4bb4c622c5ce0b437ff85bf4a405e0711d..8673350b927e0b7753b65bcfcf663de9d66fd274 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -353,7 +353,9 @@ module API
     class ProjectWithAccess < Project
       expose :permissions do
         expose :project_access, using: Entities::ProjectAccess do |project, options|
+          project = Project.find_by(project[:id])
           project.project_members.find_by(user_id: options[:user].id)
+          ]
         end
 
         expose :group_access, using: Entities::GroupAccess do |project, options|
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 77e407b54c54f95920fb8b22a4375a4bcc06eb8b..3a1837effd8a234bc8433d9c45bb6872be79fd13 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -287,6 +287,23 @@ module API
 
     # Projects helpers
 
+    def filter_params(projects)
+      project_entries = []
+
+      # Removes the redundant information of the object
+      projects.each do |project|
+        entry = {
+          id: project.id,
+          http_url_to_repo: project.http_url_to_repo,
+          name_with_namespace: project.name_with_namespace
+        }
+
+        project_entries << entry
+      end
+
+      project_entries
+    end
+
     def filter_projects(projects)
       # If the archived parameter is passed, limit results accordingly
       if params[:archived].present?