diff --git a/Gemfile b/Gemfile
index 0eba7eb2f654cbe61af629582699d1c854428d43..6652d1e35b2396ef01f0475feaa422b4ec36e275 100644
--- a/Gemfile
+++ b/Gemfile
@@ -39,7 +39,8 @@ gem "pygments.rb",  git: "https://github.com/gitlabhq/pygments.rb.git", branch:
 gem "github-linguist", "~> 2.3.4" , require: "linguist"
 
 # API
-gem "grape", "~> 0.2.1"
+gem "grape", "~> 0.3.1"
+gem "grape-entity", "~> 0.2.0"
 
 # Format dates and times
 # based on human-friendly examples
diff --git a/Gemfile.lock b/Gemfile.lock
index 3ca39aeae28b6afe11e03470519768945a0b1cf1..93abf857cb83437558e3c2674ada494d96f83754 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -182,8 +182,9 @@ GEM
       pyu-ruby-sasl (~> 0.0.3.1)
       rubyntlm (~> 0.1.1)
     gitlab_yaml_db (1.0.0)
-    grape (0.2.2)
+    grape (0.3.1)
       activesupport
+      grape-entity (~> 0.2.0)
       hashie (~> 1.2)
       multi_json (>= 1.3.2)
       multi_xml
@@ -191,6 +192,7 @@ GEM
       rack-accept
       rack-mount
       virtus
+    grape-entity (0.2.0)
     growl (1.0.3)
     guard (1.5.4)
       listen (>= 0.4.2)
@@ -481,7 +483,8 @@ DEPENDENCIES
   gitlab_omniauth-ldap (= 1.0.2)
   gitlab_yaml_db (= 1.0.0)
   grack!
-  grape (~> 0.2.1)
+  grape (~> 0.3.1)
+  grape-entity (~> 0.2.0)
   grit!
   grit_ext!
   growl
diff --git a/lib/api.rb b/lib/api.rb
index d9dce7c70ccb648f153e6db30cbe87681f11af3a..da31a1519dd6da891d3724586d96bb02c7bf62d8 100644
--- a/lib/api.rb
+++ b/lib/api.rb
@@ -9,7 +9,6 @@ module Gitlab
     end
 
     format :json
-    error_format :json
     helpers APIHelpers
     
     mount Groups