diff --git a/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerParamsTests.cs b/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerParamsTests.cs
new file mode 100644
index 0000000000..0c3a0cd8b1
--- /dev/null
+++ b/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerParamsTests.cs
@@ -0,0 +1,43 @@
+/*
+ * SonarLint for Visual Studio
+ * Copyright (C) 2016-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+using Newtonsoft.Json;
+using SonarLint.VisualStudio.SLCore.Service.Analysis.Models;
+
+namespace SonarLint.VisualStudio.SLCore.UnitTests.Service.Analysis;
+
+[TestClass]
+public class ShouldUseEnterpriseCSharpAnalyzerParamsTests
+{
+    [TestMethod]
+    public void Serialize_AsExpected()
+    {
+        var testSubject = new ShouldUseEnterpriseCSharpAnalyzerParams("CONFIGURATION_ID");
+        const string expectedString = """
+                                      {
+                                        "configurationScopeId": "CONFIGURATION_ID"
+                                      }
+                                      """;
+
+        var serializedString = JsonConvert.SerializeObject(testSubject, Formatting.Indented);
+
+        serializedString.Should().Be(expectedString);
+    }
+}
diff --git a/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerResponseTests.cs b/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerResponseTests.cs
new file mode 100644
index 0000000000..700bd68969
--- /dev/null
+++ b/src/SLCore.UnitTests/Service/Analysis/ShouldUseEnterpriseCSharpAnalyzerResponseTests.cs
@@ -0,0 +1,56 @@
+/*
+ * SonarLint for Visual Studio
+ * Copyright (C) 2016-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+
+using Newtonsoft.Json;
+using SonarLint.VisualStudio.SLCore.Service.Analysis.Models;
+using SonarLint.VisualStudio.SLCore.Service.Telemetry;
+
+namespace SonarLint.VisualStudio.SLCore.UnitTests.Service.Analysis;
+
+[TestClass]
+public class ShouldUseEnterpriseCSharpAnalyzerResponseTests
+{
+    [TestMethod]
+    public void Serialize_AsExpected()
+    {
+        var testSubject = new ShouldUseEnterpriseCSharpAnalyzerResponse(true);
+        const string expectedString = """
+                                      {
+                                        "shouldUseEnterpriseAnalyzer": true
+                                      }
+                                      """;
+
+        var serializedString = JsonConvert.SerializeObject(testSubject, Formatting.Indented);
+
+        serializedString.Should().Be(expectedString);
+    }
+
+    [TestMethod]
+    [DataRow(true)]
+    [DataRow(false)]
+    public void Deserialized_AsExpected(bool shouldUseEnterpriseAnalyzer)
+    {
+        var expected = new ShouldUseEnterpriseCSharpAnalyzerResponse(shouldUseEnterpriseAnalyzer);
+        var serialized = $"{{\"shouldUseEnterpriseAnalyzer\":{shouldUseEnterpriseAnalyzer.ToString().ToLower()}}}";
+
+        JsonConvert.DeserializeObject<ShouldUseEnterpriseCSharpAnalyzerResponse>(serialized).Should().BeEquivalentTo(expected);
+    }
+}
diff --git a/src/SLCore/Service/Analysis/IRoslynAnalyzerService.cs b/src/SLCore/Service/Analysis/IRoslynAnalyzerService.cs
new file mode 100644
index 0000000000..3e81754b49
--- /dev/null
+++ b/src/SLCore/Service/Analysis/IRoslynAnalyzerService.cs
@@ -0,0 +1,31 @@
+/*
+ * SonarLint for Visual Studio
+ * Copyright (C) 2016-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+using SonarLint.VisualStudio.SLCore.Core;
+using SonarLint.VisualStudio.SLCore.Protocol;
+using SonarLint.VisualStudio.SLCore.Service.Analysis.Models;
+
+namespace SonarLint.VisualStudio.SLCore.Service.Analysis;
+
+[JsonRpcClass("analysis")]
+public interface IRoslynAnalyzerService : ISLCoreService
+{
+    Task<ShouldUseEnterpriseCSharpAnalyzerResponse> ShouldUseEnterpriseCSharpAnalyzerAsync(ShouldUseEnterpriseCSharpAnalyzerParams shouldUseEnterpriseCsharpParams);
+}
diff --git a/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerParams.cs b/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerParams.cs
new file mode 100644
index 0000000000..46269b5a0d
--- /dev/null
+++ b/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerParams.cs
@@ -0,0 +1,23 @@
+/*
+ * SonarLint for Visual Studio
+ * Copyright (C) 2016-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+namespace SonarLint.VisualStudio.SLCore.Service.Analysis.Models;
+
+public record ShouldUseEnterpriseCSharpAnalyzerParams(string configurationScopeId);
diff --git a/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerResponse.cs b/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerResponse.cs
new file mode 100644
index 0000000000..f53be717bc
--- /dev/null
+++ b/src/SLCore/Service/Analysis/Models/ShouldUseEnterpriseCSharpAnalyzerResponse.cs
@@ -0,0 +1,23 @@
+/*
+ * SonarLint for Visual Studio
+ * Copyright (C) 2016-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+namespace SonarLint.VisualStudio.SLCore.Service.Analysis.Models;
+
+public record ShouldUseEnterpriseCSharpAnalyzerResponse(bool shouldUseEnterpriseAnalyzer);