diff --git a/hydra-api.yaml b/hydra-api.yaml
index 6b8096e8..7eb05bd2 100644
--- a/hydra-api.yaml
+++ b/hydra-api.yaml
@@ -170,6 +170,16 @@ paths:
                   description: when set to true the project is displayed in the web interface
                   type: boolean
       responses:
+        '400':
+          description: bad request
+          content:
+            application/json:
+              schema:
+                type: object
+                properties:
+                  error:
+                    description: error message
+                    type: string
         '403':
           description: request unauthorized
           content:
diff --git a/src/lib/Hydra/Controller/Project.pm b/src/lib/Hydra/Controller/Project.pm
index ea0be34b..f02dcc34 100644
--- a/src/lib/Hydra/Controller/Project.pm
+++ b/src/lib/Hydra/Controller/Project.pm
@@ -136,7 +136,7 @@ sub updateProject {
     my $owner = $project->owner;
     if ($c->check_user_roles('admin') and defined $c->stash->{params}->{owner}) {
         $owner = trim $c->stash->{params}->{owner};
-        error($c, "The user name ‘$owner’ does not exist.")
+        badRequest($c, "The user name ‘$owner’ does not exist.")
             unless defined $c->model('DB::Users')->find($owner);
     }
 
diff --git a/src/lib/Hydra/Helper/CatalystUtils.pm b/src/lib/Hydra/Helper/CatalystUtils.pm
index b1c51b82..ec19b61d 100644
--- a/src/lib/Hydra/Helper/CatalystUtils.pm
+++ b/src/lib/Hydra/Helper/CatalystUtils.pm
@@ -11,7 +11,7 @@ our @ISA = qw(Exporter);
 our @EXPORT = qw(
     getBuild getPreviousBuild getNextBuild getPreviousSuccessfulBuild
     searchBuildsAndEvalsForJobset
-    error notFound gone accessDenied
+    error notFound gone accessDenied badRequest
     forceLogin requireUser requireProjectOwner requireRestartPrivileges requireAdmin requirePost isAdmin isProjectOwner
     requireBumpPrivileges
     requireCancelBuildPrivileges
@@ -155,6 +155,10 @@ sub accessDenied {
     error($c, $msg, 403);
 }
 
+sub badRequest {
+    my ($c, $msg) = @_;
+    error($c, $msg, 400);
+}
 
 sub backToReferer {
     my ($c) = @_;