Skip to main content

List agents

GET /api/v1/agents
Query parameters:
ParameterTypeDescription
statusstringFilter by status: APPROVED, DISCOVERED, PENDING_REVIEW
risk_levelstringFilter by risk: CRITICAL, HIGH, MEDIUM, LOW
frameworkstringFilter by framework: LANGGRAPH, N8N, etc.
departmentstringFilter by department name
no_ownerboolShow only agents with no owner
searchstringSearch by name
sort_bystringrisk_score (default), name, created_at
sort_dirstringdesc (default), asc
limitintMax results, default 100, max 500
Example:
curl https://app.getmuster.io/api/v1/agents?risk_level=CRITICAL \
  -H "Authorization: Bearer {token}"
Response:
[
  {
    "agent_id": "uuid",
    "name": "invoice-processor-v2",
    "framework": "LANGGRAPH",
    "risk_level": "HIGH",
    "risk_score": 55,
    "status": "APPROVED",
    "owner_email": "finance@acme.com",
    "department": "Finance",
    "contains_pii": true,
    "external_llm_calls": true,
    "writes_to_systems": true,
    "hitl_required": true,
    "primary_model": "gpt-4o",
    "probe_reachable": true,
    "probe_tls_valid": true,
    "created_at": "2026-02-07T06:00:00Z",
    "updated_at": "2026-03-24T06:00:00Z"
  }
]

Get agent

GET /api/v1/agents/{agent_id}

Create agent

POST /api/v1/agents
Body:
{
  "name": "fraud-detector-v3",
  "framework": "AUTOGEN",
  "owner_email": "risk@acme.com",
  "department": "Risk",
  "contains_pii": true,
  "writes_to_systems": true,
  "hitl_required": false,
  "primary_model": "gpt-4o",
  "model_provider": "openai"
}

Update agent

PATCH /api/v1/agents/{agent_id}

Registry stats

GET /api/v1/registry/stats
Returns counts by status, risk level, and flags:
{
  "total": 23,
  "approved": 23,
  "critical": 1,
  "high": 8,
  "medium": 9,
  "low": 5,
  "no_owner": 5,
  "has_discrepancies": 2
}

SDK beacon registration

POST /api/v1/agents/beacon
Called automatically by beacon.register(). No auth required.
{
  "agent_id": "invoice-processor-v2",
  "version": "2.1.0",
  "framework": "LANGGRAPH",
  "endpoint_url": "https://agent.internal.acme.com"
}