diff --git a/lib/api/issues.rb b/lib/api/issues.rb
index c9124649cbbf34f51908f54e958078f8ae2248cc..91f65882f47d51b8277e7a3bbdb84e55049ac5f1 100644
--- a/lib/api/issues.rb
+++ b/lib/api/issues.rb
@@ -37,8 +37,6 @@ module API
         optional :labels, type: String, desc: 'Comma-separated list of label names'
         optional :due_date, type: String, desc: 'Date time string in the format YEAR-MONTH-DAY'
         optional :confidential, type: Boolean, desc: 'Boolean parameter if the issue should be confidential'
-        optional :state_event, type: String, values: %w[open close],
-                               desc: 'State of the issue'
       end
     end
 
@@ -172,6 +170,7 @@ module API
         optional :title, type: String, desc: 'The title of an issue'
         optional :updated_at, type: DateTime,
                               desc: 'Date time when the issue was updated. Available only for admins and project owners.'
+        optional :state_event, type: String, values: %w[reopen close], desc: 'State of the issue'
         use :issue_params
         at_least_one_of :title, :description, :assignee_id, :milestone_id,
                         :labels, :created_at, :due_date, :confidential, :state_event
diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb
index 5c80dd98dc7bfe25f68819587bfd5a3655ae5ebb..a786dc9edb3bf2a03e762f1c1ba3f5fa304e649a 100644
--- a/spec/requests/api/issues_spec.rb
+++ b/spec/requests/api/issues_spec.rb
@@ -932,6 +932,13 @@ describe API::Issues, api: true  do
       expect(json_response['state']).to eq "closed"
     end
 
+    it 'reopens a project isssue' do
+      put api("/projects/#{project.id}/issues/#{closed_issue.id}", user), state_event: 'reopen'
+
+      expect(response).to have_http_status(200)
+      expect(json_response['state']).to eq 'reopened'
+    end
+
     context 'when an admin or owner makes the request' do
       it 'accepts the update date to be set' do
         update_time = 2.weeks.ago