http://localhost:9002 (default)
Starting the Server
Authentication
All endpoints registered after the auth middleware require a Bearer token when the server is started with theVIGOLIUM_API_KEY environment variable or server.auth_api_key config. This includes GET /, GET /health, GET /server-info, and all /api/* routes.
GET /swagger/*, GET /metrics.
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 / — App Info
Returns basic application metadata.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. No authentication required. Only available when the server is started with--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, OPTIONS. Allowed headers: Content-Type, Authorization.
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 |
