Skip to main content

System Monitoring Endpoints

Utility endpoints for health checks, service configuration status, and task pipeline monitoring.

GET /api/health

Health check endpoint that returns the application status and configured services.

Authentication

No authentication required.

Response

status
string
Always returns "ok" if the server is running.
environment
string
Current environment: "development" or "production".
services
object
Object mapping service names to boolean configuration status.

Example Response

{
  "status": "ok",
  "environment": "development",
  "services": {
    "convex": true,
    "mongodb": false,
    "exa": true,
    "browser_use": true,
    "openai": true,
    "anthropic": true,
    "gemini": true,
    "laminar": false,
    "telegram": true,
    "pimeyes_pool": false
  }
}

Usage

curl http://localhost:8000/api/health

GET /api/services

Detailed service configuration status with descriptions.

Authentication

No authentication required.

Response

Array of service status objects:
name
string
Service identifier (e.g., "convex", "anthropic").
configured
boolean
true if the service has valid API keys/configuration, false otherwise.
notes
string
Human-readable description of what the service provides.

Example Response

[
  {
    "name": "convex",
    "configured": true,
    "notes": "Real-time board subscriptions and mutations"
  },
  {
    "name": "anthropic",
    "configured": true,
    "notes": "Primary synthesis model (Claude)"
  },
  {
    "name": "browser_use",
    "configured": true,
    "notes": "Deep research browser agents"
  },
  {
    "name": "mongodb",
    "configured": false,
    "notes": "Persistent raw captures and dossiers"
  }
]

Service Descriptions

ServiceDescription
convexReal-time board subscriptions and mutations
mongodbPersistent raw captures and dossiers
exaFast pass research and person lookup
browser_useDeep research browser agents
openaiTranscription and fallback LLM integrations
anthropicPrimary synthesis model (Claude)
geminiFallback vision and synthesis model
laminarTracing and evaluation telemetry
telegramGlasses-side media intake
pimeyes_poolRotating account pool for identification

Usage

curl http://localhost:8000/api/services

GET /api/tasks

Returns the task pipeline phases for demo visualization.

Authentication

No authentication required.

Response

Array of task phase objects with steps:
phase
string
Phase name (e.g., "Identify", "Research").
icon
string
Emoji icon for the phase.
steps
array
Array of step objects with step (name) and duration (estimated seconds).

Example Response

[
  {
    "phase": "Identify",
    "icon": "πŸ”",
    "steps": [
      { "step": "Face detection", "duration": 0.1 },
      { "step": "PimEyes search", "duration": 3.0 },
      { "step": "Vision LLM extraction", "duration": 1.2 }
    ]
  },
  {
    "phase": "Research",
    "icon": "πŸ€–",
    "steps": [
      { "step": "Spawn agents", "duration": 0.5 },
      { "step": "LinkedIn scrape", "duration": 5.0 },
      { "step": "Twitter scrape", "duration": 3.0 },
      { "step": "Google search", "duration": 8.0 }
    ]
  },
  {
    "phase": "Synthesize",
    "icon": "🧠",
    "steps": [
      { "step": "Aggregate data", "duration": 0.5 },
      { "step": "LLM synthesis", "duration": 2.0 },
      { "step": "Generate dossier", "duration": 0.5 }
    ]
  }
]

Usage

curl http://localhost:8000/api/tasks
This endpoint is primarily used by the frontend to display progress indicators during the intelligence gathering pipeline.

GET /api/pipeline/status

Returns the current pipeline execution status.

Authentication

No authentication required.

Response

status
string
Current pipeline state: "idle", "processing", or "error".
active_captures
integer
Number of captures currently being processed.
uptime
number
Server uptime in seconds.

Example Response

{
  "status": "idle",
  "active_captures": 0,
  "uptime": 3600.5
}

POST /api/webhooks/browser-use

Webhook endpoint for Browser Use agent callbacks. This is called by the Browser Use platform to send agent results.

Authentication

No authentication (webhook signature verification recommended for production).

Request Body

session_id
string
required
Browser Use session ID.
event_type
string
required
Event type: "task_complete", "task_failed", or "session_closed".
result
object
Agent execution result data.

Response

{
  "status": "received"
}
This endpoint is intended for internal use by the Browser Use platform. Do not call it directly unless you’re implementing custom agent webhooks.

Monitoring Best Practices

Health Checks

Poll /api/health every 30 seconds for uptime monitoring

Service Status

Check /api/services on startup to verify configuration

Pipeline Status

Use /api/pipeline/status to monitor active workloads

Task Progress

Fetch /api/tasks once and cache for UI progress indicators

Configuration

Learn how to configure service API keys

Observability

Set up Laminar tracing and monitoring

Build docs developers (and LLMs) love