Pass API
OpenAI-compatibleBYOKeverything is Auto
Point any OpenAI SDK at https://api.pass.io/v1
(https://pass.io/v1 also serves the API during the transition). There are no model
decisions to make: every request routes Auto — Pass classifies the task,
picks the model across your connected providers, verifies the answer, and
serves cached results when it already knows the answer. The SDK requires a
model field; use "auto" (any value routes Auto).
1 · Connect your provider keys
Pass is fully BYOK: you pay Anthropic / OpenAI / OpenRouter / Fireworks directly with your own keys, connected once in the console (Keys → Provider keys). Pass itself charges nothing — no commission, no markup. Per-provider monthly caps protect your keys, and whatever routing saves you is yours.
2 · Call the API
from openai import OpenAI
client = OpenAI(
base_url="https://api.pass.io/v1",
api_key="pass_io_...", # from the console
)
r = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Summarize this ticket: ..."}],
)
print(r.choices[0].message.content)
3 · Read your receipt
Every response carries a pass object: the route taken, cache
status, verification scores, cost, and measured savings — the same numbers
your invoice is computed from.
"pass": {
"route": ["deepseek/deepseek-v4-flash"],
"cache": "miss",
"task_type": "summarization",
"verification": {"score": 0.96, "passed": true},
"cost_usd": 0.000021,
"savings_usd": 0.000388
}
Options
Quality tier — the one knob: "pass_quality": "economy" |
"balanced" | "premium" per request (or set on the key).
Streaming — "stream": true, standard SSE.
Caching — on by default; "pass_cache": false to bypass.
Models list — GET /v1/models returns auto
plus informational entries for what your keys can route.
Other surfaces
MCP — Pass is a remote MCP server: point your MCP client at
https://api.pass.io/mcp with your Pass API key as the bearer
token. One tool, ask — everything Auto, receipts included.
Telegram — connect your bot token (from @BotFather) in the console's
Provider keys; your bot answers through Pass. Send /start to
link a chat.
Web chat — pass.io/v1/chat.
Contact
Errors
402 — free allowance exhausted (unpaid account) or budget cap.
429 — rate limited. Standard OpenAI error envelope.