---
title: "ktm monitors list"
description: "List monitors, optionally filtered by operator and product"
sidebarTitle: "list"
lastUpdated: "2026-09-23"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

{/* GENERATED FILE: do not edit by hand. Regenerate with: node scripts/generate.mjs */}

List monitors, optionally filtered by operator and product

## Usage

```bash
ktm monitors list [flags]
```

## Examples

```bash
# List monitors for a product
ktm monitors list --operator my-operator --product my-operator~my-product

# List only active monitors
ktm monitors list --operator my-operator --active true

# List monitors assigned to a specific web agent
ktm monitors list --operator my-operator --device-type web-agent --device-id agent-paris-01

# Get monitors as JSON for parsing
ktm monitors list --operator my-operator --product my-operator~my-product -o json
```

## Flags

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--active` | string |  | Filter by active status: true, false, or comma-separated (e.g. true,false) |
| `--archived` | string |  | Filter by archived status (true/false). Only used with --device-type and --device-id. |
| `--device-id` | string |  | Device identifier (SIM: national_msisdn, web-agent: hostname, smartphone: UUID). Requires --device-type. |
| `--device-type` | string |  | Device type: sim, web-agent, or smartphone. Requires --device-id and --operator. |
| `--fields` | string |  | Restrict JSON response to these fields (comma-separated whitelist) |
| `--operator` | string |  | Operator slug (from 'operators list') to scope results |
| `--product` | string |  | Product slug (from 'products list', format: operator~product) to scope results |

## Details

List monitors — scheduled recurring test executions with status tracking.

Monitors run a test on a schedule (e.g. every 20 minutes) and track whether it
passes or fails over time. Each monitor belongs to a product and references a test.
Each monitor run also writes KPI metrics to InfluxDB — use 'ktm metrics query'
to explore (start with SHOW MEASUREMENTS).

Use --operator and --product to narrow results. Status values: up, down, paused.

Device-specific filtering: use --device-type and --device-id together with
--operator to list monitors assigned to a specific device (SIM, web agent,
or smartphone).

JSON output fields: id, name, active, test_id, product_id, product_slug, status, scheduling, last_run
Table columns:      ID, NAME, ACTIVE, STATUS, PRODUCT, SCHEDULING, LAST RUN

Note: scheduling is a JSON object (type + frequency). last_run is a JSON array
of recent execution results (id, status, created).

## Related

- [`ktm monitors`](/cli/commands/monitors)
- [`ktm metrics`](/cli/commands/metrics)
- [`ktm operators list`](/cli/commands/operators/list)
- [`ktm products list`](/cli/commands/products/list)

<Note>
  Global flags (`--output`, `--debug`, `--host`, …) apply to every command. See the [command reference overview](/cli/commands/overview).
</Note>

## What's next?

<Columns cols={2}>
  <Card title="All commands" icon="terminal" href="/cli/commands/overview">
    Browse the full CLI reference.
  </Card>
  <Card title="Get started" icon="rocket" href="/cli/getting-started">
    Install the CLI and authenticate.
  </Card>
</Columns>
