diff --git a/app/controllers/v1/user_progresses_controller.rb b/app/controllers/v1/user_progresses_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9c5473e31d5d668181590fb3a43bf89f5818c191
--- /dev/null
+++ b/app/controllers/v1/user_progresses_controller.rb
@@ -0,0 +1,34 @@
+class V1::UserProgressesController < ApplicationController
+    include ::DeletedObjectsController
+    include ::Paginator
+
+    def index
+        progresses = Progress.joins("INNER JOIN requirements ON progresses.requirement_id = requirements.id")
+        .select("requirements.description, requirements.goal, progresses.user_id, progresses.requirement_id, progresses.counter, progresses.created_at, progresses.updated_at")
+        .where("counter < goal AND progresses.user_id = ?", params["user_id"])
+
+        if (progresses.length < 4)
+            all_progresses = Requirement.select("*").where("id IN (1,2,13)")
+
+        else
+            all_progresses = []
+            descriptions = []
+
+            last_string = "inicio"
+
+            progresses.all.each do |p|
+            
+                if (!p.requirement.description.last(5).include? last_string.last(5))
+                    all_progresses.append(p)
+                end
+
+                last_string = p.requirement.description    
+            end
+        end
+
+        render json: all_progresses
+    end
+
+
+
+end
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index a58747c8ab92da4bc47d19503dd073837e9ec5c2..3261438547e8cdfbf002189f5599d64dea45d3b6 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -247,5 +247,6 @@ Rails.application.routes.draw do
     get 'submissions/user_submissions/:user_id', to: 'submissions#user_submissions'
     get 'submissions/all_users_submissions/:user_id', to: 'submissions#all_users_submissions'
     get 'learning_objects_complaints/queue_user/:user_id', to: 'learning_objects_complaints#queue_user'
+    get 'user_progresses/:user_id', to: 'user_progresses#index'
   end
 end