Monitor List
[MODE:OVERSEER] Read-only, idempotent. Tier: overseer.
Returns a paginated event feed across one or more Agents. Maps to Rails GET /api/monitor (Api::MonitorController#index). Requires API key scope monitor:read.
When to use
- Compiling an Agent's recent activity into a report.
- Periodic polling without keeping a long-poll open.
- Filtered cross-Agent event search by full-text.
When NOT to use
- Need real-time push — use
fibe_monitor_follow. - Just one Agent's mutter stream — use
fibe_mutters_get.
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
agent | string | empty (= all accessible) | Comma-separated Agent IDs/names |
type | string | empty (= all) | Comma-separated: message, activity, mutter, artefact |
since | ISO 8601 string | — | Lower bound for created_at |
q | string | — | Full-text search across event content |
page | int | 1 | 1-based |
per_page | int | 25 | Max 100 |
content_limit | int | 32768 | Truncate each event payload to N bytes (max 131072) |
Output
{
"data": [
{
"type": "mutter" | "message" | "activity" | "artefact",
"agent_id": 42,
"item_id": "...",
"created_at": "...",
"payload": { ... } // shape varies per type
}
],
"meta": { "page": 1, "per_page": 25, "total": <N> }
}
Filter resolution
agentaccepts numeric IDs and slug names; unknown identifiers are silently dropped.typeis a denylist-resilient enum match; unknown types are dropped.sinceaccepts any Time-parseable string; ambiguous strings use UTC.
Gotchas
- Requires
monitor:readAPI key scope. Without it: 403FORBIDDEN. - Events from Agents you can't
readare filtered out before pagination. content_limittruncates; long messages won't be returned in full. Usefibe_resource_get(resource:"artefact_attachment")for full file content.- The
totalmeta counts visible events post-filter, not the global count.
Related
fibe_monitor_follow— long-poll variant.fibe_mutters_get— single-Agent mutter stream.fibe_resource_list(resource:"artefact")— when you only want artefacts.