API
REST API
Access Drydock state and trigger actions using the HTTP REST API.
You can access drydock state and trigger actions using the HTTP REST API.
By default, the API is enabled and exposed on port 3000. You can override this behaviour using environment variables.
Authentication
When authentication is enabled, all API endpoints require a valid session (cookie-based via Basic or OIDC login).
The webhook endpoints use a separate Bearer token authentication.
Endpoint overview
| Category | Endpoints | Description |
|---|---|---|
| App | GET /api/app | Application info (version, build) |
| Containers | GET /api/containers, POST, PATCH, DELETE | Container state, actions, update policy, security |
| Agents | GET /api/agents | Remote agent status and logs |
| Logs | GET /api/log | Application log entries |
| Registries | GET /api/registries | Registry configurations |
| Store | GET /api/store | Data store info |
| Triggers | GET /api/triggers | Trigger configurations |
| Watchers | GET /api/watchers | Watcher configurations |
Additional endpoints
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check (returns 200 when healthy) |
/metrics | GET | Prometheus metrics (optional auth via DD_SERVER_METRICS_AUTH) |
/api/events/ui | GET | Server-Sent Events for real-time UI updates |
/api/audit | GET | Audit trail entries |
/api/webhook/watch | POST | Webhook — trigger watch on all containers |
/api/webhook/watch/:name | POST | Webhook — watch specific container |
/api/webhook/update/:name | POST | Webhook — update specific container |
See each sub-page for detailed request/response examples.