diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md
index c34451c2b7de6e3a8f65ad214fa897508596570f..572b5512e011e5e913290e6c45bc6e02f43e7f77 100644
--- a/.gitlab/issue_templates/default.md
+++ b/.gitlab/issue_templates/default.md
@@ -1,11 +1,7 @@
 ### Problem/Motivation
 
 #### Steps to reproduce
-```
-  Given 
-   When 
-   Then 
-```
+
 
 ### Proposed resolution
 
@@ -17,6 +13,7 @@
 - [ ] Automated unit/functional testing coverage
 - [ ] Developer Documentation support on feature change/addition
 - [ ] User Guide Documentation support on feature change/addition
+- [ ] UX/UI designer responsibilities
 - [ ] Accessibility and Readability
 - [ ] Code review from 1 Varbase core team member
 - [ ] Full testing and approval
diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md
index edcee8fbd134f37fa33ceb92dac367cf5e42ae27..b500bc92ea17dccc80d550eec4d243bf092c6866 100644
--- a/.gitlab/merge_request_templates/default.md
+++ b/.gitlab/merge_request_templates/default.md
@@ -5,6 +5,7 @@
 - [ ] Automated unit/functional testing coverage
 - [ ] Developer Documentation support on feature change/addition
 - [ ] User Guide Documentation support on feature change/addition
+- [ ] UX/UI designer responsibilities
 - [ ] Accessibility and Readability
 - [ ] Code review from 1 Varbase core team member
 - [ ] Full testing and approval
diff --git a/README.md b/README.md
index 24004c538d0b568ea8f61268d63f30851af2e175..3b657a82c4e5a5100ef583e3d7b7671b11d64a6d 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ Can be installed in the extra components installation step with Varbase.
 ## Use With [Varbase](https://www.drupal.org/project/varbase) Distribution:
 This module is best used with [Varbase](https://www.drupal.org/project/varbase) distribution.
 
-Can be installed with any Drupal 8/9 site.
+Can be installed with any Drupal site.
  Even if installed with the Minimal or Standard profile.
 However, using it with [Varbase](https://www.drupal.org/project/varbase) gives you way much more cool stuff!
 
diff --git a/composer.json b/composer.json
index e509f3f7a51d551c040abde63775381a9135e788..3210eba7dd65380654a123b934c28c6858eb54e3 100644
--- a/composer.json
+++ b/composer.json
@@ -32,7 +32,7 @@
     "composer/installers": "~2.0",
     "oomphinc/composer-installers-extender": "~2.0",
     "cweagans/composer-patches": "~1.0",
-    "drupal/core": "~9.5.0 || ~10.1.0",
+    "drupal/core": "~9",
     "vardot/entity-definition-update-manager": "~1.0",
     "vardot/module-installer-factory": "~1.0",
     "drupal/consumers": "~1.0",
diff --git a/drupalci.yml b/drupalci.yml
deleted file mode 100644
index a4f934aea458e93fb9ce86973fb0ce57f03ba154..0000000000000000000000000000000000000000
--- a/drupalci.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-build:
-  assessment:
-    validate_codebase:
-      container_command:
-        commands:
-          - cd ${SOURCE_DIR}
-          - composer config repositories.drupal composer https://packages.drupal.org/8
-          - composer config --unset repositories.0
-          - composer config repositories.assets composer https://asset-packagist.org
-          - composer require oomphinc/composer-installers-extender:~2.0
-          - composer require cweagans/composer-patches:~1.0
-          - composer config extra.enable-patching true
-          - composer config extra.composer-exit-on-patch-failure true
-          - composer require --dev phpspec/prophecy-phpunit:*
-          - composer require phpunit/phpunit:~9.0 --with-all-dependencies
-          - composer config --json extra.installer-types '["npm-asset", "bower-asset"]'
-          - composer config --json extra.installer-paths.libraries\/swagger-ui\/dist '["npm-asset/swagger-ui-dist"]'
-          - composer config --unset extra.installer-paths.libraries\/\{\$name\}
-          - composer config --json extra.installer-paths.libraries\/\{\$name\} '["type:drupal-library", "type:bower-asset", "type:npm-asset"]'
-          - rm composer.lock
-          - composer require npm-asset/swagger-ui-dist:~3.0
-          - cat composer.json
-          - find ${SOURCE_DIR}/libraries | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"
-      phplint: {  }
-      csslint:
-        halt-on-fail: false
-      eslint:
-        # A test must pass eslinting standards check in order to continue processing.
-        halt-on-fail: false
-      phpcs:
-        # phpcs will use core's specified version of Coder.
-        sniff-all-files: false
-        halt-on-fail: false
-      phpstan:
-        halt-on-fail: false
-    testing:
-      run_tests.javascript:
-        types: 'PHPUnit-FunctionalJavascript'
-        testgroups: "varbase_api"
-        suppress-deprecations: true
-        halt-on-fail: false
diff --git a/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php b/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php
deleted file mode 100644
index deb6b6fa464b366838ac2e373b17ad02e6402f87..0000000000000000000000000000000000000000
--- a/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php
+++ /dev/null
@@ -1,318 +0,0 @@
-<?php
-
-namespace Drupal\Tests\varbase_api\FunctionalJavascript;
-
-use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
-
-/**
- * Tests Varbase API Entity Operations.
- *
- * @group varbase_api
- */
-class VarbaseApiEntityOperationsTest extends WebDriverTestBase {
-
-  use StringTranslationTrait;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $profile = 'standard';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $defaultTheme = 'olivero';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected static $modules = [
-    'varbase_api',
-    'node',
-    'taxonomy',
-    'media',
-    'user',
-    'block',
-    'block_content',
-  ];
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
-    // Insall the Claro admin theme.
-    $this->container->get('theme_installer')->install(['claro']);
-
-    // Set the Claro theme as the default admin theme.
-    $this->config('system.theme')->set('admin', 'claro')->save();
-
-  }
-
-  /**
-   * Check Enabled JSON:API Entity Operation links for Content Types.
-   */
-  public function testCheckEnabledJsonApiEntityOperationsForContentTypes() {
-
-    // Create an content admin user who can only manage content types.
-    $content_admin_user = $this->drupalCreateUser([
-      'view the administration theme',
-      'access toolbar',
-      'administer content types',
-      'administer nodes',
-      'administer node fields',
-      'administer node display',
-      'administer node form display',
-      'access content overview',
-    ]);
-    $this->drupalLogin($content_admin_user);
-
-    // When navigating to the Content Types page.
-    $this->drupalGet('admin/structure/types');
-
-    $content_types_text = $this->t('Content Types');
-    $this->assertSession()->pageTextContains($content_types_text);
-
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-    // Create a Site Admin user. Who can View JSON and the View API Docs.
-    $site_admin_user = $this->drupalCreateUser([
-      'view the administration theme',
-      'access toolbar',
-      'administer content types',
-      'administer nodes',
-      'administer node fields',
-      'administer node display',
-      'administer node form display',
-      'access content overview',
-      'access view json entity operation',
-      'access view api docs entity operation',
-      'access openapi api docs',
-    ]);
-    $this->drupalLogin($site_admin_user);
-
-    // When navigating to the Content Types page.
-    $this->drupalGet('admin/structure/types');
-
-    $content_types_text = $this->t('Content Types');
-    $this->assertSession()->pageTextContains($content_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-    // Given that the root super user 1 was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // When navigating to the Content Types page.
-    $this->drupalGet('admin/structure/types');
-
-    $content_types_text = $this->t('Content Types');
-    $this->assertSession()->pageTextContains($content_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-  }
-
-  /**
-   * Check Enabled JSON:API Entity Operation links for media Types.
-   */
-  public function testCheckEnabledJsonApiEntityOperationsForMediaTypes() {
-
-    // Create an content admin user who can only manage media types.
-    $content_admin_user = $this->drupalCreateUser([
-      'view the administration theme',
-      'access toolbar',
-      'administer media types',
-      'administer media',
-      'administer media fields',
-      'administer media display',
-      'administer media form display',
-      'access media overview',
-    ]);
-    $this->drupalLogin($content_admin_user);
-
-    // When navigating to the Media types page.
-    $this->drupalGet('admin/structure/media');
-
-    $media_types_text = $this->t('Media types');
-    $this->assertSession()->pageTextContains($media_types_text);
-
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-    // Create a Site Admin user. Who can View JSON and the View API Docs.
-    $site_admin_user = $this->drupalCreateUser([
-      'view the administration theme',
-      'access toolbar',
-      'administer media types',
-      'administer media',
-      'administer media fields',
-      'administer media display',
-      'administer media form display',
-      'access media overview',
-      'access view json entity operation',
-      'access view api docs entity operation',
-      'access openapi api docs',
-    ]);
-    $this->drupalLogin($site_admin_user);
-
-    // When navigating to the Media types page.
-    $this->drupalGet('admin/structure/media');
-
-    $media_types_text = $this->t('Media types');
-    $this->assertSession()->pageTextContains($media_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-    // Given that the root super user 1 was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // When navigating to the Media types page.
-    $this->drupalGet('admin/structure/media');
-
-    $media_types_text = $this->t('Media types');
-    $this->assertSession()->pageTextContains($media_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-  }
-
-  /**
-   * Check Enabled JSON:API Entity Operation links for Taxonomy.
-   */
-  public function testCheckEnabledJsonApiEntityOperationsForTaxonomy() {
-
-    // Create an content admin user who can only manage Taxonomies.
-    $content_admin_user = $this->drupalCreateUser([
-      'access administration pages',
-      'view the administration theme',
-      'access toolbar',
-      'administer taxonomy',
-      'access taxonomy overview',
-    ]);
-    $this->drupalLogin($content_admin_user);
-
-    // When navigating to the Taxonomy page.
-    $this->drupalGet('admin/structure/taxonomy');
-
-    // Then should see "Taxonomy".
-    $taxonomy_text = $this->t('Taxonomy');
-    $this->assertSession()->pageTextContains($taxonomy_text);
-
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-    // Create a Site Admin user. Who can View JSON and the View API Docs.
-    $site_admin_user = $this->drupalCreateUser([
-      'access administration pages',
-      'view the administration theme',
-      'access toolbar',
-      'administer taxonomy',
-      'access taxonomy overview',
-      'access view json entity operation',
-      'access view api docs entity operation',
-      'access openapi api docs',
-    ]);
-    $this->drupalLogin($site_admin_user);
-
-    // When navigating to the Taxonomy page.
-    $this->drupalGet('admin/structure/taxonomy');
-
-    // Then should see "Taxonomy".
-    $taxonomy_text = $this->t('Taxonomy');
-    $this->assertSession()->pageTextContains($taxonomy_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-    // Given that the root super user 1 was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // When navigating to the Taxonomy page.
-    $this->drupalGet('admin/structure/taxonomy');
-
-    // Then should see "Taxonomy".
-    $taxonomy_text = $this->t('Taxonomy');
-    $this->assertSession()->pageTextContains($taxonomy_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkExists('View JSON');
-    $this->assertSession()->linkExists('View API Docs');
-
-  }
-
-  /**
-   * Check Disabled JSON:API Entity Operation links for Block Types.
-   */
-  public function testCheckDisabledJsonApiEntityOperationsForBlockTypes() {
-
-    // Create an content admin user who can only manage block types.
-    $content_admin_user = $this->drupalCreateUser([
-      'access administration pages',
-      'view the administration theme',
-      'access toolbar',
-      'administer blocks',
-    ]);
-    $this->drupalLogin($content_admin_user);
-
-    // When navigating to the Block types page.
-    $this->drupalGet('admin/structure/block/block-content/types');
-
-    // Then should see "Custom block library".
-    $block_types_text = $this->t('Custom block library');
-    $this->assertSession()->pageTextContains($block_types_text);
-
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-    // Create a Site Admin user. Who can View JSON and the View API Docs.
-    $site_admin_user = $this->drupalCreateUser([
-      'access administration pages',
-      'view the administration theme',
-      'access toolbar',
-      'administer blocks',
-      'access view json entity operation',
-      'access view api docs entity operation',
-      'access openapi api docs',
-    ]);
-    $this->drupalLogin($site_admin_user);
-
-    // When navigating to the Block types page.
-    $this->drupalGet('admin/structure/block/block-content/types');
-
-    // Then should see "Custom block library".
-    $block_types_text = $this->t('Custom block library');
-    $this->assertSession()->pageTextContains($block_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-    // Given that the root super user 1 was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // When navigating to the Block types page.
-    $this->drupalGet('admin/structure/block/block-content/types');
-
-    // Then should see "Custom block library".
-    $block_types_text = $this->t('Custom block library');
-    $this->assertSession()->pageTextContains($block_types_text);
-
-    // The user can see the "View JSON" and "View API Docs" entity oprations.
-    $this->assertSession()->linkNotExists('View JSON');
-    $this->assertSession()->linkNotExists('View API Docs');
-
-  }
-
-}
diff --git a/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php b/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php
deleted file mode 100644
index a8c98cafe24e6c655fe00444b26d3374ea26381c..0000000000000000000000000000000000000000
--- a/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-namespace Drupal\Tests\varbase_api\FunctionalJavascript;
-
-use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
-
-/**
- * Tests Varbase API OpenAPI Documentation test.
- *
- * @group varbase_api
- */
-class VarbaseApiOpenApiDocsTest extends WebDriverTestBase {
-
-  use StringTranslationTrait;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $profile = 'standard';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $defaultTheme = 'olivero';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected static $modules = [
-    'varbase_api',
-    'node',
-    'taxonomy',
-    'media',
-    'user',
-    'block',
-    'block_content',
-  ];
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
-    // Insall the Claro admin theme.
-    $this->container->get('theme_installer')->install(['claro']);
-
-    // Set the Claro theme as the default admin theme.
-    $this->config('system.theme')->set('admin', 'claro')->save();
-
-  }
-
-  /**
-   * Check OpenAPI Documentation using Explore With Swagger UI.
-   */
-  public function testCheckOpenApiDocsExploreWithSwagger() {
-
-    // Given that the root super user was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // OpenAPI Documentation.
-    $this->drupalGet('admin/config/services/openapi/swagger/jsonapi');
-
-    $page = $this->getSession()->getPage();
-
-    $page->waitFor(20, function () use ($page) {
-      return $page->find('css', "section.models.is-open");
-    });
-
-    $openapi_doc_text = $this->t('OpenAPI Documentation');
-    $this->assertSession()->pageTextContains($openapi_doc_text);
-
-    // Content type.
-    $content_type_text = $this->t('Content type');
-    $this->assertSession()->pageTextContains($content_type_text);
-
-    // Content.
-    $content_text = $this->t('Content - Basic page');
-    $this->assertSession()->pageTextContains($content_text);
-
-    // Taxonomy vocabulary.
-    $taxonomy_vocabulary_text = $this->t('Taxonomy vocabulary');
-    $this->assertSession()->pageTextContains($taxonomy_vocabulary_text);
-
-    // Taxonomy term.
-    $taxonomy_term_text = $this->t('Taxonomy term - Tags');
-    $this->assertSession()->pageTextContains($taxonomy_term_text);
-
-    // Media type.
-    $media_type_text = $this->t('Media type');
-    $this->assertSession()->pageTextContains($media_type_text);
-
-    // Media - Image.
-    $media_image_text = $this->t('Media - Image');
-    $this->assertSession()->pageTextContains($media_image_text);
-
-    // Media - Video.
-    $media_video_text = $this->t('Media - Video');
-    $this->assertSession()->pageTextContains($media_video_text);
-
-    // Media - Remote video.
-    $media_remote_video_text = $this->t('Media - Remote video');
-    $this->assertSession()->pageTextContains($media_remote_video_text);
-
-    // Media - Audio.
-    $media_audio_text = $this->t('Media - Audio');
-    $this->assertSession()->pageTextContains($media_audio_text);
-
-  }
-
-  /**
-   * Check OpenAPI Documentation using Explore With ReDoc.
-   */
-  public function testCheckOpenApiDocsExploreWithReDoc() {
-
-    // Given that the root super user was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // OpenAPI Documentation.
-    $this->drupalGet('admin/config/services/openapi/redoc/jsonapi');
-
-    $page = $this->getSession()->getPage();
-
-    $page->waitFor(20, function () use ($page) {
-      return $page->find('css', "redoc#redoc-ui");
-    });
-
-    $openapi_doc_text = $this->t('OpenAPI Documentation');
-    $this->assertSession()->pageTextContains($openapi_doc_text);
-
-    // Content type.
-    $content_type_text = $this->t('Content type');
-    $this->assertSession()->pageTextContains($content_type_text);
-
-    // Content.
-    $content_text = $this->t('Content - Basic page');
-    $this->assertSession()->pageTextContains($content_text);
-
-    // Taxonomy vocabulary.
-    $taxonomy_vocabulary_text = $this->t('Taxonomy vocabulary');
-    $this->assertSession()->pageTextContains($taxonomy_vocabulary_text);
-
-    // Taxonomy term.
-    $taxonomy_term_text = $this->t('Taxonomy term - Tags');
-    $this->assertSession()->pageTextContains($taxonomy_term_text);
-
-    // Media type.
-    $media_type_text = $this->t('Media type');
-    $this->assertSession()->pageTextContains($media_type_text);
-
-    // Media - Image.
-    $media_image_text = $this->t('Media - Image');
-    $this->assertSession()->pageTextContains($media_image_text);
-
-    // Media - Video.
-    $media_video_text = $this->t('Media - Video');
-    $this->assertSession()->pageTextContains($media_video_text);
-
-    // Media - Remote video.
-    $media_remote_video_text = $this->t('Media - Remote video');
-    $this->assertSession()->pageTextContains($media_remote_video_text);
-
-    // Media - Audio.
-    $media_audio_text = $this->t('Media - Audio');
-    $this->assertSession()->pageTextContains($media_audio_text);
-
-  }
-
-}
diff --git a/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php b/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php
deleted file mode 100644
index 61fc3fbe219dd77e3aec740deae57cebd6152d89..0000000000000000000000000000000000000000
--- a/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-namespace Drupal\Tests\varbase_api\FunctionalJavascript;
-
-use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
-
-/**
- * Tests Varbase API Settings test.
- *
- * @group varbase_api
- */
-class VarbaseApiSettingsTest extends WebDriverTestBase {
-
-  use StringTranslationTrait;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $profile = 'standard';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $defaultTheme = 'olivero';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected static $modules = [
-    'varbase_api',
-    'node',
-    'taxonomy',
-    'media',
-    'user',
-    'block',
-    'block_content',
-  ];
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
-    // Insall the Claro admin theme.
-    $this->container->get('theme_installer')->install(['claro']);
-
-    // Set the Claro theme as the default admin theme.
-    $this->config('system.theme')->set('admin', 'claro')->save();
-
-  }
-
-  /**
-   * Check Varbase API Settings.
-   */
-  public function testCheckVarbaseApiSettings() {
-
-    // Given that the root super user was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // Varbase API settings.
-    $this->drupalGet('admin/config/system/varbase/api');
-
-    $page = $this->getSession()->getPage();
-
-    $varbase_api_settings_text = $this->t('Varbase API settings');
-    $this->assertSession()->pageTextContains($varbase_api_settings_text);
-
-    $expose_view_json_text = $this->t('Expose a "View JSON" link in entity operations');
-    $this->assertSession()->pageTextContains($expose_view_json_text);
-    $entity_json = $page->findField('entity_json');
-    $this->assertNotEmpty($entity_json);
-    $this->assertTrue($entity_json->isChecked());
-
-    $expose_view_api_doc_text = $this->t('Expose a "View API Documentation" link in bundle entity operations');
-    $this->assertSession()->pageTextContains($expose_view_api_doc_text);
-    $bundle_docs = $page->findField('bundle_docs');
-    $this->assertNotEmpty($bundle_docs);
-    $this->assertTrue($bundle_docs->isChecked());
-
-    $auto_enable = $this->t('Auto Enabled JSON:API Endpoints for Entity Types');
-    $this->assertSession()->pageTextContains($auto_enable);
-
-  }
-
-  /**
-   * Check Varbase API Generate keys.
-   */
-  public function testCheckVarbaseApiGenerateKeys() {
-
-    // Given that the root super user was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    // Generate keys.
-    $this->drupalGet('admin/config/system/varbase/api/keys');
-
-    $generate_keys_text = $this->t('Generate keys');
-    $this->assertSession()->pageTextContains($generate_keys_text);
-
-    $destination_text = $this->t('Destination');
-    $this->assertSession()->pageTextContains($destination_text);
-
-  }
-
-  /**
-   * Check Varbase API Auto Enabled JSON:API Endpoints for Entity Types.
-   */
-  public function testCheckVarbaseApiAutoEnabledJsonApiEndpoints() {
-
-    // Given that the root super user was logged in to the site.
-    $this->drupalLogin($this->rootUser);
-
-    $this->drupalGet('admin/config/system/varbase/api');
-
-    $page = $this->getSession()->getPage();
-
-    // Content type is auto enabled.
-    $auto_enabled_entity_types_node_type = $page->findField('auto_enabled_entity_types[node_type]');
-    $this->assertNotEmpty($auto_enabled_entity_types_node_type);
-    $this->assertTrue($auto_enabled_entity_types_node_type->isChecked());
-
-    // Content is auto enabled.
-    $auto_enabled_entity_types_node = $page->findField('auto_enabled_entity_types[node]');
-    $this->assertNotEmpty($auto_enabled_entity_types_node);
-    $this->assertTrue($auto_enabled_entity_types_node->isChecked());
-
-    // Taxonomy vocabulary is auto enabled.
-    $auto_enabled_entity_types_taxonomy_vocabulary = $page->findField('auto_enabled_entity_types[taxonomy_vocabulary]');
-    $this->assertNotEmpty($auto_enabled_entity_types_taxonomy_vocabulary);
-    $this->assertTrue($auto_enabled_entity_types_taxonomy_vocabulary->isChecked());
-
-    // Taxonomy term is auto enabled.
-    $auto_enabled_entity_types_taxonomy_term = $page->findField('auto_enabled_entity_types[taxonomy_term]');
-    $this->assertNotEmpty($auto_enabled_entity_types_taxonomy_term);
-    $this->assertTrue($auto_enabled_entity_types_taxonomy_term->isChecked());
-
-    // Media type is auto enabled.
-    $auto_enabled_entity_types_media_type = $page->findField('auto_enabled_entity_types[media_type]');
-    $this->assertNotEmpty($auto_enabled_entity_types_media_type);
-    $this->assertTrue($auto_enabled_entity_types_media_type->isChecked());
-
-    // Media is auto enabled.
-    $auto_enabled_entity_types_media = $page->findField('auto_enabled_entity_types[media]');
-    $this->assertNotEmpty($auto_enabled_entity_types_media);
-    $this->assertTrue($auto_enabled_entity_types_media->isChecked());
-
-    // User is disabled.
-    $auto_enabled_entity_types_user = $page->findField('auto_enabled_entity_types[user]');
-    $this->assertNotEmpty($auto_enabled_entity_types_user);
-    $this->assertFalse($auto_enabled_entity_types_user->isChecked());
-
-    // Block is disabled.
-    $auto_enabled_entity_types_block = $page->findField('auto_enabled_entity_types[block]');
-    $this->assertNotEmpty($auto_enabled_entity_types_block);
-    $this->assertFalse($auto_enabled_entity_types_block->isChecked());
-
-    // Custom block type is disabled.
-    $auto_enabled_entity_types_block_content_type = $page->findField('auto_enabled_entity_types[block_content_type]');
-    $this->assertNotEmpty($auto_enabled_entity_types_block_content_type);
-    $this->assertFalse($auto_enabled_entity_types_block_content_type->isChecked());
-
-    // Custom block is disabled.
-    $auto_enabled_entity_types_block_content = $page->findField('auto_enabled_entity_types[block_content]');
-    $this->assertNotEmpty($auto_enabled_entity_types_block_content);
-    $this->assertFalse($auto_enabled_entity_types_block_content->isChecked());
-
-  }
-
-}
diff --git a/varbase_api.info.yml b/varbase_api.info.yml
index febb8410122cad238d6307a1a803f9c77c69192e..dc94e2f6991ee10a9002738d196174c82268ae71 100644
--- a/varbase_api.info.yml
+++ b/varbase_api.info.yml
@@ -3,7 +3,7 @@ description: "A JSON:API implementation with authentication and authorization th
 type: module
 package: Varbase
 configure: varbase_api.settings
-core_version_requirement: ~9.5.0 || ~10.1.0
+core_version_requirement: ~9
 dependencies:
   - drupal:jsonapi
   - openapi:openapi
diff --git a/varbase_api.permissions.yml b/varbase_api.permissions.yml
index 359fec4338b25162937304c3e9bbde24c114c7d8..986a24e2b6919f88153ded570d6a980e8fd8de29 100644
--- a/varbase_api.permissions.yml
+++ b/varbase_api.permissions.yml
@@ -1,6 +1,6 @@
 administer varbase api settings:
   title: "Administer Varbase API settings"
-  description: "Access Varbase API settings and genrate keys page."
+  description: "Access Varbase API settings and generate keys page."
 access view json entity operation:
   title: "Access View JSON entity operation"
   description: "Access the View JSON entity operation"
diff --git a/yarn.lock b/yarn.lock
index a646d5b1b74e57e539a76656e6a169ed6e1b0f46..ce75a5628fd414d962b14b5f2b850744148b6f6b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8,9 +8,9 @@
   integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
 
 "@babel/runtime@^7.23.2":
-  version "7.23.2"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
-  integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+  version "7.23.4"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e"
+  integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==
   dependencies:
     regenerator-runtime "^0.14.0"
 
@@ -41,10 +41,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.53.0":
-  version "8.53.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d"
-  integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==
+"@eslint/js@8.54.0":
+  version "8.54.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf"
+  integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==
 
 "@humanwhocodes/config-array@^0.11.13":
   version "0.11.13"
@@ -609,14 +609,14 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
 eslint@^8.9.0:
-  version "8.53.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce"
-  integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==
+  version "8.54.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537"
+  integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.3"
-    "@eslint/js" "8.53.0"
+    "@eslint/js" "8.54.0"
     "@humanwhocodes/config-array" "^0.11.13"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
@@ -728,9 +728,9 @@ find-up@^5.0.0:
     path-exists "^4.0.0"
 
 flat-cache@^3.0.4:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b"
-  integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
+  integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
   dependencies:
     flatted "^3.2.9"
     keyv "^4.5.3"
@@ -878,9 +878,9 @@ hasown@^2.0.0:
     function-bind "^1.1.2"
 
 ignore@^5.2.0:
-  version "5.2.4"
-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
-  integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
+  integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
 
 import-fresh@^3.2.1:
   version "3.3.0"