Skip to main content
GET
/
watchtower
/
monitor
/
agents
Error
A valid request URL is required to generate request examples
{
  "items": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "fingerprint_hash": "<string>",
      "agent_source": "<string>",
      "agent_icon_key": "<string>",
      "raw_user_agent": "<string>",
      "raw_client_info": {},
      "auth_client_id": "<string>",
      "last_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "last_user_email": "<string>",
      "last_user_name": "<string>",
      "first_seen_at": "2023-11-07T05:31:56Z",
      "last_seen_at": "2023-11-07T05:31:56Z",
      "blocked_at": "2023-11-07T05:31:56Z",
      "blocked_reason": "<string>",
      "active_session_count": 0,
      "inactive_session_count": 0
    }
  ],
  "next_cursor": "<string>",
  "has_more": false
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}

Authorizations

fastapiusersauth
string
cookie
required

Query Parameters

limit
integer
default:20
Required range: 1 <= x <= 200
cursor
string | null
agent_type
enum<string> | null

Normalized local-agent classifications stored by Watchtower.

Available options:
claude_code,
codex,
cursor,
windsurf,
opencode,
openclaw,
unknown
status
enum<string> | null

Derived status for Watchtower agents in monitor APIs.

Available options:
active,
idle,
blocked

Response

Successful Response

Paginated response for Watchtower agents.

items
WatchtowerAgentRead · object[]
required
next_cursor
string | null
has_more
boolean
default:false