Models and privacy labels
Browse the catalog, read model capabilities, and understand the privacy label on each route.
Every model in AnonRouter is a route with a declared privacy guarantee, a set of
capabilities, and a price. Model IDs follow a creator/model slug, for example
meta-llama/llama-3.3-70b. The router also resolves a model's raw provider
route id, so either form works in a request.
List models
GET /v1/models returns the models enabled on the deployment. It requires an
inference or management key.
curl "$ANONROUTER_BASE_URL/models" \
-H "Authorization: Bearer $ANONROUTER_API_KEY"Each entry describes one model:
{
"id": "meta-llama/llama-3.3-70b",
"object": "model",
"owned_by": "meta-llama",
"display_name": "Llama 3.3 70B",
"provider": "venice",
"model_type": "text",
"privacy_class": "private",
"provider_privacy_class": "private",
"context_window": 65536,
"max_output_tokens": 4096,
"pricing": {
"input_usd_per_million_tokens": 0.7,
"output_usd_per_million_tokens": 2.8,
"unit_usd": null
},
"capabilities": {
"embeddings": false,
"streaming": true,
"tools": true,
"web": false,
"reasoning": {
"supported": false,
"effort_configurable": false,
"supported_efforts": [],
"can_disable": false,
"default_effort": null,
"always_on": false
}
},
"routing": {
"enabled": true,
"quality_tier": 4,
"tasks": ["general", "coding"],
"expected_latency_ms": 900
}
}The endpoint is the source of truth
Field values above are illustrative. Prices, context windows, and the enabled model set change over time. Read them from the live endpoint rather than hard-coding them.
model_type is one of text, image, tts, or embedding. For flat-priced
media models, pricing.unit_usd is the per-image or per-character price and the
per-token fields are null.
Public catalog
GET /v1/catalog/models is an unauthenticated, cacheable view of the catalog
with richer privacy metadata (privacyLevel, privacySummary, privacyNotes,
moderation, and modalities). It supports ETag and returns 304 when
unchanged, which makes it convenient for a public model browser.
Privacy labels
Every route carries one privacy classification. The label tells you the strongest guarantee that route actually provides.
| Label | privacy_class | What it means |
|---|---|---|
| Anonymous | anonymous | Your identity is hidden, but the model provider can see the prompt while serving it. Provider retention is not guaranteed. |
| Private | private | Prompt and response content is not retained after the request completes. |
| TEE | tee | Inference runs inside a hardware-isolated, attestable enclave. |
| E2EE | e2ee | Your client encrypts the prompt so that only a verified enclave can decrypt it. |
AnonRouter never stores payloads
These labels describe the upstream provider handling. Regardless of the label, AnonRouter itself does not write prompts or responses to disk. On Anonymous routes the provider can still see the prompt, so provider zero-retention is not guaranteed there.
Capabilities
The capabilities block tells you what a model supports before you call it:
streaming: server-sent event streaming.tools: tool-calling fields are accepted and forwarded to the model.web: the model can use web access.embeddings: the model is an embedding model.reasoning: whether reasoning is supported, whether the effort level is configurable, which efforts are attested, and whether it can be disabled. See reasoning controls.
Moderation
Moderation is a property of the model, not a router policy. Models published as
uncensored run unfiltered. The public catalog exposes a moderation field so you
can filter the catalog by it.
Model health
GET /v1/models/uptime?model=<id>&days=<n> returns a passive success-rate and
latency series for a model, computed from request metadata.