diff --git a/app/controllers/v1/reviews_controller.rb b/app/controllers/v1/reviews_controller.rb
index 189d6a2a86dfc110678b32077feb32db8cf832f9..136adbc0fcb2257809be01d2b86fb6aced7bd1fd 100644
--- a/app/controllers/v1/reviews_controller.rb
+++ b/app/controllers/v1/reviews_controller.rb
@@ -2,8 +2,8 @@ class V1::ReviewsController < ApplicationController
   include ::DeletedObjectsController
   include ::ResourceModel
 
-  before_action :set_review, only: [:show, :destroy, :rate]
-  before_action :authenticate_user!, only: [:create, :rate, :destroy]
+  before_action :set_review, only: [:show, :destroy, :rate, :update]
+  before_action :authenticate_user!, only: [:create, :rate, :destroy, :update]
 
   # GET /v1/collections/1/reviews
   def index
@@ -29,6 +29,26 @@ class V1::ReviewsController < ApplicationController
     end
   end
 
+  # PUT /v1/learning_objects/1/reviews/1
+  # PUT /v1/learning_objects/1/reviews/1.json
+  def update
+      ratings_params = review_params
+      rp = ratings_params.delete(:review_ratings_attributes)
+      if @review.update(ratings_params)
+        @review.review_ratings.each do |r|
+          rp.each do |s|
+            if r.rating_id == s[:rating_id]
+              r.value = s[:value]
+              r.save
+            end
+          end
+        end
+        render json: @review, status: :ok
+      else
+        render json:  @review.errors, status: :unprocessable_entity
+      end
+  end
+
   def process_creation(review)
     # Store errors
     errors = []
diff --git a/config/routes.rb b/config/routes.rb
index 28bc740e66572e7cc3a4cdca51901032d2fe894c..c79ff197ec8a3f4249527e1024b4a19e39de901f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -30,7 +30,7 @@ Rails.application.routes.draw do
   end
 
   concern :reviewable do
-    resources :reviews, only: [:index, :create, :destroy], concerns: :deletable do
+    resources :reviews, only: [:index, :create, :update, :destroy], concerns: :deletable do
       member do
         post :rate
       end