Skip to content

Proxy Routes

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

RouteProviderFormatAuth
/proxy/google/*Google GeminiNative Gemini APIADC
/proxy/gemini-oai/*Gemini (OpenAI-compatible)OpenAI Chat CompletionsADC
/proxy/openai/*OpenAIOpenAI Chat CompletionsAPI key
/proxy/anthropic/*Anthropic (via Vertex AI)Messages API (Legacy/Translated)ADC
/proxy/anthropic-vertex/*Anthropic (via Vertex AI)Native Messages APIADC
/proxy/anthropic-direct/*Anthropic (direct API)Native Messages APIAnthropic API key
/proxy/anthropic-bedrock/*Anthropic (via AWS Bedrock)Native Messages APIAWS SigV4

candela 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)

The Candela server also exposes OpenAI-compatible endpoints. The model list is auto-derived from the pricing table — every model with a pricing entry is available:

RouteDescription
GET /v1/modelsList all server-known models (derived from pricing table)
POST /v1/chat/completionsChat completions (routes to the correct upstream provider)
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
GET /_local/api/configRuntime configuration (cache TTL, Gemini cache price multiplier)
POST /_local/api/configUpdate runtime configuration
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 (OIDC ID token or OAuth2 access token)
Proxy-AuthorizationBearer <oidc-token> — IAP authentication token (impersonated SA OIDC). Used when connecting through IAP; IAP validates this header instead of Authorization
X-Candela-AuthBearer <access-token> — Developer’s OAuth2 access token for user identity behind IAP. Takes priority over Authorization when present
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)