anonrouterdocs

anonrouter docs

Build private, OpenAI-compatible AI applications across many models.

AnonRouter is a privacy-focused model router. It exposes familiar, OpenAI-compatible APIs while separating account identity, request content, and provider credentials so that prompts, responses, and keys are never written to disk. Billing settles from usage metadata only.

Supported API surface

AnonRouter documents the APIs it implements instead of claiming compatibility with every OpenAI endpoint. The core inference surface is:

  • GET /v1/models and GET /v1/catalog/models
  • POST /v1/inference/tickets
  • POST /v1/chat/completions
  • POST /v1/embeddings
  • POST /v1/images/generations (when image generation is enabled)
  • POST /v1/audio/speech (when speech is enabled)
  • GET /v1/capabilities

Account, routing, and billing endpoints are listed in the API reference.

A deliberate subset

Endpoints, parameters, and behaviors in these docs are the ones AnonRouter actually implements. Features that are not part of the live surface are left out.

Two ways to connect

The private ticket flow keeps the stable API key on the control plane and sends only a single-use ticket to the content relay. The relay sees request content and an opaque ticket, never your key or account. This is the preferred production integration.

Compatibility mode accepts a normal Authorization: Bearer key for clients that cannot perform the ticket step, such as off-the-shelf OpenAI SDK integrations. It is easier to adopt, but the compatibility broker temporarily holds API-key identity and plaintext content together in memory. It is opt-in and enabled per key.

The privacy promise

  • Prompts, responses, system prompts, tool arguments, and provider payloads are never written to disk.
  • API keys are shown once and stored only as a hash.
  • Billing is computed from usage metadata: model, token counts, status, latency, and cost.
  • Automatic routing never silently widens the privacy set you allow.

Read the full privacy model for what is and is not retained.

On this page