diff --git a/lib/apiserver/routers/smstools.js b/lib/apiserver/routers/smstools.js
index dbacd0a..b052857 100644
--- a/lib/apiserver/routers/smstools.js
+++ b/lib/apiserver/routers/smstools.js
@@ -8,6 +8,7 @@ const logger = require('komodo-sdk/logger');
 const smstoolsUtil = require('../../smstools-util');
 const smstoolsStatus = require('../../smstools-status');
 const smstoolsStatusParsed = require('../../smstools-status-parsed');
+const smstoolsConfigData = require('../../smstools-config/config-file');
 
 const router = express.Router();
 module.exports = router;
@@ -28,6 +29,20 @@ async function pageRestart(req, res) {
     res.json(await smstoolsUtil.restart());
 }
 
+async function pageModemList(req, res) {
+    const modems = [];
+    // eslint-disable-next-line no-restricted-syntax
+    for (const [key, value] of Object.entries(smstoolsConfigData.modems || {})) {
+        modems.push({
+            label: `${key}: ${value.device}, INCOMING${value.outgoing ? ' and OUTGOING' : ''}`,
+            value: key,
+            data: value,
+        });
+    }
+
+    res.json(modems);
+}
+
 function pageLog(req, res) {
     const maxLines = (Number(req.query.max) || 200);
     const keyword = req.query.keyword && escapeQuotes(req.query.keyword, '\'\n"&|*<>[];$ ');
@@ -68,3 +83,4 @@ router.get('/status/raw', pageStatusRaw);
 router.get('/restart', pageRestart);
 router.get('/log', pageLog);
 router.get('/spool-count', pageSpoolCount);
+router.get('/modems', pageModemList);