Admin
Fleet stats, agent activation, demo seed.
| Method | Path | Scope | Summary |
|---|---|---|---|
PATCH | /admin/agents/{agent_id} | admin | Update Agent |
POST | /admin/seed | admin | Seed Test Agents |
GET | /admin/stats | admin | Get System Stats |
Try it
curl -sf -H "Authorization: Bearer $VIGIL_KEY" "$VIGIL_URL/admin/stats" # admin key
Routes
PATCH /admin/agents/{agent_id}
Update Agent. Scope: admin.
Set is_active, kind, public and public_links. public: true opens the agent's record at
GET /public/agents/{org_slug}/{agent_id} to anyone; public: false closes it again. public_links
is the owner's own list of at most five {kind, url} entries (kind one of website, github, x,
moltbook, other; http or https URLs up to 200 characters) shown on the public record and nowhere else.
| Parameter | In | Required | Type | Notes |
|---|---|---|---|---|
agent_id | path | yes | string |
Request body:
{
"is_active": true,
"kind": "production | sandbox | system | null",
"public": true,
"public_links": [
{
"kind": "website | github | x | moltbook | other",
"url": "string"
}
]
}
| Field | Type | Required | Notes |
|---|---|---|---|
is_active | boolean | null | no | |
kind | production, sandbox, system | null | no | |
public | boolean | null | no | |
public_links | array of PublicLink | null | no |
Response 200:
{
"id": 0,
"org_id": 0,
"agent_id": "string",
"name": "string",
"description": "string | null",
"registered_at": "2026-09-08T00:00:00Z",
"is_active": true,
"kind": "string",
"public": true,
"public_links": "string | null",
"currently_monitored": true,
"monitoring_toggled_at": "2026-09-08T00:00:00Z | null"
}
POST /admin/seed
Seed Test Agents. Scope: admin.
Seed the 5 pre-built health/wellness test agents. Idempotent.
Response 200:
"any"
GET /admin/stats
Get System Stats. Scope: admin.
Response 200:
{
"total_agents": 0,
"active_agents": 0,
"total_events": 0,
"total_scores": 0,
"agents_in_alert": 0,
"agents_in_hold": 0,
"agents_passing": 0,
"avg_bii": 0,
"studio_agents": 0,
"deployed_agents": 0
}
Generated from openapi.json (VIGIL 0.2.0). Scopes follow the router dependencies in VIGIL_SPEC.md section 4.2.