Collectors (Read)

List Collectors

GET /api/v1/collectors?limit=100&offset=0
GET /api/v1/collectors?enabled=true&limit=100&offset=0

List all collector configurations. Supports pagination. Operator role: credentials in the config JSONB are redacted — SNMP community strings and v3 auth/priv passwords, plus OSPF (ospf.auth.key / ospf.auth.password) and IS-IS (isis.authentication.key) authentication keys, are masked.

Query parameters:

Response: 200 OK — Paginated envelope

{
  "data": [
    {
      "id": "uuid",
      "name": "collector-1",
      "description": "Primary collector",
      "config": { ... },
      "area_id": "uuid",
      "enabled": true,
      "status": "running",
      "last_seen": "2024-01-01T12:00:00Z",
      "last_data_at": "2024-01-01T12:00:00Z",
      "last_error": null,
      "config_version": 3,
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  ],
  "total": 1,
  "limit": 100,
  "offset": 0
}

Notes:

Get Collector

GET /api/v1/collectors/{collectorID}

Get a single collector configuration by ID. Operator role: credentials in the config JSONB are redacted (SNMP community / v3 passwords and OSPF / IS-IS auth keys masked).

Response: 200 OK (single collector object)

Error: 404 Not Found

Get Collector Status

GET /api/v1/collectors/{collectorID}/status

Get the runtime status of a collector (subset of full config).

Response: 200 OK

{
  "status": "running",
  "last_seen": "2024-01-01T12:00:00Z",
  "last_error": null,
  "enabled": true
}

Error: 404 Not Found