Base URL:Documentation Index
Fetch the complete documentation index at: https://docs.vigolium.com/llms.txt
Use this file to discover all available pages before exploring further.
http://localhost:9002 (default)
Starting the Server
Authentication
/api/* routes require a Bearer token when the server is started with VIGOLIUM_API_KEY or server.auth_api_key set.
GET /, GET /health, GET /server-info, GET /swagger/*, GET /metrics, and POST /api/auth/login.
Demo-only and view-only modes (cfg.DemoOnly / cfg.ViewOnly) further gate mutating routes; admin/operator/viewer roles enforced by RoleGuard middleware override the per-route checks.
Project Scoping
All API operations are scoped to a project via theX-Project-UUID request header. If the header is omitted, the default project (00000000-0000-0000-0000-000000000001) is used.
GET /api/info, App Info
Returns basic application metadata. (GET / serves the embedded static UI, not JSON.)
GET /health, Health Check
Returns server health status.GET /server-info, Server Info
Returns detailed server information including uptime, database driver, queue depth, and record/finding totals.GET /swagger/*, Swagger UI
Interactive API documentation. Open in a browser.GET /metrics, Prometheus Metrics
Returns Prometheus-formatted metrics. The route is always registered and unauthenticated; the handler gates the response on theEnableMetrics server flag (CLI --enable-metrics / config server.enable_metrics).
CORS
CORS can be enabled via thecors_allowed_origins server config:
| Value | Behavior |
|---|---|
* | Allow all origins |
reflect-origin | Reflect the request’s Origin header (allows credentials) |
origin1,origin2 | Allow specific origins (comma-separated, allows credentials) |
| (empty/omitted) | CORS disabled |
GET, POST, PUT, DELETE, PATCH, OPTIONS. Allowed headers: Content-Type, Authorization, X-Project-UUID, X-User-Email.
Error Responses
All errors follow a consistent format:| Code | Meaning |
|---|---|
| 400 | Bad request (invalid JSON, missing fields) |
| 401 | Unauthorized (missing or invalid Bearer token) |
| 404 | Not found (e.g. agent run ID not found) |
| 409 | Conflict (scan or agent already running) |
| 500 | Internal server error |
| 503 | Database not available |
