diff --git a/src/pages/api/widgets/glances.js b/src/pages/api/widgets/glances.js
index 86992dd1..f4b7c010 100644
--- a/src/pages/api/widgets/glances.js
+++ b/src/pages/api/widgets/glances.js
@@ -1,29 +1,17 @@
 import { httpProxy } from "utils/proxy/http";
 import createLogger from "utils/logger";
-import { getSettings } from "utils/config/config";
+import { getPrivateWidgetOptions } from "utils/config/service-helpers";
 
 const logger = createLogger("glances");
 
 export default async function handler(req, res) {
-  const { id } = req.query;
+  const { index } = req.query;
 
-  let errorMessage;
-
-  let instanceID = "glances";
-  if (id) { // multiple instances
-    instanceID = id;
-  }
-  const settings = getSettings();
-  const instanceSettings = settings[instanceID];
-  if (!instanceSettings) {
-    errorMessage = id ? `There is no glances section with id '${id}' in settings.yaml` : "There is no glances section in settings.yaml";
-    logger.error(errorMessage);
-    return res.status(400).json({ error: errorMessage });
-  }
+  const privateWidgetOptions = await getPrivateWidgetOptions("glances", index);
   
-  const url = instanceSettings?.url;
+  const url = privateWidgetOptions?.url;
   if (!url) {
-    errorMessage = "Missing Glances URL";
+    const errorMessage = "Missing Glances URL";
     logger.error(errorMessage);
     return res.status(400).json({ error: errorMessage });
   }
@@ -32,8 +20,8 @@ export default async function handler(req, res) {
   const headers = {
     "Accept-Encoding": "application/json"
   };
-  if (instanceSettings.username && instanceSettings.password) {
-    headers.Authorization = `Basic ${Buffer.from(`${instanceSettings.username}:${instanceSettings.password}`).toString("base64")}`
+  if (privateWidgetOptions.username && privateWidgetOptions.password) {
+    headers.Authorization = `Basic ${Buffer.from(`${privateWidgetOptions.username}:${privateWidgetOptions.password}`).toString("base64")}`
   }
   const params = { method: "GET", headers };