Metadata
- Status: backlog
- Phase: 5-Interfaces
- Version: v1.0.0
- Priority: high
- Estimation: XL
Description
Expose AWF functionality via REST API. Allow remote workflow execution, status monitoring, and management. Enable integration with other systems and build web interfaces. Implements the hexagonal architecture's API adapter.
Acceptance Criteria
Dependencies
- Blocked by: F001, F005
- Unblocks: F026
Impacted Files
cmd/awf/main.go
internal/interfaces/api/server.go
internal/interfaces/api/handlers/
internal/interfaces/api/middleware/
internal/interfaces/api/dto/
api/openapi.yaml
Technical Tasks
Notes
API examples:
# Run workflow
curl -X POST http://localhost:8080/workflows/analyze-code/run \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputs": {"file_path": "app.py"}}'
# Response
{
"execution_id": "analyze-code-20231209-143022",
"status": "running",
"started_at": "2023-12-09T14:30:22Z"
}
# Check status
curl http://localhost:8080/executions/analyze-code-20231209-143022
# Stream logs (SSE)
curl http://localhost:8080/executions/analyze-code-20231209-143022/logs
Server config:
api:
enabled: true
port: 8080
tls:
enabled: true
cert: /path/to/cert.pem
key: /path/to/key.pem
auth:
type: jwt # or api_key
secret: ${API_SECRET}
rate_limit:
requests_per_minute: 60
Synced from docs/plans/features/v1.0.0/F025-rest-api.md
Metadata
Description
Expose AWF functionality via REST API. Allow remote workflow execution, status monitoring, and management. Enable integration with other systems and build web interfaces. Implements the hexagonal architecture's API adapter.
Acceptance Criteria
awf serverDependencies
Impacted Files
Technical Tasks
Notes
API examples:
Server config:
Synced from
docs/plans/features/v1.0.0/F025-rest-api.md