Skip to content

Proxy Routes

All Candela proxy components (candela-local, candela-server, candela-sidecar) expose the same route structure.

RouteProviderFormatAuth
/proxy/google/*Google GeminiNative Gemini APIADC
/proxy/openai/*OpenAIOpenAI Chat CompletionsAPI key
/proxy/anthropic/*Anthropic (via Vertex AI)Messages APIADC

candela-local exposes an LM Studio-compatible endpoint on :1234:

RouteDescription
GET /v1/modelsList all available models (local + cloud merged)
POST /v1/chat/completionsChat completions (auto-routes to correct backend)
GET /healthz

Returns 200 OK with {"status": "ok"}.

RouteDescription
GET /_local/Management UI
GET /_local/api/tracesRecent traces (default: 50, max: 200)
GET /_local/api/healthRuntime health status
POST /_local/api/pullPull a model from Ollama
POST /_local/api/startStart the runtime backend
POST /_local/api/stopStop the runtime backend
Terminal window
curl http://localhost:8181/_local/api/traces?limit=20
{
"spans": [
{
"span_id": "abc123...",
"model": "llama3.2:3b",
"provider": "local",
"input_tokens": 150,
"output_tokens": 42,
"total_tokens": 192,
"cost_usd": 0.0,
"duration_ms": 1230,
"status": "ok",
"timestamp": "2026-04-19T22:15:00Z"
}
],
"count": 1
}
HeaderDescription
AuthorizationBearer <token> — Required for candela-server
traceparentW3C Trace Context — enables unified trace trees
tracestateW3C Trace State — forwarded to upstream
HeaderDescription
X-Candela-Span-IdSpan ID for this proxy request
X-Candela-Trace-IdTrace ID (matches caller’s if traceparent was provided)