 .../content_moderation/content_moderation.module   | 10 ++++++
 .../src/Functional/ModerationStateResourceTest.php | 38 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)

diff --git a/core/modules/content_moderation/content_moderation.module b/core/modules/content_moderation/content_moderation.module
index 921fe2a..758d518 100644
--- a/core/modules/content_moderation/content_moderation.module
+++ b/core/modules/content_moderation/content_moderation.module
@@ -248,3 +248,13 @@ function content_moderation_workflow_insert(WorkflowInterface $entity) {
 function content_moderation_workflow_update(WorkflowInterface $entity) {
   content_moderation_workflow_insert($entity);
 }
+
+/**
+ * Implements hook_rest_resource_alter().
+ */
+function content_moderation_rest_resource_alter(&$definitions) {
+  // ContentModerationState is an internal entity type. Therefore it should also
+  // not be exposed via REST.
+  // @see \Drupal\content_moderation\ContentModerationStateAccessControlHandler
+  unset($definitions['entity:content_moderation_state']);
+}
diff --git a/core/modules/content_moderation/tests/src/Functional/ModerationStateResourceTest.php b/core/modules/content_moderation/tests/src/Functional/ModerationStateResourceTest.php
new file mode 100644
index 0000000..e6d0ddb
--- /dev/null
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationStateResourceTest.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Drupal\Tests\content_moderation\Functional;
+
+use Drupal\Component\Plugin\Exception\PluginNotFoundException;
+use Drupal\rest\Entity\RestResourceConfig;
+use Drupal\rest\RestResourceConfigInterface;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * @group content_moderation
+ */
+class ModerationStateResourceTest extends BrowserTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['rest', 'content_moderation'];
+
+  /**
+   * @see content_moderation_rest_resource_alter()
+   */
+  public function testCreateContentModerationStateResource() {
+    $this->setExpectedException(PluginNotFoundException::class, 'The "entity:content_moderation_state" plugin does not exist.');
+    RestResourceConfig::create([
+      'id' => 'entity.content_moderation_state',
+      'granularity' => RestResourceConfigInterface::RESOURCE_GRANULARITY,
+      'configuration' => [
+        'methods' => ['GET'],
+        'formats' => ['json'],
+        'authentication' => ['cookie'],
+      ],
+    ])
+      ->enable()
+      ->save();
+  }
+
+}
