diff --git a/app/controllers/concerns/sociable_controller.rb b/app/controllers/concerns/sociable_controller.rb
index 5f8f1e0921ceb1cee0258084012d4804648b69e9..2bdc8081e9de9b2103bedbadb027aae56c92ceda 100644
--- a/app/controllers/concerns/sociable_controller.rb
+++ b/app/controllers/concerns/sociable_controller.rb
@@ -6,26 +6,18 @@ module SociableController
   VIEWABLE_METHODS = [:show]
 
   included do
-    before_action :authenticate_user!, only: [:like, :unlike]
-    before_action :authorize_sociable!, only: [:like, :unlike]
+    before_action :authenticate_user!, only: [:like]
+    before_action :authorize_sociable!, only: [:like]
     before_action :view_object!, only: VIEWABLE_METHODS
   end
 
-  # POST /v1/learning_objects/1/like
-  # POST /v1/learning_objects/1/like.json
+  # PUT /v1/learning_objects/1/like
+  # PUT /v1/learning_objects/1/like.json
   def like
     if !sociable.liked? current_user
       sociable.like current_user
       render json: {count: sociable.likes.count}, status: :created
-    else
-      render status: :forbidden
-    end
-  end
-
-  # DELETE /v1/learning_objects/1/unlike
-  # DELETE /v1/learning_objects/1/unlike.json
-  def unlike
-    if sociable.liked? current_user
+    elsif sociable.liked? current_user
       sociable.dislike current_user
       render json: {count: sociable.likes.count}, status: :ok
     else
diff --git a/app/policies/sociable_policy.rb b/app/policies/sociable_policy.rb
index a0b54bcc5e9c986fdddf5e0fb970509b30892357..392f3793932a1e92ce3fbd0acd62598b1046f7e7 100644
--- a/app/policies/sociable_policy.rb
+++ b/app/policies/sociable_policy.rb
@@ -4,10 +4,6 @@ module SociablePolicy
     record if user_exists?
   end
 
-  def unlike?
-    record if user_exists?
-  end
-
   def liked?
     record if user_exists?
   end
diff --git a/config/routes.rb b/config/routes.rb
index ca60c9e1f8af743950e78af5539c08c242e33b88..222f2bd8e6727c844215ee0955020bda88f694a4 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -39,8 +39,7 @@ Rails.application.routes.draw do
 
   concern :sociable do
     member do
-      post 'like', as: :like, action: :like
-      delete 'like', as: :unlike, action: :unlike
+      put 'like', as: :like, action: :like
     end
   end
 
diff --git a/spec/acceptance/collections_spec.rb b/spec/acceptance/collections_spec.rb
index a3d636d5740b375499246654f24765cd0958ad56..3b6db6d86aab132b648ca61647fe7c34caa88eeb 100644
--- a/spec/acceptance/collections_spec.rb
+++ b/spec/acceptance/collections_spec.rb
@@ -124,7 +124,7 @@ resource 'Collections' do
   end
 
 
-  post '/v1/collections/:id/like' do
+  put '/v1/collections/:id/like' do
     include_context "authenticate_user"
 
     let(:id) { collections.first.id }
@@ -138,7 +138,7 @@ resource 'Collections' do
     end
   end
 
-  delete '/v1/collections/:id/like' do
+  put '/v1/collections/:id/like' do
     include_context "authenticate_user"
 
     let(:id) { collections.first.id }
diff --git a/spec/acceptance/learning_objects_spec.rb b/spec/acceptance/learning_objects_spec.rb
index fe74369478f25a71cde4d7055f0d7c005a6f76e9..b3354842560ab72b70d0183a3982738f3aba5bc1 100644
--- a/spec/acceptance/learning_objects_spec.rb
+++ b/spec/acceptance/learning_objects_spec.rb
@@ -102,7 +102,7 @@ resource 'Learning Objects' do
     end
   end
 
-  post '/v1/learning_objects/:id/like' do
+  put '/v1/learning_objects/:id/like' do
     include_context "authenticate_user"
 
     let(:id) { learning_objects.first.id }
@@ -116,7 +116,7 @@ resource 'Learning Objects' do
     end
   end
 
-  delete '/v1/learning_objects/:id/like' do
+  put '/v1/learning_objects/:id/like' do
     include_context "authenticate_user"
 
     let(:id) { learning_objects.first.id }
@@ -167,7 +167,7 @@ resource 'Learning Objects' do
     end
   end
 
-  
+
   delete '/v1/learning_objects/:id' do
     include_context "authenticate_user"
 
diff --git a/spec/acceptance/users_spec.rb b/spec/acceptance/users_spec.rb
index ba7c818d5877a7bf51244dbb03971e5f5c79fd09..89f684467b91a8b95a7e495b955ffd16de43ca78 100644
--- a/spec/acceptance/users_spec.rb
+++ b/spec/acceptance/users_spec.rb
@@ -108,6 +108,99 @@ resource 'Users' do
     end
   end
 
+  get '/v1/users/:id/following/:type' do
+    include_context "authenticate_user"
+
+    before do
+      @collection = create(:collection, privacy: "public")
+      @follow = create(:follow, user: @user, followable: @collection)
+    end
+
+    let(:id) { @user.id }
+    let(:type) { "Collection" }
+
+    example 'Showing what the user is following' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id/reviews/received' do
+    include_context "authenticate_user"
+
+    before do
+      @learning_object = create(:learning_object, publisher: @user)
+      create(:review, reviewable: @learning_object)
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing a user’s received reviews' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id/reviews/own' do
+    include_context "authenticate_user"
+
+    before do
+      create(:review, user: @user)
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing a user’s own reviews' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id/learning_objects/liked' do
+    include_context "authenticate_user"
+
+    before do
+      create(:like, user: @user)
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing a user’s liked learning objects' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id/learning_objects' do
+    include_context "authenticate_user"
+
+    before do
+      create(:learning_object, publisher: @user)
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing a user’s learning objects' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id/drafts' do
+    include_context "authenticate_user"
+
+    before do
+      create(:learning_object, publisher: @user, state: LearningObject.states[:draft])
+    end
+
+    let(:id) { @user.id }
+
+    example 'Showing a user’s drafts' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
+
   delete '/v1/auth' do
     include_context "authenticate_user"