oxo-flow serve#
Start the web interface server. Provides a REST API for building, validating, and monitoring workflows remotely.
Usage#
Options#
| Option | Short | Default | Description |
|---|---|---|---|
--host |
— | 127.0.0.1 |
Host address to bind to |
--port |
-p |
8080 |
Port to listen on |
--verbose |
-v |
— | Enable debug-level logging |
Examples#
Start with defaults#
Bind to all interfaces on a custom port#
Output#
API Endpoints#
Once the server is running, the following REST endpoints are available:
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/health |
Health check (status + version) |
GET |
/api/workflows |
List loaded workflows |
POST |
/api/workflows/validate |
Validate TOML workflow content |
POST |
/api/workflows/graph |
Get DAG in DOT format |
GET |
/api/environments |
List available environment backends |
Example: Health check#
Example: Validate a workflow#
curl -X POST http://127.0.0.1:8080/api/workflows/validate \
-H "Content-Type: application/json" \
-d '{"toml_content": "[workflow]\nname = \"test\"\n[[rules]]\nname = \"s1\"\ninput = []\noutput = [\"out.txt\"]\nshell = \"echo hi > out.txt\""}'
Notes#
- The web server is built with axum and runs on the tokio async runtime
- CORS is enabled by default, allowing requests from any origin
- The server is intended for development and internal use — for production deployments, place it behind a reverse proxy (nginx, Caddy)
- See the Web API reference for complete endpoint documentation