diff --git a/app/graphql/types/packages/package_status_enum.rb b/app/graphql/types/packages/package_status_enum.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2e6ea5d0a5040660a6807de422c4271adefc4f97
--- /dev/null
+++ b/app/graphql/types/packages/package_status_enum.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module Types
+  module Packages
+    class PackageStatusEnum < BaseEnum
+      graphql_name 'PackageStatus'
+
+      ::Packages::Package.statuses.keys.each do |status|
+        value status.to_s.upcase, description: "Packages with a #{status} status", value: status.to_s
+      end
+    end
+  end
+end
diff --git a/app/graphql/types/packages/package_type.rb b/app/graphql/types/packages/package_type.rb
index 9ea4c4b74ea69576a4e22b90fe6635612d10e2a4..659af4a7057ac802ee7898ced7ff2be64f87b690 100644
--- a/app/graphql/types/packages/package_type.rb
+++ b/app/graphql/types/packages/package_type.rb
@@ -25,6 +25,7 @@ class PackageType < ::Types::BaseObject
       field :versions, ::Types::Packages::PackageType.connection_type, null: true,
         description: 'The other versions of the package.',
         deprecated: { reason: 'This field is now only returned in the PackageDetailsType', milestone: '13.11' }
+      field :status, Types::Packages::PackageStatusEnum, null: false, description: 'Package status.'
 
       def project
         Gitlab::Graphql::Loaders::BatchModelLoader.new(Project, object.project_id).find
diff --git a/changelogs/unreleased/285467-package-registry-graphql-api-4.yml b/changelogs/unreleased/285467-package-registry-graphql-api-4.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6b239152b10dfabbabcbaba68b5054e9b1319e14
--- /dev/null
+++ b/changelogs/unreleased/285467-package-registry-graphql-api-4.yml
@@ -0,0 +1,5 @@
+---
+title: Add missing status type and enum to package graphql type
+merge_request: 61002
+author:
+type: added
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index f88ed6dfcd60a94e94bb574bce0ca80f3a0e9262..cf35326480df7d4a51c0c294ecfd1b40fa14f075 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -10365,6 +10365,7 @@ Represents a package in the Package Registry. Note that this type is in beta and
 | <a id="packagepackagetype"></a>`packageType` | [`PackageTypeEnum!`](#packagetypeenum) | Package type. |
 | <a id="packagepipelines"></a>`pipelines` | [`PipelineConnection`](#pipelineconnection) | Pipelines that built the package. (see [Connections](#connections)) |
 | <a id="packageproject"></a>`project` | [`Project!`](#project) | Project where the package is stored. |
+| <a id="packagestatus"></a>`status` | [`PackageStatus!`](#packagestatus) | Package status. |
 | <a id="packagetags"></a>`tags` | [`PackageTagConnection`](#packagetagconnection) | Package tags. (see [Connections](#connections)) |
 | <a id="packageupdatedat"></a>`updatedAt` | [`Time!`](#time) | Date of most recent update. |
 | <a id="packageversion"></a>`version` | [`String`](#string) | Version string. |
@@ -10399,6 +10400,7 @@ Represents a package details in the Package Registry. Note that this type is in
 | <a id="packagedetailstypepackagetype"></a>`packageType` | [`PackageTypeEnum!`](#packagetypeenum) | Package type. |
 | <a id="packagedetailstypepipelines"></a>`pipelines` | [`PipelineConnection`](#pipelineconnection) | Pipelines that built the package. (see [Connections](#connections)) |
 | <a id="packagedetailstypeproject"></a>`project` | [`Project!`](#project) | Project where the package is stored. |
+| <a id="packagedetailstypestatus"></a>`status` | [`PackageStatus!`](#packagestatus) | Package status. |
 | <a id="packagedetailstypetags"></a>`tags` | [`PackageTagConnection`](#packagetagconnection) | Package tags. (see [Connections](#connections)) |
 | <a id="packagedetailstypeupdatedat"></a>`updatedAt` | [`Time!`](#time) | Date of most recent update. |
 | <a id="packagedetailstypeversion"></a>`version` | [`String`](#string) | Version string. |
@@ -14049,6 +14051,15 @@ Values for sorting package.
 | <a id="packagesortversion_asc"></a>`VERSION_ASC` | Ordered by version in ascending order. |
 | <a id="packagesortversion_desc"></a>`VERSION_DESC` | Ordered by version in descending order. |
 
+### `PackageStatus`
+
+| Value | Description |
+| ----- | ----------- |
+| <a id="packagestatusdefault"></a>`DEFAULT` | Packages with a default status. |
+| <a id="packagestatuserror"></a>`ERROR` | Packages with a error status. |
+| <a id="packagestatushidden"></a>`HIDDEN` | Packages with a hidden status. |
+| <a id="packagestatusprocessing"></a>`PROCESSING` | Packages with a processing status. |
+
 ### `PackageTypeEnum`
 
 | Value | Description |
diff --git a/spec/fixtures/api/schemas/graphql/packages/package_details.json b/spec/fixtures/api/schemas/graphql/packages/package_details.json
index f59b67ba64a6cf5cdea3ca17cf48086bfb3acda3..89e73d48c6093a024e32132f70c8a9d3207e0157 100644
--- a/spec/fixtures/api/schemas/graphql/packages/package_details.json
+++ b/spec/fixtures/api/schemas/graphql/packages/package_details.json
@@ -12,7 +12,8 @@
     "tags",
     "pipelines",
     "versions",
-    "metadata"
+    "metadata",
+    "status"
   ],
   "properties": {
     "id": {
@@ -92,6 +93,10 @@
         "edges": { "type": "array" },
         "nodes": { "type": "array" }
       }
+    },
+    "status": {
+      "type": ["string"],
+      "enum": ["DEFAULT", "HIDDEN", "PROCESSING", "ERROR"]
     }
   }
 }
diff --git a/spec/graphql/types/packages/package_status_enum_spec.rb b/spec/graphql/types/packages/package_status_enum_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..71d05da35ea5d43b5d458152db62766bd3408b79
--- /dev/null
+++ b/spec/graphql/types/packages/package_status_enum_spec.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe GitlabSchema.types['PackageStatus'] do
+  it 'exposes all package statuses' do
+    expect(described_class.values.keys).to contain_exactly(*%w[DEFAULT HIDDEN PROCESSING ERROR])
+  end
+end
diff --git a/spec/graphql/types/packages/package_type_spec.rb b/spec/graphql/types/packages/package_type_spec.rb
index 544d6ddc3af7d61a8da09e51257ce64350baaa0f..07573044abb12fea30bd1ee2e2d7f5cd243f0866 100644
--- a/spec/graphql/types/packages/package_type_spec.rb
+++ b/spec/graphql/types/packages/package_type_spec.rb
@@ -9,6 +9,7 @@
       created_at updated_at
       project
       tags pipelines metadata versions
+      status
     ]
 
     expect(described_class).to include_graphql_fields(*expected_fields)