Guides
- Quickstart
- Authentication and keys
- Key protection
- Models, aliases and fallbacks
- Chat completions
- Streaming
- Structured outputs and tools
- Logprobs
- Vision
- Responses, Claude and Ollama
- Embeddings, rerank, audio, images
- Files and batches
- LoRA adapters
- Project tags and costs
- Prefix caching
- Headers, rate limits and spend caps
- Errors
- Privacy and retention
- Verifiable receipts
- Pricing
- Billing
- Status
- SDKs
- Integrations
- Run a node
- Architecture
- Changelog
API reference
API reference
Health and metrics
Liveness, readiness, instance serving state, and Prometheus exposition. No key needed.
Base URL https://api.siliconnetwork.io
Metrics
Prometheus exposition. Open by default like the health probes; set SILICON_METRICS_TOKEN to require it as a bearer, since the per-model cost counters say what the business is doing.
Prometheus exposition. Open by default; the operator can gate it with SILICON_METRICS_TOKEN.
Responses: 200 Successful Response
Health
Whether inference can actually be served, not whether this process is running. A static 200 kept every monitor green while 100% of requests were failing, which is the one condition a health check exists to catch. So it probes the same warm-model lookup the serving path depends on, and answers non-2xx whenever a request would fail, distinguishing the two causes in the body: `unhealthy` = the engine could not be reached at all, `degraded` = it answered but has nothing loaded, so every inference call 404s. 503 `draining` once this instance is shutting down (docs/11 section 20), so a monitor stops counting it as capacity.
200 when inference can be served; 503 with status degraded (engine up, nothing loaded) or unhealthy (no engine reachable).
{ "status": "ok", "warm_models": 3 }Responses: 200 Successful Response
Livez
Liveness: this process is up and serving HTTP; nothing else is checked. The probe for a platform's restart decision, because /health answers 503 whenever the engine is unreachable or has nothing loaded, and a platform restarting on that would bounce a healthy gateway on every engine outage and could never pass a fresh deploy until the engine was warm. Same shape as the control plane's.
Process liveness only: always 200 while the gateway runs.
Responses: 200 Successful Response
Readyz
Readiness: whether inference can be served right now. The same answer as /health, under the name the control plane uses for it, so a monitor can probe both services the same way; 503 `draining` once this instance is shutting down.
The same answer as /health.
Responses: 200 Successful Response
Servingz
Instance readiness, the platform's routing probe (render.yaml healthCheckPath): 200 while this instance should receive traffic, 503 while it is starting or draining. Deliberately blind to the engine, unlike /health: an engine outage must not fail a deploy or take every gateway out of rotation (DEPLOY.md, zero-downtime deploys).
200 while this gateway instance takes traffic, 503 while it starts or drains during a deploy.
Responses: 200 Successful Response