diff --git a/changelogs/unreleased/26875-builds-api-endpoint-skipped-scope.yml b/changelogs/unreleased/26875-builds-api-endpoint-skipped-scope.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3d6400cba76173e71853cdd452a0a0ac5316869b
--- /dev/null
+++ b/changelogs/unreleased/26875-builds-api-endpoint-skipped-scope.yml
@@ -0,0 +1,4 @@
+---
+title: Add all available statuses to scope filter for project builds endpoint
+merge_request:
+author: George Andrinopoulos
diff --git a/lib/api/builds.rb b/lib/api/builds.rb
index 44fe0fc4a95aff85770673ae568d71d65e4fcda4..5b76913fe454dbc13541901b818a246594a48a08 100644
--- a/lib/api/builds.rb
+++ b/lib/api/builds.rb
@@ -11,7 +11,7 @@ module API
       helpers do
         params :optional_scope do
           optional :scope, types: [String, Array[String]], desc: 'The scope of builds to show',
-                           values:  ['pending', 'running', 'failed', 'success', 'canceled'],
+                           values: ::CommitStatus::AVAILABLE_STATUSES,
                            coerce_with: ->(scope) {
                              if scope.is_a?(String)
                                [scope]
diff --git a/spec/requests/api/builds_spec.rb b/spec/requests/api/builds_spec.rb
index 38aef7f276767278f933c725b8ed26154f495657..76a10a2374c41ff81d5aee2e99b3a1d52c9c4f92 100644
--- a/spec/requests/api/builds_spec.rb
+++ b/spec/requests/api/builds_spec.rb
@@ -16,6 +16,8 @@ describe API::Builds, api: true do
     let(:query) { '' }
 
     before do
+      create(:ci_build, :skipped, pipeline: pipeline)
+
       get api("/projects/#{project.id}/builds?#{query}", api_user)
     end
 
@@ -49,6 +51,18 @@ describe API::Builds, api: true do
         end
       end
 
+      context 'filter project with scope skipped' do
+        let(:query) { 'scope=skipped' }
+        let(:json_build) { json_response.first }
+
+        it 'return builds with status skipped' do
+          expect(response).to have_http_status 200
+          expect(json_response).to be_an Array
+          expect(json_response.length).to eq 1
+          expect(json_build['status']).to eq 'skipped'
+        end
+      end
+
       context 'filter project with array of scope elements' do
         let(:query) { 'scope[0]=pending&scope[1]=running' }