Control Plane API¶
The Control Plane exposes a FastAPI-based REST interface for intent compilation, graph building, and policy evaluation.
Base URL (local dev): http://localhost:8000
OpenAPI spec: http://localhost:8000/docs
Start the Server¶
# Development server
uvicorn rct_control_plane.api:app --reload --port 8000
# Or via CLI
rct serve --port 8000
Endpoints¶
GET /¶
Root health check — returns server info and timestamp.
{
"service": "rct-control-plane",
"version": "1.0.2a0",
"status": "running",
"timestamp": "2026-04-21T10:00:00+00:00"
}
GET /health¶
Lightweight liveness probe for load balancers and Kubernetes.
GET /health/detailed¶
Detailed component health — checks each subsystem.
{
"status": "healthy",
"components": {
"fdia_engine": "ok",
"delta_engine": "ok",
"signedai_registry": "ok",
"intent_compiler": "ok"
},
"timestamp": "2026-04-21T10:00:00+00:00",
"version": "1.0.2a0"
}
POST /compile¶
Compile an intent into a signed execution graph.
Request:
{
"intent_text": "Deploy authentication service to staging",
"domain": "backend-engineering",
"architect_constraint": "No production database changes",
"requirements": "All tests pass, p99 < 500ms"
}
Response:
{
"intent_id": "int_abc123",
"state": "COMPLETED",
"fdia_score": 0.847,
"execution_graph": { ... },
"signature": "ed25519:...",
"duration_ms": 1842,
"cache_hit": false
}
POST /graph/build¶
Build an execution graph from DSL text.
Request:
POST /policy/evaluate¶
Evaluate a policy against a set of actions.
Request:
{
"policy_name": "default",
"actions": ["deploy", "delete_database", "read_logs"],
"context": { "environment": "staging" }
}
Python Client¶
import httpx
with httpx.Client(base_url="http://localhost:8000") as client:
# Health check
r = client.get("/health")
assert r.status_code == 200
# Compile intent
r = client.post("/compile", json={
"intent_text": "Refactor payment module",
"domain": "backend",
"architect_constraint": "Keep existing API contract",
"requirements": "Tests pass, no regressions",
})
result = r.json()
print(f"Score: {result['fdia_score']}")
Authentication¶
The SDK control plane has no authentication by default — it is intended for local development and reference use. For production deployments in the Enterprise stack, JWT-based auth and mTLS are added at the Gateway layer.