diff --git a/Changelog.md b/Changelog.md
index 241783dd118098419ef63f16cac824ebae0f5272..b3dd4978b25f2507f2953318aee1b0c22fee88a0 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -2,6 +2,11 @@
 
 All notable changes to this project will be documented in this file.
 
+## [0.66] - 2021-06-xx
+- DBOARD3-449: add CORS headers to responses
+- POL1-452: added /poller/gws/indirect
+- POL1-453: config should contain 'CenturyLink' and not 'Century Link'
+
 ## [0.66] - 2021-06-09
 - POL1-445: added /poller/gws/direct endpoint
 - DBOARD3-445: bugfixes in /lg/routers/X endpoint
diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index f5ac4b26f1330f516f288706a378d54e37580a36..9561ce47a0c4a0de06a5f62fc97e00d6fb104065 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -402,7 +402,9 @@ def _load_interfaces(hostname):
 
     base_key_pattern = f'netconf:{hostname}*' if hostname else 'netconf:*'
     yield from _load_docs(base_key_pattern)
-    yield from _load_docs(f'lab:{base_key_pattern}')
+    no_lab = common.get_bool_request_arg('no-lab', False)
+    if not no_lab:
+        yield from _load_docs(f'lab:{base_key_pattern}')
 
 
 def _add_bundle_parents(interfaces, hostname=None):
@@ -495,6 +497,9 @@ def interfaces(hostname=None):
     which returns information for either all interfaces
     or those on the requested hostname.
 
+    The optional `no-lab` parameter omits lab routers
+    if it's truthiness evaluates to True.
+
     The response is a list of information for all
     interfaces that should be polled, including service
     information and snmp information.
@@ -509,6 +514,10 @@ def interfaces(hostname=None):
     cache_key = f'classifier-cache:poller-interfaces:{hostname}' \
         if hostname else 'classifier-cache:poller-interfaces:all'
 
+    no_lab = common.get_bool_request_arg('no-lab', False)
+    if no_lab:
+        cache_key = f'{cache_key}:no_lab'
+
     r = common.get_current_redis()
 
     result = _ignore_cache_or_retrieve(request, cache_key, r)
diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py
index 7373ac26739871269ec05f68214a571c2d4c2187..e17d8f3f6c1cbd2438020a7b21740bf7390bd05b 100644
--- a/test/test_general_poller_routes.py
+++ b/test/test_general_poller_routes.py
@@ -20,6 +20,21 @@ def test_get_all_interfaces(client):
     response_routers = {ifc['router'] for ifc in response_data}
     assert len(response_routers) > 1, \
         'there should data from be lots of routers'
+    assert any('.lab.' in name for name in response_routers)
+
+
+def test_get_all_interfaces_no_lab(client):
+    rv = client.get(
+        '/poller/interfaces?no-lab=1',
+        headers=DEFAULT_REQUEST_HEADERS)
+    assert rv.status_code == 200
+    assert rv.is_json
+    response_data = json.loads(rv.data.decode('utf-8'))
+    jsonschema.validate(response_data, poller.INTERFACE_LIST_SCHEMA)
+    response_routers = {ifc['router'] for ifc in response_data}
+    assert len(response_routers) > 1, \
+        'there should data from be lots of routers'
+    assert all('.lab.' not in name for name in response_routers)
 
 
 def test_all_router_interface_speeds(client):