diff --git a/app/controllers/concerns/publisher_controller.rb b/app/controllers/concerns/publisher_controller.rb
index dbfcd2f1ea4b2e3eb871a503fed4efb606874fe5..5199dca2fe3c0f7e14ea3425539bdaa8e35e962b 100644
--- a/app/controllers/concerns/publisher_controller.rb
+++ b/app/controllers/concerns/publisher_controller.rb
@@ -21,9 +21,9 @@ module PublisherController
   extend ActiveSupport::Concern
 
   included do
-    before_action :authenticate, only: [:show_all_drafts, :show_liked_learning_objects, :show_liked_collections]
-    before_action :set_publisher, only: [:show_all_drafts, :show_all_learning_objects, :show_all_collections, :show_liked_learning_objects, :show_liked_collections]
-    before_action -> { authorize @publisher }, only: [:show_all_drafts, :show_liked_learning_objects, :show_liked_collections]
+    before_action :authenticate, only: [:show_all_drafts, :show_liked_learning_objects, :show_submitted_learning_objects, :show_liked_collections]
+    before_action :set_publisher, only: [:show_all_drafts, :show_all_learning_objects, :show_submitted_learning_objects, :show_all_collections, :show_liked_learning_objects, :show_liked_collections]
+    before_action -> { authorize @publisher }, only: [:show_all_drafts, :show_submitted_learning_objects, :show_liked_learning_objects, :show_liked_collections]
   end
 
   def show_all_drafts
@@ -35,6 +35,10 @@ module PublisherController
     render json: LearningObject.where(publisher: @publisher, state: LearningObject.states[:published])
   end
 
+  def show_submitted_learning_objects
+    render json: LearningObject.where(publisher: @publisher, state: LearningObject.states[:submitted])
+  end
+
   def show_all_collections
     render json: ::UserPolicy::Scope.new(current_user, @publisher, Collection).resolve.where(owner: @publisher)
   end
@@ -59,7 +63,7 @@ module PublisherController
   end
 
   def set_publisher
-    user, id = request.path.split('/')[2, 3]
+    user, id = request.path.split('/')[2, 2]
     return nil unless %w(users institutions).include? user
     publisher_model = user.singularize.classify.constantize
     @publisher = publisher_model.find(id)
diff --git a/app/policies/publisher_policy.rb b/app/policies/publisher_policy.rb
index 631b5eccfb79d362773e6d120033a53d7932f1bd..5df13047229f9888c91ba76bca2937845f97258a 100644
--- a/app/policies/publisher_policy.rb
+++ b/app/policies/publisher_policy.rb
@@ -24,7 +24,7 @@ module PublisherPolicy
 
     def initialize(user, record, scope)
       @user = user
-      @record = user
+      @record = record
       @scope = scope
     end
 
@@ -47,6 +47,10 @@ module PublisherPolicy
     record if same_user? || user_can_edit?
   end
 
+  def show_submitted_learning_objects?
+    record if same_user? || user_can_edit?
+  end
+
   def show_liked_collections?
     record if same_user? || user_can_edit?
   end
diff --git a/config/routes.rb b/config/routes.rb
index 422d0df906892627913c7d3e217d0acaa965396a..6d447546019431034f88f0fedb5edd17b8747687 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -100,6 +100,7 @@ Rails.application.routes.draw do
       get 'drafts', as: :get_drafts, action: :show_all_drafts
       get 'learning_objects', as: :get_learning_objects, action: :show_all_learning_objects
       get 'learning_objects/liked', as: :get_liked_learning_objects, action: :show_liked_learning_objects
+      get 'submissions', as: :get_submitted_learning_objects, action: :show_submitted_learning_objects
       get 'collections', as: :get_collections, action: :show_all_collections
       get 'collections/liked', as: :get_liked_collections, action: :show_liked_collections
     end
diff --git a/spec/acceptance/users_spec.rb b/spec/acceptance/users_spec.rb
index e381d1b1400963e79233ece6798b7cd0483f7f3d..df0c1526f1e813a7667b85b19cd1b3e9f0b11c2a 100644
--- a/spec/acceptance/users_spec.rb
+++ b/spec/acceptance/users_spec.rb
@@ -292,6 +292,21 @@ resource 'Users' do
     end
   end
 
+  get '/v1/users/:id/submissions' do
+    include_context "authenticate_user"
+
+    before do
+      create(:learning_object, publisher: @user, state: LearningObject.states[:submitted])
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing an user’s submissions' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
   delete '/v1/auth' do
     include_context "authenticate_user"