diff --git a/gso/services/kentik_client.py b/gso/services/kentik_client.py
index f1a1f15862e94583de90175711e341cdbe51e472..be289e5c6f8562e0b2dc0fad9c34258a04b70d76 100644
--- a/gso/services/kentik_client.py
+++ b/gso/services/kentik_client.py
@@ -144,7 +144,7 @@ class KentikClient:
         """Update an existing device in Kentik."""
         return self._send_request("PUT", f"v5/device/{device_id}", updated_device).json()
 
-    def remove_device(self, device_id: str, *, archive: bool = True) -> None:
+    def remove_device(self, device_id: str, *, archive: bool) -> None:
         """Remove a device from Kentik.
 
         :param str device_id: The Kentik internal ID of the device that is to be removed.
diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py
index 688e3ecc21543ddc5ca678296b763fe7c6194bb5..cbb3048d0371539208b6fbb637764c4860969f17 100644
--- a/gso/workflows/router/terminate_router.py
+++ b/gso/workflows/router/terminate_router.py
@@ -21,6 +21,7 @@ from orchestrator.workflows.utils import wrap_modify_initial_input_form
 from gso.products.product_blocks.router import RouterRole
 from gso.products.product_types.router import Router
 from gso.services import infoblox, lso_client
+from gso.services.kentik_client import KentikClient
 from gso.services.librenms_client import LibreNMSClient
 from gso.services.lso_client import execute_playbook, lso_interaction
 from gso.services.netbox_client import NetboxClient
@@ -237,6 +238,12 @@ def remove_device_from_librenms(subscription: Router) -> dict[str, Router]:
     return {"subscription": subscription}
 
 
+@step("Archive device in Kentik")
+def remove_device_from_kentik(subscription: Router) -> None:
+    """Archive the device in Kentik."""
+    KentikClient().remove_device(subscription.router.router_fqdn, archive=True)
+
+
 @workflow(
     "Terminate router",
     initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),
@@ -271,6 +278,7 @@ def terminate_router() -> StepList:
         >> run_config_steps(lso_interaction(remove_config_from_router_real))
         >> router_is_nokia(remove_device_from_netbox)
         >> remove_device_from_librenms
+        >> remove_device_from_kentik
         >> set_status(SubscriptionLifecycle.TERMINATED)
         >> resync
         >> done
diff --git a/test/workflows/router/test_terminate_router.py b/test/workflows/router/test_terminate_router.py
index a41e8b32e6dde2ddca6ee716b7ce4227751ec62f..fe6ebb9c781fc5149bd1a1be597bc6c96d8bf15d 100644
--- a/test/workflows/router/test_terminate_router.py
+++ b/test/workflows/router/test_terminate_router.py
@@ -14,7 +14,9 @@ from test.workflows import assert_complete, assert_lso_interaction_success, extr
 @patch("gso.workflows.router.terminate_router.NetboxClient.delete_device")
 @patch("gso.workflows.router.terminate_router.infoblox.delete_host_by_ip")
 @patch("gso.workflows.router.terminate_router.LibreNMSClient.remove_device")
+@patch("gso.workflows.router.terminate_router.KentikClient")
 def test_terminate_pe_router_full_success(
+    mock_kentik_client,
     mock_librenms_remove_device,
     mock_delete_host_by_ip,
     mock_delete_device,
@@ -54,6 +56,7 @@ def test_terminate_pe_router_full_success(
     assert mock_delete_device.call_count == 1
     assert mock_delete_host_by_ip.call_count == 1
     assert mock_librenms_remove_device.call_count == 1
+    assert mock_kentik_client.call_count == 1
     assert mock_execute_playbook.call_count == lso_interaction_count
 
 
@@ -61,6 +64,7 @@ def test_terminate_pe_router_full_success(
 @pytest.mark.parametrize("remove_configuration", [True, False])
 @pytest.mark.parametrize("update_ibgp_mesh", [True, False])
 @patch("gso.services.lso_client._send_request")
+@patch("gso.workflows.router.terminate_router.KentikClient")
 @patch("gso.workflows.router.terminate_router.NetboxClient.delete_device")
 @patch("gso.workflows.router.terminate_router.infoblox.delete_host_by_ip")
 @patch("gso.workflows.router.terminate_router.LibreNMSClient.remove_device")
@@ -68,6 +72,7 @@ def test_terminate_p_router_full_success(
     mock_librenms_remove_device,
     mock_delete_host_by_ip,
     mock_delete_device,
+    mock_kentik_client,
     mock_execute_playbook,
     remove_configuration,
     update_ibgp_mesh,
@@ -104,4 +109,5 @@ def test_terminate_p_router_full_success(
     assert mock_delete_device.call_count == 1
     assert mock_delete_host_by_ip.call_count == 1
     assert mock_librenms_remove_device.call_count == 1
+    assert mock_kentik_client.call_count == 1
     assert mock_execute_playbook.call_count == lso_interaction_count