Skip to content

API reference

The Restura server exposes these HTTP endpoints. The same Hono app runs in the Cloudflare Worker (api.restura.dev) and in the Node / Docker self-hosted process.

MethodPathPurpose
GET/healthLiveness check. Returns 200 + { status: 'ok' }.
GET/readyReadiness check.
POST/api/proxyHTTP upstream proxy. SSRF-guarded, body normalisation, auth signing.
POST/api/grpcgRPC unary + streaming via Connect protocol.
POST/api/grpc/reflectiongRPC reflection requests.
POST/api/mcpMCP server proxy (HTTP-SSE and streamable-HTTP).
POST/api/telemetry/errorRenderer error reports (when enabled).
GET/api/feature-flagsFeature flag values.
POST/api/ws-ticketMint a short-lived ticket for the WebSocket proxy.
GET/api/wsWebSocket proxy endpoint.

Production requires one of:

  • X-Worker-Token: <WORKER_PROXY_TOKEN> header on each request, or
  • A valid Cf-Access-Authenticated-User-Email header from a trusted reverse proxy (when REQUIRE_CF_ACCESS=true).

Local dev bypasses auth when running under Miniflare or when DEV_BYPASS_AUTH=true is set in .dev.vars.

Cloudflare deployment: rate-limiting binding in the Worker.

Self-hosted: per-replica in-memory token bucket. For multi-replica setups, put a rate limiter in your reverse proxy.