diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index daed82e..0d9ffa3 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -36,7 +36,7 @@
                help="The minimum api microversion is configured to be the "
                     "value of the minimum microversion supported by Manila."),
     cfg.StrOpt("max_api_microversion",
-               default="2.5",
+               default="2.6",
                help="The maximum api microversion is configured to be the "
                     "value of the latest microversion supported by Manila."),
     cfg.StrOpt("region",
diff --git a/manila_tempest_tests/tests/api/admin/test_multi_backend.py b/manila_tempest_tests/tests/api/admin/test_multi_backend.py
index ab57d7f..23fe1ae 100644
--- a/manila_tempest_tests/tests/api/admin/test_multi_backend.py
+++ b/manila_tempest_tests/tests/api/admin/test_multi_backend.py
@@ -67,9 +67,19 @@
     def test_share_share_type(self):
         # Share type should be the same as provided with share creation
         for i in [0, 1]:
-            get = self.shares_client.get_share(self.shares[i]['id'])
+            get = self.shares_v2_client.get_share(self.shares[i]['id'],
+                                                  version="2.5")
             self.assertEqual(get["share_type"], self.sts[i]["name"])
 
+    @test.attr(type=["gate", "smoke", ])
+    def test_share_share_type_v_2_6(self):
+        # Share type should be the same as provided with share creation
+        for i in [0, 1]:
+            get = self.shares_v2_client.get_share(self.shares[i]['id'],
+                                                  version="2.6")
+            self.assertEqual(get["share_type"], self.sts[i]["id"])
+            self.assertEqual(get["share_type_name"], self.sts[i]["name"])
+
     @test.attr(type=["gate", ])
     def test_share_export_locations(self):
         # Different backends have different IPs on interfaces
diff --git a/manila_tempest_tests/tests/api/admin/test_share_manage.py b/manila_tempest_tests/tests/api/admin/test_share_manage.py
index df3896e..1dd4b03 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_manage.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_manage.py
@@ -107,13 +107,16 @@
         self.shares_client.wait_for_share_status(share['id'], 'available')
 
         # Verify data of managed share
-        get = self.shares_client.get_share(share['id'])
+        get = self.shares_v2_client.get_share(share['id'], version="2.5")
         self.assertEqual(name, get['name'])
         self.assertEqual(description, get['description'])
         self.assertEqual(self.share1['host'], get['host'])
         self.assertEqual(self.share1['share_proto'], get['share_proto'])
         self.assertEqual(self.st['share_type']['name'], get['share_type'])
 
+        get = self.shares_v2_client.get_share(share['id'], version="2.6")
+        self.assertEqual(self.st['share_type']['id'], get['share_type'])
+
         # Delete share
         self.shares_client.delete_share(share['id'])
         self.shares_client.wait_for_resource_deletion(share_id=share['id'])
diff --git a/manila_tempest_tests/tests/api/admin/test_share_types.py b/manila_tempest_tests/tests/api/admin/test_share_types.py
index 2488317..1f4d6a0 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_types.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_types.py
@@ -107,11 +107,15 @@
         self.shares_client.wait_for_share_status(share["id"], "available")
 
         # Verify share info
-        get = self.shares_client.get_share(share["id"])
+        get = self.shares_v2_client.get_share(share["id"], version="2.5")
         self.assertEqual(share_name, get["name"])
         self.assertEqual(share["id"], get["id"])
         self.assertEqual(shr_type_name, get["share_type"])
 
+        get = self.shares_v2_client.get_share(share["id"], version="2.6")
+        self.assertEqual(st_create["share_type"]["id"], get["share_type"])
+        self.assertEqual(shr_type_name, get["share_type_name"])
+
     def test_private_share_type_access(self):
         name = data_utils.rand_name("tempest-manila")
         extra_specs = self.add_required_extra_specs_to_dict({"key": "value", })
